[TUHS] Typesetter C compiler

Jonathan Gray jsg at jsg.id.au
Fri Feb 3 10:43:26 AEST 2023

On Fri, Feb 03, 2023 at 08:57:14AM +1100, Jonathan Gray wrote:
> On Thu, Feb 02, 2023 at 02:02:32PM -0500, Noel Chiappa wrote:
> > 
> > There was recent discussion here about the Typesetter C compiler; I don't
> > have the energy to look through the tons of opinion posts about recent
> > programming styles, to find the posts about actual Unix history which related
> > to that compiler, but I seem to recall that there was interest in locating
> > the source for it? I had strted to look, but then got distracted by some
> > other high-pri stuff; here are a few notes that I had accumulated to reply -
> > I hope they aren't too out-of-date by now.
> > 
> > I have a copy of it, from the dump of the CSR machine (I can't make the whole
> > dump public, sorry; it has personal material from a bunch of people mixed in).
> discussed in
> https://minnie.tuhs.org/pipermail/tuhs/2023-January/027393.html
> The best case would be a copy of the tape that was licensed and
> distributed externally.  With nroff/troff/ar/stdio.
> > 
> > I was pretty sure the C compiler from Mini-Unix, here:
> > 
> >   https://minnie.tuhs.org/cgi-bin/utree.pl?file=Mini-Unix/usr/source/c
> > 
> > was from the right timeframe to be the Typesetter C, but a quick check of
> > c0.h, shows that it's not; that one seems to be more like the V6 one. (Ditto
> > for LSX.)
> > 
> > The PWB1 one:
> > 
> >   https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/c/c
> > 
> > seems, from a very quick look at c0.h (using that nice side-by-side compare
> > feature on the TUHS archive - thanks, Warren!), to be somewhat close to the
> > Typesetter C. It would be interesting to compare that one to the CSR one
> > (which definitely is) to be sure.
> Yes, PWB/UNIX 1.0, AUSAM where READ_ME includes:
> "the 'C' compiler contained herein is
> not merely a local abheration of
> 'C' but is in fact a version from bell
> labs via indirect means
> the lanuage accepted by this 'C'
> would is identical to that accepted by the 'C'
> compiler distributed with PWB/UNIX
> also corresponds to syntax given in
> Kernigan and Plaugher's book on 'C'"
> the Interdata 7/32 tree in modified form
> and binaries in Tim_Shoppa_v6/unix_v6.rl02.gz as you described in
> http://mercury.lcs.mit.edu/~jnc/tech/ImprovingV6.html
> Compared to v6 the phototypesetter compiler adds:
> unsigned union typedef.
> The v7 compiler included enums and structure assignment
> described in "Recent Changes to C" November 15, 1978
> https://www.bell-labs.com/usr/dmr/www/cchanges.pdf

As you mentioned in

there is also a (Miller modified?) "New C Compiler Features" document

a different, earlier? version of this is "C Changes"

another version of "C Changes" in

the C Reference Manual, May 1, 1977 in
Documents for the PWB/UNIX Time-Sharing System, Edition 1.0
https://bitsavers.org/pdf/att/unix/PWB_UNIX/Documents_for_the_PWB_UNIX_Time-Sharing_System_Edition_1.0_197710.pdf (44M)
"Warning: The data type name short is not recognized by the version
of the C compiler that is distributed as part of PWB/UNIX Edition 1.0."
but otherwise seems quite close to the C Reference Manual text in

More information about the TUHS mailing list