Skip to content

br8th/jack-compiler

Repository files navigation

Jack VM Compiler

Jack is a simple object-based language. It's somewhat similar to Java and C++, with a simpler syntax and no support for inheritance. You already know Dog is Animal.

The language lends itself nicely to interactive games like Tetris, Snake, Pong, Space Invaders, and similar classics. You can find a list of cool stuff built with jack here.

This project is part of the assignments in the Nand2Tetris course. The full grammar of the language is shown below. Jack Language Grammar

Requirements

.NET 7

Usage

Build the project

dotnet build --output build

cd into the build dir and execute

./JackCompiler Tetris.jack

Running the above command creates a file in the same directory as Tetris.jack named Tetris.vm. Load the compiled files into an emulator and stuff happens!

Tetris.jack ==> Tetris.vm

What else?

Its not gcc, extend some grace. WIP, pull requests are always welcome :)

License

WTFPL

About

Project 11 in the Nand2Tetris online course https://www.nand2tetris.org/project11

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages