Related articles |
---|
Re: Two questions about compiler design nmm1@cus.cam.ac.uk (2004-02-13) |
RE: Two questions about compiler design tom@kednos.com (Tom Linden) (2004-02-26) |
Re: Two questions about compiler design cfc@shell01.TheWorld.com (Chris F Clark) (2004-02-27) |
RE: Two questions about compiler design tom@kednos.com (Tom Linden) (2004-03-02) |
From: | "Tom Linden" <tom@kednos.com> |
Newsgroups: | comp.compilers |
Date: | 26 Feb 2004 01:04:08 -0500 |
Organization: | Compilers Central |
References: | 04-02-120 |
Keywords: | interpreter |
Posted-Date: | 26 Feb 2004 01:04:08 EST |
>Commonly a reference to the intermediate format used in Wirth's
>porting package for Pascal. See my page on it at:
>
>http://www.moorecad.com/standardpascal/p4.html
>
>Its basically just the intermediate for a Pascal, it seems to
>garner attention because it was the first widely used "virtual
>machine" solution, and even had a hardware processor specifically
>created for it.
I don't think so. Ocode was somewhat earlier, and I have some vague
memories of others. If you count total implementations (alive and
dead), I think that you will find that Ocode is still a long way ahead
of Pcode. BCPL was incredibly widely ported, because it was often
ported as a basis for specific packages (Cambridge LISP, among several
others).
Wirth caught the zeitgeist in a way that Richards didn't, which is why
the public perception of Pascal being more widely available than BCPL
comes from. But I don't think it was so and, because only some
Pascals have used Pcode but almost all BCPLs have used Ocode, I doubt
very much that Pcode ever got near Ocode in number of ports.
However, Pascal overtook BCPL in terms of LIVE implementations some
time ago. I can't guess which would be ahead in historical ones.
Between the two came the n-tuple design that Freiburghouse developed
for PL/I which was widely used for a number of languages by Digital,
Wang, Prime, DG, Honeywell, CDC, Stratus and others I can't recall.
This originally derived from the Multics PL/I (see
http://www.multicians.org/ ) which had introduced the concept of usage
counts for register allocation. Currently only used by PL/I on VMS
and Tru64 Platforms also VaxC used it as did the SCAN and Pearl and (I
think) Coral 66 on the VAX. The symbol table was not embedded in the
IL but was separately built, hierarchical and tree-structured.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.