fixing allowing empty functions like () ->
This commit is contained in:
parent
3f6eceac77
commit
e7291f57ba
|
@ -118,13 +118,13 @@
|
||||||
return new OpNode('!!', $2);
|
return new OpNode('!!', $2);
|
||||||
}), o("- Expression", (function() {
|
}), o("- Expression", (function() {
|
||||||
return new OpNode('-', $2);
|
return new OpNode('-', $2);
|
||||||
})), {
|
}), {
|
||||||
prec: 'UMINUS'
|
prec: 'UMINUS'
|
||||||
}, o("+ Expression", (function() {
|
}), o("+ Expression", (function() {
|
||||||
return new OpNode('+', $2);
|
return new OpNode('+', $2);
|
||||||
})), {
|
}), {
|
||||||
prec: 'UPLUS'
|
prec: 'UPLUS'
|
||||||
}, o("NOT Expression", function() {
|
}), o("NOT Expression", function() {
|
||||||
return new OpNode('not', $2);
|
return new OpNode('not', $2);
|
||||||
}), o("~ Expression", function() {
|
}), o("~ Expression", function() {
|
||||||
return new OpNode('~', $2);
|
return new OpNode('~', $2);
|
||||||
|
@ -230,7 +230,9 @@
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
// The parameters to a function definition.
|
// The parameters to a function definition.
|
||||||
ParamList: [o("Param", function() {
|
ParamList: [o("", function() {
|
||||||
|
return [];
|
||||||
|
}), o("Param", function() {
|
||||||
return [$1];
|
return [$1];
|
||||||
}), o("ParamList , Param", function() {
|
}), o("ParamList , Param", function() {
|
||||||
return $1.concat([$3]);
|
return $1.concat([$3]);
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -137,8 +137,8 @@ grammar: {
|
||||||
Operation: [
|
Operation: [
|
||||||
o "! Expression", -> new OpNode('!', $2)
|
o "! Expression", -> new OpNode('!', $2)
|
||||||
o "!! Expression", -> new OpNode('!!', $2)
|
o "!! Expression", -> new OpNode('!!', $2)
|
||||||
o "- Expression", (-> new OpNode('-', $2)), {prec: 'UMINUS'}
|
o("- Expression", (-> new OpNode('-', $2)), {prec: 'UMINUS'})
|
||||||
o "+ Expression", (-> new OpNode('+', $2)), {prec: 'UPLUS'}
|
o("+ Expression", (-> new OpNode('+', $2)), {prec: 'UPLUS'})
|
||||||
o "NOT Expression", -> new OpNode('not', $2)
|
o "NOT Expression", -> new OpNode('not', $2)
|
||||||
o "~ Expression", -> new OpNode('~', $2)
|
o "~ Expression", -> new OpNode('~', $2)
|
||||||
o "-- Expression", -> new OpNode('--', $2)
|
o "-- Expression", -> new OpNode('--', $2)
|
||||||
|
@ -210,6 +210,7 @@ grammar: {
|
||||||
|
|
||||||
# The parameters to a function definition.
|
# The parameters to a function definition.
|
||||||
ParamList: [
|
ParamList: [
|
||||||
|
o "", -> []
|
||||||
o "Param", -> [$1]
|
o "Param", -> [$1]
|
||||||
o "ParamList , Param", -> $1.concat [$3]
|
o "ParamList , Param", -> $1.concat [$3]
|
||||||
]
|
]
|
||||||
|
|
|
@ -11,6 +11,7 @@ puts y.x.name is 'x'
|
||||||
|
|
||||||
# The empty function should not cause a syntax error.
|
# The empty function should not cause a syntax error.
|
||||||
->
|
->
|
||||||
|
() ->
|
||||||
|
|
||||||
|
|
||||||
obj: {
|
obj: {
|
||||||
|
|
Loading…
Reference in New Issue