These notes explain some of the design and implementation details of the MJr-compiler project, which may be of interest to potential contributors, people developing similar projects, or anyone who is curious.
The compiler works in several stages, using multiple intermediate representations:
Several features of the MJr programming language are not yet supported:
Additionally, there some features of the MarkovJunior programming language which are not yet included:
Some of these features need some more thought to the language design before they are implemented. See also the project’s GitHub issue tracker.