mirror of
https://github.com/hazemKrimi/jack-vm-translator.git
synced 2026-05-01 18:00:27 +00:00
44 lines
934 B
Markdown
44 lines
934 B
Markdown
# Jack VM Translator
|
|
|
|
This is a VM translator made as an assignment for the [Nand To Tetris Course: Part 2](https://nand2tetris.org/project07).
|
|
|
|
## Requirements
|
|
|
|
You need GCC and `make` to develop, build, and run this project.
|
|
|
|
## Installation
|
|
|
|
1. Clone this repo:
|
|
|
|
```
|
|
git clone https://github.com/hazemKrimi/jack-vm-translator
|
|
```
|
|
|
|
2. To run this against VM files, run the following command with the path of the `.vm` file (or directory):
|
|
|
|
```
|
|
./out/vm-translator <path_to_vm_file_or_directory>
|
|
```
|
|
|
|
The result `.asm` file will be written in the same location as the source file.
|
|
|
|
## Build
|
|
|
|
- To build this project run the following command:
|
|
|
|
```
|
|
make
|
|
```
|
|
|
|
- To build for release run the following command:
|
|
|
|
```
|
|
make MODE=release
|
|
```
|
|
|
|
You will find the executable in the `out/` directory.
|
|
|
|
## Testing
|
|
|
|
You can download VM files to test the translator against from the [Nand To Tetris website](https://www.nand2tetris.org/software).
|