Difference between revisions of "Category:Compiler Generators"
m (atualização do texto introdutório desta categoria) |
|||
Line 12: | Line 12: | ||
From a large list of well known Compiler Generators---Yacc, Btyacc, Mlyacc, Happy, Coco/R, CTB, Tools, JavaCC, CUP, SGen, LRC, | From a large list of well known Compiler Generators---Yacc, Btyacc, Mlyacc, Happy, Coco/R, CTB, Tools, JavaCC, CUP, SGen, LRC, | ||
LISA, Eli, PCCTS, AnTLR, Silver, Sable, ASF+SDF---we chose a subset of them to install and test. | LISA, Eli, PCCTS, AnTLR, Silver, Sable, ASF+SDF---we chose a subset of them to install and test. | ||
− | To enable the comparasion of | + | |
+ | To enable the comparasion of each tool usage, | ||
all of the CG chosen were experimented with the same language, Lavanda, | all of the CG chosen were experimented with the same language, Lavanda, | ||
that is a didatic Domain Specific Language used for teaching purposes. | that is a didatic Domain Specific Language used for teaching purposes. | ||
Line 23: | Line 24: | ||
_________________________________________________________ | _________________________________________________________ | ||
+ | |||
Click [{{fullurl:{{FULLPAGENAMEE}}|action=pdfbook}} here] to download this selection of articles as a PDF book. | Click [{{fullurl:{{FULLPAGENAMEE}}|action=pdfbook}} here] to download this selection of articles as a PDF book. | ||
+ | |||
+ | _________________________________________________________ |
Revision as of 01:23, 5 January 2013
A Compiler Generator (CG) is a program that takes, as input, a Language Specification (a Regular Expression (ER), a Grammar (G), etc.) and produces, as output, another program that is a Processor (a Compiler, an Interpreter, or whatever) for the language specified.
Notice that the correct name for this special program should be Language-Processor Generator. However the actual name is indeed Compiler Generator; alternatively, it is also known as Compilers Compiler.
The usefulness of such a program is unquestionable. From a short and concise formal specification of a language, a complex and efficient program is quickly generated with the guarantee that the generated program will recognize all the valid sentences that belong to that language and will transform/translate them in a systematic way.
From a large list of well known Compiler Generators---Yacc, Btyacc, Mlyacc, Happy, Coco/R, CTB, Tools, JavaCC, CUP, SGen, LRC, LISA, Eli, PCCTS, AnTLR, Silver, Sable, ASF+SDF---we chose a subset of them to install and test.
To enable the comparasion of each tool usage, all of the CG chosen were experimented with the same language, Lavanda, that is a didatic Domain Specific Language used for teaching purposes. Lavanda is specified by the following grammar: LavandaGrammar.
A small set of input texts, to test the compiler generated by each tool, is available here.
An article comparing three compiler generators (Lex/Yacc, LISA and ANTLR-3) ca be found here.
_________________________________________________________
Click here to download this selection of articles as a PDF book.
_________________________________________________________