The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Jonathan Gray <jsg@jsg.id.au>
To: Noel Chiappa <jnc@mercury.lcs.mit.edu>
Cc: tuhs@tuhs.org
Subject: [TUHS] Re: Typesetter C compiler
Date: Fri, 3 Feb 2023 08:57:14 +1100	[thread overview]
Message-ID: <Y9wxui5bJfh3lGvJ@largo.jsg.id.au> (raw)
In-Reply-To: <20230202190232.C79D118C073@mercury.lcs.mit.edu>

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

2bsd includes diffs for it
upgrade/c/READ_ME:
"Mon Apr 16 23:33:04 PST 1979

The C compiler modifications here given as diffs will change a phototypesetter
C compiler to have a larger symbol table (change to c0.h) and to generate
switch code in I space (c11.c).  We install the changed C compiler as
-t0 and -t1; see the source for cc.c.  You need make a modified C compiler
only if you intend to recompile ex (-t0) or if you wish to compile with
smaller data spaces per user; all code will work fine without -t1, and
all programs but ex will compile with normal symbol table size."

and refers to it in src/ex:
/*
 * Since the phototypesetter v7-epsilon
 * C compiler doesn't have structure assignment...
 */

/*
 * Would like to use structured assignment but early
 * v7 compiler (released with phototypesetter for v6)
 * can't hack it.
 */

> 
> Also, the V7 C compiler (not pcc, but the PDP-11 one) seems to be a fairly
> close relative, too.
> 
> 	Noel
> 

  reply	other threads:[~2023-02-02 21:57 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 19:02 [TUHS] " Noel Chiappa
2023-02-02 21:57 ` Jonathan Gray [this message]
2023-02-03  0:43   ` [TUHS] " Jonathan Gray
2023-02-02 22:36 ` [TUHS] Proper use of TUHS (was Re: Typesetter C compiler) Dan Cross
2023-02-02 22:41   ` [TUHS] " Larry McVoy
2023-02-02 22:47     ` Jim Capp
2023-02-03  1:44   ` Dave Horsfall
2023-02-03 13:17     ` Alan D. Salewski
2023-02-03 13:55       ` Larry McVoy
2023-02-06 20:02         ` Chris Hanson
2023-02-03 14:11     ` Chet Ramey
2023-02-03 14:15       ` Larry McVoy
2023-02-03 16:39         ` Dan Cross
2023-02-03 16:54           ` Larry McVoy
2023-02-03 17:08             ` Dan Cross
2023-02-03 17:11             ` Steve Nickolas
2023-02-03 17:26               ` [TUHS] move to COFF " Will Senn
2023-02-03 17:31                 ` [TUHS] " Will Senn
2023-02-03 17:45           ` [TUHS] " Bakul Shah
2023-02-05 10:42             ` steve jenkin
2023-02-04  8:03           ` [TUHS] A List for New Systems Influenced by History. (Was: Proper use of TUHS) Ralph Corderoy
2023-02-04 13:56             ` [TUHS] " Larry McVoy
2023-02-04 17:31               ` [TUHS] Re: A List for New Systems Influenced by History Angel M Alganza
2023-02-03  6:36   ` [TUHS] Re: Proper use of TUHS (was Re: Typesetter C compiler) Lars Brinkhoff
2023-02-04 22:38     ` Tomasz Rola

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y9wxui5bJfh3lGvJ@largo.jsg.id.au \
    --to=jsg@jsg.id.au \
    --cc=jnc@mercury.lcs.mit.edu \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).