PEG.grammarParser = (function(){ var result = new PEG.Parser("grammar"); result._parse_grammar = function(context) { this._cache["grammar"] = this._cache["grammar"] || []; var cachedResult = this._cache["grammar"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos0 = this._pos; var result2 = this._parse___(context); if (result2 !== null) { var savedPos1 = this._pos; var result5 = this._parse_rule(context); if (result5 !== null) { var result6 = []; var result7 = this._parse_rule(context); while (result7 !== null) { result6.push(result7); var result7 = this._parse_rule(context); } if (result6 !== null) { var result4 = [result5, result6]; } else { var result4 = null; this._pos = savedPos1; } } else { var result4 = null; this._pos = savedPos1; } var result3 = result4 !== null ? ( function (first, rest) { return [first].concat(rest); } ).apply(this, result4) : null; if (result3 !== null) { var result1 = [result2, result3]; } else { var result1 = null; this._pos = savedPos0; } } else { var result1 = null; this._pos = savedPos0; } var result0 = result1 !== null ? (function() { var result = {}; for (var i = 0; i < (arguments[1]).length; i++) { result[(arguments[1])[i].getName()] = (arguments[1])[i]; } return result; }).apply(this, result1) : null; this._cache["grammar"][pos] = { length: this._pos - pos, result: result0 }; return result0; }; result._parse_rule = function(context) { this._cache["rule"] = this._cache["rule"] || []; var cachedResult = this._cache["rule"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos2 = this._pos; var result10 = this._parse_identifier(context); if (result10 !== null) { var result15 = this._parse_literal(context); if (result15 !== null) { var result11 = result15; } else { if (this._input.substr(this._pos, 0) === "") { var result14 = ""; this._pos += 0; } else { var result14 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("")); } } if (result14 !== null) { var result11 = result14; } else { var result11 = null;; }; } if (result11 !== null) { var result12 = this._parse_colon(context); if (result12 !== null) { var result13 = this._parse_expression(context); if (result13 !== null) { var result9 = [result10, result11, result12, result13]; } else { var result9 = null; this._pos = savedPos2; } } else { var result9 = null; this._pos = savedPos2; } } else { var result9 = null; this._pos = savedPos2; } } else { var result9 = null; this._pos = savedPos2; } var result8 = result9 !== null ? (function() { return new PEG.Grammar.Rule((arguments[0]), (arguments[1]) !== "" ? (arguments[1]) : null, (arguments[3])); }).apply(this, result9) : null; this._cache["rule"][pos] = { length: this._pos - pos, result: result8 }; return result8; }; result._parse_expression = function(context) { this._cache["expression"] = this._cache["expression"] || []; var cachedResult = this._cache["expression"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var result16 = this._parse_choice(context); this._cache["expression"][pos] = { length: this._pos - pos, result: result16 }; return result16; }; result._parse_choice = function(context) { this._cache["choice"] = this._cache["choice"] || []; var cachedResult = this._cache["choice"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos3 = this._pos; var result19 = this._parse_sequence(context); if (result19 !== null) { var result20 = []; var savedPos4 = this._pos; var result22 = this._parse_slash(context); if (result22 !== null) { var result23 = this._parse_sequence(context); if (result23 !== null) { var result21 = [result22, result23]; } else { var result21 = null; this._pos = savedPos4; } } else { var result21 = null; this._pos = savedPos4; } while (result21 !== null) { result20.push(result21); var savedPos4 = this._pos; var result22 = this._parse_slash(context); if (result22 !== null) { var result23 = this._parse_sequence(context); if (result23 !== null) { var result21 = [result22, result23]; } else { var result21 = null; this._pos = savedPos4; } } else { var result21 = null; this._pos = savedPos4; } } if (result20 !== null) { var result18 = [result19, result20]; } else { var result18 = null; this._pos = savedPos3; } } else { var result18 = null; this._pos = savedPos3; } var result17 = result18 !== null ? (function() { return (arguments[1]).length > 0 ? new PEG.Grammar.Choice([(arguments[0])].concat(PEG.ArrayUtils.map( (arguments[1]), function(element) { return element[1]; } ))) : (arguments[0]); }).apply(this, result18) : null; this._cache["choice"][pos] = { length: this._pos - pos, result: result17 }; return result17; }; result._parse_sequence = function(context) { this._cache["sequence"] = this._cache["sequence"] || []; var cachedResult = this._cache["sequence"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos5 = this._pos; var result30 = []; var result32 = this._parse_prefixed(context); while (result32 !== null) { result30.push(result32); var result32 = this._parse_prefixed(context); } if (result30 !== null) { var result31 = this._parse_action(context); if (result31 !== null) { var result29 = [result30, result31]; } else { var result29 = null; this._pos = savedPos5; } } else { var result29 = null; this._pos = savedPos5; } var result28 = result29 !== null ? (function() { return new PEG.Grammar.Action( (arguments[0]).length != 1 ? new PEG.Grammar.Sequence((arguments[0])) : (arguments[0])[0], (arguments[1]) ); }).apply(this, result29) : null; if (result28 !== null) { var result24 = result28; } else { var result26 = []; var result27 = this._parse_prefixed(context); while (result27 !== null) { result26.push(result27); var result27 = this._parse_prefixed(context); } var result25 = result26 !== null ? (function() { return (arguments[0]).length != 1 ? new PEG.Grammar.Sequence((arguments[0])) : (arguments[0])[0]; }).call(this, result26) : null; if (result25 !== null) { var result24 = result25; } else { var result24 = null;; }; } this._cache["sequence"][pos] = { length: this._pos - pos, result: result24 }; return result24; }; result._parse_prefixed = function(context) { this._cache["prefixed"] = this._cache["prefixed"] || []; var cachedResult = this._cache["prefixed"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos7 = this._pos; var result41 = this._parse_and(context); if (result41 !== null) { var result42 = this._parse_suffixed(context); if (result42 !== null) { var result40 = [result41, result42]; } else { var result40 = null; this._pos = savedPos7; } } else { var result40 = null; this._pos = savedPos7; } var result39 = result40 !== null ? (function() { return new PEG.Grammar.NotPredicate(new PEG.Grammar.NotPredicate((arguments[1]))); }).apply(this, result40) : null; if (result39 !== null) { var result33 = result39; } else { var savedPos6 = this._pos; var result37 = this._parse_not(context); if (result37 !== null) { var result38 = this._parse_suffixed(context); if (result38 !== null) { var result36 = [result37, result38]; } else { var result36 = null; this._pos = savedPos6; } } else { var result36 = null; this._pos = savedPos6; } var result35 = result36 !== null ? (function() { return new PEG.Grammar.NotPredicate((arguments[1])); }).apply(this, result36) : null; if (result35 !== null) { var result33 = result35; } else { var result34 = this._parse_suffixed(context); if (result34 !== null) { var result33 = result34; } else { var result33 = null;; }; }; } this._cache["prefixed"][pos] = { length: this._pos - pos, result: result33 }; return result33; }; result._parse_suffixed = function(context) { this._cache["suffixed"] = this._cache["suffixed"] || []; var cachedResult = this._cache["suffixed"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos10 = this._pos; var result55 = this._parse_primary(context); if (result55 !== null) { var result56 = this._parse_question(context); if (result56 !== null) { var result54 = [result55, result56]; } else { var result54 = null; this._pos = savedPos10; } } else { var result54 = null; this._pos = savedPos10; } var result53 = result54 !== null ? (function() { return new PEG.Grammar.Choice([(arguments[0]), new PEG.Grammar.Literal("")]); }).apply(this, result54) : null; if (result53 !== null) { var result43 = result53; } else { var savedPos9 = this._pos; var result51 = this._parse_primary(context); if (result51 !== null) { var result52 = this._parse_star(context); if (result52 !== null) { var result50 = [result51, result52]; } else { var result50 = null; this._pos = savedPos9; } } else { var result50 = null; this._pos = savedPos9; } var result49 = result50 !== null ? (function() { return new PEG.Grammar.ZeroOrMore((arguments[0])); }).apply(this, result50) : null; if (result49 !== null) { var result43 = result49; } else { var savedPos8 = this._pos; var result47 = this._parse_primary(context); if (result47 !== null) { var result48 = this._parse_plus(context); if (result48 !== null) { var result46 = [result47, result48]; } else { var result46 = null; this._pos = savedPos8; } } else { var result46 = null; this._pos = savedPos8; } var result45 = result46 !== null ? (function() { return new PEG.Grammar.Action( new PEG.Grammar.Sequence([(arguments[0]), new PEG.Grammar.ZeroOrMore((arguments[0]))]), function(first, rest) { return [first].concat(rest); } ); }).apply(this, result46) : null; if (result45 !== null) { var result43 = result45; } else { var result44 = this._parse_primary(context); if (result44 !== null) { var result43 = result44; } else { var result43 = null;; }; }; }; } this._cache["suffixed"][pos] = { length: this._pos - pos, result: result43 }; return result43; }; result._parse_primary = function(context) { this._cache["primary"] = this._cache["primary"] || []; var cachedResult = this._cache["primary"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos12 = this._pos; var result71 = this._parse_identifier(context); if (result71 !== null) { var savedPos13 = this._pos; var savedReportMatchFailuresVar0 = context.reportMatchFailures; context.reportMatchFailures = false; var savedPos14 = this._pos; var result77 = this._parse_literal(context); if (result77 !== null) { var result74 = result77; } else { if (this._input.substr(this._pos, 0) === "") { var result76 = ""; this._pos += 0; } else { var result76 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("")); } } if (result76 !== null) { var result74 = result76; } else { var result74 = null;; }; } if (result74 !== null) { var result75 = this._parse_colon(context); if (result75 !== null) { var result73 = [result74, result75]; } else { var result73 = null; this._pos = savedPos14; } } else { var result73 = null; this._pos = savedPos14; } context.reportMatchFailures = savedReportMatchFailuresVar0; if (result73 === null) { var result72 = ''; } else { var result72 = null; this._pos = savedPos13; } if (result72 !== null) { var result70 = [result71, result72]; } else { var result70 = null; this._pos = savedPos12; } } else { var result70 = null; this._pos = savedPos12; } var result69 = result70 !== null ? (function() { return new PEG.Grammar.RuleRef((arguments[0])); }).apply(this, result70) : null; if (result69 !== null) { var result57 = result69; } else { var result68 = this._parse_literal(context); var result67 = result68 !== null ? (function() { return new PEG.Grammar.Literal((arguments[0])); }).call(this, result68) : null; if (result67 !== null) { var result57 = result67; } else { var result66 = this._parse_dot(context); var result65 = result66 !== null ? (function() { return new PEG.Grammar.Any(); }).call(this, result66) : null; if (result65 !== null) { var result57 = result65; } else { var result64 = this._parse_class(context); var result63 = result64 !== null ? (function() { return new PEG.Grammar.Choice( PEG.ArrayUtils.map( (arguments[0]).split(""), function(character) { return new PEG.Grammar.Literal(character); } ) ); }).call(this, result64) : null; if (result63 !== null) { var result57 = result63; } else { var savedPos11 = this._pos; var result60 = this._parse_lparen(context); if (result60 !== null) { var result61 = this._parse_expression(context); if (result61 !== null) { var result62 = this._parse_rparen(context); if (result62 !== null) { var result59 = [result60, result61, result62]; } else { var result59 = null; this._pos = savedPos11; } } else { var result59 = null; this._pos = savedPos11; } } else { var result59 = null; this._pos = savedPos11; } var result58 = result59 !== null ? (function() { return (arguments[1]); }).apply(this, result59) : null; if (result58 !== null) { var result57 = result58; } else { var result57 = null;; }; }; }; }; } this._cache["primary"][pos] = { length: this._pos - pos, result: result57 }; return result57; }; result._parse_action = function(context) { this._cache["action"] = this._cache["action"] || []; var cachedResult = this._cache["action"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedReportMatchFailures = context.reportMatchFailures; context.reportMatchFailures = false; var savedPos15 = this._pos; var result80 = this._parse_braced(context); if (result80 !== null) { var result81 = this._parse___(context); if (result81 !== null) { var result79 = [result80, result81]; } else { var result79 = null; this._pos = savedPos15; } } else { var result79 = null; this._pos = savedPos15; } var result78 = result79 !== null ? (function() { return (arguments[0]).substr(1, (arguments[0]).length - 2); }).apply(this, result79) : null; context.reportMatchFailures = savedReportMatchFailures; if (context.reportMatchFailures && result78 === null) { this._matchFailed(new PEG.Parser.NamedRuleMatchFailure("action")); } this._cache["action"][pos] = { length: this._pos - pos, result: result78 }; return result78; }; result._parse_braced = function(context) { this._cache["braced"] = this._cache["braced"] || []; var cachedResult = this._cache["braced"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos16 = this._pos; if (this._input.substr(this._pos, 1) === "{") { var result84 = "{"; this._pos += 1; } else { var result84 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("{")); } } if (result84 !== null) { var result85 = []; var result89 = this._parse_braced(context); if (result89 !== null) { var result87 = result89; } else { var result88 = this._parse_nonBraceCharacter(context); if (result88 !== null) { var result87 = result88; } else { var result87 = null;; }; } while (result87 !== null) { result85.push(result87); var result89 = this._parse_braced(context); if (result89 !== null) { var result87 = result89; } else { var result88 = this._parse_nonBraceCharacter(context); if (result88 !== null) { var result87 = result88; } else { var result87 = null;; }; } } if (result85 !== null) { if (this._input.substr(this._pos, 1) === "}") { var result86 = "}"; this._pos += 1; } else { var result86 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("}")); } } if (result86 !== null) { var result83 = [result84, result85, result86]; } else { var result83 = null; this._pos = savedPos16; } } else { var result83 = null; this._pos = savedPos16; } } else { var result83 = null; this._pos = savedPos16; } var result82 = result83 !== null ? (function() { return (arguments[0]) + (arguments[1]).join("") + (arguments[2]); }).apply(this, result83) : null; this._cache["braced"][pos] = { length: this._pos - pos, result: result82 }; return result82; }; result._parse_nonBraceCharacters = function(context) { this._cache["nonBraceCharacters"] = this._cache["nonBraceCharacters"] || []; var cachedResult = this._cache["nonBraceCharacters"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos17 = this._pos; var result93 = this._parse_nonBraceCharacter(context); if (result93 !== null) { var result94 = []; var result95 = this._parse_nonBraceCharacter(context); while (result95 !== null) { result94.push(result95); var result95 = this._parse_nonBraceCharacter(context); } if (result94 !== null) { var result92 = [result93, result94]; } else { var result92 = null; this._pos = savedPos17; } } else { var result92 = null; this._pos = savedPos17; } var result91 = result92 !== null ? ( function (first, rest) { return [first].concat(rest); } ).apply(this, result92) : null; var result90 = result91 !== null ? (function() { return (arguments[0]).join(""); }).call(this, result91) : null; this._cache["nonBraceCharacters"][pos] = { length: this._pos - pos, result: result90 }; return result90; }; result._parse_nonBraceCharacter = function(context) { this._cache["nonBraceCharacter"] = this._cache["nonBraceCharacter"] || []; var cachedResult = this._cache["nonBraceCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos18 = this._pos; var savedPos19 = this._pos; var savedReportMatchFailuresVar1 = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 1) === "{") { var result102 = "{"; this._pos += 1; } else { var result102 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("{")); } } if (result102 !== null) { var result100 = result102; } else { if (this._input.substr(this._pos, 1) === "}") { var result101 = "}"; this._pos += 1; } else { var result101 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("}")); } } if (result101 !== null) { var result100 = result101; } else { var result100 = null;; }; } context.reportMatchFailures = savedReportMatchFailuresVar1; if (result100 === null) { var result98 = ''; } else { var result98 = null; this._pos = savedPos19; } if (result98 !== null) { if (this._input.length > this._pos) { var result99 = this._input[this._pos]; this._pos++; } else { var result99 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result99 !== null) { var result97 = [result98, result99]; } else { var result97 = null; this._pos = savedPos18; } } else { var result97 = null; this._pos = savedPos18; } var result96 = result97 !== null ? (function() { return (arguments[1]); }).apply(this, result97) : null; this._cache["nonBraceCharacter"][pos] = { length: this._pos - pos, result: result96 }; return result96; }; result._parse_colon = function(context) { this._cache["colon"] = this._cache["colon"] || []; var cachedResult = this._cache["colon"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos20 = this._pos; if (this._input.substr(this._pos, 1) === ":") { var result105 = ":"; this._pos += 1; } else { var result105 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(":")); } } if (result105 !== null) { var result106 = this._parse___(context); if (result106 !== null) { var result104 = [result105, result106]; } else { var result104 = null; this._pos = savedPos20; } } else { var result104 = null; this._pos = savedPos20; } var result103 = result104 !== null ? (function() { return (arguments[0]); }).apply(this, result104) : null; this._cache["colon"][pos] = { length: this._pos - pos, result: result103 }; return result103; }; result._parse_slash = function(context) { this._cache["slash"] = this._cache["slash"] || []; var cachedResult = this._cache["slash"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos21 = this._pos; if (this._input.substr(this._pos, 1) === "/") { var result109 = "/"; this._pos += 1; } else { var result109 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("/")); } } if (result109 !== null) { var result110 = this._parse___(context); if (result110 !== null) { var result108 = [result109, result110]; } else { var result108 = null; this._pos = savedPos21; } } else { var result108 = null; this._pos = savedPos21; } var result107 = result108 !== null ? (function() { return (arguments[0]); }).apply(this, result108) : null; this._cache["slash"][pos] = { length: this._pos - pos, result: result107 }; return result107; }; result._parse_and = function(context) { this._cache["and"] = this._cache["and"] || []; var cachedResult = this._cache["and"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos22 = this._pos; if (this._input.substr(this._pos, 1) === "&") { var result113 = "&"; this._pos += 1; } else { var result113 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("&")); } } if (result113 !== null) { var result114 = this._parse___(context); if (result114 !== null) { var result112 = [result113, result114]; } else { var result112 = null; this._pos = savedPos22; } } else { var result112 = null; this._pos = savedPos22; } var result111 = result112 !== null ? (function() { return (arguments[0]); }).apply(this, result112) : null; this._cache["and"][pos] = { length: this._pos - pos, result: result111 }; return result111; }; result._parse_not = function(context) { this._cache["not"] = this._cache["not"] || []; var cachedResult = this._cache["not"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos23 = this._pos; if (this._input.substr(this._pos, 1) === "!") { var result117 = "!"; this._pos += 1; } else { var result117 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("!")); } } if (result117 !== null) { var result118 = this._parse___(context); if (result118 !== null) { var result116 = [result117, result118]; } else { var result116 = null; this._pos = savedPos23; } } else { var result116 = null; this._pos = savedPos23; } var result115 = result116 !== null ? (function() { return (arguments[0]); }).apply(this, result116) : null; this._cache["not"][pos] = { length: this._pos - pos, result: result115 }; return result115; }; result._parse_question = function(context) { this._cache["question"] = this._cache["question"] || []; var cachedResult = this._cache["question"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos24 = this._pos; if (this._input.substr(this._pos, 1) === "?") { var result121 = "?"; this._pos += 1; } else { var result121 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("?")); } } if (result121 !== null) { var result122 = this._parse___(context); if (result122 !== null) { var result120 = [result121, result122]; } else { var result120 = null; this._pos = savedPos24; } } else { var result120 = null; this._pos = savedPos24; } var result119 = result120 !== null ? (function() { return (arguments[0]); }).apply(this, result120) : null; this._cache["question"][pos] = { length: this._pos - pos, result: result119 }; return result119; }; result._parse_star = function(context) { this._cache["star"] = this._cache["star"] || []; var cachedResult = this._cache["star"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos25 = this._pos; if (this._input.substr(this._pos, 1) === "*") { var result125 = "*"; this._pos += 1; } else { var result125 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("*")); } } if (result125 !== null) { var result126 = this._parse___(context); if (result126 !== null) { var result124 = [result125, result126]; } else { var result124 = null; this._pos = savedPos25; } } else { var result124 = null; this._pos = savedPos25; } var result123 = result124 !== null ? (function() { return (arguments[0]); }).apply(this, result124) : null; this._cache["star"][pos] = { length: this._pos - pos, result: result123 }; return result123; }; result._parse_plus = function(context) { this._cache["plus"] = this._cache["plus"] || []; var cachedResult = this._cache["plus"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos26 = this._pos; if (this._input.substr(this._pos, 1) === "+") { var result129 = "+"; this._pos += 1; } else { var result129 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("+")); } } if (result129 !== null) { var result130 = this._parse___(context); if (result130 !== null) { var result128 = [result129, result130]; } else { var result128 = null; this._pos = savedPos26; } } else { var result128 = null; this._pos = savedPos26; } var result127 = result128 !== null ? (function() { return (arguments[0]); }).apply(this, result128) : null; this._cache["plus"][pos] = { length: this._pos - pos, result: result127 }; return result127; }; result._parse_lparen = function(context) { this._cache["lparen"] = this._cache["lparen"] || []; var cachedResult = this._cache["lparen"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos27 = this._pos; if (this._input.substr(this._pos, 1) === "(") { var result133 = "("; this._pos += 1; } else { var result133 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("(")); } } if (result133 !== null) { var result134 = this._parse___(context); if (result134 !== null) { var result132 = [result133, result134]; } else { var result132 = null; this._pos = savedPos27; } } else { var result132 = null; this._pos = savedPos27; } var result131 = result132 !== null ? (function() { return (arguments[0]); }).apply(this, result132) : null; this._cache["lparen"][pos] = { length: this._pos - pos, result: result131 }; return result131; }; result._parse_rparen = function(context) { this._cache["rparen"] = this._cache["rparen"] || []; var cachedResult = this._cache["rparen"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos28 = this._pos; if (this._input.substr(this._pos, 1) === ")") { var result137 = ")"; this._pos += 1; } else { var result137 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(")")); } } if (result137 !== null) { var result138 = this._parse___(context); if (result138 !== null) { var result136 = [result137, result138]; } else { var result136 = null; this._pos = savedPos28; } } else { var result136 = null; this._pos = savedPos28; } var result135 = result136 !== null ? (function() { return (arguments[0]); }).apply(this, result136) : null; this._cache["rparen"][pos] = { length: this._pos - pos, result: result135 }; return result135; }; result._parse_dot = function(context) { this._cache["dot"] = this._cache["dot"] || []; var cachedResult = this._cache["dot"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos29 = this._pos; if (this._input.substr(this._pos, 1) === ".") { var result141 = "."; this._pos += 1; } else { var result141 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(".")); } } if (result141 !== null) { var result142 = this._parse___(context); if (result142 !== null) { var result140 = [result141, result142]; } else { var result140 = null; this._pos = savedPos29; } } else { var result140 = null; this._pos = savedPos29; } var result139 = result140 !== null ? (function() { return (arguments[0]); }).apply(this, result140) : null; this._cache["dot"][pos] = { length: this._pos - pos, result: result139 }; return result139; }; result._parse_identifier = function(context) { this._cache["identifier"] = this._cache["identifier"] || []; var cachedResult = this._cache["identifier"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedReportMatchFailures = context.reportMatchFailures; context.reportMatchFailures = false; var savedPos30 = this._pos; var result155 = this._parse_letter(context); if (result155 !== null) { var result145 = result155; } else { if (this._input.substr(this._pos, 1) === "_") { var result154 = "_"; this._pos += 1; } else { var result154 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("_")); } } if (result154 !== null) { var result145 = result154; } else { if (this._input.substr(this._pos, 1) === "$") { var result153 = "$"; this._pos += 1; } else { var result153 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("$")); } } if (result153 !== null) { var result145 = result153; } else { var result145 = null;; }; }; } if (result145 !== null) { var result146 = []; var result152 = this._parse_letter(context); if (result152 !== null) { var result148 = result152; } else { var result151 = this._parse_digit(context); if (result151 !== null) { var result148 = result151; } else { if (this._input.substr(this._pos, 1) === "_") { var result150 = "_"; this._pos += 1; } else { var result150 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("_")); } } if (result150 !== null) { var result148 = result150; } else { if (this._input.substr(this._pos, 1) === "$") { var result149 = "$"; this._pos += 1; } else { var result149 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("$")); } } if (result149 !== null) { var result148 = result149; } else { var result148 = null;; }; }; }; } while (result148 !== null) { result146.push(result148); var result152 = this._parse_letter(context); if (result152 !== null) { var result148 = result152; } else { var result151 = this._parse_digit(context); if (result151 !== null) { var result148 = result151; } else { if (this._input.substr(this._pos, 1) === "_") { var result150 = "_"; this._pos += 1; } else { var result150 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("_")); } } if (result150 !== null) { var result148 = result150; } else { if (this._input.substr(this._pos, 1) === "$") { var result149 = "$"; this._pos += 1; } else { var result149 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("$")); } } if (result149 !== null) { var result148 = result149; } else { var result148 = null;; }; }; }; } } if (result146 !== null) { var result147 = this._parse___(context); if (result147 !== null) { var result144 = [result145, result146, result147]; } else { var result144 = null; this._pos = savedPos30; } } else { var result144 = null; this._pos = savedPos30; } } else { var result144 = null; this._pos = savedPos30; } var result143 = result144 !== null ? (function() { return (arguments[0]) + (arguments[1]).join(""); }).apply(this, result144) : null; context.reportMatchFailures = savedReportMatchFailures; if (context.reportMatchFailures && result143 === null) { this._matchFailed(new PEG.Parser.NamedRuleMatchFailure("identifier")); } this._cache["identifier"][pos] = { length: this._pos - pos, result: result143 }; return result143; }; result._parse_literal = function(context) { this._cache["literal"] = this._cache["literal"] || []; var cachedResult = this._cache["literal"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedReportMatchFailures = context.reportMatchFailures; context.reportMatchFailures = false; var savedPos31 = this._pos; var result161 = this._parse_doubleQuotedLiteral(context); if (result161 !== null) { var result158 = result161; } else { var result160 = this._parse_singleQuotedLiteral(context); if (result160 !== null) { var result158 = result160; } else { var result158 = null;; }; } if (result158 !== null) { var result159 = this._parse___(context); if (result159 !== null) { var result157 = [result158, result159]; } else { var result157 = null; this._pos = savedPos31; } } else { var result157 = null; this._pos = savedPos31; } var result156 = result157 !== null ? (function() { return (arguments[0]); }).apply(this, result157) : null; context.reportMatchFailures = savedReportMatchFailures; if (context.reportMatchFailures && result156 === null) { this._matchFailed(new PEG.Parser.NamedRuleMatchFailure("literal")); } this._cache["literal"][pos] = { length: this._pos - pos, result: result156 }; return result156; }; result._parse_doubleQuotedLiteral = function(context) { this._cache["doubleQuotedLiteral"] = this._cache["doubleQuotedLiteral"] || []; var cachedResult = this._cache["doubleQuotedLiteral"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos32 = this._pos; if (this._input.substr(this._pos, 1) === "\"") { var result164 = "\""; this._pos += 1; } else { var result164 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\"")); } } if (result164 !== null) { var result165 = []; var result167 = this._parse_doubleQuotedCharacter(context); while (result167 !== null) { result165.push(result167); var result167 = this._parse_doubleQuotedCharacter(context); } if (result165 !== null) { if (this._input.substr(this._pos, 1) === "\"") { var result166 = "\""; this._pos += 1; } else { var result166 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\"")); } } if (result166 !== null) { var result163 = [result164, result165, result166]; } else { var result163 = null; this._pos = savedPos32; } } else { var result163 = null; this._pos = savedPos32; } } else { var result163 = null; this._pos = savedPos32; } var result162 = result163 !== null ? (function() { return (arguments[1]).join(""); }).apply(this, result163) : null; this._cache["doubleQuotedLiteral"][pos] = { length: this._pos - pos, result: result162 }; return result162; }; result._parse_doubleQuotedCharacter = function(context) { this._cache["doubleQuotedCharacter"] = this._cache["doubleQuotedCharacter"] || []; var cachedResult = this._cache["doubleQuotedCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var result174 = this._parse_simpleDoubleQuotedCharacter(context); if (result174 !== null) { var result168 = result174; } else { var result173 = this._parse_simpleEscapeSequence(context); if (result173 !== null) { var result168 = result173; } else { var result172 = this._parse_zeroEscapeSequence(context); if (result172 !== null) { var result168 = result172; } else { var result171 = this._parse_hexEscapeSequence(context); if (result171 !== null) { var result168 = result171; } else { var result170 = this._parse_unicodeEscapeSequence(context); if (result170 !== null) { var result168 = result170; } else { var result169 = this._parse_eolEscapeSequence(context); if (result169 !== null) { var result168 = result169; } else { var result168 = null;; }; }; }; }; }; } this._cache["doubleQuotedCharacter"][pos] = { length: this._pos - pos, result: result168 }; return result168; }; result._parse_simpleDoubleQuotedCharacter = function(context) { this._cache["simpleDoubleQuotedCharacter"] = this._cache["simpleDoubleQuotedCharacter"] || []; var cachedResult = this._cache["simpleDoubleQuotedCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos33 = this._pos; var savedPos34 = this._pos; var savedReportMatchFailuresVar2 = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 1) === "\"") { var result182 = "\""; this._pos += 1; } else { var result182 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\"")); } } if (result182 !== null) { var result179 = result182; } else { if (this._input.substr(this._pos, 1) === "\\") { var result181 = "\\"; this._pos += 1; } else { var result181 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\")); } } if (result181 !== null) { var result179 = result181; } else { var result180 = this._parse_eolChar(context); if (result180 !== null) { var result179 = result180; } else { var result179 = null;; }; }; } context.reportMatchFailures = savedReportMatchFailuresVar2; if (result179 === null) { var result177 = ''; } else { var result177 = null; this._pos = savedPos34; } if (result177 !== null) { if (this._input.length > this._pos) { var result178 = this._input[this._pos]; this._pos++; } else { var result178 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result178 !== null) { var result176 = [result177, result178]; } else { var result176 = null; this._pos = savedPos33; } } else { var result176 = null; this._pos = savedPos33; } var result175 = result176 !== null ? (function() { return (arguments[1]); }).apply(this, result176) : null; this._cache["simpleDoubleQuotedCharacter"][pos] = { length: this._pos - pos, result: result175 }; return result175; }; result._parse_singleQuotedLiteral = function(context) { this._cache["singleQuotedLiteral"] = this._cache["singleQuotedLiteral"] || []; var cachedResult = this._cache["singleQuotedLiteral"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos35 = this._pos; if (this._input.substr(this._pos, 1) === "'") { var result185 = "'"; this._pos += 1; } else { var result185 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("'")); } } if (result185 !== null) { var result186 = []; var result188 = this._parse_singleQuotedCharacter(context); while (result188 !== null) { result186.push(result188); var result188 = this._parse_singleQuotedCharacter(context); } if (result186 !== null) { if (this._input.substr(this._pos, 1) === "'") { var result187 = "'"; this._pos += 1; } else { var result187 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("'")); } } if (result187 !== null) { var result184 = [result185, result186, result187]; } else { var result184 = null; this._pos = savedPos35; } } else { var result184 = null; this._pos = savedPos35; } } else { var result184 = null; this._pos = savedPos35; } var result183 = result184 !== null ? (function() { return (arguments[1]).join(""); }).apply(this, result184) : null; this._cache["singleQuotedLiteral"][pos] = { length: this._pos - pos, result: result183 }; return result183; }; result._parse_singleQuotedCharacter = function(context) { this._cache["singleQuotedCharacter"] = this._cache["singleQuotedCharacter"] || []; var cachedResult = this._cache["singleQuotedCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var result195 = this._parse_simpleSingleQuotedCharacter(context); if (result195 !== null) { var result189 = result195; } else { var result194 = this._parse_simpleEscapeSequence(context); if (result194 !== null) { var result189 = result194; } else { var result193 = this._parse_zeroEscapeSequence(context); if (result193 !== null) { var result189 = result193; } else { var result192 = this._parse_hexEscapeSequence(context); if (result192 !== null) { var result189 = result192; } else { var result191 = this._parse_unicodeEscapeSequence(context); if (result191 !== null) { var result189 = result191; } else { var result190 = this._parse_eolEscapeSequence(context); if (result190 !== null) { var result189 = result190; } else { var result189 = null;; }; }; }; }; }; } this._cache["singleQuotedCharacter"][pos] = { length: this._pos - pos, result: result189 }; return result189; }; result._parse_simpleSingleQuotedCharacter = function(context) { this._cache["simpleSingleQuotedCharacter"] = this._cache["simpleSingleQuotedCharacter"] || []; var cachedResult = this._cache["simpleSingleQuotedCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos36 = this._pos; var savedPos37 = this._pos; var savedReportMatchFailuresVar3 = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 1) === "'") { var result203 = "'"; this._pos += 1; } else { var result203 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("'")); } } if (result203 !== null) { var result200 = result203; } else { if (this._input.substr(this._pos, 1) === "\\") { var result202 = "\\"; this._pos += 1; } else { var result202 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\")); } } if (result202 !== null) { var result200 = result202; } else { var result201 = this._parse_eolChar(context); if (result201 !== null) { var result200 = result201; } else { var result200 = null;; }; }; } context.reportMatchFailures = savedReportMatchFailuresVar3; if (result200 === null) { var result198 = ''; } else { var result198 = null; this._pos = savedPos37; } if (result198 !== null) { if (this._input.length > this._pos) { var result199 = this._input[this._pos]; this._pos++; } else { var result199 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result199 !== null) { var result197 = [result198, result199]; } else { var result197 = null; this._pos = savedPos36; } } else { var result197 = null; this._pos = savedPos36; } var result196 = result197 !== null ? (function() { return (arguments[1]); }).apply(this, result197) : null; this._cache["simpleSingleQuotedCharacter"][pos] = { length: this._pos - pos, result: result196 }; return result196; }; result._parse_class = function(context) { this._cache["class"] = this._cache["class"] || []; var cachedResult = this._cache["class"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedReportMatchFailures = context.reportMatchFailures; context.reportMatchFailures = false; var savedPos38 = this._pos; if (this._input.substr(this._pos, 1) === "[") { var result206 = "["; this._pos += 1; } else { var result206 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("[")); } } if (result206 !== null) { var result207 = []; var result212 = this._parse_classCharacterRange(context); if (result212 !== null) { var result210 = result212; } else { var result211 = this._parse_classCharacter(context); if (result211 !== null) { var result210 = result211; } else { var result210 = null;; }; } while (result210 !== null) { result207.push(result210); var result212 = this._parse_classCharacterRange(context); if (result212 !== null) { var result210 = result212; } else { var result211 = this._parse_classCharacter(context); if (result211 !== null) { var result210 = result211; } else { var result210 = null;; }; } } if (result207 !== null) { if (this._input.substr(this._pos, 1) === "]") { var result208 = "]"; this._pos += 1; } else { var result208 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("]")); } } if (result208 !== null) { var result209 = this._parse___(context); if (result209 !== null) { var result205 = [result206, result207, result208, result209]; } else { var result205 = null; this._pos = savedPos38; } } else { var result205 = null; this._pos = savedPos38; } } else { var result205 = null; this._pos = savedPos38; } } else { var result205 = null; this._pos = savedPos38; } var result204 = result205 !== null ? (function() { return (arguments[1]).join(""); }).apply(this, result205) : null; context.reportMatchFailures = savedReportMatchFailures; if (context.reportMatchFailures && result204 === null) { this._matchFailed(new PEG.Parser.NamedRuleMatchFailure("character class")); } this._cache["class"][pos] = { length: this._pos - pos, result: result204 }; return result204; }; result._parse_classCharacterRange = function(context) { this._cache["classCharacterRange"] = this._cache["classCharacterRange"] || []; var cachedResult = this._cache["classCharacterRange"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos39 = this._pos; var result215 = this._parse_bracketDelimitedCharacter(context); if (result215 !== null) { if (this._input.substr(this._pos, 1) === "-") { var result216 = "-"; this._pos += 1; } else { var result216 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("-")); } } if (result216 !== null) { var result217 = this._parse_bracketDelimitedCharacter(context); if (result217 !== null) { var result214 = [result215, result216, result217]; } else { var result214 = null; this._pos = savedPos39; } } else { var result214 = null; this._pos = savedPos39; } } else { var result214 = null; this._pos = savedPos39; } var result213 = result214 !== null ? (function() { var beginCharCode = (arguments[0]).charCodeAt(0); var endCharCode = (arguments[2]).charCodeAt(0); if (beginCharCode > endCharCode) { throw new PEG.Parser.SyntaxError( "Invalid character range: " + (arguments[0]) + "-" + (arguments[2]) + "." ); } var result = ""; for (var charCode = beginCharCode; charCode <= endCharCode; charCode++) { result += String.fromCharCode(charCode); } return result; }).apply(this, result214) : null; this._cache["classCharacterRange"][pos] = { length: this._pos - pos, result: result213 }; return result213; }; result._parse_classCharacter = function(context) { this._cache["classCharacter"] = this._cache["classCharacter"] || []; var cachedResult = this._cache["classCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var result218 = this._parse_bracketDelimitedCharacter(context); this._cache["classCharacter"][pos] = { length: this._pos - pos, result: result218 }; return result218; }; result._parse_bracketDelimitedCharacter = function(context) { this._cache["bracketDelimitedCharacter"] = this._cache["bracketDelimitedCharacter"] || []; var cachedResult = this._cache["bracketDelimitedCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var result225 = this._parse_simpleBracketDelimitedCharacter(context); if (result225 !== null) { var result219 = result225; } else { var result224 = this._parse_simpleEscapeSequence(context); if (result224 !== null) { var result219 = result224; } else { var result223 = this._parse_zeroEscapeSequence(context); if (result223 !== null) { var result219 = result223; } else { var result222 = this._parse_hexEscapeSequence(context); if (result222 !== null) { var result219 = result222; } else { var result221 = this._parse_unicodeEscapeSequence(context); if (result221 !== null) { var result219 = result221; } else { var result220 = this._parse_eolEscapeSequence(context); if (result220 !== null) { var result219 = result220; } else { var result219 = null;; }; }; }; }; }; } this._cache["bracketDelimitedCharacter"][pos] = { length: this._pos - pos, result: result219 }; return result219; }; result._parse_simpleBracketDelimitedCharacter = function(context) { this._cache["simpleBracketDelimitedCharacter"] = this._cache["simpleBracketDelimitedCharacter"] || []; var cachedResult = this._cache["simpleBracketDelimitedCharacter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos40 = this._pos; var savedPos41 = this._pos; var savedReportMatchFailuresVar4 = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 1) === "]") { var result233 = "]"; this._pos += 1; } else { var result233 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("]")); } } if (result233 !== null) { var result230 = result233; } else { if (this._input.substr(this._pos, 1) === "\\") { var result232 = "\\"; this._pos += 1; } else { var result232 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\")); } } if (result232 !== null) { var result230 = result232; } else { var result231 = this._parse_eolChar(context); if (result231 !== null) { var result230 = result231; } else { var result230 = null;; }; }; } context.reportMatchFailures = savedReportMatchFailuresVar4; if (result230 === null) { var result228 = ''; } else { var result228 = null; this._pos = savedPos41; } if (result228 !== null) { if (this._input.length > this._pos) { var result229 = this._input[this._pos]; this._pos++; } else { var result229 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result229 !== null) { var result227 = [result228, result229]; } else { var result227 = null; this._pos = savedPos40; } } else { var result227 = null; this._pos = savedPos40; } var result226 = result227 !== null ? (function() { return (arguments[1]); }).apply(this, result227) : null; this._cache["simpleBracketDelimitedCharacter"][pos] = { length: this._pos - pos, result: result226 }; return result226; }; result._parse_simpleEscapeSequence = function(context) { this._cache["simpleEscapeSequence"] = this._cache["simpleEscapeSequence"] || []; var cachedResult = this._cache["simpleEscapeSequence"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos42 = this._pos; if (this._input.substr(this._pos, 1) === "\\") { var result236 = "\\"; this._pos += 1; } else { var result236 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\")); } } if (result236 !== null) { var savedPos43 = this._pos; var savedReportMatchFailuresVar5 = context.reportMatchFailures; context.reportMatchFailures = false; var result243 = this._parse_digit(context); if (result243 !== null) { var result239 = result243; } else { if (this._input.substr(this._pos, 1) === "x") { var result242 = "x"; this._pos += 1; } else { var result242 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("x")); } } if (result242 !== null) { var result239 = result242; } else { if (this._input.substr(this._pos, 1) === "u") { var result241 = "u"; this._pos += 1; } else { var result241 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("u")); } } if (result241 !== null) { var result239 = result241; } else { var result240 = this._parse_eolChar(context); if (result240 !== null) { var result239 = result240; } else { var result239 = null;; }; }; }; } context.reportMatchFailures = savedReportMatchFailuresVar5; if (result239 === null) { var result237 = ''; } else { var result237 = null; this._pos = savedPos43; } if (result237 !== null) { if (this._input.length > this._pos) { var result238 = this._input[this._pos]; this._pos++; } else { var result238 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result238 !== null) { var result235 = [result236, result237, result238]; } else { var result235 = null; this._pos = savedPos42; } } else { var result235 = null; this._pos = savedPos42; } } else { var result235 = null; this._pos = savedPos42; } var result234 = result235 !== null ? (function() { return (arguments[2]) .replace("b", "\b") .replace("f", "\f") .replace("n", "\n") .replace("r", "\r") .replace("t", "\t") .replace("v", "\v") }).apply(this, result235) : null; this._cache["simpleEscapeSequence"][pos] = { length: this._pos - pos, result: result234 }; return result234; }; result._parse_zeroEscapeSequence = function(context) { this._cache["zeroEscapeSequence"] = this._cache["zeroEscapeSequence"] || []; var cachedResult = this._cache["zeroEscapeSequence"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos44 = this._pos; if (this._input.substr(this._pos, 2) === "\\0") { var result246 = "\\0"; this._pos += 2; } else { var result246 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\0")); } } if (result246 !== null) { var savedPos45 = this._pos; var savedReportMatchFailuresVar6 = context.reportMatchFailures; context.reportMatchFailures = false; var result248 = this._parse_digit(context); context.reportMatchFailures = savedReportMatchFailuresVar6; if (result248 === null) { var result247 = ''; } else { var result247 = null; this._pos = savedPos45; } if (result247 !== null) { var result245 = [result246, result247]; } else { var result245 = null; this._pos = savedPos44; } } else { var result245 = null; this._pos = savedPos44; } var result244 = result245 !== null ? (function() { return "\0"; }).apply(this, result245) : null; this._cache["zeroEscapeSequence"][pos] = { length: this._pos - pos, result: result244 }; return result244; }; result._parse_hexEscapeSequence = function(context) { this._cache["hexEscapeSequence"] = this._cache["hexEscapeSequence"] || []; var cachedResult = this._cache["hexEscapeSequence"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos46 = this._pos; if (this._input.substr(this._pos, 2) === "\\x") { var result251 = "\\x"; this._pos += 2; } else { var result251 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\x")); } } if (result251 !== null) { var result252 = this._parse_hexDigit(context); if (result252 !== null) { var result253 = this._parse_hexDigit(context); if (result253 !== null) { var result250 = [result251, result252, result253]; } else { var result250 = null; this._pos = savedPos46; } } else { var result250 = null; this._pos = savedPos46; } } else { var result250 = null; this._pos = savedPos46; } var result249 = result250 !== null ? (function() { return String.fromCharCode(parseInt("0x" + (arguments[1]) + (arguments[2]))); }).apply(this, result250) : null; this._cache["hexEscapeSequence"][pos] = { length: this._pos - pos, result: result249 }; return result249; }; result._parse_unicodeEscapeSequence = function(context) { this._cache["unicodeEscapeSequence"] = this._cache["unicodeEscapeSequence"] || []; var cachedResult = this._cache["unicodeEscapeSequence"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos47 = this._pos; if (this._input.substr(this._pos, 2) === "\\u") { var result256 = "\\u"; this._pos += 2; } else { var result256 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\u")); } } if (result256 !== null) { var result257 = this._parse_hexDigit(context); if (result257 !== null) { var result258 = this._parse_hexDigit(context); if (result258 !== null) { var result259 = this._parse_hexDigit(context); if (result259 !== null) { var result260 = this._parse_hexDigit(context); if (result260 !== null) { var result255 = [result256, result257, result258, result259, result260]; } else { var result255 = null; this._pos = savedPos47; } } else { var result255 = null; this._pos = savedPos47; } } else { var result255 = null; this._pos = savedPos47; } } else { var result255 = null; this._pos = savedPos47; } } else { var result255 = null; this._pos = savedPos47; } var result254 = result255 !== null ? (function() { return String.fromCharCode(parseInt("0x" + (arguments[1]) + (arguments[2]) + (arguments[3]) + (arguments[4]))); }).apply(this, result255) : null; this._cache["unicodeEscapeSequence"][pos] = { length: this._pos - pos, result: result254 }; return result254; }; result._parse_eolEscapeSequence = function(context) { this._cache["eolEscapeSequence"] = this._cache["eolEscapeSequence"] || []; var cachedResult = this._cache["eolEscapeSequence"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos48 = this._pos; if (this._input.substr(this._pos, 1) === "\\") { var result263 = "\\"; this._pos += 1; } else { var result263 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\\")); } } if (result263 !== null) { var result264 = this._parse_eol(context); if (result264 !== null) { var result262 = [result263, result264]; } else { var result262 = null; this._pos = savedPos48; } } else { var result262 = null; this._pos = savedPos48; } var result261 = result262 !== null ? (function() { return (arguments[1]); }).apply(this, result262) : null; this._cache["eolEscapeSequence"][pos] = { length: this._pos - pos, result: result261 }; return result261; }; result._parse_digit = function(context) { this._cache["digit"] = this._cache["digit"] || []; var cachedResult = this._cache["digit"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; if (this._input.substr(this._pos, 1) === "0") { var result275 = "0"; this._pos += 1; } else { var result275 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("0")); } } if (result275 !== null) { var result265 = result275; } else { if (this._input.substr(this._pos, 1) === "1") { var result274 = "1"; this._pos += 1; } else { var result274 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("1")); } } if (result274 !== null) { var result265 = result274; } else { if (this._input.substr(this._pos, 1) === "2") { var result273 = "2"; this._pos += 1; } else { var result273 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("2")); } } if (result273 !== null) { var result265 = result273; } else { if (this._input.substr(this._pos, 1) === "3") { var result272 = "3"; this._pos += 1; } else { var result272 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("3")); } } if (result272 !== null) { var result265 = result272; } else { if (this._input.substr(this._pos, 1) === "4") { var result271 = "4"; this._pos += 1; } else { var result271 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("4")); } } if (result271 !== null) { var result265 = result271; } else { if (this._input.substr(this._pos, 1) === "5") { var result270 = "5"; this._pos += 1; } else { var result270 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("5")); } } if (result270 !== null) { var result265 = result270; } else { if (this._input.substr(this._pos, 1) === "6") { var result269 = "6"; this._pos += 1; } else { var result269 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("6")); } } if (result269 !== null) { var result265 = result269; } else { if (this._input.substr(this._pos, 1) === "7") { var result268 = "7"; this._pos += 1; } else { var result268 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("7")); } } if (result268 !== null) { var result265 = result268; } else { if (this._input.substr(this._pos, 1) === "8") { var result267 = "8"; this._pos += 1; } else { var result267 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("8")); } } if (result267 !== null) { var result265 = result267; } else { if (this._input.substr(this._pos, 1) === "9") { var result266 = "9"; this._pos += 1; } else { var result266 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("9")); } } if (result266 !== null) { var result265 = result266; } else { var result265 = null;; }; }; }; }; }; }; }; }; }; } this._cache["digit"][pos] = { length: this._pos - pos, result: result265 }; return result265; }; result._parse_hexDigit = function(context) { this._cache["hexDigit"] = this._cache["hexDigit"] || []; var cachedResult = this._cache["hexDigit"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; if (this._input.substr(this._pos, 1) === "0") { var result298 = "0"; this._pos += 1; } else { var result298 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("0")); } } if (result298 !== null) { var result276 = result298; } else { if (this._input.substr(this._pos, 1) === "1") { var result297 = "1"; this._pos += 1; } else { var result297 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("1")); } } if (result297 !== null) { var result276 = result297; } else { if (this._input.substr(this._pos, 1) === "2") { var result296 = "2"; this._pos += 1; } else { var result296 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("2")); } } if (result296 !== null) { var result276 = result296; } else { if (this._input.substr(this._pos, 1) === "3") { var result295 = "3"; this._pos += 1; } else { var result295 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("3")); } } if (result295 !== null) { var result276 = result295; } else { if (this._input.substr(this._pos, 1) === "4") { var result294 = "4"; this._pos += 1; } else { var result294 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("4")); } } if (result294 !== null) { var result276 = result294; } else { if (this._input.substr(this._pos, 1) === "5") { var result293 = "5"; this._pos += 1; } else { var result293 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("5")); } } if (result293 !== null) { var result276 = result293; } else { if (this._input.substr(this._pos, 1) === "6") { var result292 = "6"; this._pos += 1; } else { var result292 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("6")); } } if (result292 !== null) { var result276 = result292; } else { if (this._input.substr(this._pos, 1) === "7") { var result291 = "7"; this._pos += 1; } else { var result291 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("7")); } } if (result291 !== null) { var result276 = result291; } else { if (this._input.substr(this._pos, 1) === "8") { var result290 = "8"; this._pos += 1; } else { var result290 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("8")); } } if (result290 !== null) { var result276 = result290; } else { if (this._input.substr(this._pos, 1) === "9") { var result289 = "9"; this._pos += 1; } else { var result289 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("9")); } } if (result289 !== null) { var result276 = result289; } else { if (this._input.substr(this._pos, 1) === "a") { var result288 = "a"; this._pos += 1; } else { var result288 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("a")); } } if (result288 !== null) { var result276 = result288; } else { if (this._input.substr(this._pos, 1) === "b") { var result287 = "b"; this._pos += 1; } else { var result287 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("b")); } } if (result287 !== null) { var result276 = result287; } else { if (this._input.substr(this._pos, 1) === "c") { var result286 = "c"; this._pos += 1; } else { var result286 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("c")); } } if (result286 !== null) { var result276 = result286; } else { if (this._input.substr(this._pos, 1) === "d") { var result285 = "d"; this._pos += 1; } else { var result285 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("d")); } } if (result285 !== null) { var result276 = result285; } else { if (this._input.substr(this._pos, 1) === "e") { var result284 = "e"; this._pos += 1; } else { var result284 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("e")); } } if (result284 !== null) { var result276 = result284; } else { if (this._input.substr(this._pos, 1) === "f") { var result283 = "f"; this._pos += 1; } else { var result283 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("f")); } } if (result283 !== null) { var result276 = result283; } else { if (this._input.substr(this._pos, 1) === "A") { var result282 = "A"; this._pos += 1; } else { var result282 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("A")); } } if (result282 !== null) { var result276 = result282; } else { if (this._input.substr(this._pos, 1) === "B") { var result281 = "B"; this._pos += 1; } else { var result281 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("B")); } } if (result281 !== null) { var result276 = result281; } else { if (this._input.substr(this._pos, 1) === "C") { var result280 = "C"; this._pos += 1; } else { var result280 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("C")); } } if (result280 !== null) { var result276 = result280; } else { if (this._input.substr(this._pos, 1) === "D") { var result279 = "D"; this._pos += 1; } else { var result279 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("D")); } } if (result279 !== null) { var result276 = result279; } else { if (this._input.substr(this._pos, 1) === "E") { var result278 = "E"; this._pos += 1; } else { var result278 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("E")); } } if (result278 !== null) { var result276 = result278; } else { if (this._input.substr(this._pos, 1) === "F") { var result277 = "F"; this._pos += 1; } else { var result277 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("F")); } } if (result277 !== null) { var result276 = result277; } else { var result276 = null;; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; } this._cache["hexDigit"][pos] = { length: this._pos - pos, result: result276 }; return result276; }; result._parse_letter = function(context) { this._cache["letter"] = this._cache["letter"] || []; var cachedResult = this._cache["letter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var result301 = this._parse_lowerCaseLetter(context); if (result301 !== null) { var result299 = result301; } else { var result300 = this._parse_upperCaseLetter(context); if (result300 !== null) { var result299 = result300; } else { var result299 = null;; }; } this._cache["letter"][pos] = { length: this._pos - pos, result: result299 }; return result299; }; result._parse_lowerCaseLetter = function(context) { this._cache["lowerCaseLetter"] = this._cache["lowerCaseLetter"] || []; var cachedResult = this._cache["lowerCaseLetter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; if (this._input.substr(this._pos, 1) === "a") { var result328 = "a"; this._pos += 1; } else { var result328 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("a")); } } if (result328 !== null) { var result302 = result328; } else { if (this._input.substr(this._pos, 1) === "b") { var result327 = "b"; this._pos += 1; } else { var result327 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("b")); } } if (result327 !== null) { var result302 = result327; } else { if (this._input.substr(this._pos, 1) === "c") { var result326 = "c"; this._pos += 1; } else { var result326 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("c")); } } if (result326 !== null) { var result302 = result326; } else { if (this._input.substr(this._pos, 1) === "d") { var result325 = "d"; this._pos += 1; } else { var result325 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("d")); } } if (result325 !== null) { var result302 = result325; } else { if (this._input.substr(this._pos, 1) === "e") { var result324 = "e"; this._pos += 1; } else { var result324 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("e")); } } if (result324 !== null) { var result302 = result324; } else { if (this._input.substr(this._pos, 1) === "f") { var result323 = "f"; this._pos += 1; } else { var result323 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("f")); } } if (result323 !== null) { var result302 = result323; } else { if (this._input.substr(this._pos, 1) === "g") { var result322 = "g"; this._pos += 1; } else { var result322 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("g")); } } if (result322 !== null) { var result302 = result322; } else { if (this._input.substr(this._pos, 1) === "h") { var result321 = "h"; this._pos += 1; } else { var result321 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("h")); } } if (result321 !== null) { var result302 = result321; } else { if (this._input.substr(this._pos, 1) === "i") { var result320 = "i"; this._pos += 1; } else { var result320 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("i")); } } if (result320 !== null) { var result302 = result320; } else { if (this._input.substr(this._pos, 1) === "j") { var result319 = "j"; this._pos += 1; } else { var result319 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("j")); } } if (result319 !== null) { var result302 = result319; } else { if (this._input.substr(this._pos, 1) === "k") { var result318 = "k"; this._pos += 1; } else { var result318 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("k")); } } if (result318 !== null) { var result302 = result318; } else { if (this._input.substr(this._pos, 1) === "l") { var result317 = "l"; this._pos += 1; } else { var result317 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("l")); } } if (result317 !== null) { var result302 = result317; } else { if (this._input.substr(this._pos, 1) === "m") { var result316 = "m"; this._pos += 1; } else { var result316 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("m")); } } if (result316 !== null) { var result302 = result316; } else { if (this._input.substr(this._pos, 1) === "n") { var result315 = "n"; this._pos += 1; } else { var result315 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("n")); } } if (result315 !== null) { var result302 = result315; } else { if (this._input.substr(this._pos, 1) === "o") { var result314 = "o"; this._pos += 1; } else { var result314 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("o")); } } if (result314 !== null) { var result302 = result314; } else { if (this._input.substr(this._pos, 1) === "p") { var result313 = "p"; this._pos += 1; } else { var result313 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("p")); } } if (result313 !== null) { var result302 = result313; } else { if (this._input.substr(this._pos, 1) === "q") { var result312 = "q"; this._pos += 1; } else { var result312 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("q")); } } if (result312 !== null) { var result302 = result312; } else { if (this._input.substr(this._pos, 1) === "r") { var result311 = "r"; this._pos += 1; } else { var result311 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("r")); } } if (result311 !== null) { var result302 = result311; } else { if (this._input.substr(this._pos, 1) === "s") { var result310 = "s"; this._pos += 1; } else { var result310 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("s")); } } if (result310 !== null) { var result302 = result310; } else { if (this._input.substr(this._pos, 1) === "t") { var result309 = "t"; this._pos += 1; } else { var result309 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("t")); } } if (result309 !== null) { var result302 = result309; } else { if (this._input.substr(this._pos, 1) === "u") { var result308 = "u"; this._pos += 1; } else { var result308 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("u")); } } if (result308 !== null) { var result302 = result308; } else { if (this._input.substr(this._pos, 1) === "v") { var result307 = "v"; this._pos += 1; } else { var result307 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("v")); } } if (result307 !== null) { var result302 = result307; } else { if (this._input.substr(this._pos, 1) === "w") { var result306 = "w"; this._pos += 1; } else { var result306 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("w")); } } if (result306 !== null) { var result302 = result306; } else { if (this._input.substr(this._pos, 1) === "x") { var result305 = "x"; this._pos += 1; } else { var result305 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("x")); } } if (result305 !== null) { var result302 = result305; } else { if (this._input.substr(this._pos, 1) === "y") { var result304 = "y"; this._pos += 1; } else { var result304 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("y")); } } if (result304 !== null) { var result302 = result304; } else { if (this._input.substr(this._pos, 1) === "z") { var result303 = "z"; this._pos += 1; } else { var result303 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("z")); } } if (result303 !== null) { var result302 = result303; } else { var result302 = null;; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; } this._cache["lowerCaseLetter"][pos] = { length: this._pos - pos, result: result302 }; return result302; }; result._parse_upperCaseLetter = function(context) { this._cache["upperCaseLetter"] = this._cache["upperCaseLetter"] || []; var cachedResult = this._cache["upperCaseLetter"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; if (this._input.substr(this._pos, 1) === "A") { var result355 = "A"; this._pos += 1; } else { var result355 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("A")); } } if (result355 !== null) { var result329 = result355; } else { if (this._input.substr(this._pos, 1) === "B") { var result354 = "B"; this._pos += 1; } else { var result354 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("B")); } } if (result354 !== null) { var result329 = result354; } else { if (this._input.substr(this._pos, 1) === "C") { var result353 = "C"; this._pos += 1; } else { var result353 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("C")); } } if (result353 !== null) { var result329 = result353; } else { if (this._input.substr(this._pos, 1) === "D") { var result352 = "D"; this._pos += 1; } else { var result352 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("D")); } } if (result352 !== null) { var result329 = result352; } else { if (this._input.substr(this._pos, 1) === "E") { var result351 = "E"; this._pos += 1; } else { var result351 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("E")); } } if (result351 !== null) { var result329 = result351; } else { if (this._input.substr(this._pos, 1) === "F") { var result350 = "F"; this._pos += 1; } else { var result350 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("F")); } } if (result350 !== null) { var result329 = result350; } else { if (this._input.substr(this._pos, 1) === "G") { var result349 = "G"; this._pos += 1; } else { var result349 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("G")); } } if (result349 !== null) { var result329 = result349; } else { if (this._input.substr(this._pos, 1) === "H") { var result348 = "H"; this._pos += 1; } else { var result348 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("H")); } } if (result348 !== null) { var result329 = result348; } else { if (this._input.substr(this._pos, 1) === "I") { var result347 = "I"; this._pos += 1; } else { var result347 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("I")); } } if (result347 !== null) { var result329 = result347; } else { if (this._input.substr(this._pos, 1) === "J") { var result346 = "J"; this._pos += 1; } else { var result346 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("J")); } } if (result346 !== null) { var result329 = result346; } else { if (this._input.substr(this._pos, 1) === "K") { var result345 = "K"; this._pos += 1; } else { var result345 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("K")); } } if (result345 !== null) { var result329 = result345; } else { if (this._input.substr(this._pos, 1) === "L") { var result344 = "L"; this._pos += 1; } else { var result344 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("L")); } } if (result344 !== null) { var result329 = result344; } else { if (this._input.substr(this._pos, 1) === "M") { var result343 = "M"; this._pos += 1; } else { var result343 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("M")); } } if (result343 !== null) { var result329 = result343; } else { if (this._input.substr(this._pos, 1) === "N") { var result342 = "N"; this._pos += 1; } else { var result342 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("N")); } } if (result342 !== null) { var result329 = result342; } else { if (this._input.substr(this._pos, 1) === "O") { var result341 = "O"; this._pos += 1; } else { var result341 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("O")); } } if (result341 !== null) { var result329 = result341; } else { if (this._input.substr(this._pos, 1) === "P") { var result340 = "P"; this._pos += 1; } else { var result340 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("P")); } } if (result340 !== null) { var result329 = result340; } else { if (this._input.substr(this._pos, 1) === "Q") { var result339 = "Q"; this._pos += 1; } else { var result339 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("Q")); } } if (result339 !== null) { var result329 = result339; } else { if (this._input.substr(this._pos, 1) === "R") { var result338 = "R"; this._pos += 1; } else { var result338 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("R")); } } if (result338 !== null) { var result329 = result338; } else { if (this._input.substr(this._pos, 1) === "S") { var result337 = "S"; this._pos += 1; } else { var result337 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("S")); } } if (result337 !== null) { var result329 = result337; } else { if (this._input.substr(this._pos, 1) === "T") { var result336 = "T"; this._pos += 1; } else { var result336 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("T")); } } if (result336 !== null) { var result329 = result336; } else { if (this._input.substr(this._pos, 1) === "U") { var result335 = "U"; this._pos += 1; } else { var result335 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("U")); } } if (result335 !== null) { var result329 = result335; } else { if (this._input.substr(this._pos, 1) === "V") { var result334 = "V"; this._pos += 1; } else { var result334 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("V")); } } if (result334 !== null) { var result329 = result334; } else { if (this._input.substr(this._pos, 1) === "W") { var result333 = "W"; this._pos += 1; } else { var result333 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("W")); } } if (result333 !== null) { var result329 = result333; } else { if (this._input.substr(this._pos, 1) === "X") { var result332 = "X"; this._pos += 1; } else { var result332 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("X")); } } if (result332 !== null) { var result329 = result332; } else { if (this._input.substr(this._pos, 1) === "Y") { var result331 = "Y"; this._pos += 1; } else { var result331 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("Y")); } } if (result331 !== null) { var result329 = result331; } else { if (this._input.substr(this._pos, 1) === "Z") { var result330 = "Z"; this._pos += 1; } else { var result330 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("Z")); } } if (result330 !== null) { var result329 = result330; } else { var result329 = null;; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; } this._cache["upperCaseLetter"][pos] = { length: this._pos - pos, result: result329 }; return result329; }; result._parse___ = function(context) { this._cache["__"] = this._cache["__"] || []; var cachedResult = this._cache["__"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var result356 = []; var result360 = this._parse_whitespace(context); if (result360 !== null) { var result357 = result360; } else { var result359 = this._parse_eol(context); if (result359 !== null) { var result357 = result359; } else { var result358 = this._parse_comment(context); if (result358 !== null) { var result357 = result358; } else { var result357 = null;; }; }; } while (result357 !== null) { result356.push(result357); var result360 = this._parse_whitespace(context); if (result360 !== null) { var result357 = result360; } else { var result359 = this._parse_eol(context); if (result359 !== null) { var result357 = result359; } else { var result358 = this._parse_comment(context); if (result358 !== null) { var result357 = result358; } else { var result357 = null;; }; }; } } this._cache["__"][pos] = { length: this._pos - pos, result: result356 }; return result356; }; result._parse_comment = function(context) { this._cache["comment"] = this._cache["comment"] || []; var cachedResult = this._cache["comment"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedReportMatchFailures = context.reportMatchFailures; context.reportMatchFailures = false; var result363 = this._parse_singleLineComment(context); if (result363 !== null) { var result361 = result363; } else { var result362 = this._parse_multiLineComment(context); if (result362 !== null) { var result361 = result362; } else { var result361 = null;; }; } context.reportMatchFailures = savedReportMatchFailures; if (context.reportMatchFailures && result361 === null) { this._matchFailed(new PEG.Parser.NamedRuleMatchFailure("comment")); } this._cache["comment"][pos] = { length: this._pos - pos, result: result361 }; return result361; }; result._parse_singleLineComment = function(context) { this._cache["singleLineComment"] = this._cache["singleLineComment"] || []; var cachedResult = this._cache["singleLineComment"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos49 = this._pos; if (this._input.substr(this._pos, 2) === "//") { var result365 = "//"; this._pos += 2; } else { var result365 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("//")); } } if (result365 !== null) { var result366 = []; var savedPos50 = this._pos; var savedPos51 = this._pos; var savedReportMatchFailuresVar7 = context.reportMatchFailures; context.reportMatchFailures = false; var result370 = this._parse_eolChar(context); context.reportMatchFailures = savedReportMatchFailuresVar7; if (result370 === null) { var result368 = ''; } else { var result368 = null; this._pos = savedPos51; } if (result368 !== null) { if (this._input.length > this._pos) { var result369 = this._input[this._pos]; this._pos++; } else { var result369 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result369 !== null) { var result367 = [result368, result369]; } else { var result367 = null; this._pos = savedPos50; } } else { var result367 = null; this._pos = savedPos50; } while (result367 !== null) { result366.push(result367); var savedPos50 = this._pos; var savedPos51 = this._pos; var savedReportMatchFailuresVar7 = context.reportMatchFailures; context.reportMatchFailures = false; var result370 = this._parse_eolChar(context); context.reportMatchFailures = savedReportMatchFailuresVar7; if (result370 === null) { var result368 = ''; } else { var result368 = null; this._pos = savedPos51; } if (result368 !== null) { if (this._input.length > this._pos) { var result369 = this._input[this._pos]; this._pos++; } else { var result369 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result369 !== null) { var result367 = [result368, result369]; } else { var result367 = null; this._pos = savedPos50; } } else { var result367 = null; this._pos = savedPos50; } } if (result366 !== null) { var result364 = [result365, result366]; } else { var result364 = null; this._pos = savedPos49; } } else { var result364 = null; this._pos = savedPos49; } this._cache["singleLineComment"][pos] = { length: this._pos - pos, result: result364 }; return result364; }; result._parse_multiLineComment = function(context) { this._cache["multiLineComment"] = this._cache["multiLineComment"] || []; var cachedResult = this._cache["multiLineComment"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedPos52 = this._pos; if (this._input.substr(this._pos, 2) === "/*") { var result372 = "/*"; this._pos += 2; } else { var result372 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("/*")); } } if (result372 !== null) { var result373 = []; var savedPos53 = this._pos; var savedPos54 = this._pos; var savedReportMatchFailuresVar8 = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 2) === "*/") { var result378 = "*/"; this._pos += 2; } else { var result378 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("*/")); } } context.reportMatchFailures = savedReportMatchFailuresVar8; if (result378 === null) { var result376 = ''; } else { var result376 = null; this._pos = savedPos54; } if (result376 !== null) { if (this._input.length > this._pos) { var result377 = this._input[this._pos]; this._pos++; } else { var result377 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result377 !== null) { var result375 = [result376, result377]; } else { var result375 = null; this._pos = savedPos53; } } else { var result375 = null; this._pos = savedPos53; } while (result375 !== null) { result373.push(result375); var savedPos53 = this._pos; var savedPos54 = this._pos; var savedReportMatchFailuresVar8 = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 2) === "*/") { var result378 = "*/"; this._pos += 2; } else { var result378 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("*/")); } } context.reportMatchFailures = savedReportMatchFailuresVar8; if (result378 === null) { var result376 = ''; } else { var result376 = null; this._pos = savedPos54; } if (result376 !== null) { if (this._input.length > this._pos) { var result377 = this._input[this._pos]; this._pos++; } else { var result377 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.AnyMatchFailure()); } } if (result377 !== null) { var result375 = [result376, result377]; } else { var result375 = null; this._pos = savedPos53; } } else { var result375 = null; this._pos = savedPos53; } } if (result373 !== null) { if (this._input.substr(this._pos, 2) === "*/") { var result374 = "*/"; this._pos += 2; } else { var result374 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("*/")); } } if (result374 !== null) { var result371 = [result372, result373, result374]; } else { var result371 = null; this._pos = savedPos52; } } else { var result371 = null; this._pos = savedPos52; } } else { var result371 = null; this._pos = savedPos52; } this._cache["multiLineComment"][pos] = { length: this._pos - pos, result: result371 }; return result371; }; result._parse_eol = function(context) { this._cache["eol"] = this._cache["eol"] || []; var cachedResult = this._cache["eol"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedReportMatchFailures = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 1) === "\n") { var result384 = "\n"; this._pos += 1; } else { var result384 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\n")); } } if (result384 !== null) { var result379 = result384; } else { if (this._input.substr(this._pos, 2) === "\r\n") { var result383 = "\r\n"; this._pos += 2; } else { var result383 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\r\n")); } } if (result383 !== null) { var result379 = result383; } else { if (this._input.substr(this._pos, 1) === "\r") { var result382 = "\r"; this._pos += 1; } else { var result382 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\r")); } } if (result382 !== null) { var result379 = result382; } else { if (this._input.substr(this._pos, 1) === "\u2028") { var result381 = "\u2028"; this._pos += 1; } else { var result381 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\u2028")); } } if (result381 !== null) { var result379 = result381; } else { if (this._input.substr(this._pos, 1) === "\u2029") { var result380 = "\u2029"; this._pos += 1; } else { var result380 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\u2029")); } } if (result380 !== null) { var result379 = result380; } else { var result379 = null;; }; }; }; }; } context.reportMatchFailures = savedReportMatchFailures; if (context.reportMatchFailures && result379 === null) { this._matchFailed(new PEG.Parser.NamedRuleMatchFailure("end of line")); } this._cache["eol"][pos] = { length: this._pos - pos, result: result379 }; return result379; }; result._parse_eolChar = function(context) { this._cache["eolChar"] = this._cache["eolChar"] || []; var cachedResult = this._cache["eolChar"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; if (this._input.substr(this._pos, 1) === "\n") { var result389 = "\n"; this._pos += 1; } else { var result389 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\n")); } } if (result389 !== null) { var result385 = result389; } else { if (this._input.substr(this._pos, 1) === "\r") { var result388 = "\r"; this._pos += 1; } else { var result388 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\r")); } } if (result388 !== null) { var result385 = result388; } else { if (this._input.substr(this._pos, 1) === "\u2028") { var result387 = "\u2028"; this._pos += 1; } else { var result387 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\u2028")); } } if (result387 !== null) { var result385 = result387; } else { if (this._input.substr(this._pos, 1) === "\u2029") { var result386 = "\u2029"; this._pos += 1; } else { var result386 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("\u2029")); } } if (result386 !== null) { var result385 = result386; } else { var result385 = null;; }; }; }; } this._cache["eolChar"][pos] = { length: this._pos - pos, result: result385 }; return result385; }; result._parse_whitespace = function(context) { this._cache["whitespace"] = this._cache["whitespace"] || []; var cachedResult = this._cache["whitespace"][this._pos]; if (cachedResult !== undefined) { this._pos += cachedResult.length; return cachedResult.result; } var pos = this._pos; var savedReportMatchFailures = context.reportMatchFailures; context.reportMatchFailures = false; if (this._input.substr(this._pos, 1) === " ") { var result411 = " "; this._pos += 1; } else { var result411 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result411 !== null) { var result390 = result411; } else { if (this._input.substr(this._pos, 1) === " ") { var result410 = " "; this._pos += 1; } else { var result410 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result410 !== null) { var result390 = result410; } else { if (this._input.substr(this._pos, 1) === " ") { var result409 = " "; this._pos += 1; } else { var result409 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result409 !== null) { var result390 = result409; } else { if (this._input.substr(this._pos, 1) === " ") { var result408 = " "; this._pos += 1; } else { var result408 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result408 !== null) { var result390 = result408; } else { if (this._input.substr(this._pos, 1) === " ") { var result407 = " "; this._pos += 1; } else { var result407 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result407 !== null) { var result390 = result407; } else { if (this._input.substr(this._pos, 1) === " ") { var result406 = " "; this._pos += 1; } else { var result406 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result406 !== null) { var result390 = result406; } else { if (this._input.substr(this._pos, 1) === "᠎") { var result405 = "᠎"; this._pos += 1; } else { var result405 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure("᠎")); } } if (result405 !== null) { var result390 = result405; } else { if (this._input.substr(this._pos, 1) === " ") { var result404 = " "; this._pos += 1; } else { var result404 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result404 !== null) { var result390 = result404; } else { if (this._input.substr(this._pos, 1) === " ") { var result403 = " "; this._pos += 1; } else { var result403 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result403 !== null) { var result390 = result403; } else { if (this._input.substr(this._pos, 1) === " ") { var result402 = " "; this._pos += 1; } else { var result402 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result402 !== null) { var result390 = result402; } else { if (this._input.substr(this._pos, 1) === " ") { var result401 = " "; this._pos += 1; } else { var result401 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result401 !== null) { var result390 = result401; } else { if (this._input.substr(this._pos, 1) === " ") { var result400 = " "; this._pos += 1; } else { var result400 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result400 !== null) { var result390 = result400; } else { if (this._input.substr(this._pos, 1) === " ") { var result399 = " "; this._pos += 1; } else { var result399 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result399 !== null) { var result390 = result399; } else { if (this._input.substr(this._pos, 1) === " ") { var result398 = " "; this._pos += 1; } else { var result398 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result398 !== null) { var result390 = result398; } else { if (this._input.substr(this._pos, 1) === " ") { var result397 = " "; this._pos += 1; } else { var result397 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result397 !== null) { var result390 = result397; } else { if (this._input.substr(this._pos, 1) === " ") { var result396 = " "; this._pos += 1; } else { var result396 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result396 !== null) { var result390 = result396; } else { if (this._input.substr(this._pos, 1) === " ") { var result395 = " "; this._pos += 1; } else { var result395 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result395 !== null) { var result390 = result395; } else { if (this._input.substr(this._pos, 1) === " ") { var result394 = " "; this._pos += 1; } else { var result394 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result394 !== null) { var result390 = result394; } else { if (this._input.substr(this._pos, 1) === " ") { var result393 = " "; this._pos += 1; } else { var result393 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result393 !== null) { var result390 = result393; } else { if (this._input.substr(this._pos, 1) === " ") { var result392 = " "; this._pos += 1; } else { var result392 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result392 !== null) { var result390 = result392; } else { if (this._input.substr(this._pos, 1) === " ") { var result391 = " "; this._pos += 1; } else { var result391 = null; if (context.reportMatchFailures) { this._matchFailed(new PEG.Parser.LiteralMatchFailure(" ")); } } if (result391 !== null) { var result390 = result391; } else { var result390 = null;; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; } context.reportMatchFailures = savedReportMatchFailures; if (context.reportMatchFailures && result390 === null) { this._matchFailed(new PEG.Parser.NamedRuleMatchFailure("whitespace")); } this._cache["whitespace"][pos] = { length: this._pos - pos, result: result390 }; return result390; }; return result; })();