Difference between revisions of "MonoBURG"
From LRDE
(→Contact: Obfuscate the e-mail address.) |
|||
Line 6: | Line 6: | ||
[http://www.mono-project.org/ Mono]. It is used as a |
[http://www.mono-project.org/ Mono]. It is used as a |
||
code-generator generator that relies on bottom-up tree parsing; |
code-generator generator that relies on bottom-up tree parsing; |
||
− | basically, |
+ | basically, MonoBURG generates a tree parser that executes some |
instructions, generally code output, when a defined tree pattern is |
instructions, generally code output, when a defined tree pattern is |
||
matched. |
matched. |
||
− | In the [[Tiger|Tiger]] project, |
+ | In the [[Tiger|Tiger]] project, MonoBURG is used to generate a code producer |
from the lowest level of representation of the source code to assembly. |
from the lowest level of representation of the source code to assembly. |
||
− | + | MonoBURG has been extended to support namespace use, C++ references, |
|
and to add other facilities. |
and to add other facilities. |
||
Line 19: | Line 19: | ||
<!-- MONOBURGINTROSTOP --> |
<!-- MONOBURGINTROSTOP --> |
||
− | + | MonoBURG was part of the Mono Project. This version has been extended |
|
by several people from LRDE for the needs of the Tiger project. |
by several people from LRDE for the needs of the Tiger project. |
||
Revision as of 11:31, 4 May 2015
Overview
MonoBURG is a tree-rewriting system originating from Mono. It is used as a code-generator generator that relies on bottom-up tree parsing; basically, MonoBURG generates a tree parser that executes some instructions, generally code output, when a defined tree pattern is matched.
In the Tiger project, MonoBURG is used to generate a code producer from the lowest level of representation of the source code to assembly.
MonoBURG has been extended to support namespace use, C++ references, and to add other facilities.
MonoBURG was part of the Mono Project. This version has been extended by several people from LRDE for the needs of the Tiger project.
Directions
Future main modifications will be:
- The postponing of output emission to allow not `on-the-fly' modification,
- Provide different `%' directives,
- Revamp the scanner.
Downloads
Git Repository
- The Git repository is located at git://git.lrde.epita.fr/monoburg.
- You can browse it online via GitWeb.
Related links
- The Mono Project,
- The original paper on Burg: Burg - Fast Optimal Instruction Selection and Tree Parsing.
Contact
Send any questions or comments to projects@lrde.epita.fr.