Skip to content

Latest commit

 

History

History
19 lines (9 loc) · 1.17 KB

File metadata and controls

19 lines (9 loc) · 1.17 KB

CS143

Standford CS143 Compiler. Skeletion code without modification is in branch base.

Website: https://web.stanford.edu/class/cs143/. Virtual machine setup: link. Course video record: link

PA2 in the repo corresponding to PA1 in course website (lexer). There's an additional PA1 for cool practice

PA1 a stack machine written in Cool.

PA2 lexer. Do use flex provided in VM, as the latest version of flex is not compatible with C. Major difficulity: string and comments.

PA3 parser. Major difficulity: dealing with grammer for let and error handling.

PA4 semant. A good task for understanding OOP inheritance and AST traversal. BTW, I don't think SELF_TYPE is a good design in COOL.

PA5 code generation. The key is to understand how local variables, method arguments and object attributes are allocated in memory.