|
|
|
@ -1497,14 +1497,14 @@ describe("generated parser behavior", function() {
|
|
|
|
|
'Expr = Sum',
|
|
|
|
|
'Sum = first:Product rest:(("+" / "-") Product)* {',
|
|
|
|
|
' return rest.reduce(function(result, element) {',
|
|
|
|
|
' if (element[0] == "+") { return result + element[1]; }',
|
|
|
|
|
' if (element[0] == "-") { return result - element[1]; }',
|
|
|
|
|
' if (element[0] === "+") { return result + element[1]; }',
|
|
|
|
|
' if (element[0] === "-") { return result - element[1]; }',
|
|
|
|
|
' }, first);',
|
|
|
|
|
' }',
|
|
|
|
|
'Product = first:Value rest:(("*" / "/") Value)* {',
|
|
|
|
|
' return rest.reduce(function(result, element) {',
|
|
|
|
|
' if (element[0] == "*") { return result * element[1]; }',
|
|
|
|
|
' if (element[0] == "/") { return result / element[1]; }',
|
|
|
|
|
' if (element[0] === "*") { return result * element[1]; }',
|
|
|
|
|
' if (element[0] === "/") { return result / element[1]; }',
|
|
|
|
|
' }, first);',
|
|
|
|
|
' }',
|
|
|
|
|
'Value = digits:[0-9]+ { return parseInt(digits.join(""), 10); }',
|
|
|
|
|