[TUHS] Looking for final C compiler by Dennis Ritchie

Clem Cole clemc at ccc.com
Fri Jul 20 00:50:35 AEST 2018


On Wed, Jul 18, 2018 at 5:37 PM, Dibyendu Majumdar <mobile at majumdar.org.uk>
wrote:

> Hi
>
> I am interested in finding out if the last C compiler code (not the
> earliest versions which I know
> are available) written by Dennis Ritchie is available somewhere. I
> assume that the C compiler in V7 code was written by him?
>
> Thanks and Regards
> Dibyendu
>
​I'm not sure if this is the last.   This is a pointer to the V7 Ritchie
Compiler:  https://minnie.tuhs.org//cgi-bin/utree.pl?file=V7/usr/src/cmd/c
- The sources and the makefile build the three passes /lib/c[012]
This should be a good starting point/base line.

Be careful because the Johnson Compiler (pcc) was also included with V7 and
is a different technology.

This is important because their are modifications to both the Ritchie and
Johnson compilers 'in-the-wild' for other back-ends and new optimizations.
  I for instance, re-targeted the Ritchie compiler to what would become the
68000 (it was not yet numbered, it was an experimental chip when we had
access to it in the late 1970s in Tek Labs - mine was a 16 bit 'int' as I
was coming primarily from the PDP-11 at the time and the chip was a 16 bit
chip internally - so the code was tight and clean and I basically
substituted PDP-11 instruction sequences for 68000 sequences).   IIRC, Jack
Test's 68000 compiler from MIT which was about 18 mons later was based on
the Johnson compiler but he used a 32 bit 'int' which proved easier for
porting programs from the Vax, as the chip supported 32 bit words even
though it took 2 ticks to do anything [so Jack's compiler generated slower
code for many simple ops].

I recommend, that google for the old USENIX tapes and see what you turn up
and compare.

ᐧ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20180719/e5034529/attachment.html>


More information about the TUHS mailing list