From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: **** X-Spam-Status: No, score=4.7 required=5.0 tests=BAYES_50,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC,UNRESOLVED_TEMPLATE autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.ARPA Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!mit-multics.arpa!Mats_Ohlin_FOA2%QZCOM.MAILNET From: Mats_Ohlin_FOA2%QZCOM.MAILNET@MIT-MULTICS.ARPA Newsgroups: net.lang.ada Subject: Mutually Recursive Data-Structures in Ahis on csnet a couple of times a Message-ID: <123754@QZCOM> Date: Sat, 21-Sep-85 06:03:14 EDT Article-I.D.: QZCOM.123754 Posted: Sat Sep 21 06:03:14 1985 Date-Received: Sun, 22-Sep-85 23:55:11 EDT References: <123750@QZCOM> Sender: daemon@ucbvax.ARPA Reply-To: ADA_mailing_list%QZCOM.MAILNET@MIT-MULTICS.ARPA Organization: The ARPA Internet List-Id: This is how it works (on a DEC-10 system): .;--------------------------- .;create module 1 .make a1.sim *ioptions(/E); -- tells the compiler that this is an ext. module class a1; begin ref (b1) bx; end a1; $ex$$ .comp a1.sim -- compile module 1 SIMULA: A1 begin ref (b1) bx; end a1; SIM331 E LINE 3 QUALIFICATION b1 IS NOT A CLASS -- b1 is unknown .; create module 2, now including external decl. .make b1.sim *ioptions(/E); external class a1; -- now OK since A1.ATR exists, however uncomplete class b1; begin ref (a1) ax; end b1; $ex$$ .dir/n ?1 A1 SIM 1 <057> 20-Sep-85 A1 ATR 1 <057> 20-Sep-85 A1 REL 1 <057> 20-Sep-85 B1 SIM 1 <057> 20-Sep-85 .com b1.sim -- compile module 2 SIMULA: B1 EXIT .te a1.sim *liexternal class b1; -- add external decl. $ht$$ options(/E); external class b1; class a1; begin ref (b1) bx; end a1; *ex$$ .com a1.sim -- recompile module 1 using correct B1.ATR SIMULA: A1 NEW ATR FILE GENERATED -- compiler warns user RECOMPILE DEPENDENT PROGRAMS -- that recompilation may be necessary EXIT .com/com b1.sim SIMULA: B1 NEW ATR FILE GENERATED EXIT .dir/n ?1 A1 BAK 1 <057> 20-Sep-85 A1 QTR 1 <057> 20-Sep-85 A1 REL 1 <057> 20-Sep-85 B1 SIM 1 <057> 20-Sep-85 B1 QTR 1 <057> 20-Sep-85 B1 REL 1 <057> 20-Sep-85 A1 SIM 1 <057> 20-Sep-85 A1 ATR 1 <057> 20-Sep-85 B1 ATR 1 <057> 20-Sep-85 .;--- QTR files are backup versions of created ATR files .;--- *very* useful whenever you find that you would rather .;--- backtrack than force everyone (dependent) to recompile...