My answers for The Elements of Computing Systems
In Common Lisp.
I didn't do the last 1 or 2 chapters.
Also it's a bit messy, need to clean it up and add instruction how to run it all easily.
I did expand on the original questions, mainly the parser.
I made a more generic one that takes as input any grammar and parses the code, not just the grammar used in the book for the Jack language.
I called it: Exhaustive depth first recursive search EBNF programmable LL parser, producing AST in sexpr form.
It's the ast-builder.lisp