In 1960, several systems appeared aimed at easing the task of producing a compiler.
They went under a variety of names including translator writing system, compiler-compiler and meta-compiler.
As such a system is capable of generating a compiler, it may be possible for it to generate itself.
Although not a requirement, it adds a certain elegance to the system and makes enhancement of the system relatively straightforward.
A base system can be defined and this can be used to define a more powerful system and so on.
Three of the earliest systems were:
Alick Glennie's Syntax Machine, 1960
Ned Irons PSYCO compiler, 1960
Brooker and Morris's Compiler-Compiler, 1960
The Brooker-Morris Compiler Compiler was used to produce many of the compilers used on the Atlas computers.
Examples include: ACL, Algol, Atlas Autocode, CPL, EMA, Fortran IV, SAL and SOL.
To give a better idea of the system, the main published papers have been collected here.
This section contains an updated version of the Annual Review in Automatic Programming Volume III paper published in
1963, regarded as the definitive description of the Brooker-Morris Compiler Compiler.
It also contains a complete listing of the system printed out by Iain MacCallum in December 1963.
In September 1966, Bob Hopgood moved to Carnegie Tech (now Carnegie-Mellon University) in Pittsburgh for a sabbatical year there.
At the time, there was a major project at Carnegie Tech to produce a new Translator Writing System called CABAL.
To demonstrate what was possible with the Brooker-Morris Compiler Compiler, Bob ported the Compiler Compiler to the Bendix G21 computer.
This was completed around January 1967 using a listing printed off in August 1966. It was primarily an exercise in really understanding
the Compiler Compiler, but there was also some interest in later porting it to the 360/67, thus making it as machine independent as possible.
As part of the port, a manual and flow diagrams were produced for the Compiler Compiler implementation.
Bill Williams at the University of London Atlas received a copy of these from Bob Hopgood on his return to the UK in 1967
and recently OCRd them; these are also included here together with some
manuals contributed (indirectly) by Tony Pritchett and scanned by Kate Sullivan (SOL, Revised report on Algol 60).
Other useful papers will be added if they come to light.