Fix for Issue #655. Leading empty commas in ArgLists are now disallowed.
This commit is contained in:
parent
df414dab02
commit
18cbddff6a
|
@ -281,7 +281,9 @@
|
|||
})
|
||||
],
|
||||
Arguments: [
|
||||
o("CALL_START ArgList OptComma CALL_END", function() {
|
||||
o("CALL_START CALL_END", function() {
|
||||
return [];
|
||||
}), o("CALL_START ArgList OptComma CALL_END", function() {
|
||||
return $2;
|
||||
})
|
||||
],
|
||||
|
@ -326,19 +328,21 @@
|
|||
})
|
||||
],
|
||||
Array: [
|
||||
o("[ ArgList OptComma ]", function() {
|
||||
o("[ ]", function() {
|
||||
return new ArrayNode([]);
|
||||
}), o("[ ArgList OptComma ]", function() {
|
||||
return new ArrayNode($2);
|
||||
})
|
||||
],
|
||||
ArgList: [
|
||||
o("", function() {
|
||||
return [];
|
||||
}), o("Arg", function() {
|
||||
o("Arg", function() {
|
||||
return [$1];
|
||||
}), o("ArgList , Arg", function() {
|
||||
return $1.concat([$3]);
|
||||
}), o("ArgList OptComma TERMINATOR Arg", function() {
|
||||
return $1.concat([$4]);
|
||||
}), o("INDENT ArgList OptComma OUTDENT", function() {
|
||||
return $2;
|
||||
}), o("ArgList OptComma INDENT ArgList OptComma OUTDENT", function() {
|
||||
return $1.concat($4);
|
||||
})
|
||||
|
|
228
lib/parser.js
228
lib/parser.js
File diff suppressed because one or more lines are too long
|
@ -325,6 +325,7 @@ grammar =
|
|||
|
||||
# The list of arguments to a function call.
|
||||
Arguments: [
|
||||
o "CALL_START CALL_END", -> []
|
||||
o "CALL_START ArgList OptComma CALL_END", -> $2
|
||||
]
|
||||
|
||||
|
@ -364,6 +365,7 @@ grammar =
|
|||
|
||||
# The array literal.
|
||||
Array: [
|
||||
o "[ ]", -> new ArrayNode []
|
||||
o "[ ArgList OptComma ]", -> new ArrayNode $2
|
||||
]
|
||||
|
||||
|
@ -371,10 +373,10 @@ grammar =
|
|||
# as well as the contents of an array literal
|
||||
# (i.e. comma-separated expressions). Newlines work as well.
|
||||
ArgList: [
|
||||
o "", -> []
|
||||
o "Arg", -> [$1]
|
||||
o "ArgList , Arg", -> $1.concat [$3]
|
||||
o "ArgList OptComma TERMINATOR Arg", -> $1.concat [$4]
|
||||
o "INDENT ArgList OptComma OUTDENT", -> $2
|
||||
o "ArgList OptComma INDENT ArgList OptComma OUTDENT", -> $1.concat $4
|
||||
]
|
||||
|
||||
|
|
Loading…
Reference in New Issue