MJr

MJr-compiler implementation notes

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.

Pipeline

The compiler works in several stages, using multiple intermediate representations:

Next steps

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.