This is a compiler for a subset of the Manatee Programming Language.
The idea is for students to fork this repository to build their own compilers and interpreters for the full language. After all, it can be argued that extending a compiler for a small language has more pedagogical value that having students implement everything from scratch.
Manatee is described at http://cs.lmu.edu/~ray/notes/manatee.
Here are some of the full language features not implemented in this subset:
-
Codepoint escapes in character and string literals - Added - Not generating
-
Object types and literals - Added - Not generating
-
Increment and decrement statements - Added - Done!
-
Parallel assignment - Added - Done!
-
Exceptions - Added - Done!
-
Timers - Added - Not generating
-
unless
anduntil
modifiers - Added - Not generating -
Bitwise operators - Added - Done!
-
Modulo operator - Added - Done!
-
Divides operator - Added - Done!
-
Bitwise complement operator - Added - Done!
-
The down modifier on range loops - Added - Done!
-
Modules - Deprecated