Authored by: bprice on Sunday, April 22 2012 @ 12:46 AM EDT |
Actually, we never did an Algol 68 compiler: the one you remember was our B6700
Extended Algol, based on Algol 60, with stuff from our previous B5500 Extended
Algol, Simula I, and PL/I, as well as home-grown ideas.
But yes, one-pass
compilers were our specialty at Burroughs. All the compilers were single-pass:
even the in-house Osil assembler, used for the original B5000 MCP operating
system was converted from two-pass to single pass in 1965 (my boss didn't really
think I could do it, but I did it).
--- --Bill. NAL: question the
answers, especially mine. [ Reply to This | Parent | # ]
|
|
Authored by: greed on Sunday, April 22 2012 @ 12:16 PM EDT |
Not to detract from your points and examples, but I count phases which work on
transformed data as passes as well. So, in a Certain C Compiler That Claims To
Be Of Great Quality, there's the tokenizer, preprocessor, IL generator, IL
optimizer (which may be multiple passes itself), and object generator. (Unlike
GCC, it never bothers with assembly, and writes the object file directly from
the back-end.)
I'm willing to accept it only counts as a true "second pass" if it
runs over the exact same input data as the "first pass"; so my
weekend's work of a 68HC11 assembler is truly two-pass, but the Above Mentioned
C compiler (and GCC and MetaWare's C and Microsofts's VisualStudio...) are not.
Communication only works when words mean the same thing to everyone using them.
Hey, that's what APIs are about!
[ Reply to This | Parent | # ]
|
|
|
|