Announcements
Thanks and Farewell
Dear Students,
As we wrap up our adventure through the “Compiler Design” course, we, the TAs, want to thank you all for your active participation and enthusiasm.
Compiler design is a challenging field, and we deeply appreciate the effort and dedication each of you has shown in mastering the concepts. Your engagement, insightful questions, and valuable feedback have been instrumental in shaping and enhancing the course for everyone.
We also recognize some familiar faces from the previous semester. We hope you feel that the course has improved and that you have learned something new this semester.
Throughout this semester, we have delved into the complexities of compiler design together, and your unwavering commitment has been truly inspiring. We, as TAs, have been honored to guide and support you on this academic adventure. 🥰
As we come to the end of this semester, we say farewell with a sense of pride in what you’ve accomplished. We hope that the knowledge and skills you’ve acquired will serve as a solid foundation for your future endeavors. Keep in mind that learning is a lifelong journey, filled with continuous growth and discovery.
Thank you once again for being a crucial part of this course. We wish you all the best in your future academic and professional pursuits.
Farewell and best wishes!
TAs
Assignment 5 is now released!
Welcome to the final assignment of the Compiler Design Adventure! The submission deadline is June 16th, 2024, at 23:59 (Sun.). No late submissions will be accepted for this assignment.
For this assignment, you will connect the final pieces of the puzzle by generating RISC-V assembly code that can be executed on a RISC-V simulator. It will be a fun and rewarding experience to see your compiler in action!
If you encounter any challenges during the setup process, don’t hesitate to reach out to the TAs.
Assignment 4 is now released!
Dear folks, the fourth assignment is now released. The due date is May 26, at 23:59 (Sun.).
As with the previous assignment, this one requires a significant amount of effort. We strongly recommend starting early to effectively navigate through the challenges. While the road ahead may have its obstacles, we promise that by tackling this assignment, you’ll not only gain insights into how compilers utilize the symbol table for type checking but also learn invaluable lessons in implementing interactions between objects.
If you encounter any difficulties, don’t hesitate to reach out for assistance. Whether through the forum or email, we’re here to support you every step of the way.
Assignment 3 is now released!
Dear students, we’re thrilled to announce that the third assignment is now released! The deadline for submission is May 5, at 23:59 (Sun.).
As mentioned by the professor at the beginning of the semester, this assignment is more challenging than the previous ones, as we’re going to build our own abstract syntax tree for further analysis, but we’re confident that you can do it. Good luck!
We recommend diving into this assignment as early as possible. If you have any questions, don’t hesitate to ask on the forum or send us an email if you need to disclose some code.
Assignment 2 is now released!
Dear all, we’re excited to share with you the second assignment of the course. 🎉 The deadline for submission is April 14 at 23:59 (Sun.).
For this assignment, we will describe the syntax of our simple language, showing you how a program should look. You are kindly requested to write a parser that can parse the input program (although we are not yet building an abstract syntax tree). 💪
If you have any questions or if you’re unsure about the definitions, don’t hesitate to ask for our clarification or help. 🤗
Assignment 1 is now released!
Hi, folks! We’re excited to announce that the first assignment is now released. Roll up your sleeves and embark on this journey! 🥳 The deadline for submission is March 21, at 23:59 (Thurs.).
For this assignment, we’ve given you the character set of our simple programming language, and your task is to write a lexer to tokenize the input program. 🤩
If you encounter any unclear definitions or have questions, don’t hesitate to reach out to us in the Discussion repo. We’re here to assist you every step of the way!
Week 0 Announcement
The first lecture will be on Feb. 22.