ECE 468/573 Project Home Page
Announcements
- 10/30/11: Step 6 has been posted.
- 10/27/11: The output for step4_testcase.micro has been fixed. The old output implemented while-loop semantics, instead of do-while semantics. Please download the new step4_testcase.tiny output.
- 10/25/11: Outputs posted for Project Step 5. Note for ECE 573 students: a small bug was fixed in the test_case input, so please re-download the input from the project site.
- 10/9/11: Testcases posted for Project Step 4. Note that when you generate assembly code, you should not have blank lines in it, or the Tiny simulator will crash.
- 9/12/11: The deadline for project step 2 has been extended. It is now due on 9/20.
- 9/5/11: The testcases for step 2 have been updated; if you downloaded the testcases before today, please re-download them.
- Outputs for step 1 now posted!
- Steps 0 and 1 have been posted.
Introduction
This project consists of implementing a simple compiler for the so called LITTLE programming language. The LITTLE language is a toy programming language designed solely for this course and it's based (however different!) on the MICRO language described in the course text book. Pay careful attention: ECE 573 students have a slightly different grammar than ECE 468 students
Project TA
Eric Villasenor will be grading the projects and answering questions. If you have questions, he is available to help via email: 'evillase' at 'purdue' dot 'edu'. He is also available in EE 306 from 1:30–2:30 and 7–8 on Tuesdays.
Project Steps
- Step 0 - Submission test and group selection Due on: Fri, Aug. 26th
- Step 1 - Scanner (Tokenizer) (100 points) Due on: Fri, Sep. 2nd
- Step 2 - Parser (100 points)
Due on: Fri, Sep. 16th Due on: Tue, Sep. 20th
- Step 3 - Symbol tables (100 points) Due on: Sun., Oct. 2nd
- Step 4 - Semantic actions for expressions and assignment statements (100 points) Due on: Friday, Oct. 14th
- Step 5 - Semantic actions for control structures (100 points) Due on: Friday, Oct. 28th
- Step 6 - Semantic actions for function calls (100 points) Due on: Friday, Nov. 11th
- Step 7 - Register allocation (100 points) Due on: Monday, Dec. 5th
- Step 8 - Final turn-in.
Due on: Friday, Dec. 9th
Grading policy: All the points from the first 7 steps add up to 700 points (plus 10 bonus points from step0) and are worth total 30% of the project's total grade. The final step is worth 70% of the project's grade. Any submission will be tested against a set of published and hidden datasets. All hidden datasets will be published after the submission deadlines.
Submission Instructions
Submit each step using the turnin command. Instructions for using turnin are available here.
Tutorials
- A Bison/C++ reference is here. A working example can be found here.