[TUHS] Command name of the B compiler; One letter command names

markus schnalke meillo at marmaro.de
Fri Dec 4 17:04:21 AEST 2020


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


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

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


More information about the TUHS mailing list