- Lexical analysis and tokenisation.
- Recursive descent parsing to an abstract syntax tree.
- Direct syntax-tree interpretation.
- Static compilation to a stack based assembly language.
- Assembly from symbolic assembly language to virtual op-codes.
- Virtual machine execution using a stack-based computer.
Each major function is a separate Python program typically between 100-300 lines of code.
Install
Documentation
Getting Started
Individual Components
Further Reading
Credits
This project was developed by Samuel Williams, with support from Tadao Takaoka and the University of Canterbury Summer Scholarship program (2010/2011).