RE: Two questions about compiler design

"Tom Linden" <>
26 Feb 2004 01:04:08 -0500

          From comp.compilers

Related articles
Re: Two questions about compiler design (2004-02-13)
RE: Two questions about compiler design (Tom Linden) (2004-02-26)
Re: Two questions about compiler design (Chris F Clark) (2004-02-27)
RE: Two questions about compiler design (Tom Linden) (2004-03-02)
| List of all articles for this month |

From: "Tom Linden" <>
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:
    >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

    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 ) 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.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.