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.
IDEs mentioned in question 1.2:
Emacs (1),
Eclipse (10),
Unify3D (1),
Python IDE (IDLE) (2),
Magento (1),
Verilog (1),
JSFiddle (1),
Visual C++ (1),
Visual Studio (1),
Netbeans IDE (1),
BloodshedDevC++ (1),
Notepad++ (1).
In Spring 2010, for comparison:
Gel, Netbeans, Visual Studio, XCode
[SOPC] design), NetLogo, JBuilder, JCreator, Geany.
A comment on exercise 1.4(d). Mini-Triangle does not have a >= operator.
It is, however, possible to derive m >= n as possible: Expression =>
Expression Operator primary-Expression => Expression Operator Operator
primary-Expression => Expression > Operator primaryExpression => Expression >=
primaryExpression =>* m >= n.
This assumes that no space is needed to separate operators.
As as far as I can see, there is no requirement of having spaces between
symbols of Mini-Triangle. (There is a comment on spaces in Triangle on p.398.)
I gave credit to students who wrote that m >= n is not an expression (because I
think they assumed that >= needs to be written with a space between the > and
the =), and to students who wrote that m >= n is an expression, provided that
they gave a good syntax tree, in which > and = are shown to be separate
operators.
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.
HW3: 2.3 [Mogensen]:
5 points for part (a), 5 points for part (b),
total 10 points.
PR1 (Tokens): Total 5 points.
HW4: Total 25 pts.
4.1. 5 pts.
4.2. 2 pts.
4.3, 1 pt.
4.4, 1 pt.
4.9, 1 pts.
4.10, 15 pts.