Avoid quoting when reporting errors for literals

This is a small win performance-wise.

Results of benchmark with 100 runs on V8:

  Before:  31.65 kB/s
  After:   32.83 kB/s
  Speedup: 3.728 %

Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like
Gecko) Chrome/5.0.375.127 Safari/533.4
redux
David Majda 14 years ago
parent c8836c0312
commit b6288a8d9c

@ -644,13 +644,14 @@ PEG.compiler.emitter = function(ast) {
"} else {", "} else {",
" var ${resultVar} = null;", " var ${resultVar} = null;",
" if (reportMatchFailures) {", " if (reportMatchFailures) {",
" matchFailed(quote(${value|string}));", " matchFailed(${valueQuoted|string});",
" }", " }",
"}", "}",
{ {
value: node.value, value: node.value,
length: node.value.length, valueQuoted: quote(node.value),
resultVar: resultVar length: node.value.length,
resultVar: resultVar
} }
); );
}, },

@ -187,7 +187,7 @@ PEG.parser = (function(){
} else { } else {
var result8 = null; var result8 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("")); matchFailed("\"\"");
} }
} }
if (result8 !== null) { if (result8 !== null) {
@ -719,7 +719,7 @@ PEG.parser = (function(){
} else { } else {
var result18 = null; var result18 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("")); matchFailed("\"\"");
} }
} }
if (result18 !== null) { if (result18 !== null) {
@ -888,7 +888,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("{")); matchFailed("\"{\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -925,7 +925,7 @@ PEG.parser = (function(){
} else { } else {
var result4 = null; var result4 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("}")); matchFailed("\"}\"");
} }
} }
if (result4 !== null) { if (result4 !== null) {
@ -1033,7 +1033,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("=")); matchFailed("\"=\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1077,7 +1077,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote(":")); matchFailed("\":\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1121,7 +1121,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote(";")); matchFailed("\";\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1165,7 +1165,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("/")); matchFailed("\"/\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1209,7 +1209,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("&")); matchFailed("\"&\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1253,7 +1253,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("!")); matchFailed("\"!\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1297,7 +1297,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("?")); matchFailed("\"?\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1341,7 +1341,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("*")); matchFailed("\"*\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1385,7 +1385,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("+")); matchFailed("\"+\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1429,7 +1429,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("(")); matchFailed("\"(\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1473,7 +1473,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote(")")); matchFailed("\")\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1517,7 +1517,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote(".")); matchFailed("\".\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1566,7 +1566,7 @@ PEG.parser = (function(){
} else { } else {
var result11 = null; var result11 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("_")); matchFailed("\"_\"");
} }
} }
if (result11 !== null) { if (result11 !== null) {
@ -1578,7 +1578,7 @@ PEG.parser = (function(){
} else { } else {
var result10 = null; var result10 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("$")); matchFailed("\"$\"");
} }
} }
if (result10 !== null) { if (result10 !== null) {
@ -1604,7 +1604,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("_")); matchFailed("\"_\"");
} }
} }
if (result7 !== null) { if (result7 !== null) {
@ -1616,7 +1616,7 @@ PEG.parser = (function(){
} else { } else {
var result6 = null; var result6 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("$")); matchFailed("\"$\"");
} }
} }
if (result6 !== null) { if (result6 !== null) {
@ -1643,7 +1643,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("_")); matchFailed("\"_\"");
} }
} }
if (result7 !== null) { if (result7 !== null) {
@ -1655,7 +1655,7 @@ PEG.parser = (function(){
} else { } else {
var result6 = null; var result6 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("$")); matchFailed("\"$\"");
} }
} }
if (result6 !== null) { if (result6 !== null) {
@ -1765,7 +1765,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\"")); matchFailed("\"\\\"\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1782,7 +1782,7 @@ PEG.parser = (function(){
} else { } else {
var result4 = null; var result4 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\"")); matchFailed("\"\\\"\"");
} }
} }
if (result4 !== null) { if (result4 !== null) {
@ -1881,7 +1881,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\"")); matchFailed("\"\\\"\"");
} }
} }
if (result7 !== null) { if (result7 !== null) {
@ -1893,7 +1893,7 @@ PEG.parser = (function(){
} else { } else {
var result6 = null; var result6 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\")); matchFailed("\"\\\\\"");
} }
} }
if (result6 !== null) { if (result6 !== null) {
@ -1963,7 +1963,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("'")); matchFailed("\"'\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -1980,7 +1980,7 @@ PEG.parser = (function(){
} else { } else {
var result4 = null; var result4 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("'")); matchFailed("\"'\"");
} }
} }
if (result4 !== null) { if (result4 !== null) {
@ -2079,7 +2079,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("'")); matchFailed("\"'\"");
} }
} }
if (result7 !== null) { if (result7 !== null) {
@ -2091,7 +2091,7 @@ PEG.parser = (function(){
} else { } else {
var result6 = null; var result6 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\")); matchFailed("\"\\\\\"");
} }
} }
if (result6 !== null) { if (result6 !== null) {
@ -2162,7 +2162,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("[")); matchFailed("\"[\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -2172,7 +2172,7 @@ PEG.parser = (function(){
} else { } else {
var result10 = null; var result10 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("^")); matchFailed("\"^\"");
} }
} }
var result3 = result10 !== null ? result10 : ''; var result3 = result10 !== null ? result10 : '';
@ -2210,7 +2210,7 @@ PEG.parser = (function(){
} else { } else {
var result5 = null; var result5 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("]")); matchFailed("\"]\"");
} }
} }
if (result5 !== null) { if (result5 !== null) {
@ -2284,7 +2284,7 @@ PEG.parser = (function(){
} else { } else {
var result3 = null; var result3 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("-")); matchFailed("\"-\"");
} }
} }
if (result3 !== null) { if (result3 !== null) {
@ -2426,7 +2426,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("]")); matchFailed("\"]\"");
} }
} }
if (result7 !== null) { if (result7 !== null) {
@ -2438,7 +2438,7 @@ PEG.parser = (function(){
} else { } else {
var result6 = null; var result6 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\")); matchFailed("\"\\\\\"");
} }
} }
if (result6 !== null) { if (result6 !== null) {
@ -2508,7 +2508,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\")); matchFailed("\"\\\\\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -2525,7 +2525,7 @@ PEG.parser = (function(){
} else { } else {
var result8 = null; var result8 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("x")); matchFailed("\"x\"");
} }
} }
if (result8 !== null) { if (result8 !== null) {
@ -2537,7 +2537,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("u")); matchFailed("\"u\"");
} }
} }
if (result7 !== null) { if (result7 !== null) {
@ -2620,7 +2620,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\0")); matchFailed("\"\\\\0\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -2674,7 +2674,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\x")); matchFailed("\"\\\\x\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -2726,7 +2726,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\u")); matchFailed("\"\\\\u\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -2790,7 +2790,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\\")); matchFailed("\"\\\\\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -3064,7 +3064,7 @@ PEG.parser = (function(){
} else { } else {
var result1 = null; var result1 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("//")); matchFailed("\"//\"");
} }
} }
if (result1 !== null) { if (result1 !== null) {
@ -3172,7 +3172,7 @@ PEG.parser = (function(){
} else { } else {
var result1 = null; var result1 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("/*")); matchFailed("\"/*\"");
} }
} }
if (result1 !== null) { if (result1 !== null) {
@ -3187,7 +3187,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("*/")); matchFailed("\"*/\"");
} }
} }
reportMatchFailures = savedReportMatchFailuresVar0; reportMatchFailures = savedReportMatchFailuresVar0;
@ -3229,7 +3229,7 @@ PEG.parser = (function(){
} else { } else {
var result7 = null; var result7 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("*/")); matchFailed("\"*/\"");
} }
} }
reportMatchFailures = savedReportMatchFailuresVar0; reportMatchFailures = savedReportMatchFailuresVar0;
@ -3267,7 +3267,7 @@ PEG.parser = (function(){
} else { } else {
var result3 = null; var result3 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("*/")); matchFailed("\"*/\"");
} }
} }
if (result3 !== null) { if (result3 !== null) {
@ -3310,7 +3310,7 @@ PEG.parser = (function(){
} else { } else {
var result5 = null; var result5 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\n")); matchFailed("\"\\n\"");
} }
} }
if (result5 !== null) { if (result5 !== null) {
@ -3322,7 +3322,7 @@ PEG.parser = (function(){
} else { } else {
var result4 = null; var result4 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\r\n")); matchFailed("\"\\r\\n\"");
} }
} }
if (result4 !== null) { if (result4 !== null) {
@ -3334,7 +3334,7 @@ PEG.parser = (function(){
} else { } else {
var result3 = null; var result3 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\r")); matchFailed("\"\\r\"");
} }
} }
if (result3 !== null) { if (result3 !== null) {
@ -3346,7 +3346,7 @@ PEG.parser = (function(){
} else { } else {
var result2 = null; var result2 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\u2028")); matchFailed("\"\\u2028\"");
} }
} }
if (result2 !== null) { if (result2 !== null) {
@ -3358,7 +3358,7 @@ PEG.parser = (function(){
} else { } else {
var result1 = null; var result1 = null;
if (reportMatchFailures) { if (reportMatchFailures) {
matchFailed(quote("\u2029")); matchFailed("\"\\u2029\"");
} }
} }
if (result1 !== null) { if (result1 !== null) {

Loading…
Cancel
Save