The project has three parts: a frontend for the Javalette language (Part A), a backend with code generation for LLVM (Part B), and extensions to the compiler (Part C).
The project is to be done individually or in groups of two. A group's final grade is based on the number of extensions completed for Part C of the course, based on a system of credits per implemented extension.
- Submission format
- The Javalette Language
- Frontend
- Code generation (LLVM)
- Extensions
- Extension hints
- Testing
We take academic honesty seriously. As mentioned above, students work individually or in groups of two on this project. Each individual/group must develop their own code, and are not allowed to share code with other students or to get, or even look at, code developed by others. Having said that, we do encourage discussions among participants in the course about the project at a conceptual level. Students who get significant help from others must make a note of this and acknowledge (in their documentation file) those who helped.
Don't be a cheater.