X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=code%2Fparse.js;h=7749c69582554b3ce9fc8f2e9ec1a0eb87d8f849;hp=cb412f7fe523c3d0b7ab1fd98876c14fa11a8955;hb=d3ad170e4366d7e6e33b27e83d9bcc244fe43988;hpb=df6a6fe6807edabf1b3c3e904eb2ead20eedf0ca diff --git a/code/parse.js b/code/parse.js index cb412f7f..7749c695 100644 --- a/code/parse.js +++ b/code/parse.js @@ -34,10 +34,10 @@ var make_parse = function () { a = t.type; if (a === "name") { o = symbol_table[v]; - if (o && typeof o !== 'function') { - a = "keyword"; - } else { + if (!o || typeof o === 'function') { o = symbol_table["(name)"]; + } else { + a = o.arity || "keyword"; } } else if (a === "number") { o = symbol_table["(literal)"]; @@ -150,10 +150,10 @@ var make_parse = function () { var x = symbol(s); x.handler = function () { this.value = symbol_table[this.id].value; - this.arity = "literal"; return this; }; x.value = v; + x.arity = "literal"; return x; };