Compare commits

..

No commits in common. '24eda2a724634d5c0eb75361f6a48a3ed4a68536' and '4d80343a574b4fe9a432930a2a801aacc7d3c944' have entirely different histories.

@ -1,6 +1,8 @@
Core Tests: 80/80 ## Grading
Benchmark: 10/10 Core Tests: 59/59
Extra: 21/21
========================= =========================
@ -10,41 +12,21 @@ Work Log: 10/10
Additional Tests: 10/10 Additional Tests: 10/10
Code style, SDLC etc: 10/10 Code style: 10/10
## Tests
Congratulations, you have solved all test cases in the final project!
Your compiler has achieved comparable speed with reference implementation in all 5 benchmarks. Good job.
```sh
Reading pa3-tests/benchmarks/prime.py.ast.typed
Cycles executed = 65741 (ref 52357)
Reading pa3-tests/benchmarks/sieve.py.ast.typed
Cycles executed = 65720 (ref 56008)
Reading pa3-tests/benchmarks/exp.py.ast.typed
Cycles executed = 29039 (ref 25016)
Reading pa3-tests/benchmarks/tree.py.ast.typed
Cycles executed = 239089 (ref 195356)
Reading pa3-tests/benchmarks/stdlib.py.ast.typed
Cycles executed = 34689 (ref 33237)
```
## Worklog
Your worklog is clear and concise. It could be improved by providing more information about your decisions on when to box variables, when to reset stack pointers, how to determine the frame size, and so on. This would help us understand your project deeper and faster. Improvements: +1
## Code quality and SDLC Overall: 111/110
The code quality is good. I noticed several comments for structural separations like “ *********** functions start ***********” and found it clever and beautiful. Congratulations! Your analyzer has solved every test case correctly again. Your improvement is solid and easy to verify. The two-passes design is clear and direct.
I noted the absence of comments at the critical positions, like resetting stack pointers or setting frame size, so the same feedback as for the worklog section. ## Testing
In terms of SDLC, you have done very well with professional use of Git PRs, tags, and automatic test scripts (which it would probably be cleaner to put in a separate directory). The additional test cases provided in the `student_contributed` directory are carefully selected and well structured. I am surprised that you managed to reproduce those error messages from reference-implementation. Some of them are weird and probably not worth reproducing, but thanks for reducing the workload on my end.
## Final remarks ## Miscellaneous
The Code structure is clear and consistent but could still be improved by removing commented codes (at least in the final version).
It has been a long and tiring journey, but you emerged victorious! You have built an excellent compiler that could serve as a foundation for further work, be it more complex optimizations, garbage collection, or something else entirely. The automatic test shell scripts are very helpful. It would be even better if you could organize them with CI tools like travis.ci or gitflow. It is totally optional but it would be fun to construct a CI pipeline.
It was my pleasure to grade your projects. Thank you for taking the class and have fun working with (or maybe on!) programming languages in the future. The worklog contains some typos that could be avoided by adding a spellchecker to the IDE or CI.

Loading…
Cancel
Save