This is the source code for the 3L transputer Imp77 compiler, V1.4,
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.)

Well, more correctly, it 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 a new V1.5 of Imp.
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 (TI.B4).
If you don't have a physical transputer you will need Gavin Crate's
transputer emulator and the ti1v4-32.zip executables.  To try it:

      copy \ti1v4\t4i.exe ti.exe
      ti/t4/i          (smoke test: should display banner and copyright)
      ti/t4/Zi test    (compile test.imp, which you need to provide!
                        Note that /Zi now required for decode to source)
      decode 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 (many) changes to PASS2.IMP
and PASS3.IMP since Imp V1.4 was built have broken PASS1.IMP in some
subtle (or not so subtle!) ways.  We had a regression test suite to
help with that.

You may think to get around this and rebuild V1.4 using the alternative
PASS2_REV1D2.IMP and PASS3_REV1D2.IMP, which are the actual pass2&3
sources used to build Imp V1.4, extracted from the source-code control
system.  However, you are not going to get anything binary identical
because V1.4 would have been built with an earlier version of the
compiler (probably V1.3 though I haven't checked) the executables of
which are not available.  Those alternative pass2&3 sources are included
partly for historical completeness (they contain an earlier manual
revision history predating the source-code control system) and partly
for anyone who wants to see how the V1.4 executables worked.

Note 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
version 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
