tweak lambda evaluator
[lambda.git] / code / parse.js
index dfa0640..4fbab09 100644 (file)
@@ -193,14 +193,8 @@ var make_parse = function () {
                     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();
@@ -243,9 +237,15 @@ var make_parse = function () {
             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");
         }