EE495S Project Home Page

(All deadlines, grading policies here are for 495S students, grad students please go to the 573 web page for these information)

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.

The project is divided into the following steps:

Step0 - Submission Test  (bonus: 10 points) Due on: Thursday, September 4
Step1 - Scanner (Tokenizer) (100 points) Due on: Friday, September 12
Step2 - Parser (100 points) Due on: Friday, September 26
Step3 - Symbol Table (100 points) Due on: Friday, October 3
Step4 - Semantic Routines(1) (100 points) Due on: Friday, October 24
Step5 - Semantic Routines(2) (100 points) Due on: Friday, November 14
Step6 - Register Allocation (100 points) Due on: Monday, December 1 (Only for 495S students)
Step6 - Liveness Analysis (100 points) (Only for 573 students)
Final - Full Compiler  (70% of total project grade) Due on: Monday, December 8

Grading policy:
All the points from the first 6 steps add up to 600 points and are worth total 30% of the project's total grade. The step 7 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 Deadline and Late Submission: Submission deadline for an assignment is at 11:59PM sharp on the due date. However, late submissions will be accepted for upto three days. The penalty for a submission on the first, second and third day after the due date will be 30%, 50% and 70% accordingly.

TA office hours

Sajjad Hossain (sajjad "IN" purdue "DOT" edu)- MonWed 2pm-4pm (ENAD 302F)

E-mail and Newsgroup policies

All the course announcements will be posted in the newsgroup. All the questions you may have regarding the project's technical details should be posted in the newsgroup as well. You may contact the TAs individually by email if you have any question in private or that requires a private answer (Grade status, personnal concerns, etc...). In that case, please include the keyword "EE495S" in the email subject. Emails without "EE495S" in the subject won't be answered.