A C++ implementation of tiger compiler.
Real C++, using many new features of c++11 and later.
I try to make the best use of the framework (never reinvent wheels, use new C++ features as far as I can, etc)
Thanks to all the TAs for providing such a good framework.
Ref: Modern Compiler Implementation in C: Basic Techniques
It's a really good project, giving you a full insight into a modern compiler and significantly improving your debug ability, so DO IT YOURSELF.
You may refer to this repo, but never COPY.
Like someone(@ Gun9niR) said, "It benefits you not for the scores, but for the thoughts and efforts you put into them."
The guides of all the labs are here
- Lab 1: Straight-line Program Interpreter
- Lab 2: Lexical Analysis
- Lab 3: Parsing
- Lab 4: Type Checking
-
lab 7: garbage collection
I use mark and sweep to implenment a simple garbage collector. However, due to the guide of this lab, I can't push my codes to any public places, so if you want to know the details you can directly CONTACT me by email.
If you want to use it to compile your tiger codes. You may refer to GUIDE.md to see how to compile it.