Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/castrodd/compiler
Toy compiler for Jack language
https://github.com/castrodd/compiler
compiler nand2tetris
Last synced: 19 days ago
JSON representation
Toy compiler for Jack language
- Host: GitHub
- URL: https://github.com/castrodd/compiler
- Owner: castrodd
- Created: 2020-08-13T16:23:05.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-12-14T16:52:15.000Z (about 4 years ago)
- Last Synced: 2024-12-09T16:44:28.300Z (27 days ago)
- Topics: compiler, nand2tetris
- Language: Python
- Homepage:
- Size: 78.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jack Compiler
Toy compiler for the Jack language as specified in [Nand to Tetris](https://www.nand2tetris.org/course) course# Components
### Initialization
- JackCompiler: top-level driver that sets up and invokes the other modules
- ClassRecord: class for maintaining list of all files being compiled
## Syntax analysis
- JackTokenizer: module that parses and tokenizes Jack files
- JackToken: class for handling individual tokens
## Code generation
- SymbolTable: module that creates a symbol table for each Jack class and subroutine
- Symbol: class for handling individual symbols
- VMWriter: output module for generating VM code
- CompilationEngine: recursive top-down compilation engine