Comparing version 0.9.0 to 0.9.1
@@ -1,612 +0,725 @@ | ||
module.exports = (function() { | ||
/* | ||
* Generated by PEG.js 0.8.0. | ||
* | ||
* http://pegjs.majda.cz/ | ||
*/ | ||
/* | ||
* Generated by PEG.js 0.10.0. | ||
* | ||
* http://pegjs.org/ | ||
*/ | ||
function peg$subclass(child, parent) { | ||
function ctor() { this.constructor = child; } | ||
ctor.prototype = parent.prototype; | ||
child.prototype = new ctor(); | ||
} | ||
"use strict"; | ||
function SyntaxError(message, expected, found, offset, line, column) { | ||
this.message = message; | ||
this.expected = expected; | ||
this.found = found; | ||
this.offset = offset; | ||
this.line = line; | ||
this.column = column; | ||
function peg$subclass(child, parent) { | ||
function ctor() { this.constructor = child; } | ||
ctor.prototype = parent.prototype; | ||
child.prototype = new ctor(); | ||
} | ||
this.name = "SyntaxError"; | ||
function peg$SyntaxError(message, expected, found, location) { | ||
this.message = message; | ||
this.expected = expected; | ||
this.found = found; | ||
this.location = location; | ||
this.name = "SyntaxError"; | ||
if (typeof Error.captureStackTrace === "function") { | ||
Error.captureStackTrace(this, peg$SyntaxError); | ||
} | ||
} | ||
peg$subclass(SyntaxError, Error); | ||
peg$subclass(peg$SyntaxError, Error); | ||
function parse(input) { | ||
var options = arguments.length > 1 ? arguments[1] : {}, | ||
peg$SyntaxError.buildMessage = function(expected, found) { | ||
var DESCRIBE_EXPECTATION_FNS = { | ||
literal: function(expectation) { | ||
return "\"" + literalEscape(expectation.text) + "\""; | ||
}, | ||
peg$FAILED = {}, | ||
"class": function(expectation) { | ||
var escapedParts = "", | ||
i; | ||
peg$startRuleFunctions = { Project: peg$parseProject }, | ||
peg$startRuleFunction = peg$parseProject, | ||
for (i = 0; i < expectation.parts.length; i++) { | ||
escapedParts += expectation.parts[i] instanceof Array | ||
? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) | ||
: classEscape(expectation.parts[i]); | ||
} | ||
peg$c0 = peg$FAILED, | ||
peg$c1 = null, | ||
peg$c2 = function(headComment, obj) { | ||
var proj = Object.create(null) | ||
proj.project = obj | ||
return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; | ||
}, | ||
if (headComment) { | ||
proj.headComment = headComment | ||
} | ||
any: function(expectation) { | ||
return "any character"; | ||
}, | ||
return proj; | ||
}, | ||
peg$c3 = "{", | ||
peg$c4 = { type: "literal", value: "{", description: "\"{\"" }, | ||
peg$c5 = "}", | ||
peg$c6 = { type: "literal", value: "}", description: "\"}\"" }, | ||
peg$c7 = function(obj) { return obj }, | ||
peg$c8 = function() { return Object.create(null) }, | ||
peg$c9 = [], | ||
peg$c10 = function(head, tail) { | ||
if (tail) return merge(head,tail) | ||
else return head | ||
}, | ||
peg$c11 = function(head, tail) { | ||
if (tail) return merge(head,tail) | ||
else return head | ||
}, | ||
peg$c12 = "=", | ||
peg$c13 = { type: "literal", value: "=", description: "\"=\"" }, | ||
peg$c14 = ";", | ||
peg$c15 = { type: "literal", value: ";", description: "\";\"" }, | ||
peg$c16 = function(id, val) { | ||
var result = Object.create(null); | ||
result[id] = val | ||
return result | ||
}, | ||
peg$c17 = function(commentedId, val) { | ||
var result = Object.create(null), | ||
commentKey = commentedId.id + '_comment'; | ||
end: function(expectation) { | ||
return "end of input"; | ||
}, | ||
result[commentedId.id] = val; | ||
result[commentKey] = commentedId[commentKey]; | ||
return result; | ||
other: function(expectation) { | ||
return expectation.description; | ||
} | ||
}; | ||
}, | ||
peg$c18 = function(id, commentedVal) { | ||
var result = Object.create(null); | ||
result[id] = commentedVal.value; | ||
result[id + "_comment"] = commentedVal.comment; | ||
return result; | ||
}, | ||
peg$c19 = function(id, comment) { | ||
var result = Object.create(null); | ||
result.id = id; | ||
result[id + "_comment"] = comment.trim(); | ||
return result | ||
}, | ||
peg$c20 = function(literal, comment) { | ||
var result = Object.create(null) | ||
result.comment = comment.trim(); | ||
result.value = literal.trim(); | ||
return result; | ||
}, | ||
peg$c21 = /^[^*]/, | ||
peg$c22 = { type: "class", value: "[^*]", description: "[^*]" }, | ||
peg$c23 = function(body) { return body.join('') }, | ||
peg$c24 = "/*", | ||
peg$c25 = { type: "literal", value: "/*", description: "\"/*\"" }, | ||
peg$c26 = "*/", | ||
peg$c27 = { type: "literal", value: "*/", description: "\"*/\"" }, | ||
peg$c28 = function(begin, fields) { | ||
var section = Object.create(null); | ||
section[begin.name] = fields | ||
function hex(ch) { | ||
return ch.charCodeAt(0).toString(16).toUpperCase(); | ||
} | ||
return section | ||
}, | ||
peg$c29 = "/* Begin ", | ||
peg$c30 = { type: "literal", value: "/* Begin ", description: "\"/* Begin \"" }, | ||
peg$c31 = " section */", | ||
peg$c32 = { type: "literal", value: " section */", description: "\" section */\"" }, | ||
peg$c33 = function(sectionName) { return { name: sectionName } }, | ||
peg$c34 = "/* End ", | ||
peg$c35 = { type: "literal", value: "/* End ", description: "\"/* End \"" }, | ||
peg$c36 = "(", | ||
peg$c37 = { type: "literal", value: "(", description: "\"(\"" }, | ||
peg$c38 = ")", | ||
peg$c39 = { type: "literal", value: ")", description: "\")\"" }, | ||
peg$c40 = function(arr) { return arr }, | ||
peg$c41 = function() { return [] }, | ||
peg$c42 = function(head, tail) { | ||
if (tail) { | ||
tail.unshift(head); | ||
return tail; | ||
} else { | ||
return [head]; | ||
} | ||
}, | ||
peg$c43 = function(val) { return val }, | ||
peg$c44 = function(val, comment) { | ||
var result = Object.create(null); | ||
result.value = val.trim(); | ||
result.comment = comment.trim(); | ||
return result; | ||
}, | ||
peg$c45 = ",", | ||
peg$c46 = { type: "literal", value: ",", description: "\",\"" }, | ||
peg$c47 = void 0, | ||
peg$c48 = /^[A-Za-z0-9_.]/, | ||
peg$c49 = { type: "class", value: "[A-Za-z0-9_.]", description: "[A-Za-z0-9_.]" }, | ||
peg$c50 = function(id) { return id.join('') }, | ||
peg$c51 = ".", | ||
peg$c52 = { type: "literal", value: ".", description: "\".\"" }, | ||
peg$c53 = function(decimal) { | ||
// store decimals as strings | ||
// as JS doesn't differentiate bw strings and numbers | ||
return decimal.join('') | ||
}, | ||
peg$c54 = function(number) { return parseInt(number.join(''), 10) }, | ||
peg$c55 = function(str) { return '"' + str + '"' }, | ||
peg$c56 = function(str) { return str.join('') }, | ||
peg$c57 = { type: "any", description: "any character" }, | ||
peg$c58 = function(char) { return char }, | ||
peg$c59 = "\\", | ||
peg$c60 = { type: "literal", value: "\\", description: "\"\\\\\"" }, | ||
peg$c61 = function() { return '\\"' }, | ||
peg$c62 = function(literal) { return literal.join('') }, | ||
peg$c63 = /^[^;,\n]/, | ||
peg$c64 = { type: "class", value: "[^;,\\n]", description: "[^;,\\n]" }, | ||
peg$c65 = "//", | ||
peg$c66 = { type: "literal", value: "//", description: "\"//\"" }, | ||
peg$c67 = function(contents) { return contents }, | ||
peg$c68 = function(contents) { return contents.join('') }, | ||
peg$c69 = /^[0-9]/, | ||
peg$c70 = { type: "class", value: "[0-9]", description: "[0-9]" }, | ||
peg$c71 = /^[A-Za-z]/, | ||
peg$c72 = { type: "class", value: "[A-Za-z]", description: "[A-Za-z]" }, | ||
peg$c73 = "\"", | ||
peg$c74 = { type: "literal", value: "\"", description: "\"\\\"\"" }, | ||
peg$c75 = { type: "other", description: "whitespace" }, | ||
peg$c76 = /^[\t ]/, | ||
peg$c77 = { type: "class", value: "[\\t ]", description: "[\\t ]" }, | ||
peg$c78 = /^[\n\r]/, | ||
peg$c79 = { type: "class", value: "[\\n\\r]", description: "[\\n\\r]" }, | ||
function literalEscape(s) { | ||
return s | ||
.replace(/\\/g, '\\\\') | ||
.replace(/"/g, '\\"') | ||
.replace(/\0/g, '\\0') | ||
.replace(/\t/g, '\\t') | ||
.replace(/\n/g, '\\n') | ||
.replace(/\r/g, '\\r') | ||
.replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) | ||
.replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); | ||
} | ||
peg$currPos = 0, | ||
peg$reportedPos = 0, | ||
peg$cachedPos = 0, | ||
peg$cachedPosDetails = { line: 1, column: 1, seenCR: false }, | ||
peg$maxFailPos = 0, | ||
peg$maxFailExpected = [], | ||
peg$silentFails = 0, | ||
function classEscape(s) { | ||
return s | ||
.replace(/\\/g, '\\\\') | ||
.replace(/\]/g, '\\]') | ||
.replace(/\^/g, '\\^') | ||
.replace(/-/g, '\\-') | ||
.replace(/\0/g, '\\0') | ||
.replace(/\t/g, '\\t') | ||
.replace(/\n/g, '\\n') | ||
.replace(/\r/g, '\\r') | ||
.replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) | ||
.replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); | ||
} | ||
peg$result; | ||
function describeExpectation(expectation) { | ||
return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); | ||
} | ||
if ("startRule" in options) { | ||
if (!(options.startRule in peg$startRuleFunctions)) { | ||
throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); | ||
} | ||
function describeExpected(expected) { | ||
var descriptions = new Array(expected.length), | ||
i, j; | ||
peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; | ||
for (i = 0; i < expected.length; i++) { | ||
descriptions[i] = describeExpectation(expected[i]); | ||
} | ||
function text() { | ||
return input.substring(peg$reportedPos, peg$currPos); | ||
} | ||
descriptions.sort(); | ||
function offset() { | ||
return peg$reportedPos; | ||
if (descriptions.length > 0) { | ||
for (i = 1, j = 1; i < descriptions.length; i++) { | ||
if (descriptions[i - 1] !== descriptions[i]) { | ||
descriptions[j] = descriptions[i]; | ||
j++; | ||
} | ||
} | ||
descriptions.length = j; | ||
} | ||
function line() { | ||
return peg$computePosDetails(peg$reportedPos).line; | ||
} | ||
switch (descriptions.length) { | ||
case 1: | ||
return descriptions[0]; | ||
function column() { | ||
return peg$computePosDetails(peg$reportedPos).column; | ||
} | ||
case 2: | ||
return descriptions[0] + " or " + descriptions[1]; | ||
function expected(description) { | ||
throw peg$buildException( | ||
null, | ||
[{ type: "other", description: description }], | ||
peg$reportedPos | ||
); | ||
default: | ||
return descriptions.slice(0, -1).join(", ") | ||
+ ", or " | ||
+ descriptions[descriptions.length - 1]; | ||
} | ||
} | ||
function error(message) { | ||
throw peg$buildException(message, null, peg$reportedPos); | ||
} | ||
function describeFound(found) { | ||
return found ? "\"" + literalEscape(found) + "\"" : "end of input"; | ||
} | ||
function peg$computePosDetails(pos) { | ||
function advance(details, startPos, endPos) { | ||
var p, ch; | ||
return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; | ||
}; | ||
for (p = startPos; p < endPos; p++) { | ||
ch = input.charAt(p); | ||
if (ch === "\n") { | ||
if (!details.seenCR) { details.line++; } | ||
details.column = 1; | ||
details.seenCR = false; | ||
} else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") { | ||
details.line++; | ||
details.column = 1; | ||
details.seenCR = true; | ||
} else { | ||
details.column++; | ||
details.seenCR = false; | ||
} | ||
} | ||
} | ||
function peg$parse(input, options) { | ||
options = options !== void 0 ? options : {}; | ||
if (peg$cachedPos !== pos) { | ||
if (peg$cachedPos > pos) { | ||
peg$cachedPos = 0; | ||
peg$cachedPosDetails = { line: 1, column: 1, seenCR: false }; | ||
} | ||
advance(peg$cachedPosDetails, peg$cachedPos, pos); | ||
peg$cachedPos = pos; | ||
} | ||
var peg$FAILED = {}, | ||
return peg$cachedPosDetails; | ||
} | ||
peg$startRuleFunctions = { Project: peg$parseProject }, | ||
peg$startRuleFunction = peg$parseProject, | ||
function peg$fail(expected) { | ||
if (peg$currPos < peg$maxFailPos) { return; } | ||
peg$c0 = function(headComment, obj) { | ||
var proj = Object.create(null) | ||
proj.project = obj | ||
if (peg$currPos > peg$maxFailPos) { | ||
peg$maxFailPos = peg$currPos; | ||
peg$maxFailExpected = []; | ||
} | ||
if (headComment) { | ||
proj.headComment = headComment | ||
} | ||
peg$maxFailExpected.push(expected); | ||
return proj; | ||
}, | ||
peg$c1 = "{", | ||
peg$c2 = peg$literalExpectation("{", false), | ||
peg$c3 = "}", | ||
peg$c4 = peg$literalExpectation("}", false), | ||
peg$c5 = function(obj) { return obj }, | ||
peg$c6 = function() { return Object.create(null) }, | ||
peg$c7 = function(list) { | ||
var returnObject = list[0][0]; | ||
for(var i = 1; i < list.length; i++){ | ||
var another = list[i][0]; | ||
returnObject = merge_obj(returnObject, another); | ||
} | ||
return returnObject; | ||
}, | ||
peg$c8 = "=", | ||
peg$c9 = peg$literalExpectation("=", false), | ||
peg$c10 = ";", | ||
peg$c11 = peg$literalExpectation(";", false), | ||
peg$c12 = function(id, val) { | ||
var result = Object.create(null); | ||
result[id] = val | ||
return result | ||
}, | ||
peg$c13 = function(commentedId, val) { | ||
var result = Object.create(null), | ||
commentKey = commentedId.id + '_comment'; | ||
result[commentedId.id] = val; | ||
result[commentKey] = commentedId[commentKey]; | ||
return result; | ||
}, | ||
peg$c14 = function(id, commentedVal) { | ||
var result = Object.create(null); | ||
result[id] = commentedVal.value; | ||
result[id + "_comment"] = commentedVal.comment; | ||
return result; | ||
}, | ||
peg$c15 = function(id, comment) { | ||
var result = Object.create(null); | ||
result.id = id; | ||
result[id + "_comment"] = comment.trim(); | ||
return result | ||
}, | ||
peg$c16 = function(literal, comment) { | ||
var result = Object.create(null) | ||
result.comment = comment.trim(); | ||
result.value = literal.trim(); | ||
return result; | ||
}, | ||
peg$c17 = /^[^*]/, | ||
peg$c18 = peg$classExpectation(["*"], true, false), | ||
peg$c19 = function(body) { return body.join('') }, | ||
peg$c20 = "/*", | ||
peg$c21 = peg$literalExpectation("/*", false), | ||
peg$c22 = "*/", | ||
peg$c23 = peg$literalExpectation("*/", false), | ||
peg$c24 = function(begin, fields) { | ||
var section = Object.create(null); | ||
section[begin.name] = fields | ||
return section | ||
}, | ||
peg$c25 = "/* Begin ", | ||
peg$c26 = peg$literalExpectation("/* Begin ", false), | ||
peg$c27 = " section */", | ||
peg$c28 = peg$literalExpectation(" section */", false), | ||
peg$c29 = function(sectionName) { return { name: sectionName } }, | ||
peg$c30 = "/* End ", | ||
peg$c31 = peg$literalExpectation("/* End ", false), | ||
peg$c32 = "(", | ||
peg$c33 = peg$literalExpectation("(", false), | ||
peg$c34 = ")", | ||
peg$c35 = peg$literalExpectation(")", false), | ||
peg$c36 = function(arr) { return arr }, | ||
peg$c37 = function() { return [] }, | ||
peg$c38 = function(head, tail) { | ||
if (tail) { | ||
tail.unshift(head); | ||
return tail; | ||
} else { | ||
return [head]; | ||
} | ||
}, | ||
peg$c39 = function(val) { return val }, | ||
peg$c40 = function(val, comment) { | ||
var result = Object.create(null); | ||
result.value = val.trim(); | ||
result.comment = comment.trim(); | ||
return result; | ||
}, | ||
peg$c41 = ",", | ||
peg$c42 = peg$literalExpectation(",", false), | ||
peg$c43 = /^[A-Za-z0-9_.]/, | ||
peg$c44 = peg$classExpectation([["A", "Z"], ["a", "z"], ["0", "9"], "_", "."], false, false), | ||
peg$c45 = function(id) { return id.join('') }, | ||
peg$c46 = ".", | ||
peg$c47 = peg$literalExpectation(".", false), | ||
peg$c48 = function(decimal) { | ||
// store decimals as strings | ||
// as JS doesn't differentiate bw strings and numbers | ||
return decimal.join('') | ||
}, | ||
peg$c49 = function(number) { return parseInt(number.join(''), 10) }, | ||
peg$c50 = function(str) { return '"' + str + '"' }, | ||
peg$c51 = function(str) { return str.join('') }, | ||
peg$c52 = peg$anyExpectation(), | ||
peg$c53 = function(char) { return char }, | ||
peg$c54 = "\\", | ||
peg$c55 = peg$literalExpectation("\\", false), | ||
peg$c56 = function() { return '\\"' }, | ||
peg$c57 = function(literal) { return literal.join('') }, | ||
peg$c58 = /^[^;,\n]/, | ||
peg$c59 = peg$classExpectation([";", ",", "\n"], true, false), | ||
peg$c60 = "//", | ||
peg$c61 = peg$literalExpectation("//", false), | ||
peg$c62 = function(contents) { return contents }, | ||
peg$c63 = function(contents) { return contents.join('') }, | ||
peg$c64 = /^[0-9]/, | ||
peg$c65 = peg$classExpectation([["0", "9"]], false, false), | ||
peg$c66 = /^[A-Za-z]/, | ||
peg$c67 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false), | ||
peg$c68 = "\"", | ||
peg$c69 = peg$literalExpectation("\"", false), | ||
peg$c70 = peg$otherExpectation("whitespace"), | ||
peg$c71 = /^[\t ]/, | ||
peg$c72 = peg$classExpectation(["\t", " "], false, false), | ||
peg$c73 = /^[\n\r]/, | ||
peg$c74 = peg$classExpectation(["\n", "\r"], false, false), | ||
peg$currPos = 0, | ||
peg$savedPos = 0, | ||
peg$posDetailsCache = [{ line: 1, column: 1 }], | ||
peg$maxFailPos = 0, | ||
peg$maxFailExpected = [], | ||
peg$silentFails = 0, | ||
peg$result; | ||
if ("startRule" in options) { | ||
if (!(options.startRule in peg$startRuleFunctions)) { | ||
throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); | ||
} | ||
function peg$buildException(message, expected, pos) { | ||
function cleanupExpected(expected) { | ||
var i = 1; | ||
peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; | ||
} | ||
expected.sort(function(a, b) { | ||
if (a.description < b.description) { | ||
return -1; | ||
} else if (a.description > b.description) { | ||
return 1; | ||
} else { | ||
return 0; | ||
} | ||
}); | ||
function text() { | ||
return input.substring(peg$savedPos, peg$currPos); | ||
} | ||
while (i < expected.length) { | ||
if (expected[i - 1] === expected[i]) { | ||
expected.splice(i, 1); | ||
} else { | ||
i++; | ||
} | ||
} | ||
} | ||
function location() { | ||
return peg$computeLocation(peg$savedPos, peg$currPos); | ||
} | ||
function buildMessage(expected, found) { | ||
function stringEscape(s) { | ||
function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } | ||
function expected(description, location) { | ||
location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) | ||
return s | ||
.replace(/\\/g, '\\\\') | ||
.replace(/"/g, '\\"') | ||
.replace(/\x08/g, '\\b') | ||
.replace(/\t/g, '\\t') | ||
.replace(/\n/g, '\\n') | ||
.replace(/\f/g, '\\f') | ||
.replace(/\r/g, '\\r') | ||
.replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) | ||
.replace(/[\x10-\x1F\x80-\xFF]/g, function(ch) { return '\\x' + hex(ch); }) | ||
.replace(/[\u0180-\u0FFF]/g, function(ch) { return '\\u0' + hex(ch); }) | ||
.replace(/[\u1080-\uFFFF]/g, function(ch) { return '\\u' + hex(ch); }); | ||
} | ||
throw peg$buildStructuredError( | ||
[peg$otherExpectation(description)], | ||
input.substring(peg$savedPos, peg$currPos), | ||
location | ||
); | ||
} | ||
var expectedDescs = new Array(expected.length), | ||
expectedDesc, foundDesc, i; | ||
function error(message, location) { | ||
location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) | ||
for (i = 0; i < expected.length; i++) { | ||
expectedDescs[i] = expected[i].description; | ||
} | ||
throw peg$buildSimpleError(message, location); | ||
} | ||
expectedDesc = expected.length > 1 | ||
? expectedDescs.slice(0, -1).join(", ") | ||
+ " or " | ||
+ expectedDescs[expected.length - 1] | ||
: expectedDescs[0]; | ||
function peg$literalExpectation(text, ignoreCase) { | ||
return { type: "literal", text: text, ignoreCase: ignoreCase }; | ||
} | ||
foundDesc = found ? "\"" + stringEscape(found) + "\"" : "end of input"; | ||
function peg$classExpectation(parts, inverted, ignoreCase) { | ||
return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; | ||
} | ||
return "Expected " + expectedDesc + " but " + foundDesc + " found."; | ||
function peg$anyExpectation() { | ||
return { type: "any" }; | ||
} | ||
function peg$endExpectation() { | ||
return { type: "end" }; | ||
} | ||
function peg$otherExpectation(description) { | ||
return { type: "other", description: description }; | ||
} | ||
function peg$computePosDetails(pos) { | ||
var details = peg$posDetailsCache[pos], p; | ||
if (details) { | ||
return details; | ||
} else { | ||
p = pos - 1; | ||
while (!peg$posDetailsCache[p]) { | ||
p--; | ||
} | ||
var posDetails = peg$computePosDetails(pos), | ||
found = pos < input.length ? input.charAt(pos) : null; | ||
details = peg$posDetailsCache[p]; | ||
details = { | ||
line: details.line, | ||
column: details.column | ||
}; | ||
if (expected !== null) { | ||
cleanupExpected(expected); | ||
while (p < pos) { | ||
if (input.charCodeAt(p) === 10) { | ||
details.line++; | ||
details.column = 1; | ||
} else { | ||
details.column++; | ||
} | ||
p++; | ||
} | ||
return new SyntaxError( | ||
message !== null ? message : buildMessage(expected, found), | ||
expected, | ||
found, | ||
pos, | ||
posDetails.line, | ||
posDetails.column | ||
); | ||
peg$posDetailsCache[pos] = details; | ||
return details; | ||
} | ||
} | ||
function peg$parseProject() { | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
function peg$computeLocation(startPos, endPos) { | ||
var startPosDetails = peg$computePosDetails(startPos), | ||
endPosDetails = peg$computePosDetails(endPos); | ||
s0 = peg$currPos; | ||
s1 = peg$parseSingleLineComment(); | ||
if (s1 === peg$FAILED) { | ||
s1 = peg$c1; | ||
return { | ||
start: { | ||
offset: startPos, | ||
line: startPosDetails.line, | ||
column: startPosDetails.column | ||
}, | ||
end: { | ||
offset: endPos, | ||
line: endPosDetails.line, | ||
column: endPosDetails.column | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseInlineComment(); | ||
if (s2 === peg$FAILED) { | ||
s2 = peg$c1; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parse_(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseObject(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseNewLine(); | ||
if (s5 !== peg$FAILED) { | ||
s6 = peg$parse_(); | ||
if (s6 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c2(s1, s4); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
}; | ||
} | ||
function peg$fail(expected) { | ||
if (peg$currPos < peg$maxFailPos) { return; } | ||
if (peg$currPos > peg$maxFailPos) { | ||
peg$maxFailPos = peg$currPos; | ||
peg$maxFailExpected = []; | ||
} | ||
peg$maxFailExpected.push(expected); | ||
} | ||
function peg$buildSimpleError(message, location) { | ||
return new peg$SyntaxError(message, null, null, location); | ||
} | ||
function peg$buildStructuredError(expected, found, location) { | ||
return new peg$SyntaxError( | ||
peg$SyntaxError.buildMessage(expected, found), | ||
expected, | ||
found, | ||
location | ||
); | ||
} | ||
function peg$parseProject() { | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
s0 = peg$currPos; | ||
s1 = peg$parseSingleLineComment(); | ||
if (s1 === peg$FAILED) { | ||
s1 = null; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseInlineComment(); | ||
if (s2 === peg$FAILED) { | ||
s2 = null; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parse_(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseObject(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseNewLine(); | ||
if (s5 !== peg$FAILED) { | ||
s6 = peg$parse_(); | ||
if (s6 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c0(s1, s4); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseObject() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 123) { | ||
s1 = peg$c3; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c4); } | ||
function peg$parseObject() { | ||
var s0, s1, s2, s3; | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 123) { | ||
s1 = peg$c1; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c2); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseAssignmentList(); | ||
if (s2 === peg$FAILED) { | ||
s2 = peg$parseEmptyBody(); | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseAssignmentList(); | ||
if (s2 === peg$FAILED) { | ||
s2 = peg$parseEmptyBody(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 125) { | ||
s3 = peg$c3; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c4); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 125) { | ||
s3 = peg$c5; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c6); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c7(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
if (s3 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c5(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseEmptyBody() { | ||
var s0, s1; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c8(); | ||
} | ||
s0 = s1; | ||
function peg$parseEmptyBody() { | ||
var s0, s1; | ||
return s0; | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c6(); | ||
} | ||
s0 = s1; | ||
function peg$parseAssignmentList() { | ||
var s0, s1, s2, s3, s4, s5; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseAssignment(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parse_(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = []; | ||
s5 = peg$parseAssignmentList(); | ||
while (s5 !== peg$FAILED) { | ||
s4.push(s5); | ||
s5 = peg$parseAssignmentList(); | ||
} | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c10(s2, s4); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseAssignmentList() { | ||
var s0, s1, s2, s3, s4, s5; | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = []; | ||
s3 = peg$currPos; | ||
s4 = peg$parseAssignment(); | ||
if (s4 === peg$FAILED) { | ||
s4 = peg$parseDelimitedSection(); | ||
} | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
s4 = [s4, s5]; | ||
s3 = s4; | ||
} else { | ||
peg$currPos = s3; | ||
s3 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s3; | ||
s3 = peg$FAILED; | ||
} | ||
if (s3 !== peg$FAILED) { | ||
while (s3 !== peg$FAILED) { | ||
s2.push(s3); | ||
s3 = peg$currPos; | ||
s4 = peg$parseAssignment(); | ||
if (s4 === peg$FAILED) { | ||
s4 = peg$parseDelimitedSection(); | ||
} | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
s4 = [s4, s5]; | ||
s3 = s4; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
peg$currPos = s3; | ||
s3 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
peg$currPos = s3; | ||
s3 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
s2 = peg$FAILED; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c7(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseDelimitedSection(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parse_(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = []; | ||
s5 = peg$parseAssignmentList(); | ||
while (s5 !== peg$FAILED) { | ||
s4.push(s5); | ||
s5 = peg$parseAssignmentList(); | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} | ||
function peg$parseAssignment() { | ||
var s0; | ||
s0 = peg$parseSimpleAssignment(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseCommentedAssignment(); | ||
} | ||
return s0; | ||
} | ||
function peg$parseSimpleAssignment() { | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
s0 = peg$currPos; | ||
s1 = peg$parseIdentifier(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 61) { | ||
s3 = peg$c8; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c9); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseValue(); | ||
if (s5 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 59) { | ||
s6 = peg$c10; | ||
peg$currPos++; | ||
} else { | ||
s6 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c11); } | ||
} | ||
if (s4 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c11(s2, s4); | ||
if (s6 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c12(s1, s5); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseAssignment() { | ||
var s0; | ||
return s0; | ||
} | ||
s0 = peg$parseSimpleAssignment(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseCommentedAssignment(); | ||
} | ||
function peg$parseCommentedAssignment() { | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
return s0; | ||
} | ||
function peg$parseSimpleAssignment() { | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
s0 = peg$currPos; | ||
s1 = peg$parseIdentifier(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 61) { | ||
s3 = peg$c12; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c13); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseValue(); | ||
if (s5 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 59) { | ||
s6 = peg$c14; | ||
peg$currPos++; | ||
} else { | ||
s6 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c15); } | ||
} | ||
if (s6 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c16(s1, s5); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseCommentedIdentifier(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 61) { | ||
s3 = peg$c8; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c9); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseValue(); | ||
if (s5 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 59) { | ||
s6 = peg$c10; | ||
peg$currPos++; | ||
} else { | ||
s6 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c11); } | ||
} | ||
if (s6 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c13(s1, s5); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseCommentedAssignment() { | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
s1 = peg$parseCommentedIdentifier(); | ||
s1 = peg$parseIdentifier(); | ||
if (s1 !== peg$FAILED) { | ||
@@ -616,7 +729,7 @@ s2 = peg$parse_(); | ||
if (input.charCodeAt(peg$currPos) === 61) { | ||
s3 = peg$c12; | ||
s3 = peg$c8; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c13); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c9); } | ||
} | ||
@@ -626,1220 +739,1163 @@ if (s3 !== peg$FAILED) { | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseValue(); | ||
s5 = peg$parseCommentedValue(); | ||
if (s5 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 59) { | ||
s6 = peg$c14; | ||
s6 = peg$c10; | ||
peg$currPos++; | ||
} else { | ||
s6 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c15); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c11); } | ||
} | ||
if (s6 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c17(s1, s5); | ||
peg$savedPos = s0; | ||
s1 = peg$c14(s1, s5); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
s1 = peg$parseIdentifier(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 61) { | ||
s3 = peg$c12; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c13); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseCommentedValue(); | ||
if (s5 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 59) { | ||
s6 = peg$c14; | ||
peg$currPos++; | ||
} else { | ||
s6 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c15); } | ||
} | ||
if (s6 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c18(s1, s5); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} | ||
return s0; | ||
} | ||
function peg$parseCommentedIdentifier() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseIdentifier(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineComment(); | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c19(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseCommentedIdentifier() { | ||
var s0, s1, s2, s3; | ||
s0 = peg$currPos; | ||
s1 = peg$parseIdentifier(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineComment(); | ||
if (s3 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c15(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseCommentedValue() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseValue(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineComment(); | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c20(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseCommentedValue() { | ||
var s0, s1, s2, s3; | ||
s0 = peg$currPos; | ||
s1 = peg$parseValue(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineComment(); | ||
if (s3 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c16(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseInlineComment() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseInlineCommentOpen(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = []; | ||
if (peg$c21.test(input.charAt(peg$currPos))) { | ||
s3 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c22); } | ||
function peg$parseInlineComment() { | ||
var s0, s1, s2, s3; | ||
s0 = peg$currPos; | ||
s1 = peg$parseInlineCommentOpen(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = []; | ||
if (peg$c17.test(input.charAt(peg$currPos))) { | ||
s3 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c18); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
while (s3 !== peg$FAILED) { | ||
s2.push(s3); | ||
if (peg$c17.test(input.charAt(peg$currPos))) { | ||
s3 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c18); } | ||
} | ||
} | ||
} else { | ||
s2 = peg$FAILED; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineCommentClose(); | ||
if (s3 !== peg$FAILED) { | ||
while (s3 !== peg$FAILED) { | ||
s2.push(s3); | ||
if (peg$c21.test(input.charAt(peg$currPos))) { | ||
s3 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c22); } | ||
} | ||
} | ||
peg$savedPos = s0; | ||
s1 = peg$c19(s2); | ||
s0 = s1; | ||
} else { | ||
s2 = peg$c0; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineCommentClose(); | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c23(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseInlineCommentOpen() { | ||
var s0; | ||
return s0; | ||
} | ||
if (input.substr(peg$currPos, 2) === peg$c24) { | ||
s0 = peg$c24; | ||
peg$currPos += 2; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c25); } | ||
} | ||
function peg$parseInlineCommentOpen() { | ||
var s0; | ||
return s0; | ||
if (input.substr(peg$currPos, 2) === peg$c20) { | ||
s0 = peg$c20; | ||
peg$currPos += 2; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c21); } | ||
} | ||
function peg$parseInlineCommentClose() { | ||
var s0; | ||
return s0; | ||
} | ||
if (input.substr(peg$currPos, 2) === peg$c26) { | ||
s0 = peg$c26; | ||
peg$currPos += 2; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c27); } | ||
} | ||
function peg$parseInlineCommentClose() { | ||
var s0; | ||
return s0; | ||
if (input.substr(peg$currPos, 2) === peg$c22) { | ||
s0 = peg$c22; | ||
peg$currPos += 2; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c23); } | ||
} | ||
function peg$parseDelimitedSection() { | ||
var s0, s1, s2, s3, s4, s5; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseDelimitedSectionBegin(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseAssignmentList(); | ||
if (s3 === peg$FAILED) { | ||
s3 = peg$parseEmptyBody(); | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseDelimitedSectionEnd(); | ||
if (s5 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c28(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseDelimitedSection() { | ||
var s0, s1, s2, s3, s4, s5; | ||
s0 = peg$currPos; | ||
s1 = peg$parseDelimitedSectionBegin(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseAssignmentList(); | ||
if (s3 === peg$FAILED) { | ||
s3 = peg$parseEmptyBody(); | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parseDelimitedSectionEnd(); | ||
if (s5 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c24(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseDelimitedSectionBegin() { | ||
var s0, s1, s2, s3, s4; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
if (input.substr(peg$currPos, 9) === peg$c29) { | ||
s1 = peg$c29; | ||
peg$currPos += 9; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c30); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseIdentifier(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.substr(peg$currPos, 11) === peg$c31) { | ||
s3 = peg$c31; | ||
peg$currPos += 11; | ||
function peg$parseDelimitedSectionBegin() { | ||
var s0, s1, s2, s3, s4; | ||
s0 = peg$currPos; | ||
if (input.substr(peg$currPos, 9) === peg$c25) { | ||
s1 = peg$c25; | ||
peg$currPos += 9; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c26); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseIdentifier(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.substr(peg$currPos, 11) === peg$c27) { | ||
s3 = peg$c27; | ||
peg$currPos += 11; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c28); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseNewLine(); | ||
if (s4 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c29(s2); | ||
s0 = s1; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c32); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseNewLine(); | ||
if (s4 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c33(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseDelimitedSectionEnd() { | ||
var s0, s1, s2, s3, s4; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
if (input.substr(peg$currPos, 7) === peg$c34) { | ||
s1 = peg$c34; | ||
peg$currPos += 7; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c35); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseIdentifier(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.substr(peg$currPos, 11) === peg$c31) { | ||
s3 = peg$c31; | ||
peg$currPos += 11; | ||
function peg$parseDelimitedSectionEnd() { | ||
var s0, s1, s2, s3, s4; | ||
s0 = peg$currPos; | ||
if (input.substr(peg$currPos, 7) === peg$c30) { | ||
s1 = peg$c30; | ||
peg$currPos += 7; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c31); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseIdentifier(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.substr(peg$currPos, 11) === peg$c27) { | ||
s3 = peg$c27; | ||
peg$currPos += 11; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c28); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseNewLine(); | ||
if (s4 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c29(s2); | ||
s0 = s1; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c32); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseNewLine(); | ||
if (s4 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c33(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseArray() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 40) { | ||
s1 = peg$c36; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c37); } | ||
function peg$parseArray() { | ||
var s0, s1, s2, s3; | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 40) { | ||
s1 = peg$c32; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c33); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseArrayBody(); | ||
if (s2 === peg$FAILED) { | ||
s2 = peg$parseEmptyArray(); | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseArrayBody(); | ||
if (s2 === peg$FAILED) { | ||
s2 = peg$parseEmptyArray(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 41) { | ||
s3 = peg$c34; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c35); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 41) { | ||
s3 = peg$c38; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c39); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c40(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
if (s3 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c36(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseEmptyArray() { | ||
var s0, s1; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c41(); | ||
} | ||
s0 = s1; | ||
function peg$parseEmptyArray() { | ||
var s0, s1; | ||
return s0; | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c37(); | ||
} | ||
s0 = s1; | ||
function peg$parseArrayBody() { | ||
var s0, s1, s2, s3, s4, s5; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseArrayEntry(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parse_(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseArrayBody(); | ||
if (s4 === peg$FAILED) { | ||
s4 = peg$c1; | ||
} | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c42(s2, s4); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseArrayBody() { | ||
var s0, s1, s2, s3, s4, s5; | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseArrayEntry(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parse_(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseArrayBody(); | ||
if (s4 === peg$FAILED) { | ||
s4 = null; | ||
} | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c38(s2, s4); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseArrayEntry() { | ||
var s0; | ||
return s0; | ||
} | ||
s0 = peg$parseSimpleArrayEntry(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseCommentedArrayEntry(); | ||
} | ||
function peg$parseArrayEntry() { | ||
var s0; | ||
return s0; | ||
s0 = peg$parseSimpleArrayEntry(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseCommentedArrayEntry(); | ||
} | ||
function peg$parseSimpleArrayEntry() { | ||
var s0, s1, s2; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseValue(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseEndArrayEntry(); | ||
if (s2 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c43(s1); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseSimpleArrayEntry() { | ||
var s0, s1, s2; | ||
s0 = peg$currPos; | ||
s1 = peg$parseValue(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseEndArrayEntry(); | ||
if (s2 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c39(s1); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseCommentedArrayEntry() { | ||
var s0, s1, s2, s3, s4; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseValue(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineComment(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseEndArrayEntry(); | ||
if (s4 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c44(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseCommentedArrayEntry() { | ||
var s0, s1, s2, s3, s4; | ||
s0 = peg$currPos; | ||
s1 = peg$parseValue(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseInlineComment(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseEndArrayEntry(); | ||
if (s4 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c40(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseEndArrayEntry() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
if (input.charCodeAt(peg$currPos) === 44) { | ||
s0 = peg$c45; | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c46); } | ||
} | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$currPos; | ||
peg$silentFails++; | ||
if (input.charCodeAt(peg$currPos) === 41) { | ||
s3 = peg$c38; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c39); } | ||
} | ||
peg$silentFails--; | ||
if (s3 !== peg$FAILED) { | ||
peg$currPos = s2; | ||
s2 = peg$c47; | ||
} else { | ||
s2 = peg$c0; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s1 = [s1, s2]; | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseEndArrayEntry() { | ||
var s0, s1, s2, s3; | ||
if (input.charCodeAt(peg$currPos) === 44) { | ||
s0 = peg$c41; | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c42); } | ||
} | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
s1 = peg$parse_(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$currPos; | ||
peg$silentFails++; | ||
if (input.charCodeAt(peg$currPos) === 41) { | ||
s3 = peg$c34; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c35); } | ||
} | ||
peg$silentFails--; | ||
if (s3 !== peg$FAILED) { | ||
peg$currPos = s2; | ||
s2 = void 0; | ||
} else { | ||
s2 = peg$FAILED; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s1 = [s1, s2]; | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} | ||
function peg$parseIdentifier() { | ||
var s0, s1, s2; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = []; | ||
if (peg$c48.test(input.charAt(peg$currPos))) { | ||
s2 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c49); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
if (peg$c48.test(input.charAt(peg$currPos))) { | ||
s2 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c49); } | ||
} | ||
function peg$parseIdentifier() { | ||
var s0, s1, s2; | ||
s0 = peg$currPos; | ||
s1 = []; | ||
if (peg$c43.test(input.charAt(peg$currPos))) { | ||
s2 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c44); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
if (peg$c43.test(input.charAt(peg$currPos))) { | ||
s2 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c44); } | ||
} | ||
} else { | ||
s1 = peg$c0; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c50(s1); | ||
} | ||
s0 = s1; | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseQuotedString(); | ||
} | ||
return s0; | ||
} else { | ||
s1 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c45(s1); | ||
} | ||
s0 = s1; | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseQuotedString(); | ||
} | ||
function peg$parseValue() { | ||
var s0; | ||
return s0; | ||
} | ||
s0 = peg$parseObject(); | ||
function peg$parseValue() { | ||
var s0; | ||
s0 = peg$parseObject(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseArray(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseArray(); | ||
s0 = peg$parseNumberValue(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseNumberValue(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseStringValue(); | ||
} | ||
s0 = peg$parseStringValue(); | ||
} | ||
} | ||
return s0; | ||
} | ||
function peg$parseNumberValue() { | ||
var s0; | ||
return s0; | ||
} | ||
s0 = peg$parseDecimalValue(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseIntegerValue(); | ||
} | ||
function peg$parseNumberValue() { | ||
var s0; | ||
return s0; | ||
s0 = peg$parseDecimalValue(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseIntegerValue(); | ||
} | ||
function peg$parseDecimalValue() { | ||
var s0, s1, s2, s3, s4; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
s2 = peg$parseIntegerValue(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 46) { | ||
s3 = peg$c51; | ||
peg$currPos++; | ||
function peg$parseDecimalValue() { | ||
var s0, s1, s2, s3, s4; | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
s2 = peg$parseIntegerValue(); | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 46) { | ||
s3 = peg$c46; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c47); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseIntegerValue(); | ||
if (s4 !== peg$FAILED) { | ||
s2 = [s2, s3, s4]; | ||
s1 = s2; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c52); } | ||
} | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseIntegerValue(); | ||
if (s4 !== peg$FAILED) { | ||
s2 = [s2, s3, s4]; | ||
s1 = s2; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
s1 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
s1 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c53(s1); | ||
} | ||
s0 = s1; | ||
return s0; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c48(s1); | ||
} | ||
s0 = s1; | ||
function peg$parseIntegerValue() { | ||
var s0, s1, s2, s3, s4; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseAlpha(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = peg$c47; | ||
function peg$parseIntegerValue() { | ||
var s0, s1, s2, s3, s4; | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseAlpha(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = void 0; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = []; | ||
s3 = peg$parseDigit(); | ||
if (s3 !== peg$FAILED) { | ||
while (s3 !== peg$FAILED) { | ||
s2.push(s3); | ||
s3 = peg$parseDigit(); | ||
} | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
s2 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = []; | ||
s3 = peg$parseDigit(); | ||
if (s3 !== peg$FAILED) { | ||
while (s3 !== peg$FAILED) { | ||
s2.push(s3); | ||
s3 = peg$parseDigit(); | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$currPos; | ||
peg$silentFails++; | ||
s4 = peg$parseNonTerminator(); | ||
peg$silentFails--; | ||
if (s4 === peg$FAILED) { | ||
s3 = void 0; | ||
} else { | ||
s2 = peg$c0; | ||
peg$currPos = s3; | ||
s3 = peg$FAILED; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$currPos; | ||
peg$silentFails++; | ||
s4 = peg$parseNonTerminator(); | ||
peg$silentFails--; | ||
if (s4 === peg$FAILED) { | ||
s3 = peg$c47; | ||
} else { | ||
peg$currPos = s3; | ||
s3 = peg$c0; | ||
} | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c54(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
if (s3 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c49(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseStringValue() { | ||
var s0; | ||
return s0; | ||
} | ||
s0 = peg$parseQuotedString(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseLiteralString(); | ||
} | ||
function peg$parseStringValue() { | ||
var s0; | ||
return s0; | ||
s0 = peg$parseQuotedString(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parseLiteralString(); | ||
} | ||
function peg$parseQuotedString() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$parseDoubleQuote(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseQuotedBody(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseDoubleQuote(); | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c55(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseQuotedString() { | ||
var s0, s1, s2, s3; | ||
s0 = peg$currPos; | ||
s1 = peg$parseDoubleQuote(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseQuotedBody(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseDoubleQuote(); | ||
if (s3 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c50(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseQuotedBody() { | ||
var s0, s1, s2; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = []; | ||
s2 = peg$parseNonQuote(); | ||
if (s2 !== peg$FAILED) { | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
s2 = peg$parseNonQuote(); | ||
} | ||
} else { | ||
s1 = peg$c0; | ||
function peg$parseQuotedBody() { | ||
var s0, s1, s2; | ||
s0 = peg$currPos; | ||
s1 = []; | ||
s2 = peg$parseNonQuote(); | ||
if (s2 !== peg$FAILED) { | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
s2 = peg$parseNonQuote(); | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c56(s1); | ||
} | ||
s0 = s1; | ||
return s0; | ||
} else { | ||
s1 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c51(s1); | ||
} | ||
s0 = s1; | ||
function peg$parseNonQuote() { | ||
var s0, s1, s2; | ||
return s0; | ||
} | ||
s0 = peg$parseEscapedQuote(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseDoubleQuote(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = peg$c47; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
if (input.length > peg$currPos) { | ||
s2 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c57); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c58(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} | ||
function peg$parseNonQuote() { | ||
var s0, s1, s2; | ||
return s0; | ||
} | ||
function peg$parseEscapedQuote() { | ||
var s0, s1, s2; | ||
s0 = peg$parseEscapedQuote(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 92) { | ||
s1 = peg$c59; | ||
peg$currPos++; | ||
s1 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseDoubleQuote(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = void 0; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c60); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseDoubleQuote(); | ||
if (input.length > peg$currPos) { | ||
s2 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c52); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c61(); | ||
peg$savedPos = s0; | ||
s1 = peg$c53(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} | ||
function peg$parseLiteralString() { | ||
var s0, s1, s2; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = []; | ||
s2 = peg$parseLiteralChar(); | ||
function peg$parseEscapedQuote() { | ||
var s0, s1, s2; | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 92) { | ||
s1 = peg$c54; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c55); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseDoubleQuote(); | ||
if (s2 !== peg$FAILED) { | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
s2 = peg$parseLiteralChar(); | ||
} | ||
peg$savedPos = s0; | ||
s1 = peg$c56(); | ||
s0 = s1; | ||
} else { | ||
s1 = peg$c0; | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c62(s1); | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} | ||
function peg$parseLiteralString() { | ||
var s0, s1, s2; | ||
s0 = peg$currPos; | ||
s1 = []; | ||
s2 = peg$parseLiteralChar(); | ||
if (s2 !== peg$FAILED) { | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
s2 = peg$parseLiteralChar(); | ||
} | ||
s0 = s1; | ||
return s0; | ||
} else { | ||
s1 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c57(s1); | ||
} | ||
s0 = s1; | ||
function peg$parseLiteralChar() { | ||
var s0, s1, s2, s3; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
function peg$parseLiteralChar() { | ||
var s0, s1, s2, s3; | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseInlineCommentOpen(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = void 0; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseInlineCommentOpen(); | ||
s3 = peg$parseLineTerminator(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = peg$c47; | ||
if (s3 === peg$FAILED) { | ||
s2 = void 0; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
peg$currPos = s2; | ||
s2 = peg$FAILED; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$currPos; | ||
peg$silentFails++; | ||
s3 = peg$parseLineTerminator(); | ||
peg$silentFails--; | ||
if (s3 === peg$FAILED) { | ||
s2 = peg$c47; | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseNonTerminator(); | ||
if (s3 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c53(s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s2; | ||
s2 = peg$c0; | ||
} | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseNonTerminator(); | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c58(s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseNonTerminator() { | ||
var s0; | ||
return s0; | ||
} | ||
if (peg$c63.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c64); } | ||
} | ||
function peg$parseNonTerminator() { | ||
var s0; | ||
return s0; | ||
if (peg$c58.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c59); } | ||
} | ||
function peg$parseSingleLineComment() { | ||
var s0, s1, s2, s3, s4; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
if (input.substr(peg$currPos, 2) === peg$c65) { | ||
s1 = peg$c65; | ||
peg$currPos += 2; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c66); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseOneLineString(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseNewLine(); | ||
if (s4 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c67(s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
function peg$parseSingleLineComment() { | ||
var s0, s1, s2, s3, s4; | ||
s0 = peg$currPos; | ||
if (input.substr(peg$currPos, 2) === peg$c60) { | ||
s1 = peg$c60; | ||
peg$currPos += 2; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c61); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseOneLineString(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parseNewLine(); | ||
if (s4 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c62(s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
s0 = peg$FAILED; | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseOneLineString() { | ||
var s0, s1, s2; | ||
return s0; | ||
} | ||
s0 = peg$currPos; | ||
s1 = []; | ||
function peg$parseOneLineString() { | ||
var s0, s1, s2; | ||
s0 = peg$currPos; | ||
s1 = []; | ||
s2 = peg$parseNonLine(); | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
s2 = peg$parseNonLine(); | ||
while (s2 !== peg$FAILED) { | ||
s1.push(s2); | ||
s2 = peg$parseNonLine(); | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c68(s1); | ||
} | ||
s0 = s1; | ||
return s0; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c63(s1); | ||
} | ||
s0 = s1; | ||
function peg$parseDigit() { | ||
var s0; | ||
return s0; | ||
} | ||
if (peg$c69.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c70); } | ||
} | ||
function peg$parseDigit() { | ||
var s0; | ||
return s0; | ||
if (peg$c64.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c65); } | ||
} | ||
function peg$parseAlpha() { | ||
var s0; | ||
return s0; | ||
} | ||
if (peg$c71.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c72); } | ||
} | ||
function peg$parseAlpha() { | ||
var s0; | ||
return s0; | ||
if (peg$c66.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c67); } | ||
} | ||
function peg$parseDoubleQuote() { | ||
var s0; | ||
return s0; | ||
} | ||
if (input.charCodeAt(peg$currPos) === 34) { | ||
s0 = peg$c73; | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c74); } | ||
} | ||
function peg$parseDoubleQuote() { | ||
var s0; | ||
return s0; | ||
if (input.charCodeAt(peg$currPos) === 34) { | ||
s0 = peg$c68; | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c69); } | ||
} | ||
function peg$parse_() { | ||
var s0, s1; | ||
return s0; | ||
} | ||
peg$silentFails++; | ||
s0 = []; | ||
function peg$parse_() { | ||
var s0, s1; | ||
peg$silentFails++; | ||
s0 = []; | ||
s1 = peg$parsewhitespace(); | ||
while (s1 !== peg$FAILED) { | ||
s0.push(s1); | ||
s1 = peg$parsewhitespace(); | ||
while (s1 !== peg$FAILED) { | ||
s0.push(s1); | ||
s1 = peg$parsewhitespace(); | ||
} | ||
peg$silentFails--; | ||
if (s0 === peg$FAILED) { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c75); } | ||
} | ||
return s0; | ||
} | ||
peg$silentFails--; | ||
if (s0 === peg$FAILED) { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c70); } | ||
} | ||
function peg$parsewhitespace() { | ||
var s0; | ||
return s0; | ||
} | ||
s0 = peg$parseNewLine(); | ||
if (s0 === peg$FAILED) { | ||
if (peg$c76.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c77); } | ||
} | ||
} | ||
function peg$parsewhitespace() { | ||
var s0; | ||
return s0; | ||
} | ||
function peg$parseNonLine() { | ||
var s0, s1, s2; | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseNewLine(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = peg$c47; | ||
s0 = peg$parseNewLine(); | ||
if (s0 === peg$FAILED) { | ||
if (peg$c71.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c72); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseChar(); | ||
if (s2 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c58(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
return s0; | ||
} | ||
function peg$parseLineTerminator() { | ||
var s0; | ||
return s0; | ||
} | ||
s0 = peg$parseNewLine(); | ||
if (s0 === peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 59) { | ||
s0 = peg$c14; | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c15); } | ||
} | ||
} | ||
function peg$parseNonLine() { | ||
var s0, s1, s2; | ||
return s0; | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
peg$silentFails++; | ||
s2 = peg$parseNewLine(); | ||
peg$silentFails--; | ||
if (s2 === peg$FAILED) { | ||
s1 = void 0; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$FAILED; | ||
} | ||
function peg$parseNewLine() { | ||
var s0; | ||
if (peg$c78.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parseChar(); | ||
if (s2 !== peg$FAILED) { | ||
peg$savedPos = s0; | ||
s1 = peg$c53(s2); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c79); } | ||
} | ||
return s0; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$FAILED; | ||
} | ||
function peg$parseChar() { | ||
var s0; | ||
return s0; | ||
} | ||
if (input.length > peg$currPos) { | ||
s0 = input.charAt(peg$currPos); | ||
function peg$parseLineTerminator() { | ||
var s0; | ||
s0 = peg$parseNewLine(); | ||
if (s0 === peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 59) { | ||
s0 = peg$c10; | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c57); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c11); } | ||
} | ||
} | ||
return s0; | ||
return s0; | ||
} | ||
function peg$parseNewLine() { | ||
var s0; | ||
if (peg$c73.test(input.charAt(peg$currPos))) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c74); } | ||
} | ||
return s0; | ||
} | ||
function merge(hash, secondHash) { | ||
secondHash = secondHash[0] | ||
for(var i in secondHash) { | ||
hash[i] = merge_obj(hash[i], secondHash[i]); | ||
} | ||
function peg$parseChar() { | ||
var s0; | ||
return hash; | ||
} | ||
function merge_obj(obj, secondObj) { | ||
if (!obj) | ||
return secondObj; | ||
if (input.length > peg$currPos) { | ||
s0 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s0 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c52); } | ||
} | ||
for(var i in secondObj) | ||
obj[i] = merge_obj(obj[i], secondObj[i]); | ||
return s0; | ||
} | ||
return obj; | ||
} | ||
function merge_obj(obj, secondObj) { | ||
if (!obj) | ||
return secondObj; | ||
peg$result = peg$startRuleFunction(); | ||
for(var i in secondObj) | ||
obj[i] = merge_obj(obj[i], secondObj[i]); | ||
if (peg$result !== peg$FAILED && peg$currPos === input.length) { | ||
return peg$result; | ||
} else { | ||
if (peg$result !== peg$FAILED && peg$currPos < input.length) { | ||
peg$fail({ type: "end", description: "end of input" }); | ||
return obj; | ||
} | ||
throw peg$buildException(null, peg$maxFailExpected, peg$maxFailPos); | ||
peg$result = peg$startRuleFunction(); | ||
if (peg$result !== peg$FAILED && peg$currPos === input.length) { | ||
return peg$result; | ||
} else { | ||
if (peg$result !== peg$FAILED && peg$currPos < input.length) { | ||
peg$fail(peg$endExpectation()); | ||
} | ||
throw peg$buildStructuredError( | ||
peg$maxFailExpected, | ||
peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, | ||
peg$maxFailPos < input.length | ||
? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) | ||
: peg$computeLocation(peg$maxFailPos, peg$maxFailPos) | ||
); | ||
} | ||
} | ||
return { | ||
SyntaxError: SyntaxError, | ||
parse: parse | ||
}; | ||
})(); | ||
module.exports = { | ||
SyntaxError: peg$SyntaxError, | ||
parse: peg$parse | ||
}; |
@@ -5,3 +5,3 @@ { | ||
"description": "parser for xcodeproj/project.pbxproj files", | ||
"version": "0.9.0", | ||
"version": "0.9.1", | ||
"main": "index.js", | ||
@@ -8,0 +8,0 @@ "repository": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3745
130993