X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=code%2Fparse.js;h=4fbab09e0941aaee8769f0f7bff6a57deefc6e7d;hp=dfa06400ddbf530691b7e3389e13be994d587e58;hb=6d92118cd57ffe6ff3314c99f61ae98d5e490a32;hpb=516417f5f9ac78553dd1788e263878ff6016f21d 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"); }