Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
Readme
c00.c
c01.c
c02.c
c03.c
c0t.s
c10.c
c11.c
c1t.s
cc.c
cctab.s
cvopt.c
efftab.s
fptab.s
mak
regtab.s
sptab.s
v1mak

Readme

This directory contains the last1120c C compiler, as described by Dennis
Ritchie on his web page http://cm.bell-labs.com/cm/cs/who/dmr/primevalC.html

You can use the Apout emulator and the C compiler from the s2 tape to
recompile the last1120c compiler. After installing the new compiler
binaries, last1120c can recompile itself.

Here are the instructions. First, compile and install the Apout emulator.
Make sure that you turned -DEMUV1 on in the Makefile.

Unpack the V1 executables from the s2 tape and unpack them in a suitable
area, e.g /usr/local/src/V1. Set the environment variable APOUT_ROOT to
this directory name.

Change into the last1120c directory, and edit the shell script mak
so that it reflects the value of APOUT_ROOT that you have chosen.
Then simply run the mak shell script natively. This will build the the
front-end command, cc, and the two passes of the C compiler: c0 and c1.

If you want, you can now move c0 and c1 into $APOUT_ROOT/usr/lib, replacing
the original c0 and c1, and then use the shell script mak again to rebuild
c0 and c1 using themselves. Similarly, you can replace $APOUT_ROOT/bin/cc
with the cc created here.

The C compiler can now mostly rebuild itself on the V1 kernel, except the c1
pass which doesn't work yet. The v1mak shell script can be run on V1 to
rebuild everything from source.