Two-tier compiler for the Jack Programming Language as specified in Nand2Tetris (Coursera class).
JackCompiler.py compiles .jack files into virtual machine instructions. VMTranslator.py compiles .vm files into assembly language. Finally, Assembler.py takes .asm files and produces machine code.
The target hardware is found in HDL in my Nand2Tetris github folder.