Difference between revisions of "Category:Compiler Generators"

From eplmediawiki
Jump to: navigation, search
m (atualização do texto introdutório desta categoria)
Line 1: Line 1:
The samples available for some of the compiler generators are based on the following grammar: [http://eplmediawiki.di.uminho.pt/uploads/Lavanda.pdf Lavanda].
+
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.
A small set of examples to use with each one of the compiler generated is available [http://eplmediawiki.di.uminho.pt/uploads/SamplesLavanda.zip here].
+
An article comparing 3 of this compiler generators (Lex/Yacc, LISA and ANTLR-3) is avaliable [http://eplmediawiki.di.uminho.pt/uploads/CoRTA07CGvs.pdf here].
+
  
 +
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 the usage of each tool,
 +
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:
 +
[http://eplmediawiki.di.uminho.pt/uploads/Lavanda.pdf LavandaGrammar].
 +
 +
A small set of input texts, to test the compiler generated by each tool, is available [http://eplmediawiki.di.uminho.pt/uploads/SamplesLavanda.zip here].
 +
 +
An article comparing three  compiler generators (Lex/Yacc, LISA and ANTLR-3) ca be found [http://eplmediawiki.di.uminho.pt/uploads/CoRTA07CGvs.pdf here].
 +
 +
_________________________________________________________
 
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:18, 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 the usage of each tool, 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.

Pages in category "Compiler Generators"

The following 9 pages are in this category, out of 9 total.

Personal tools
Namespaces

Variants
Actions
Navigation
extras
Toolbox