ECE 468/573 Project Home Page
- 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.
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
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.
- 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.
Submit each step using the turnin command. Instructions for using turnin are available here.
- A Bison/C++ reference is here. A working example can be found here.