X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?a=blobdiff_plain;f=code%2Fparse.js;h=4fbab09e0941aaee8769f0f7bff6a57deefc6e7d;hb=af093f83afc2d42039b3ed3036531386ba016587;hp=dfa06400ddbf530691b7e3389e13be994d587e58;hpb=516417f5f9ac78553dd1788e263878ff6016f21d;p=lambda.git diff --git a/code/parse.js b/code/parse.js index dfa06400..4fbab09e 100644 --- a/code/parse.js +++ b/code/parse.js @@ -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"); }