Jack is a Java-like high level language built from the ground up in the From Nand To Tetris Course.
This repo is organized in several crates:
hack-assembler: an assembler from .asm to .hack machine language codevm-translator: intermediate stack machine language translator, from .vm files to .asmjack-to-vm: compiler from Jack to intermediate VMcompiler: this is the executable, containing the jack OS classes too
Running the following command
cargo run $DIR_CONTAINING_JACK_CLASSES (--with-vm) (--with-asm)will produce a source.hack output which can be fed to the nand to tetris CPU emulator