[TUHS] Looking for final C compiler by Dennis Ritchie

Dibyendu Majumdar mobile at majumdar.org.uk
Mon Jul 23 06:49:04 AEST 2018


Hi Paul,

On 20 July 2018 at 11:04, Paul Ruizendaal <pnr at planet.nl> wrote:
>> I will try to port the C compiler to amd64 - while preserving as much of
>> the original code as I can. But not sure if this is even feasible.
>
> If that is your goal, you might want to start with the version included with 2.11BSD. It is essentially the same as the version from V7, but with 15 more years of bug fixes. I used that source to port V6 Unix to the TI990 architecture back in 2014/2015 and the good thing about it is that it still compiles with a modern gcc.

I found similarities between the 2.11BSD and 10th edition sources -
presumably 2.11BSD was based on (or incorporated) changes in the 10th
edition?

BTW did you publish your work?

> For your project, I think you would be able to use the first pass ‘c0’ almost unchanged.

I have been able to get c0 working. I had to work around the use of
sbrk() as this is not supported on Windows. I also changed the output
to text format - mainly so that I can see what is being generated.

> The second pass ‘c1’ would need major restructuring. It mainly builds a tree for each expression and then performs various transformations, many of which are PDP11 specific (but also portable ones, like handling of constant expressions). It then covers the tree with code fragments selected from a library. This library (‘optable') would need a full rewrite as well.

This part will be more difficult I suspect - but I will only start on
this after I have converted c0 to output 64-bit compliant intermediate
code.

It seems that Dennis Ritchie wrote a paper 'A Tour through the Unix C
Compiler' which is quite useful in understanding the compiler. I have
converted the doc to Markdown format as well which makes it easier to
read.

Thanks and Regards
Dibyendu



More information about the TUHS mailing list