Like any other complicated system, a good compiler must be carefully designed and implemented. We encourage you to practice good design and implementation techniques. If you don't, you are likely to encounter issues as you try to extend your compiler in later parts of the project.
At a minimum, we expect you to have useful comments, meaningful variable names, and good functional decomposition. We are not dictating any specific style - we leave that to you. But in case you're wondering what kind of coding style meets our criteria, you might want to look at Julie Zelenski's Good Programming Style handout from CS106X. You might also take a peek at the Linux Kernel Coding Style.
To help motivate you, 15% of your project grade is allocated to whether you adequately practiced good design and implementation techniques. You'll either get all of it, half of it, or none of it.
- Announcements
- Schedule and Handouts
- Staff Info / Office Hours
- Email Archive
- Project FAQs
- Coding Guidelines
- Submission Instructions
- Lecture Videos