[TUHS] changes in C compilers (Typesetter C)

Noel Chiappa jnc at mercury.lcs.mit.edu
Sat Aug 25 06:23:25 AEST 2018


    > From: Jaap Akkerhuis

    > I've been told that when troff was rewritten from assembler to C

Was TROFF ever in assembler?

I'm pretty sure NROFF was, as of V6; the source is not in the V6 distro, and
the binary is stripped, but looking at the object code, it doesn't look like C
compiler output.

As of the PWB system that MIT had (or maybe it was TS - how can one tell the
difference, does anyone know?), NROFF and TROFF were generated from the same C
source (which I have, if anyone wants to look at it).


    > the compiler needed some rework and thus typesetter C was born.

I heard he needed features (e.g. longs and unsigned), but... looking at the
N/TROFF source, there are _no_ 'unsigned's, and only a handful of 'long'
variables! There also don't seem to be any bit fields, typedefs, etc.

There is _one_ initialized structure (array of structures, to be precise).
(Although there are a lot of places were an int is initialized with a
double-character constant!)

About the only features in "C Changes" that it uses are i) register types on
arguments, and the 'static' storage class.

So now I'm wondering about that meme...

	Noel



More information about the TUHS mailing list