The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Paul Winalski <paul.winalski@gmail.com>
To: Clem Cole <clemc@ccc.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: Re: [TUHS] Happy birthday, John Backus!
Date: Tue, 4 Dec 2018 12:46:46 -0500	[thread overview]
Message-ID: <CABH=_VTUM_zStuhGNqqEcntTnnn8smZh4mLbx+KaewNzLMqu_w@mail.gmail.com> (raw)
In-Reply-To: <CAC20D2PsA=_Yf-hZRM6wCJL7H3Y9o6cSE02s5oPz_VHfqRYxRA@mail.gmail.com>

On 12/4/18, Clem Cole <clemc@ccc.com> wrote:
>
> The first DEC compilers for the 360 bit and 12 bit lines were written in
> assembler, but they switched to BLISS (and some other languages for
> different front-ends) by the 70s for the newer generations of compilers.
>  Paul can give that history as he was part of it.

Unfortunately I can't give much of DEC's compiler history as I was a
member of the software development tools team at the time.  I didn't
pay too much attention to what was going on with the VAX compilers.  I
moved to the compiler world in 1985 as part of the GEM compiler back
end team, which was tasked with developing a new, common back end to
replace the various VAX code generators going forward.  The compiler
guys wanted to concentrate on optimization and code generation, so
they hired me--a software development tools guy--to design and
implement the non-compiler parts of the back end such as command line
parsing, heap memory management, file I/O, and object file generation.
Over the years GEM was targeted to MIPS, PRISM, Alpha, and Itanium
machine architectures, and VMS, Unix, Linux, and Windows NT operating
systems.  We were working on x86 when Compaq sold the Alpha
architecture and its engineering team (including GEM) to Intel.  Intel
never did anything with the GEM technology.

BLISS was DEC engineering's official implementation language.
BLISS-32 was used for the VAX.  I'm pretty sure VAX Fortran, VAX
COBOL, VAX BASIC, and VAX Pascal were all written in BLISS.  They all
had their own independently developed code generators.  VAX C and VAX
PL/I were written by Dave Cutler's compiler group in the late
70s/early 80s.  They shared a common back end called the VAX Code
Generator (VCG).  I don't know what the implementation language for
VCG was; I think it was C (Dave Cutler was not a BLISS fan).  VAX PL/I
used the Frieburghouse PL/I front end, which I think was written in C.
VAX Ada was also VCG-based; the front end was written in BLISS.
VAXeln Pascal might have been written in Pascal.

All of DEC's Alpha compilers used GEM as the back end.  There was also
a VAX MACRO GEM-based compiler that took VAX assembler as its input
language and generated native Alpha code.  GEM was originally
completely written in BLISS, but in the mid-1980s I started rewriting
the modules under my control in the common subset of C/C++ to take
advantage of strong typing (BLISS has no data typing whatsoever).  DEC
C/C++ for Alpha used the Edison Design Group C/C++ front end.  DEC
acquired COMPASS's compiler technology and DEC Fortran used the
COMPASS Fortran front end to support Fortran 90.  That code is written
in C.

-Paul W.

  reply	other threads:[~2018-12-04 17:47 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04 14:43 Noel Chiappa
2018-12-04 14:53 ` Clem Cole
2018-12-04 16:24   ` Tim Rylance
2018-12-04 16:53     ` Clem Cole
2018-12-04 17:46       ` Paul Winalski [this message]
2018-12-04 20:59         ` Paul Winalski
2018-12-04 22:49           ` [TUHS] Tandem NSK implementation language (was: Happy birthday, John Backus!) Greg 'groggy' Lehey
2018-12-05  0:08             ` Paul Winalski
2018-12-05 17:49         ` [TUHS] Happy birthday, John Backus! Paul Winalski
2018-12-04 15:18 ` Toby Thain
  -- strict thread matches above, loose matches on Subject: below --
2018-12-02 22:17 Dave Horsfall
2018-12-02 22:34 ` Toby Thain
2018-12-03  1:32   ` Rob Pike
2018-12-03  4:11     ` Toby Thain
2018-12-03  4:27       ` Rob Pike
2018-12-03 13:10         ` John P. Linderman
2018-12-03 22:44           ` ron
2018-12-03 16:25 ` Clem Cole
2018-12-03 20:20   ` Paul Winalski
2018-12-03 20:37     ` Clem Cole
2018-12-03 20:46     ` Hellwig Geisse
2018-12-03 22:24   ` Paul Winalski
2018-12-03 23:00     ` Lawrence Stewart
2018-12-04 11:53   ` Tony Finch
2018-12-04 14:23     ` Clem Cole

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABH=_VTUM_zStuhGNqqEcntTnnn8smZh4mLbx+KaewNzLMqu_w@mail.gmail.com' \
    --to=paul.winalski@gmail.com \
    --cc=clemc@ccc.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).