🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.lang.mod2
Article #572

Re: Single Pass Modula-2 Compiler

#572
From: Randy Bush
Date: Fri, 17 Oct 1986 00:12
28 lines
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!randy
References: <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