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!linus!decvax!tektronix!orca!tekecs!patcl From: patcl@tekecs.UUCP (Pat Clancy) Newsgroups: net.lang.mod2 Subject: Re: one pass compiler Message-ID: <4005@tekecs.UUCP> Date: Mon, 27-Aug-84 01:42:36 EDT Article-I.D.: tekecs.4005 Posted: Mon Aug 27 01:42:36 1984 Date-Received: Thu, 30-Aug-84 20:17:30 EDT Organization: Tektronix, Wilsonville OR Lines: 25 >> ...The Volition >> compiler does not allow forward reference without a forward >> declaration. In practice this has never proven to be a problem. Some two year old flyers I have from Volition do indeed state (in the "fine print") that Pascal-style forward declarations are required. I would have thought they would have fixed this by now, since this is not really Modula-2 (in fact, I think they called it "Modula-]["). loral!ian's assertion that it is not a problem is surprising. First, the Pascal-style ordering requirements can be very awkward and constraining; imposing them on Modula-2 is morally repugnant. Second, it means that a forward declaration of an identifier may have to be put *outside* the module in which that identifier is declared, which certainly violates the spirit of the module syntax. I don't know if Volition even allows forward declarations of all identifiers, or just procedures. The Modula-2 scope rules do not restrict the types of yet-to-be-declared identifiers that may be referenced in statements. Pat Clancy Tektronix {ucbvax,decvax,ihnp4,allegra,uw-beaver,hplabs}!tektronix!tekecs!patcl