[TUHS] DEC compilers (was Happy birthday, John Backus!)

Paul Winalski paul.winalski at gmail.com
Thu Dec 6 05:15:14 AEST 2018

On 12/5/18, Clem Cole <clemc at ccc.com> wrote:
>  Plus the Alpha is being developed by then, so TLG is up to neck in the GEM
> development cycle which would replace everything i the languages teams when
> the dust settled (as Paul has mentioned it was an amazing piece of work at
> the time and still somewhat lasts today - the VMS,Inc folks of course are
> built an INTEL*64 code generator for it and supposedlty have VMS booting on
> modern HW these days).

One of the design goals for GEM was to avoid another fire drill like
the VAX Fortran Ultrix port.  GEM had a set of modules called the GEM
Shell that isolated the rest of the compiler from OS
platform-dependent activities such as command line parsing, file I/O,
heap memory management, source locator management, and object file
generation.  The GEM Shell presented a set of abstract APIs for these
activities to the rest of the compiler.  This made support of new OS
platforms or object file formats relatively easy.

GEM already supported Itanium by the time Compaq sold off the Alpha
technology to Intel.  VMS is mostly implemented in BLISS and VAX
assembler, and GEM-based Itanium-targeted compilers already existed
for both of these.  VMS Software Inc. uses the GEM-based compilers for
support and ongoing new development on the Alpha and Itanium
platforms.  For the Intel64 port of VMS, VSI is using Clang/LLVM as
their C/C++ compiler.  For BLISS and VAX assembler, they are using the
GEM-based front ends, and a GEM-to-LLVM IL translator to use LLVM as
the optimizer/code generator.

-Paul W.

More information about the TUHS mailing list