projects
/
lambda.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tweak lambda evaluator
[lambda.git]
/
code
/
parse.js
diff --git
a/code/parse.js
b/code/parse.js
index
cb412f7
..
7749c69
100644
(file)
--- 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];
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)"];
o = symbol_table["(name)"];
+ } else {
+ a = o.arity || "keyword";
}
} else if (a === "number") {
o = symbol_table["(literal)"];
}
} 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;
var x = symbol(s);
x.handler = function () {
this.value = symbol_table[this.id].value;
- this.arity = "literal";
return this;
};
x.value = v;
return this;
};
x.value = v;
+ x.arity = "literal";
return x;
};
return x;
};