MonoBURG
From LRDE
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 https://gitlab.lrde.epita.fr/tiger/monoburg.git.
- You can browse it online via Gitlab.
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.