This is the source code for the 3L Parallel C compiler, V2.3,
plus the .LOG files from the source-code control system.  (If you are
not interested in that historical information, you can happily delete
the .LOG files.)  Note that, unlike for Imp, I have not included .LOG
files for the .INC files.  In most cases, the relevant information is
in the .LOG file for the corresponding .IMP file.  The main reason
though is that the .LOG files have to be reconstituted on a 16-bit
DOS emulation with 8.3 filenames and .inc.log would have been too
much of a pain.

More correctly, this is the most recent version of each relevant file
from the source-code control system.  This is what we would have used
as a starting point if going forward to create V2.3 of Parallel C,
which was never released, although that is the embedded version number.
It is pretty close to (relatively few changes from) V2.2.4, the last
released executable version.  Additionally, each file has been
manually modified now to add a copyright notice at the beginning.

I have verified that the MAKEFILE will build the compiler (TC.B4).
If you don't have a physical transputer you will need Gavin Crate's
transputer emulator and all of ti1v4-32.zip, tc2v2d4-32.zip and
tgen1v0d1.zip in directories on your PATH.  To try it:

      copy \tc2v2\tc.exe
      tc/t4/i          (smoke test: should display banner and copyright)
      tc/t4/Zd test    (compile test.c, which you need to provide!
                        Note that /Zd required for decode to source)
      decode test
      t4clink test
      jafserver -:o 1 -:b test.b4

So, a rebuilt commpiler will compile Noddy programs, but beware.  Part
of the fun of working with compilers is that to do a proper build
you would need to find out if any of the changes since Parallel C V2.2.4
was built have broken anything in some subtle (or not so subtle!) ways.
We had a regression test suite to help with that.

Note that Parallel C V2.2.4 would itself have been built using an earlier
version of the compiler.  Therefore you are not going to get anything
binary identical out.

Note also that all of this software was originally run on DOS/Windows
host systems, so all the files have CRLF line terminators.

You may feel that it would have been better simply to publish the
source-code control system archives.  However, firstly, the stored
sources mostly don't contain copyright notices, and including those
was one of the conditions for publication required by the owners
of the residual 3L copyright.  Secondly, we used the 16-bit DOS
vesion of the Polytron Version Control System (PVCS.)  These days,
running 16-bit code requires some sort of emulator (I am using
DOSbox.)  Worse, PVCS was a commercial product which, amazingly,
seemed still to be actively maintained and in use (after a series of
ownership changes) when I looked a few years ago.  Therefore
I wouldn't want to make their 16-bit executables available.
It looked like there was a published script to move PVCS archives
to Subversion, but that wouldn't get round the 3L copyright issue.

Fiona Culloch
February 2026
