Differences between current version and predecessor to the previous major change of CompilerCompiler.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 4 | Last edited on Saturday, October 25, 2003 6:00:16 pm | by StuartYeates | |
Older page: | version 1 | Last edited on Saturday, August 23, 2003 1:15:13 am | by StuartYeates | Revert |
@@ -1 +1,5 @@
-A [
CompilerCompiler] is
a [Compiler]
for compiling
a [Compiler]. The most widely
known [CompilerCompiler] system is
the [
lex]
/[
yacc]
and their freeware
clones [flex
]/[bison
].
+A CompilerCompiler creates
a parser
for a ProgrammingLanguage by transforming the definition of its formal grammar, commonly written in [EBNF], to code written in some ProgrammingLanguage.
+
+Parsing is the first stage of the processing done by any
[Compiler]. The second step, actually emitting code in the target language that is (hopefully) equivalent to the source code, can to this day not be formally defined, so the code for that stage must be added manually.
+
+Well-
known examples of
[CompilerCompiler]s include
the lex(1)
/yacc(1) pair
and their [GNU]
clones [Flex
]/[Bison
].