-
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).