Hoi,
I'm wondering what the name of the B compiler was.
Doug's ``Unix Reader'' lists:
1 2 3 4 5 6 7 8 9
+ + + . . . . . . b compile b program
. . . . . + + + + bc arbitrary-precision arithmetic language
Via Wikipedia I found a scan of the ``Users' Reference to B'',
a technical memorandum by Ken, dated 1972-01-07 (which is between
the releases of the 1st and 2nd Edition).
https://web.archive.org/web/20150317033259/https://www.bell-labs.com/usr/dm…
There on page 25:
10.0 Usage
Currently on UNIX, there is no B command. The B compiler phases
must be executed piecemeal. The first phase turns a B source
program into an intermediate language.
/etc/bc source interm
The next phase turns the intermediate language into assembler
source, at which time the intermediate language can be removed.
/etc/ba interm asource
rm interm
The next phase assembles the assembler source into the object
tile a.out. After this the a.out file can be renamed and the
assembler source file can be removed.
as asource
mv a.out object
rm asource
The last phase loads the various object files with the necessary
libraries in the desired order.
ld object /etc/brtl -lb /etc/bilib /etc/brt2
Now a.out contains the completely bound and loaded program and
can be executed.
a.out
A canned sequence of shell commands exists invoked as follows:
sh /usr/b/rc x
It will compile, convert, assemble and load the file x.b into the
executable file a.out.
It lists /etc/bc, as a command to convert into the intermediate
language, and /etc/ba, to convert the intermediate language into
assembler source, but lists no `b' command. The wrapper script is
/usr/b/rc.
Can someone clarify?
I came to this question because I was looking for one letter
commands. I always thought them to be a reserved namespace for the
user ... Any background on that topic is appreciated as well. ;-)
meillo