Compiler-compiler: Difference between revisions

Content deleted Content added
Line 58:
 
==History==
Design of the original Compiler Compiler was started by [[Tony Brooker]] and Derrick Morris in 1959, with initial testing beginning in March 1962<ref>http://curation.cs.manchester.ac.uk/atlas/elearn.cs.man.ac.uk/_atlas/docs/Tony%20Brooker%20and%20the%20Atlas%20Compiler%20Compiler.pdf</ref>. Brooker's Compiler Compiler was used to create compilers for the new [[Atlas (computer)|Atlas]] computer at the [[University of Manchester]], for several languages starting with [[Atlas Autocode]] and later, with Iain MacCallum, [[ALGOL 60]]. At roughly the same time, related work was being done by E. T. (Ned) Irons at Princeton, and Alick Glennie at the Atomic Weapons Research Establishment at Aldermaston whose "Syntax Machine" paper (declassified in 1977) inspired the META series of translator writing systems mentioned below.
The first compiler-compiler to use that name was written by [[Tony Brooker]] in 1960 and was used to create compilers for the [[Atlas (computer)|Atlas]] computer at the [[University of Manchester]], including the [[Atlas Autocode]] compiler.{{citation needed|date=May 2020}}
 
The early history of metacompilers is closely tied with the history of SIG/PLAN Working group 1 on Syntax Driven Compilers. The group was started primarily through the effort of Howard Metcalfe in the Los Angeles area.<ref name="Metcalfe1"/> In the fall of 1962 Howard Metcalfe designed two compiler-writing interpreters. One used a bottom-to-top analysis technique based on a method described by Ledley and Wilson.<ref name="Ledleyl"/> The other used a top-to-bottom approach based on a work by Glennie to generate random English sentences from a context-free grammar.<ref name="Glenniel"/>
 
At the same time, Val Schorre described two "meta machines", one generative and one analytic. The generative machine was implemented and produced random algebraic expressions. Meta I the first metacompiler was implemented by Schorre on an IBM 1401 at UCLA in January 1963. His original interpreters and metamachines were written directly in a pseudo-machine language. [[META II]], however, was written in a higher-level metalanguage able to describe its own compilation into the pseudo-machine language.<ref name="METAII"/><ref name="SMALGOL"/><ref name="META1"/>