Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 (Tek) 9/26/83; site tekecs.UUCP Path: utzoo!watmath!clyde!burl!hou3c!hocda!houxm!vax135!cornell!uw-beaver!tektronix!orca!tekecs!patcl From: patcl@tekecs.UUCP (Pat Clancy) Newsgroups: net.lang.mod2 Subject: Re: Compiling Modula-2 in one pass Message-ID: <4048@tekecs.UUCP> Date: Tue, 11-Sep-84 23:20:06 EDT Article-I.D.: tekecs.4048 Posted: Tue Sep 11 23:20:06 1984 Date-Received: Fri, 14-Sep-84 09:00:09 EDT Organization: Tektronix, Wilsonville OR Lines: 15 > Now, Modula-2 syntax does not allow any type or variable declarations > at any point after the beginning of the executable part, right?... > So the ONLY possible forward-referencing is calls to PROCEDURES that have > not been declared yet... Incorrect. The number and ordering of CONST/TYPE/VAR/PROCEDURE/MODULE declaration sections within the current scope is not constrained. Backpatching is "theoretically" possible in one pass, but that pass would probably much larger and more complex than two normal passes combined. Pat Clancy {ucbvax,decvax,ihnp4,allegra,uw-beaver,hplabs}!tektronix!tekecs!patcl