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 3 points (1 per part),
2.3 4 points (1 for showing the three tombstone diagrams, 1 per part),
2.4 4 points (1 for showing the three tombstone diagrams, 1 per part),
2.5 4 points (1 per part),
2.6 3 points (1 per each of compiler, interpreter, and disassembler),
2.8 2 points (1 per strategy),
2.9 2 points,
total 22 points.
HW 3: Total 27 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.
3.6, 2 points.
HW4: Total 15 pts.
4.1. 10 pts.
4.2. 5 pts.
PR1 (Tokens): Total 6 points, 2 for each of the first 2 parts
PR2 (JLex): Total 8 points.
PR3 (Parsing Unix shell language): Total 10 points
PR4 (Lexical analysis and parsing of newspeak): Total 14 points
HW5 Total: 20 points.
Exercise 4.13: 10 points;
Exercise 4.14: 1 point;
Exercise 4.15: 8 points;
Exercise 4.16: 1 point.
HW6 Total: 20 points.
Exercise 5.5: 15 points;
Exercise 5.6: 2 points for part (a), 2 points for part (b);
Exercise 5.7: 1 point.
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