FACTOID # 166: Most households in Europe and North America contain fewer than three people.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > 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

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

See Also

Brooker Autocodes (http://www.computer50.org/mark1/gethomas/manchester_autocodes.html)


  Results from FactBites:
 
Compiler-compiler - Wikipedia, the free encyclopedia (303 words)
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 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.
Compiler Compilers exist in many flavors, including bottom-up rewrite machine generators (see JBurg) used to tile syntax trees according to a rewrite grammar for code generation, and attribute grammar parser generators (see Antlr that can be used for simultaneous type checking, constant propagation, and more during the parsing stage).
Softpanorama Bookshelf: Compiler Construction (8000 words)
Compiler construction (see also my page with the collection of links) stopped to be a fl art approximately after publishing of David Gries' book.
Compilation techniques for features such as if statements, case statements, and various looping constructs are the focus of this chapter.
Even if you are not a compiler developer and have no intention of becoming one, this knowledge is so fundamental to being a good software developer and intelligent user of compilers that no professional can afford not to have read this book and keep it handy as a reference.
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m