From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 18629 invoked from network); 2 Feb 2023 21:57:33 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 2 Feb 2023 21:57:33 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id DDFD3411E4; Fri, 3 Feb 2023 07:57:25 +1000 (AEST) Received: from lechuck.jsg.id.au (jsg.id.au [193.114.144.202]) by minnie.tuhs.org (Postfix) with ESMTPS id 7D59C411E3 for ; Fri, 3 Feb 2023 07:57:17 +1000 (AEST) Received: from largo.jsg.id.au (largo.jsg.id.au [192.168.1.43]) by lechuck.jsg.id.au (OpenSMTPD) with ESMTPS id 3fde3bf0 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 3 Feb 2023 08:57:14 +1100 (AEDT) Received: from localhost (largo.jsg.id.au [local]) by largo.jsg.id.au (OpenSMTPD) with ESMTPA id e4740732; Fri, 3 Feb 2023 08:57:14 +1100 (AEDT) Date: Fri, 3 Feb 2023 08:57:14 +1100 From: Jonathan Gray To: Noel Chiappa Message-ID: References: <20230202190232.C79D118C073@mercury.lcs.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230202190232.C79D118C073@mercury.lcs.mit.edu> Message-ID-Hash: E2H63QMRAG4PCSSBHA7736ZQ3E55CW2B X-Message-ID-Hash: E2H63QMRAG4PCSSBHA7736ZQ3E55CW2B X-MailFrom: jsg@jsg.id.au X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: tuhs@tuhs.org X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Typesetter C compiler List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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 >