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.
Future main modifications will be:
- The postponing of output emission to allow not `on-the-fly' modification,
- Provide different `%' directives,
- Revamp the scanner.
- The Git repository is located at https://gitlab.lrde.epita.fr/tiger/monoburg.git.
- You can browse it online via Gitlab.
- The Mono Project,
- The original paper on Burg: Burg - Fast Optimal Instruction Selection and Tree Parsing.
Send any questions or comments to firstname.lastname@example.org.