return n;
}
}
- if (token.arity !== "name") {
- token.error("Expected a variable name.");
- }
- token.first = n;
- n = token;
- advance();
while (true) {
- if (in_let && token.id === "in" || token.id === "(end)" || token.id === ")") {
+ if (n && (in_let && token.id === "in" || token.id === "(end)" || token.id === ")")) {
return n;
} else if (token.id === "(") {
advance();
eq = token; // token.id === "="
advance("=");
c = expression(true);
- c.first = eq;
- eq.second = t;
- target.second = c;
+
+ eq.first = t;
+ eq.second = c;
+ target.second = eq;
+
+// c.first = eq;
+// eq.second = t;
+// target.second = c;
+
target = t;
advance("in");
}