• Points for each assignment
    HW 1: 1.2 2 points; 1.4 8 points; 1.5 4 points; 1.6 1 point; total 15 points.

    HW 2: 2.2 6 points, 2.3 10 points (1 for showing the three tombstone diagrams, three per part), 2.4 7 points (1 for showing the three tombstone diagrams, 2 per part), total 23 points.

    HW 3: Total 25 points . 3.1 10 points, 5 points per part. One point removed if no decorated AST given, one point removed if no code given. One point removed if steps analogous to those in Example 3.2 are not described, one point removed if steps analogous to those in Example 3.4 are not described. 3.2 10 points. 4 points for syntactic analysis, 4 points for contextual analysis, 2 points for code generation. Up to two points removed for the first two parts, if steps analogous to those in Examples 3.1 and 3.2 are not described. One point removed for the third part, if steps analogous to those in Example 3.4 are not described. 3.3, 2 points. 3.5, 3 points.

    HW4: Total 60 pts. 2.1. 14 pts, 2pts each. 2.3. 6 pts, 2 pts each. 2.4. 10 pts, 5 pts each. 2.5. 15 pts, 5 pts each. 4.1. 10 pts. 4.2. 5 pts.

    HW5 Exercise 4.9. Total 30 points. Part (a): 20 points for recognition, part (b): 10 points, 10 points of extra credit for construction of the AST.

    HW6 Total: 45 points. Exercise 4.13: 10 points; Exercise 4.14: 10 points for part (a); 5 points for part (b); Exercise 4.15: 8 points; Exercise 4.16: 8 points for part (a); 4 points for part (b).

    PR1 Total: 45 points part (a): 5 points for tokens; 15 points for implementation of scanner; part (b): 8 points for specification of parsing methods; 17 points for implementation of parser.

    PR2 Total: 10 points part (2): 5 points part (3): 5 points.

    PR3 Total 15 points part (5) (file jlex1): 5 points part (6) (file jlex2): 10 points

    PR4 Total 25 points part (a) 15 points In order for part (b) to work, part (a) should be working too! So, if part (b) works correctly, all points will be given and part (a) will not be graded.

    PR5 Total 30 points Compiles: 10 points Runs test case(s): 20 points

    HW7 Total 15 points 7.1: 3 points 7.2: 1 point per part 7.3: 2 points per part

    HW8 Total 12 points: 1 point per part. (a) Pascal constant known value, (known address) Pascal variable declaration: (unknown value), known address Pascal procedure declaration: known routine Pascal value parameter: (unknown value), known address (like i in Fig.7.6) Pascal variable parameter: (unknown value), unknown address (like n in Fig.7.6) Pascal procedural parameter: unknown routine (like p on p.298) (b) ML value declaration: (unknown value), known address ML function declaration: known routine ML value parameter: (unknown value), known address ML does not have variable parameters ML procedural parameter: unknown routine (like p on p.298) (c) Java variable declaration: (unknown value), known address Java value parameter: (unknown value), known address (like i in Fig.7.6) Java does not have variable parameters

    PR6: Exercise 7.4: 18 points plus 10 points of extra credit (indicated as an extra column in blackboard) 9 points (3 per part) for correct code. 5 extra credit points for code that compiles and runs (without additional code to be added). 9 points (3 per parts for b and e; 1 for a, c, and d) for correct code. 5 extra credit points for code that compiles and runs (without additional code to be added).