Difference between revisions of "CoCo/R"

From eplmediawiki
Jump to: navigation, search
Line 8: Line 8:
  
 
== Manual ==
 
== Manual ==
[http://www.ssw.uni-linz.ac.at/Coco/Doc/UserManual.pdf| Link]
+
[http://www.ssw.uni-linz.ac.at/Coco/Doc/UserManual.pdf Link]
  
 
==Examples ==  
 
==Examples ==  
* [http://epl.di.uminho.pt/~gepl/LP/Lavanda_CoCoR.w| Lavanda.w] <br>
+
* [http://eplmediawiki.di.uminho.pt/uploads/Lavanda_CoCoR.w Lavanda.w] <br>
* [http://epl.di.uminho.pt/~gepl/LP/Lavanda_CoCoR.pdf| Lavanda.pdf]
+
* [http://eplmediawiki.di.uminho.pt/uploads/Lavanda_CoCoR.pdf Lavanda.pdf]
  
 
== Original Page ==
 
== Original Page ==
[http://www.ssw.uni-linz.ac.at/Coco/| Link]
+
[http://www.ssw.uni-linz.ac.at/Coco/ Link]
  
 
[[Category:Compiler Generators]]
 
[[Category:Compiler Generators]]

Revision as of 23:41, 10 December 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