Implementation of a Programming Language
This code has been written for a course on code reading and compiler extension.
This is the code of a compiler (and an interpreter) for a simple programming language (with first-class local functions, exceptions, classes). This compiler is studied in a course that trains students to read code and extend it. The main features of that system are:
- the input syntax is XML (checked by a RelaxNG grammar)
- the processed language is somewhat similar to Javascript
- the interpreter and compiler are written in Java
- the compiler produces C code.
This course draws on a course that presented compilation via a series of languages where features were incrementally added. The '9' in 'ilp9' stands for the ultimate version of that series of systems.
A companion site with some resources (slides, videos) is hosted on http://compiler-reading-1.appspot.com/