Compiler-compiler

A compiler-compiler or parser generator is a utility for generating the source code of a parser, interpreter or compiler from an annotated language description in the form of a grammar (usually in BNF) plus code that is associated with each of the rules of the grammar that should be executed when these rules are applied by the parser. These pieces of code are sometimes referred to as semantic action routines since they define the semantics of the syntactic structure that is analysed by the parser. Depending upon the type of parser that should be generated, these routines may construct a parse tree (or AST), or generate executable code directly. The first Compiler Compiler to use that name was written by Tony Brooker in 1960 and was used to create compilers for the Ferranti Atlas computer at the University of Manchester, including the Atlas Autocode compiler. However it was rather different from modern compiler compilers, and today would probably be described as lying somewhere between a highly customisable generic compiler and an extensible-syntax language. The name 'compiler compiler' was far more appropriate for Brooker's system than it is for most modern compiler compilers, which are more accurately described as mere parser generators. It is almost certain that the Compiler Compiler name has entered common use due to Yacc rather than Brooker's work being remembered. Other examples of parser generators in the yacc vein are Coco/R, GNU bison, Eli, FSL, META 5, MUG2, Parsley, Pre-cc, SableCC, JavaCC and MixedCC.

References

See Also

Brooker Autocodes

 

<< PreviousWord BrowserNext >>
maine coon
american curl
charles ix of sweden
henry vii, holy roman emperor
rectangle
christer pettersson
temple of heaven
brokk
nf
eitri
first fleet
skai
the weirdstone of brisingamen
patrick pearse
nastrond
chancellor of the exchequer
helgardh
so tom and prncipe
august bournonville
j.j. thomson
battle abbey
recursive descent parser
spirited away
word usage
leopold mozart
joe satriani
data logging
log
national rifle association
simple lr parser
recoverable alert
athens, ohio
evergreen (disambiguation)
clarksville
land lab
sandusky
cicero (disambiguation)
beloit
juneau (disambiguation)
carnegie medal
floodplain
bath (disambiguation)
sycamore
constitution of the netherlands