Difference between revisions of "Category:Compiler Generators"
m (atualização do texto introdutório desta categoria) |
|||
(One intermediate revision by one user not shown) | |||
Line 10: | Line 10: | ||
that belong to that language and will transform/translate them in a systematic way. | 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 | + | From a large list of well known Compiler Generators---Yacc, Btyacc, Mlyacc, Happy, Coco/R, Tools, CTB, JavaCC, CUP, LISA, Eli, PCCTS, AnTLR, Silver, Sable, SGen, LRC, 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 | + | The pages in this category correspond, precisely, to the selected Compiler Generators and provide some pratical information about each one. |
− | all of the CG chosen were experimented with the same language, Lavanda, | + | |
− | that is a didatic Domain Specific Language | + | To enable the comparasion of each tool usage, |
− | Lavanda is specified by the following grammar: | + | all of the CG chosen were experimented with the same language, ''Lavanda'', |
+ | that is a didatic Domain Specific Language designed for teaching purposes. | ||
+ | ''Lavanda'' is specified by the following grammar: | ||
[http://eplmediawiki.di.uminho.pt/uploads/Lavanda.pdf LavandaGrammar]. | [http://eplmediawiki.di.uminho.pt/uploads/Lavanda.pdf LavandaGrammar]. | ||
Line 23: | Line 25: | ||
_________________________________________________________ | _________________________________________________________ | ||
+ | |||
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. | ||
+ | |||
+ | _________________________________________________________ |
Latest revision as of 16:24, 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, Tools, CTB, JavaCC, CUP, LISA, Eli, PCCTS, AnTLR, Silver, Sable, SGen, LRC, ASF+SDF---we chose a subset of them to install and test.
The pages in this category correspond, precisely, to the selected Compiler Generators and provide some pratical information about each one.
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 designed 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.
_________________________________________________________