All tools used are avaliable at Nand2Tetris Web IDE. Part 1 files not in this repo (done completely in ide).
- Project 1: Logic Gates -> Starting from an elementary NAND logic gate, built an array of more complex logic gates, i.e., And, Or, Mux, Xor, etc..
- Project 2: ALU -> Constructed an adder chip and ALU, which executes all the arithmetic and logical operations.
- Project 3: Registers & Program Counter -> Used a D Flip Flop circuit, which enables storing state in a chip, to construct a series of registers and a Program Counter.
- Project 4: Assembly -> Wrote Assembly Language programs using the Hack Machine Language.
- Project 5: Full Computer -> Constructued CPU, ROM, and RAM units leading to a full scale Computer.
- Project 6: Assembler -> Created Hack assembler in Python to translate Hack Assembly Language into Hack Binary Machine Language.
- Project 7 & 8: VM Translator -> Started Two-Tier compilation process by building Virtual Machine Translator of a Jave-like, stack-based Bytecode into Hack Assembly Language.
- Project 10 Syntax Analysis: Created syntax analyzer, the first stage of the jack compiler, that parses a jack program and build a parse tree in xml format.
- Project 11: Compiler -> Finished two-tier compilation process by implementing compiler for translation of high-level Jack language into VM langauge, akin to Java bytecode.