A virtual machine implementation that takes instructions for JACK VM and translates code for HACK Architecture. Output of this VM will be input to the HACK Assembler. I have implemented all the components for this VM from scratch following specification from the book The Elements of Computing Systems. JACK compiler is the following project of this VM. The compiler will be translating a program written in the JACK language targetted for this VM.
To understand and run the project, reader needs to read the book mentioned above.