Schedule for Final Project: There are four phases for this project. 1. Check point #1, Due May 27 (Thursday), 2004. Each student is required to do this check point. Submit the YACC rules for the "basic function" of the project. In your YACC code, you need to report two types of error statements. type 1: illegal statement type 2: error message related to symbol tables undefined redefined bad names variable redefined For example: filename:n:message ------ n: line number in filename e.g. example.prg:3:bad variable name "blah" Report the number of correct statements at the end. For example: End of compilation, find 34 correct lines, and 2 lines with errors. Please follow the instruction set in TA's homepage to turn in your check point. 2. Check point #2, Due 2:20pm June 10 (Thursday), 2004. Each student is required to do this check point. A. Submit a running compiler generating C-- codes for the "basic features" of this project. You need to detect errors found in probing symbol tables as well as other syntax/semantic errors. B. In your email, write a short proposal (a separate file) for your final project. In the proposal, write +-------------------------------------------------------+ Project proposal: Compiler Spring 2004 1. Team name: SuperCompiler 2. Team memebrs: a. B90902xxx name1 a. B90902yyy name2 3. Our compiler will accomplish a. everything in basic features b. plus everything in advanced features c. plus everything in complete features d. plus the following optional features (list one feature in one line) (1) structure definition (2) block-structure procedure declaration (3) ... +-------------------------------------------------------+ Please follow the instruction set in TA's homepage to turn in your check point. 3. Final project: Due 8:00am June 25 (Friday). This is a FIRM deadline. No late submission will be taken. Please follow the instruction set in TA's homepage to turn in your check point. A. Grouping: each group consists of at most 2 students. B. Scoring rule: calculated based on a 2-person team. In a 1-person team, the final score is first calculated according to this rule, and then times 1.2. 1. basic features: required 2. advanced features: 80% 3. complete features: 20% assuming you have implemented (1) and (2) 4. optional features: you need to implement (1), (2) and (3) before choosing any of the following: Optional added features to be considered and their bonus a. 1-D dynamic array 2.5% b. multi-dimensional array 7.5% c. multi-dimensional dynamic array 5% (If you do this, then we assume (a) is working and you will not get additional score from (a).) d. simple data types -- short and byte 7.5% e. call by reference 10% f. user defined data structure 10% g. polymorphic function 5% h. exception 5% i. block structured variable definition 7.5% j. nested procedure definition 12.5%