Article View: net.lang.mod2
Article #572Re: Single Pass Modula-2 Compiler
From: Randy Bush
Date: Fri, 17 Oct 1986 00:12
Date: Fri, 17 Oct 1986 00:12
28 lines
1395 bytes
1395 bytes
The fourth pass of the old ETH compiler had mutually importing internal
modules, both at the outer level of the enclosing implementation module.
As the compiler could compile itself, I am nonplussed that its compilers
derived from it could not.
I would note that if two internal modules are mutually importing, that both
may not have code in their module bodies (the initialization sections, not
procedures), as it is a case of circular initialization. A degenerate
example might be
MODULE A;
MODULE B;
IMPORT c;
EXPORT b;
VAR b : CARDINAL;
BEGIN
b := c + 42
END B;
MODULE C;
IMPORT b;
EXPORT c;
VAR c : CARDINAL;
BEGIN
c := b + 42
END C;
END A.
randy
Technical Details
Message-ID:
<22@oresoft.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!seismo!think!nike!sri-spam!sri-unix!hplabs!tektronix!oresoft!randyReferences:
<12243102365.25.KURKURE@Sushi.Stanford.EDU>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!think!nike!sri-spam!sri-unix!hplabs!tektronix!oresoft!randy From: randy@oresoft.UUCP (Randy Bush) Newsgroups: net.lang.mod2 Subject: Re: Single Pass Modula-2 Compiler Message-ID: <22@oresoft.UUCP> Date: Thu, 16-Oct-86 20:12:40 EDT Article-I.D.: oresoft.22 Posted: Thu Oct 16 20:12:40 1986 Date-Received: Fri, 17-Oct-86 06:00:19 EDT References: <12243102365.25.KURKURE@Sushi.Stanford.EDU> Reply-To: randy@oresoft.UUCP (Randy Bush) Organization: Oregon Software, Portland OR Lines: 28 Keywords: One-pass, Internal Modules