Difference between revisions of "CoCo/R"

From eplmediawiki
Jump to: navigation, search
(Created page with "Coco/R is a compiler generator, that takes an attribute grammar of a source language and generates a scanner, parser and a semantic evaluator for this language. The scanner wo...")
 
Line 11: Line 11:
  
 
==Examples ==  
 
==Examples ==  
[http://epl.di.uminho.pt/~gepl/LP/Lavanda_CoCoR.w| Lavanda.w] <br>
+
* [http://epl.di.uminho.pt/~gepl/LP/Lavanda_CoCoR.w| Lavanda.w] <br>
[http://epl.di.uminho.pt/~gepl/LP/Lavanda_CoCoR.pdf| Lavanda.pdf]
+
* [http://epl.di.uminho.pt/~gepl/LP/Lavanda_CoCoR.pdf| Lavanda.pdf]
  
 
== Original Page ==
 
== Original Page ==

Revision as of 16:09, 25 November 2012

Coco/R is a compiler generator, that takes an attribute grammar of a source language and generates a scanner, parser and a semantic evaluator for this language. The scanner works as a deterministic finite automaton. The parser is recursive descent. LL(1) conflicts can be resolved by a multi-symbol lookahead or by semantic checks.

Inherited and synthesized attributes are allowed; however evaluation is done in a top-down, left to right, tree traversal, during parsing.

Thus the class of accepted grammars is LL(k) for an arbitrary k.

There are versions of Coco/R for Java, C#, C++, Delphi, Modula-2, Oberon and other languages.

Manual

Link

Examples

Original Page

Link

Personal tools
Namespaces

Variants
Actions
Navigation
extras
Toolbox