In article <20-0...@comp.compilers>,
It's worth noting that the whole nomenclature of "assembler",
"compiler" and "interpreter" was not really established at the time --
the Laning-Zierler algebraic language for the Whirlwind (which is at
least one of the Whirlwind entries, and possibly all three) was a
compiler according to modern definitions of the word -- it generated
machine code from an input language that was mostly algebraic
expressions -- but its own documentation, here:
http://bitsavers.trailing-edge.com/pdf/mit/whirlwind/E-series/E-364_A_Program_For_Translation_of_Mathematical_Equations_For_Whirlwind_I_Jan54.pdf
calls it "interpretive". There are other systems on the list which
were implemented as what we'd call interpreters nowadays. Mauchly's
Short Code for the Univac may be the first; it was running by 1950.
I believe Backus's Speedcoding for the 701 is also in this category.
With that in mind, I can identify quite a few entries in that list as
being what we'd call assemblers nowadays, including at least SOAP I and
II for the IBM 650, the X-1 assembler for the Univac (I and II), SAP for
the 704 (also available for the 709; see below), and at least a few of
the several "AUTOCODER"s.
There are a few other things on the list that are at least arguably
double-counting -- the IBM 709 was a mostly upward-compatible extension
of the 704 with better I/O hardware, and the FORTRAN compilers for
the two machines shared just about all of their code outside of the I/O
library.
(As a sidelight, the sheer number of FORTRAN compilers is interesting,
particularly as this happened without any formal standardization effort.
This also suggests there may be a little back-dating going on in some
of these cases. The first of these to be released was 704 FORTRAN, and
it wasn't released until early 1957 itself; all the others must have
come later, and a compiler in those days was not a small project.)
Robert Thau
r...@ai.mit.edu
[SOAP II was definitely an assembler. I have the manual. It was an
"optimizing" assembler in that it tried to place instructions in
locations on the 650's drum to minimize the rotational delay. -John]