Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!mgnetp!ihnp4!mhuxl!ulysses!allegra!mit-eddie!genrad!decvax!cca!ima!inmet!bobo From: bobo@inmet.UUCP Newsgroups: net.lang.mod2 Subject: Re: one pass compiler - (nf) Message-ID: <1748@inmet.UUCP> Date: Sun, 9-Sep-84 00:33:54 EDT Article-I.D.: inmet.1748 Posted: Sun Sep 9 00:33:54 1984 Date-Received: Thu, 13-Sep-84 19:14:20 EDT Lines: 29 #R:voder:-32400:inmet:16700004:000:1336 inmet!bobo Aug 31 15:55:00 1984 I don't accept Ian Kaplan's rationale for the use of one-pass compilers on micro-computer based systems: i.e, > ... > There is no way to get rid of the forward references without > using a two pass compiler. If this is done, the entire symbol table must > be kept for the second pass. There are two places to store the symbol > table from the first pass: in memory or on disk. Until recently > most microcomputers had only 64 K of RAM, so the symbol table clearly could > not be contained in memory. Disk space was also very limited and disk > access was slow. Storing the symbol table on flex disk would have > greatly slowed the compiler and consumed an unpredictable amount of disk > space. One has the same problem of fitting the symbol table into memory near the end of a one pass compilation as keeping it in memory for the second pass of a two pass compiler. I think that compilation speed is really the issue here, though it does interact with the limited space problem. Micro based compilers generally have to make so many concessions to compilation speed (mostly in order to get the largest symbol table possible) that to add another pass would make the compiler unreasonably slow. Mark Friedman ...harpo!inmet!bobo ...esquire!inmet!bobo ...ima!inmet!bobo