Skip to content
pja35 edited this page Oct 30, 2012 · 11 revisions

Here is how to work together to grow GOOL.

How to work with Git

How to extend the recognition of an input language

The file gool.recognizer.xxx defines a visitor, which travels the xxx input (abstract), and produces its GOOL representation (abstract).

How to extend the code generation of an output language

How to add an input language

In order to add an xxx input language, you need a parser that takes concrete input language into abstract input langue. This is done by ``gool.parser.xxx`.

You also need to define a visitor, which travels the xxx input (abstract), and produces its GOOL representation (abstract). This is done by gool.recognizer.xxx.

How to add an output language

How to extend the GOOL intermediate language

The GOOL intermediate language is the bridge between the input language and the output language. To have more things usefully translated through that bridge, one may need to enlarge the bridge. This means extending the GOOL abstract language defined as an Abstract Syntax Tree in gool.ast.

Clone this wiki locally