Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Elements of Computing Systems Chapter 9
Clone this wiki locally
We began by finishing the VM translator from the previous meeting:
CodeWriter#write_initand call it from
bin/translator: enabling us to conditionally generate the necessary initialisation code;
- Generate assembly that uses independent labels for files and functions: to support labels across multiple files and functions;
- Support multiple files in the translator: now using the filename to scope labels.
As Chapter 9's project is to write any program of our choice in Jack, we instead chose to spend the rest of the meeting attempting to refactor the rather gnarly assembly-generating code we'd written previously:
Refactor: introduce an
AssemblyWriterand extract common operations;
Thanks to Leo for typing once again and to Geckoboard for hosting. Thanks again to Tom for his work on the
vm-translator test suite which was invaluable during the exercises.