117 Commits (master)
 

Author SHA1 Message Date
Nemo 3b541898e2 Initial work on a Symbol Table abstraction 3 years ago
Nemo 66efa72230 [docs] Fix tables in vm/README 3 years ago
Nemo 5af2eaa317 Adds 10/12 chapters badge 3 years ago
Nemo 14bf8e510c Remove grammar.yml 3 years ago
Nemo a6d3e1f6bd [10] Notes for the compiler, part 2 3 years ago
Nemo b0aa03980c [10] Finishes compiler implementation 3 years ago
Nemo 812c76e09a Remove old code 3 years ago
Nemo 02cb984fec Fix empty expression tags, and add directory support 3 years ago
Nemo a274797e58 Fixes <statements> opening after first statement 3 years ago
Nemo d25f7407da Got most of the Compilation Engine working
- Expressions aren't tested
- Some issues with xml ordering and empty tags
3 years ago
Nemo 703c5e467d New compiler is running now and giving some results 3 years ago
Nemo 48d72383fd Implement all grammar classes 3 years ago
Nemo e862b318ba Rename Elements to Atom 3 years ago
Nemo deeebda14d WIP at enginev2 3 years ago
Nemo 333484ce7f Various other WIP attempts 3 years ago
Nemo d209fabc9a Work from yesterday on the CompilationEngine
- Restructured the grammar into a separate python
  module today
- Doesn't cover array expressions and subroutine calls
  inside expressions
3 years ago
Nemo c71dd21128 Break up the file a bit, haven't committed compilation stuff yet 3 years ago
Nemo cece143368 Adds NOTES for compiler implementation 3 years ago
Nemo 19f0d670ac [10] Tokenizer works on all files correctly 3 years ago
Nemo c54e5ccaa4 [10] Adds XML output support 3 years ago
Nemo 8dedf23832 [10] Initial WIP Tokenizer
- Initial WIP
- Hated the comment parsing, need to figure that out better
- Strings are not yet supported
- Symbols and keywords are perfectly covered
3 years ago
Nemo 9e40244023 Adds grammar for Statements 3 years ago
Nemo 937db42830 transcript of the jack language grammar 3 years ago
Nemo 7fa3caef7d [10] Scaffold for Project 10 3 years ago
Nemo 43f982f06f [09] Wrote a Tic-Tac-Toe (2player) implementation 3 years ago
Nemo 23324814bd Compiled pre-programs 3 years ago
Nemo e1a278f4d9 [09] Adds notes on COMPILER specification 3 years ago
Nemo 7be5183fd0 Adds symlinks to the provided standard library for now 3 years ago
Nemo 2a27bff08c [08] Update notes 3 years ago
Nemo aed6f0a372 [08] Finishes VM Implementation
Lots of different changes:

- modular code with lots of helper methods
- fixed the return jump address getting overridden bug
3 years ago
Nemo 979976cb93 [docs] Fix chapter numbers 3 years ago
Nemo 286df5b147 [08] Finishes call/init implementation
Found 2 bugs:

0. ic+=10 is incorrect jump for the boolean compare methods
1. Another bug was in the write() method, which was increasing the instruction
counter even for label commands, which aren't supposed to do that.

Another minor issue in my interpretation of the "call" to `Sys.init`
which I was so far just doing via a jump. Changed that to a proper call
3 years ago
Nemo 4fdc98bb72 [08] Implemented call, but it is breaking somewhere 3 years ago
Nemo 5160559eff [08] Optimized function starts a little 3 years ago
Nemo 6bdbec501a [08] Init Use LC=300, ARG=400 as standard values for now 3 years ago
Nemo 91b8ef006e [08] Fixes frame restoration, so return works properly now 3 years ago
Nemo b052ab617c [08] Implement Return/Function/Init
Return isn't functional (yet)
Init isn't called (yet)
3 years ago
Nemo 2fbdba0cf2 [08] Goto is functional.
Wasted 15 minutes stepping through the assembly, only to find out I was
missing a $ in $globalLabel
3 years ago
Nemo b61d4c4339 [08] Adds support for label and if-goto commands 3 years ago
Nemo 91dd0bb102 Fix command symbols 3 years ago
Nemo 4e49913808 [07/Static] Implements static push/pop memory segment 3 years ago
Nemo 67b4e2653e [07/Pointers] Implemented pointer segment push/pop 3 years ago
Nemo 16e830851e Remove unused tests 3 years ago
Nemo c46f739aed Was missing an indirect lookup on segment pushes 3 years ago
Nemo 32242242cb I think the bug is somewhere in segment based pushes 3 years ago
Nemo 777523c24f Write Limited tests for segment pops 3 years ago
Nemo 551546c953 Break into multiple files for easier navigation 3 years ago
Nemo 9782ba7e4d [07] Almost done with BasicTest implementation 3 years ago
Nemo 3fa5a5c07a [07] StackTest passes 3 years ago
Nemo be69ac321d Reduce stack manipulation (use M instead of A) 3 years ago