Complete compiler project.
Brief report of completing the project.
Most of the materials and assignments for this project have been adapted, with permission, from the U.Penn’s CIS341 by Steve Zdancewic, which cannot be found now. The whole project is divided into 6 parts, which are hellocaml for briefly learn how to write with Ocaml, X86lite, LLVMlite, Oat v1 compiler, Oat v2 - Typechecking Structs, Function Pointers, and Subtyping and finally Dataflow Analysis and Optimizations.
I completed this project with my friend SenLee1, and the following table is the score we get.
| Project | Score(out of 100) | Offline testcases | Due time |
|---|---|---|---|
| Project 1 | 98 | All passed | Sep.30, 2024 |
| Project 2 | 91.2 | All passed | Oct.21, 2024 |
| Project 3 | 95.2 | All passed | Nov.06, 2024 |
| Project 4 | 96.4 | All passed | Nov.25, 2024 |
| Project 5 | 98.5 | All passed | Dec.13, 2024 |
| Project 6 | 99.7 | All passed | Dec.30, 2024 |
The source code has been uploaded to my repo named CS131, and if you want to learn it I have attached the ppts and project requirements in my repo. If necessary, please take it by yourself, but please do not use it for your own academic courses.
If you have any questions about this project, just leave your comments or contact me. I will reply soon.