mlld
Version:
mlld: a modular prompt scripting language
41,479 lines • 1.17 MB
JavaScript
import { __name } from './chunk-OMKLS24H.mjs';
import { randomUUID } from 'crypto';
import * as acorn from 'acorn';
var NodeType = {
Text: "Text",
Comment: "Comment",
CodeFence: "CodeFence",
MlldRunBlock: "MlldRunBlock",
VariableReference: "VariableReference",
Directive: "Directive",
PathSeparator: "PathSeparator",
DotSeparator: "DotSeparator",
Literal: "Literal",
SectionMarker: "SectionMarker",
Error: "Error",
Newline: "Newline",
StringLiteral: "StringLiteral",
Frontmatter: "Frontmatter",
CommandBase: "CommandBase",
Parameter: "Parameter",
ExecInvocation: "ExecInvocation",
CommandReference: "CommandReference",
FileReference: "FileReference",
BinaryExpression: "BinaryExpression",
TernaryExpression: "TernaryExpression",
UnaryExpression: "UnaryExpression",
WhenExpression: "WhenExpression"
};
var DirectiveKind = {
run: "run",
var: "var",
show: "show",
exe: "exe",
for: "for",
path: "path",
import: "import",
output: "output",
when: "when"
};
var helpers = {
debug(msg, ...args) {
if (process.env.DEBUG_MLLD_GRAMMAR) console.log("[DEBUG GRAMMAR]", msg, ...args);
},
isLogicalLineStart(input, pos) {
if (pos === 0) return true;
let i = pos - 1;
while (i >= 0 && " \r".includes(input[i])) i--;
return i < 0 || input[i] === "\n";
},
// Context Detection System - Core Helper Methods
// ---------------------------------------------
/**
* Determines if the current position represents a slash directive context
* A slash directive context requires:
* 1. / symbol at logical line start
* 2. Followed by a valid directive keyword
*/
isSlashDirectiveContext(input, pos) {
if (input[pos] !== "/") return false;
const isAtLineStart = this.isLogicalLineStart(input, pos);
if (!isAtLineStart) return false;
const directiveKeywords = Object.keys(DirectiveKind);
const afterSlashPos = pos + 1;
for (const keyword of directiveKeywords) {
if (afterSlashPos + keyword.length > input.length) continue;
const potentialKeyword = input.substring(afterSlashPos, afterSlashPos + keyword.length);
if (potentialKeyword === keyword) {
if (afterSlashPos + keyword.length === input.length) return true;
const nextChar = input[afterSlashPos + keyword.length];
if (" \r\n".includes(nextChar)) return true;
}
}
return false;
},
/**
* Determines if the current position represents a variable reference context
* A variable context requires:
* 1. @ symbol NOT at logical line start, or
* 2. @ at line start but NOT followed by directive keyword
*/
isAtVariableContext(input, pos) {
if (input[pos] !== "@") return false;
if (this.isSlashDirectiveContext(input, pos)) return false;
return true;
},
/**
* Determines if the current position is within a right-hand side (RHS) expression
* RHS contexts are after assignment operators (=, :) in directive bodies
*/
isRHSContext(input, pos) {
if (pos === 0) return false;
let i = pos - 1;
let inString = false;
let stringChar = null;
let foundEquals = false;
while (i >= 0) {
const char = input[i];
if ((char === '"' || char === "'") && (i === 0 || input[i - 1] !== "\\")) {
if (!inString) {
inString = true;
stringChar = char;
} else if (char === stringChar) {
inString = false;
stringChar = null;
}
}
if (!inString) {
if (char === "=" || char === ":") {
foundEquals = true;
break;
}
if (char === ";" || char === "\n") {
return false;
}
}
i--;
}
if (foundEquals) {
let j = i - 1;
while (j >= 0 && " \r".includes(input[j])) {
j--;
}
let name = "";
while (j >= 0 && /[a-zA-Z0-9_]/.test(input[j])) {
name = input[j] + name;
j--;
}
if (j >= 0 && input[j] === "/") {
const validAssignmentDirectives = [
"exec",
"text",
"data",
"run"
];
if (validAssignmentDirectives.includes(name)) {
if (this.isLogicalLineStart(input, j)) {
return true;
}
}
}
return false;
}
return false;
},
/**
* Determines if the current position represents plain text context
* Plain text is any context that isn't a directive, variable, or RHS
*/
isPlainTextContext(input, pos) {
return !this.isSlashDirectiveContext(input, pos) && !this.isAtVariableContext(input, pos) && !this.isRHSContext(input, pos);
},
/**
* Determines if the current position is within a run code block context
* This is used to identify language + code block patterns
*/
isInRunCodeBlockContext(input, pos) {
return false;
},
createNode(type, props) {
if (!props.location && process.env.DEBUG_MLLD_GRAMMAR) {
console.warn(`WARNING: Creating ${type} node without location data`);
if (process.env.DEBUG_MLLD_GRAMMAR_TRACE) {
console.trace();
}
}
return Object.freeze({
type,
nodeId: randomUUID(),
location: props.location,
...props
});
},
createDirective(kind, data) {
return this.createNode(NodeType.Directive, {
directive: {
kind,
...data
}
});
},
// New method for creating directives with the updated structure
createStructuredDirective(kind, subtype, values, raw, meta, locationData, source = null) {
return this.createNode(NodeType.Directive, {
kind,
subtype,
source,
values,
raw,
meta,
location: locationData
});
},
createVariableReferenceNode(valueType, data, location) {
if (!location) {
throw new Error(`Location is required for createVariableReferenceNode (valueType: ${valueType}, identifier: ${data.identifier || "unknown"})`);
}
return this.createNode(NodeType.VariableReference, {
valueType,
...data,
location
});
},
normalizePathVar(id) {
return id;
},
validateRunContent: /* @__PURE__ */ __name(() => true, "validateRunContent"),
validateDefineContent: /* @__PURE__ */ __name(() => true, "validateDefineContent"),
validatePath(pathParts, directiveKind) {
const raw = this.reconstructRawString(pathParts).trim();
let hasVariables = false;
if (pathParts && pathParts.length > 0) {
for (const node of pathParts) {
if (node.type === NodeType.VariableReference) {
hasVariables = true;
}
}
}
const finalFlags = {
hasVariables
};
const result = {
raw,
values: pathParts,
...finalFlags
};
this.debug("PATH", "validatePath final result:", JSON.stringify(result, null, 2));
return result;
},
getImportSubtype(list) {
if (!list) return "importAll";
if (list.length === 0) return "importAll";
if (list.length === 1 && list[0].name === "*") return "importAll";
return "importSelected";
},
trace(pos, reason) {
},
reconstructRawString(nodes) {
if (!Array.isArray(nodes)) {
if (nodes && typeof nodes === "object") {
if (nodes.type === NodeType.Text) return nodes.content || "";
if (nodes.type === NodeType.VariableReference) {
const varId = nodes.identifier;
const valueType = nodes.valueType;
const fields = nodes.fields || [];
let fieldPath = "";
for (const field of fields) {
if (field.type === "field" || field.type === "dot") {
fieldPath += `.${field.name || field.value}`;
} else if (field.type === "array") {
fieldPath += `[${field.index}]`;
}
}
if (valueType === "varInterpolation") {
return `{{${varId}${fieldPath}}}`;
} else if (valueType === "varIdentifier") {
return `@${varId}${fieldPath}`;
} else {
return `{{${varId}${fieldPath}}}`;
}
}
}
return String(nodes || "");
}
let raw = "";
for (const node of nodes) {
if (!node) continue;
if (node.type === NodeType.Text) {
raw += node.content || "";
} else if (node.type === NodeType.VariableReference) {
const varId = node.identifier;
const valueType = node.valueType;
const fields = node.fields || [];
let fieldPath = "";
for (const field of fields) {
if (field.type === "field" || field.type === "dot") {
fieldPath += `.${field.name || field.value}`;
} else if (field.type === "array") {
fieldPath += `[${field.index}]`;
}
}
if (valueType === "varInterpolation") {
raw += `{{${varId}${fieldPath}}}`;
} else if (valueType === "varIdentifier") {
raw += `@${varId}${fieldPath}`;
} else {
raw += `{{${varId}${fieldPath}}}`;
}
} else if (node.type === NodeType.PathSeparator) {
raw += node.value || "";
} else if (node.type === NodeType.SectionMarker) {
raw += node.value || "";
} else if (node.type === NodeType.StringLiteral) {
raw += node.value || "";
} else if (typeof node === "string") {
raw += node;
} else {
raw += node.content || node.value || node.raw || "";
}
}
return raw;
},
createPathMetadata(rawPath, parts) {
return {
hasVariables: parts.some((p) => p && p.type === NodeType.VariableReference),
isAbsolute: rawPath.startsWith("/"),
hasExtension: /\.[a-zA-Z0-9]+$/.test(rawPath),
extension: rawPath.match(/\.([a-zA-Z0-9]+)$/)?.[1] || null
};
},
createCommandMetadata(parts) {
return {
hasVariables: parts.some((p) => p && p.type === NodeType.VariableReference)
};
},
createTemplateMetadata(parts, wrapperType) {
return {
hasVariables: parts.some((p) => p && (p.type === NodeType.VariableReference || p.type === NodeType.ExecInvocation)),
isTemplateContent: wrapperType === "doubleBracket"
};
},
createUrlMetadata(protocol, parts, hasSection = false) {
return {
isUrl: true,
protocol,
hasVariables: parts.some((p) => p && p.type === NodeType.VariableReference),
hasSection
};
},
ttlToSeconds(value, unit) {
const multipliers = {
"seconds": 1,
"minutes": 60,
"hours": 3600,
"days": 86400,
"weeks": 604800
};
return value * (multipliers[unit] || 1);
},
createSecurityMeta(options) {
if (!options) return {};
const meta = {};
if (options.ttl) {
meta.ttl = options.ttl;
}
if (options.trust) {
meta.trust = options.trust;
}
return meta;
},
detectFormatFromPath(path) {
const ext = path.match(/\.([a-zA-Z0-9]+)$/)?.[1]?.toLowerCase();
if (!ext) return null;
const formatMap = {
"json": "json",
"xml": "xml",
"yaml": "yaml",
"yml": "yaml",
"csv": "csv",
"md": "markdown",
"markdown": "markdown",
"txt": "text",
"text": "text"
};
return formatMap[ext] || null;
},
createSectionMeta(pathParts, sectionParts, hasRename) {
return {
sourceType: "section",
hasVariables: [
...pathParts,
...sectionParts
].some((part) => part && part.type === "VariableReference"),
hasRename
};
},
reconstructSectionPath(pathParts, sectionParts) {
const pathStr = this.reconstructRawString(pathParts);
const sectionStr = this.reconstructRawString(sectionParts);
return `${pathStr} # ${sectionStr}`;
},
/**
* Checks if we're at a bracket that should end command parsing
* This uses a specific heuristic: ] at end of input OR ] on its own line
*/
isCommandEndingBracket(input, pos) {
if (input[pos] !== "]") return false;
const nextPos = pos + 1;
if (nextPos >= input.length) return true;
let i = nextPos;
while (i < input.length && (input[i] === " " || input[i] === " ")) {
i++;
}
return i >= input.length || input[i] === "\n";
},
/**
* Parse command content that may contain variables and text segments
* This is used by the CommandBracketContent rule to handle @var interpolation
*
* @param content - The content to parse
* @param baseLocation - The location of the content in the source
*/
parseCommandContent(content, baseLocation) {
const parts = [];
let i = 0;
let currentText = "";
let textStartOffset = 0;
if (!baseLocation) {
console.warn("parseCommandContent called without baseLocation");
return this.parseCommandContentLegacy(content);
}
let currentOffset = baseLocation.start.offset;
let currentLine = baseLocation.start.line;
let currentColumn = baseLocation.start.column;
while (i < content.length) {
if (content[i] === "@" && i + 1 < content.length) {
if (currentText) {
const textEndOffset = currentOffset;
const textEndLine = currentLine;
const textEndColumn = currentColumn;
parts.push(this.createNode(NodeType.Text, {
content: currentText,
location: {
start: {
offset: baseLocation.start.offset + textStartOffset,
line: baseLocation.start.line,
column: baseLocation.start.column + textStartOffset
},
end: {
offset: textEndOffset,
line: textEndLine,
column: textEndColumn
}
}
}));
currentText = "";
}
const varStartOffset = currentOffset;
const varStartLine = currentLine;
const varStartColumn = currentColumn;
i++;
currentOffset++;
currentColumn++;
let varName = "";
while (i < content.length && /[a-zA-Z0-9_]/.test(content[i])) {
varName += content[i];
i++;
currentOffset++;
currentColumn++;
}
if (varName) {
const varEndOffset = currentOffset;
const varEndLine = currentLine;
const varEndColumn = currentColumn;
parts.push(this.createVariableReferenceNode("varIdentifier", {
identifier: varName
}, {
start: {
offset: varStartOffset,
line: varStartLine,
column: varStartColumn
},
end: {
offset: varEndOffset,
line: varEndLine,
column: varEndColumn
}
}));
textStartOffset = i;
} else {
currentText += "@";
}
} else {
if (currentText === "") {
textStartOffset = i;
}
currentText += content[i];
if (content[i] === "\n") {
currentLine++;
currentColumn = 1;
} else {
currentColumn++;
}
currentOffset++;
i++;
}
}
if (currentText) {
parts.push(this.createNode(NodeType.Text, {
content: currentText,
location: {
start: {
offset: baseLocation.start.offset + textStartOffset,
line: baseLocation.start.line,
column: baseLocation.start.column + textStartOffset
},
end: {
offset: currentOffset,
line: currentLine,
column: currentColumn
}
}
}));
}
return parts;
},
/**
* Legacy version of parseCommandContent for backward compatibility
* Creates nodes without proper location data
*/
parseCommandContentLegacy(content) {
const parts = [];
let i = 0;
let currentText = "";
while (i < content.length) {
if (content[i] === "@" && i + 1 < content.length) {
if (currentText) {
parts.push(this.createNode(NodeType.Text, {
content: currentText
}));
currentText = "";
}
i++;
let varName = "";
while (i < content.length && /[a-zA-Z0-9_]/.test(content[i])) {
varName += content[i];
i++;
}
if (varName) {
parts.push(this.createNode(NodeType.Text, {
content: "@" + varName
}));
} else {
currentText += "@";
}
} else {
currentText += content[i];
i++;
}
}
if (currentText) {
parts.push(this.createNode(NodeType.Text, {
content: currentText
}));
}
return parts;
},
/**
* Create an ExecInvocation node
*/
createExecInvocation(commandRef, withClause, location) {
return this.createNode("ExecInvocation", {
commandRef,
withClause: withClause || null,
location
});
},
/**
* Get the command name from an ExecInvocation node
*/
getExecInvocationName(node) {
if (!node || node.type !== "ExecInvocation") return null;
return node.commandRef?.identifier || node.commandRef?.name;
},
/**
* Check if a node is an ExecInvocation
*/
isExecInvocationNode(node) {
return node?.type === "ExecInvocation";
},
/**
* Parse a JavaScript code block using acorn to find the complete block
* This handles nested braces, strings, template literals, etc. properly
*
* @param input - The full input string
* @param startPos - Position after the opening brace
* @returns The parsed code content and end position, or null if invalid
*/
parseJavaScriptBlock(input, startPos) {
const potentialCode = input.substring(startPos);
let lastValidEnd = -1;
let lastValidCode = "";
for (let i = 0; i < potentialCode.length; i++) {
if (potentialCode[i] !== "}") continue;
const testCode = potentialCode.substring(0, i);
try {
acorn.parse(`(${testCode})`, {
ecmaVersion: "latest",
allowReturnOutsideFunction: true
});
lastValidEnd = i;
lastValidCode = testCode;
} catch (e) {
try {
acorn.parse(testCode, {
ecmaVersion: "latest",
allowReturnOutsideFunction: true,
sourceType: "module"
});
lastValidEnd = i;
lastValidCode = testCode;
} catch (e2) {
}
}
}
if (lastValidEnd >= 0) {
return {
content: lastValidCode.trim(),
endPos: startPos + lastValidEnd
};
}
return null;
},
// Array vs Path disambiguation helpers for /var directive
createEmptyArray(location) {
return {
type: "array",
items: [],
location
};
},
createArrayFromContent(content, location) {
return {
type: "array",
items: content,
location
};
},
createSectionExtraction(content, location) {
return {
type: "section",
path: content.path,
section: content.section,
location
};
},
createPathDereference(content, location) {
return {
type: "path",
segments: content,
location
};
},
createObjectFromProperties(properties, location) {
return {
type: "object",
properties: properties || {},
location
};
},
// Error Recovery Helper Functions
// --------------------------------
/**
* Checks if an array is unclosed by scanning ahead
* Returns true if we hit a newline before finding the closing bracket
*/
isUnclosedArray(input, pos) {
let depth = 1;
let i = pos;
let hasHash = false;
this.debug("isUnclosedArray starting at pos", pos, "first 50 chars:", input.substring(pos, pos + 50));
while (i < input.length && depth > 0) {
const char = input[i];
if (char === "[") {
depth++;
this.debug("Found [ at", i, "depth now", depth);
} else if (char === "]") {
depth--;
this.debug("Found ] at", i, "depth now", depth);
} else if (char === "#" && depth === 1) {
hasHash = true;
this.debug("Found # at", i, "in brackets - this is section syntax");
} else if (char === "\n" && depth > 0) {
if (!hasHash) {
this.debug("Found newline at", i, "without # - unclosed array");
return true;
}
this.debug("Found newline at", i, "but has # - continuing scan");
}
i++;
}
const result = depth > 0;
this.debug("isUnclosedArray finished: result=", result, "hasHash=", hasHash, "depth=", depth, "scanned to pos", i);
return result;
},
/**
* Checks if an object is unclosed by scanning ahead
* Returns true if we hit a newline before finding the closing brace
*/
isUnclosedObject(input, pos) {
let depth = 1;
let i = pos;
let inString = false;
let stringChar = null;
while (i < input.length && depth > 0) {
const char = input[i];
if ((char === '"' || char === "'") && (i === 0 || input[i - 1] !== "\\")) {
if (!inString) {
inString = true;
stringChar = char;
} else if (char === stringChar) {
inString = false;
stringChar = null;
}
}
if (!inString) {
if (char === "{") depth++;
else if (char === "}") depth--;
else if (char === "\n" && depth > 0) return true;
}
i++;
}
return depth > 0;
},
/**
* Checks if a string quote is unclosed
* Returns true if we hit a newline or end of input before finding the closing quote
*/
detectMissingQuoteClose(input, pos, quoteChar) {
let i = pos;
while (i < input.length) {
if (input[i] === quoteChar && input[i - 1] !== "\\") return false;
if (input[i] === "\n") return true;
i++;
}
return true;
},
/**
* Checks if a template delimiter (::) is unclosed
*/
isUnclosedTemplate(input, pos) {
let i = pos;
while (i < input.length - 1) {
if (input[i] === ":" && input[i + 1] === ":") return false;
i++;
}
return true;
},
/**
* Checks if we're at the start of what looks like a multiline array
* (array with newline after opening bracket)
*/
isMultilineArrayStart(input, pos) {
let i = pos;
while (i < input.length && (input[i] === " " || input[i] === " ")) {
i++;
}
return i < input.length && input[i] === "\n";
},
/**
* Scans ahead to check if this looks like a valid language identifier for /run
*/
isValidLanguageKeyword(input, pos, lang) {
const validLanguages = [
"js",
"javascript",
"node",
"python",
"py",
"bash",
"sh"
];
return validLanguages.includes(lang.toLowerCase());
},
/**
* Checks if we're missing a 'from' keyword in an import statement
*/
isMissingFromKeyword(input, pos) {
let i = pos;
while (i < input.length && (input[i] === " " || input[i] === " ")) {
i++;
}
if (i < input.length) {
const char = input[i];
return char === '"' || char === "'" || char === "[" || char === "@";
}
return false;
},
/**
* Create an error with enhanced location tracking
* Since we can't access parser internals from here, we'll just throw
* a regular error and let the parser enhance it
*/
mlldError(message, expectedToken, loc) {
const error = new Error(message);
error.isMlldError = true;
error.expectedToken = expectedToken;
error.mlldErrorLocation = loc;
throw error;
},
// Parser State Management for Code Blocks
// ----------------------------------------
// These functions help prevent state corruption when parsing multiple
// complex functions in mlld-run blocks
/**
* Parser state tracking object
* Used to detect and prevent state corruption issues
*/
parserState: {
codeBlockDepth: 0,
braceDepth: 0,
inString: false,
stringChar: null,
lastDirectiveEndPos: -1,
functionCount: 0,
maxNestingDepth: 20
},
/**
* Reset parser state between functions
* This prevents state corruption when parsing multiple complex functions
*/
resetCodeParsingState() {
this.parserState.braceDepth = 0;
this.parserState.inString = false;
this.parserState.stringChar = null;
this.parserState.functionCount++;
this.debug("Parser state reset", {
functionCount: this.parserState.functionCount,
lastEndPos: this.parserState.lastDirectiveEndPos
});
},
/**
* Get current brace depth for debugging and limits
*/
getBraceDepth() {
return this.parserState.braceDepth;
},
/**
* Increment brace depth with overflow checking
*/
incrementBraceDepth() {
this.parserState.braceDepth++;
if (this.parserState.braceDepth > this.parserState.maxNestingDepth) {
this.mlldError(`Code block nesting too deep (${this.parserState.braceDepth} levels). Consider simplifying your function or splitting it into smaller functions.`);
}
},
/**
* Decrement brace depth with underflow checking
*/
decrementBraceDepth() {
this.parserState.braceDepth--;
if (this.parserState.braceDepth < 0) {
this.debug("WARNING: Brace depth underflow detected", {
depth: this.parserState.braceDepth,
functionCount: this.parserState.functionCount
});
this.parserState.braceDepth = 0;
}
},
/**
* Validate parser state consistency
* Returns true if state is valid, false if corrupted
*/
validateParserState() {
const isValid = this.parserState.braceDepth >= 0 && this.parserState.braceDepth <= this.parserState.maxNestingDepth;
if (!isValid) {
this.debug("Parser state validation failed", {
braceDepth: this.parserState.braceDepth,
inString: this.parserState.inString,
functionCount: this.parserState.functionCount
});
}
return isValid;
},
/**
* Mark the end of a directive for state tracking
*/
markDirectiveEnd(pos) {
this.parserState.lastDirectiveEndPos = pos;
},
// File Reference Helper Functions
// --------------------------------
/**
* Checks if content inside <...> represents a file reference
* File references are detected by presence of: . * @
* Note: We don't include / since we don't support directories
* Files without extensions can be used outside interpolation contexts
*/
isFileReferenceContent(content) {
return /[.*@]/.test(content);
},
/**
* Creates a FileReference AST node
*/
createFileReferenceNode(source, fields, pipes, location) {
return {
type: "FileReference",
nodeId: randomUUID(),
source,
fields: fields || [],
pipes: pipes || [],
location,
meta: {
isFileReference: true,
hasGlob: typeof source === "object" && source.raw && source.raw.includes("*"),
isPlaceholder: source && source.type === "placeholder"
}
};
},
// Binary expression builder with left-to-right associativity
createBinaryExpression(first, rest, location) {
if (!rest || rest.length === 0) return first;
return rest.reduce((left, { op, right }) => this.createNode("BinaryExpression", {
operator: op,
left,
right,
location
}), first);
},
// Check if nodes contain newlines
containsNewline(nodes) {
if (!Array.isArray(nodes)) nodes = [
nodes
];
return nodes.some((n) => n.type === "Newline" || n.content && n.content.includes("\n") || n.raw && n.raw.includes("\n"));
},
/**
* Creates a WhenExpression node for RHS when expressions
*/
createWhenExpression(conditions, withClause, location) {
return this.createNode(NodeType.WhenExpression, {
conditions,
withClause: withClause || null,
meta: {
conditionCount: conditions.length,
isValueReturning: true,
evaluationType: "expression",
hasTailModifiers: !!withClause
},
location
});
},
/**
* Creates a ForExpression node for for...in expressions in /var assignments
*/
createForExpression(variable, source, expression, location) {
return {
type: "ForExpression",
nodeId: randomUUID(),
variable,
source,
expression: Array.isArray(expression) ? expression : [
expression
],
location,
meta: {
isForExpression: true
}
};
},
/**
* Creates an action node for /for directive actions
*/
createForActionNode(directive, content, location) {
const kind = directive;
return [
this.createNode(NodeType.Directive, {
kind,
subtype: kind,
values: {
content: Array.isArray(content) ? content : [
content
]
},
raw: {
content: this.reconstructRawString(content)
},
meta: {
implicit: false
},
location
})
];
}
};
// grammar/generated/parser/deps/node-type.js
var node_type_default = NodeType;
// grammar/generated/parser/deps/directive-kind.js
var directive_kind_default = DirectiveKind;
// grammar/generated/parser/deps/helpers.js
var helpers_default = helpers;
// grammar/generated/parser/parser.js
function peg$subclass(child, parent) {
function C() {
this.constructor = child;
}
__name(C, "C");
C.prototype = parent.prototype;
child.prototype = new C();
}
__name(peg$subclass, "peg$subclass");
function peg$SyntaxError(message, expected, found, location) {
var self = Error.call(this, message);
if (Object.setPrototypeOf) {
Object.setPrototypeOf(self, peg$SyntaxError.prototype);
}
self.expected = expected;
self.found = found;
self.location = location;
self.name = "SyntaxError";
return self;
}
__name(peg$SyntaxError, "peg$SyntaxError");
peg$subclass(peg$SyntaxError, Error);
function peg$padEnd(str, targetLength, padString) {
padString = padString || " ";
if (str.length > targetLength) {
return str;
}
targetLength -= str.length;
padString += padString.repeat(targetLength);
return str + padString.slice(0, targetLength);
}
__name(peg$padEnd, "peg$padEnd");
peg$SyntaxError.prototype.format = function(sources) {
var str = "Error: " + this.message;
if (this.location) {
var src = null;
var k;
for (k = 0; k < sources.length; k++) {
if (sources[k].source === this.location.source) {
src = sources[k].text.split(/\r\n|\n|\r/g);
break;
}
}
var s = this.location.start;
var offset_s = this.location.source && typeof this.location.source.offset === "function" ? this.location.source.offset(s) : s;
var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column;
if (src) {
var e = this.location.end;
var filler = peg$padEnd("", offset_s.line.toString().length, " ");
var line = src[s.line - 1];
var last = s.line === e.line ? e.column : line.length + 1;
var hatLen = last - s.column || 1;
str += "\n --> " + loc + "\n" + filler + " |\n" + offset_s.line + " | " + line + "\n" + filler + " | " + peg$padEnd("", s.column - 1, " ") + peg$padEnd("", hatLen, "^");
} else {
str += "\n at " + loc;
}
}
return str;
};
peg$SyntaxError.buildMessage = function(expected, found) {
var DESCRIBE_EXPECTATION_FNS = {
literal: /* @__PURE__ */ __name(function(expectation) {
return '"' + literalEscape(expectation.text) + '"';
}, "literal"),
class: /* @__PURE__ */ __name(function(expectation) {
var escapedParts = expectation.parts.map(function(part) {
return Array.isArray(part) ? classEscape(part[0]) + "-" + classEscape(part[1]) : classEscape(part);
});
return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";
}, "class"),
any: /* @__PURE__ */ __name(function() {
return "any character";
}, "any"),
end: /* @__PURE__ */ __name(function() {
return "end of input";
}, "end"),
other: /* @__PURE__ */ __name(function(expectation) {
return expectation.description;
}, "other")
};
function hex(ch) {
return ch.charCodeAt(0).toString(16).toUpperCase();
}
__name(hex, "hex");
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);
});
}
__name(literalEscape, "literalEscape");
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);
});
}
__name(classEscape, "classEscape");
function describeExpectation(expectation) {
return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
}
__name(describeExpectation, "describeExpectation");
function describeExpected(expected2) {
var descriptions = expected2.map(describeExpectation);
var i, j;
descriptions.sort();
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;
}
switch (descriptions.length) {
case 1:
return descriptions[0];
case 2:
return descriptions[0] + " or " + descriptions[1];
default:
return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
}
}
__name(describeExpected, "describeExpected");
function describeFound(found2) {
return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
}
__name(describeFound, "describeFound");
return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
};
function peg$parse(input, options) {
options = options !== void 0 ? options : {};
var peg$FAILED = {};
var peg$source = options.grammarSource;
var peg$startRuleFunctions = {
Start: peg$parseStart
};
var peg$startRuleFunction = peg$parseStart;
var peg$c0 = ">>";
var peg$c1 = "<<";
var peg$c2 = "\n";
var peg$c3 = "{{";
var peg$c4 = "}}";
var peg$c5 = "::";
var peg$c6 = "```";
var peg$c7 = "mlld-run";
var peg$c8 = "---";
var peg$c9 = "'";
var peg$c11 = ".";
var peg$c12 = "true";
var peg$c13 = "false";
var peg$c14 = "null";
var peg$c15 = "*";
var peg$c16 = "[[";
var peg$c17 = "]]";
var peg$c18 = "\\";
var peg$c19 = "<";
var peg$c20 = '"';
var peg$c21 = "`";
var peg$c22 = "/";
var peg$c23 = "#";
var peg$c24 = "/var";
var peg$c25 = "/show";
var peg$c26 = "/run";
var peg$c27 = "/exe";
var peg$c28 = "/path";
var peg$c29 = "/import";
var peg$c30 = "/when";
var peg$c31 = "/output";
var peg$c32 = "\r\n";
var peg$c33 = ">";
var peg$c34 = "https";
var peg$c35 = "http";
var peg$c36 = "://";
var peg$c37 = "@";
var peg$c38 = " as ";
var peg$c39 = "as";
var peg$c40 = "<>";
var peg$c41 = "[";
var peg$c42 = "]";
var peg$c43 = ",";
var peg$c44 = "|";
var peg$c45 = "&&";
var peg$c46 = "||";
var peg$c47 = ";";
var peg$c48 = "run";
var peg$c49 = "npx";
var peg$c50 = "npm";
var peg$c51 = "yarn";
var peg$c52 = "pnpm";
var peg$c53 = "bun";
var peg$c54 = ":";
var peg$c55 = "-m";
var peg$c56 = "python";
var peg$c57 = "python3";
var peg$c58 = "python2";
var peg$c59 = "node";
var peg$c60 = "sh";
var peg$c61 = "bash";
var peg$c62 = "zsh";
var peg$c63 = "perl";
var peg$c64 = "ruby";
var peg$c65 = "-e";
var peg$c66 = "-c";
var peg$c67 = "make";
var peg$c68 = "cargo";
var peg$c69 = "go";
var peg$c70 = "gradle";
var peg$c71 = "maven";
var peg$c72 = "mvn";
var peg$c73 = "rake";
var peg$c74 = "(";
var peg$c75 = ")";
var peg$c76 = ":::";
var peg$c77 = "{";
var peg$c78 = "}";
var peg$c79 = "?";
var peg$c80 = "==";
var peg$c81 = "!=";
var peg$c82 = "<=";
var peg$c83 = ">=";
var peg$c84 = "=";
var peg$c85 = "!";
var peg$c86 = "foreach";
var peg$c87 = "with";
var peg$c88 = "separator";
var peg$c89 = "template";
var peg$c90 = "in";
var peg$c91 = "output";
var peg$c92 = "to";
var peg$c93 = "show";
var peg$c94 = "var";
var peg$c95 = "trust";
var peg$c96 = "needs";
var peg$c97 = "@run";
var peg$c98 = "stdout";
var peg$c99 = "stderr";
var peg$c100 = "env";
var peg$c101 = "s";
var peg$c102 = "file";
var peg$c103 = "//";
var peg$c104 = "\\\\";
var peg$c105 = "\\@";
var peg$c106 = "live";
var peg$c107 = "static";
var peg$c108 = "always";
var peg$c109 = "verify";
var peg$c110 = "never";
var peg$c111 = "&>";
var peg$c112 = "&";
var peg$c113 = "pipeline";
var peg$c114 = "[(";
var peg$c115 = ")]";
var peg$c116 = "/*";
var peg$c117 = "*/";
var peg$c118 = "js";
var peg$c119 = "javascript";
var peg$c120 = "when";
var peg$c121 = "=>";
var peg$c122 = "for";
var peg$c123 = "each";
var peg$c124 = "now";
var peg$c125 = "base";
var peg$c126 = "input";
var peg$c127 = "debug";
var peg$c128 = "frontmatter";
var peg$c129 = "fm";
var peg$c130 = "format";
var peg$c131 = "asSection";
var peg$c132 = "from";
var peg$c133 = "nodejs";
var peg$c134 = "py";
var peg$c135 = "risk.high";
var peg$c136 = "risk.med";
var peg$c137 = "risk.low";
var peg$c138 = "risk";
var peg$c139 = "about";
var peg$c140 = "meta";
var peg$c141 = "/for";
var peg$c142 = "@item";
var peg$c143 = "@input";
var peg$c144 = "@now";
var peg$c145 = "@time";
var peg$c146 = "@stdin";
var peg$c147 = "env:";
var peg$c148 = "PROJECTPATH";
var peg$c149 = "under";
var peg$c150 = "any";
var peg$c151 = "all";
var peg$c152 = "first";
var peg$r0 = /^[ \t\r]/;
var peg$r1 = /^[^\n]/;
var peg$r2 = /^[ \t]/;
var peg$r3 = /^[^`\r\n]/;
var peg$r4 = /^[0-9]/;
var peg$r5 = /^["$'@[-\]`{}]/;
var peg$r6 = /^["'.0\\nrt]/;
var peg$r7 = /^[ \t\r\n\/\]@${{}"'`]/;
var peg$r8 = /^[\/[\]@${}]/;
var peg$r9 = /^[\]\/[\]@${}]/;
var peg$r10 = /^[\]]/;
var peg$r11 = /^[a-zA-Z_]/;
var peg$r12 = /^[a-zA-Z0-9_]/;
var peg$r13 = /^[.~]/;
var peg$r14 = /^[ \t\r\n\u200B\u200C\u200D]/;
var peg$r15 = /^[ \t\r\n]/;
var peg$r16 = /^[ \t\r\u200B\u200C\u200D]/;
var peg$r17 = /^[\r\u2028-\u2029]/;
var peg$r18 = /^[^\r\n]/;
var peg$r19 = /^[<"]/;
var peg$r20 = /^[`<@]/;
var peg$r21 = /^[a-zA-Z0-9.\-]/;
var peg$r22 = /^[^> ]/;
var peg$r23 = /^[^@|&;[\]\n \t]/;
var peg$r24 = /^[a-zA-Z0-9_\-]/;
var peg$r25 = /^[a-zA-Z0-9_:\-]/;
var peg$r26 = /^[a-zA-Z0-9_.\/\-]/;
var peg$r27 = /^["'),`]/;
var peg$r28 = /^["'),\\`]/;
var peg$r29 = /^["@<\n\r]/;
var peg$r30 = /^[`@<]/;
var peg$r31 = /^[<@]/;
var peg$r32 = /^[ \t\r\n\/\]{}]/;
var peg$r33 = /^[^[\n]/;
var peg$r34 = /^[^\]]/;
var peg$r35 = /^[(.-\/]/;
var peg$r36 = /^[a-zA-Z0-9_@\-]/;
var peg$r37 = /^[a-zA-Z0-9_\/@\-]/;
var peg$r38 = /^[^ \t\n\r]/;
var peg$r39 = /^[^ \t\n\r"'[\]]/;
var peg$r40 = /^[^\/s]/;
var peg$r41 = /^[^"]/;
var peg$r42 = /^[^']/;
var peg$r43 = /^[^@\\s\n]/;
var peg$r44 = /^[\]"'\r\n]/;
var peg$r45 = /^[dhmsw]/;
var peg$r46 = /^[<>]/;
var peg$r47 = /^[&>]/;
var peg$r48 = /^[^"@]/;
var peg$r49 = /^[^@|&;<> \t\n\r"']/;
var peg$r50 = /^[^}]/;
var peg$r51 = /^[ \t\n\r]/;
var peg$r52 = /^[^#\]]/;
var peg$r53 = /^[^\\s\\n]/;
var peg$r54 = /^[^)]/;
var peg$r55 = /^[a-f0-9]/;
var peg$r56 = /^[^,)]/;
var peg$e0 = peg$classExpectation([
" ",
" ",
"\r"
], false, false);
var peg$e1 = peg$literalExpectation(">>", false);
var peg$e2 = peg$literalExpectation("<<", false);
var peg$e3 = peg$classExpectation([
"\n"
], true, false);
var peg$e4 = peg$literalExpectation("\n", false);
var peg$e5 = peg$literalExpectation("{{", false);
var peg$e6 = peg$literalExpectation("}}", false);
var peg$e7 = peg$literalExpectation("::", false);
var peg$e8 = peg$anyExpectation();
var peg$e9 = peg$classExpectation([
" ",
" "
], false, false);
var peg$e10 = peg$literalExpectation("```", false);
var peg$e11 = peg$literalExpectation("mlld-run", false);
var peg$e12 = peg$classExpectation([
"`",
"\r",
"\n"
], true, false);
var peg$e13 = peg$otherExpectation("Top-level directive context");
var peg$e14 = peg$otherExpectation("Variable reference context");
var peg$e15 = peg$otherExpectation("Right-hand side context");
var peg$e16 = peg$otherExpectation("Plain text context");
var peg$e17 = peg$otherExpectation("Run-style code block context");
var peg$e18 = peg$otherExpectation("Exec /run right-hand side context");
var peg$e19 = peg$otherExpectation("Path starting with @variable context");
var peg$e20 = peg$otherExpectation("Directive boundary");
var peg$e21 = peg$otherExpectation("YAML frontmatter");
var peg$e22 = peg$literalExpectation("---", false);
var peg$e23 = peg$otherExpectation("String Literal");
var peg$e24 = peg$literalExpectation("'", false);
var peg$e25 = peg$otherExpectation("Number Literal");
var peg$e26 = peg$literalExpectation("-", false);
var peg$e27 = peg$classExpectation([
[
"0",
"9"
]
], false, false);
var peg$e28 = peg$literalExpectation(".", false);
var peg$e29 = peg$otherExpectation("Boolean Literal");
var peg$e30 = peg$literalExpectation("true", false);
var peg$e31 = peg$literalExpectation("false", false);
var peg$e32 = peg$otherExpectation("Null Literal");
var peg$e33 = peg$literalExpectation("null", false);
var peg$e34 = peg$otherExpectation("Wildcard Literal");
var peg$e35 = peg$literalExpectation("*", false);
var peg$e36 = peg$otherExpectation("Multi-line Template Literal");
var peg$e37 = peg$literalExpectation("[[", false);
var peg$e38 = peg$literalExpectation("]]", false);
var peg$e39 = peg$otherExpectation("Escape sequence");
var peg$e40 = peg$literalExpectation("\\", false);
var peg$e41 = peg$classExpectation([
'"',
"$",
"'",
"@",
[
"[",
"]"
],
"`",
"{",
"}"
], false, false);
var peg$e42 = peg$otherExpectation("String escape sequence");
var peg$e43 = peg$classExpectation([
'"',
"'",
".",
"0",
"\\",
"n",
"r",
"t"
], false, false);
var peg$e44 = peg$otherExpectation("Plain text segment");
var peg$e45 = peg$classExpectation([
" ",
" ",
"\r",
"\n",
"/",
"]",
"@",
"$",
"{",
"{",
"}",
'"',
"'",
"`"
], false, false);
var peg$e46 = peg$otherExpectation("Template text segment");
var peg$e47 = peg$literalExpectation("<", false);
var peg$e48 = peg$otherExpectation("Command text segment");
var peg$e49 = peg$classExpectation([
"/",
"[",
"]",
"@",
"$",
"{",
"}"
], false, false);
var peg$e50 = peg$otherExpectation("Path text segment");
var peg$e51 = peg$classExpectation([
"]",
"/",
"[",
"]",
"@",
"$",
"{",
"}"
], false, false);
var peg$e52 = peg$otherExpectation("Section text segment");
var peg$e53 = peg$classExpectation([
"]"
], false, false);
var peg$e54 = peg$otherExpectation("String content with escapes");
var peg$e55 = peg$literalExpectation('"', false);
var peg$e56 = peg$otherExpectation("Single-quoted string content with escapes");
var peg$e57 = peg$otherExpectation("Backtick string content with escapes");
var peg$e58 = peg$literalExpectation("`", false);
var peg$e59 = peg$otherExpectation("Path separator");
var peg$e60 = peg$literalExpectation("/", false);
var peg$e61 = peg$otherExpectation("Dot separator");
var peg$e62 = peg$otherExpectation("Section marker");
var peg$e63 = peg$literalExpectation("#", false);
var peg$e64 = peg$otherExpectation("Identifier");
var peg$e65 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
"_"
], false, false);
var peg$e66 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
[
"0",
"9"
],
"_"
], false, false);
var peg$e67 = peg$otherExpectation("Special Path Character");
var peg$e68 = peg$classExpectation([
".",
"~"
], false, false);
var peg$e69 = peg$otherExpectation("Path Separator");
var peg$e70 = peg$otherExpectation("Dot Separator");
var peg$e71 = peg$otherExpectation("Section Marker");
var peg$e72 = peg$otherExpectation("Backtick Sequence");
var peg$e73 = peg$otherExpectation("Reserved Directive Name");
var peg$e74 = peg$literalExpectation("/var", false);
var peg$e75 = peg$literalExpectation("/show", false);
var peg$e76 = peg$literalExpectation("/run", false);
var peg$e77 = peg$literalExpectation("/exe", false);
var peg$e78 = peg$literalExpectation("/path", false);
var peg$e79 = peg$literalExpectation("/import", false);
var peg$e80 = peg$literalExpectation("/when", false);
var peg$e81 = peg$literalExpectation("/output", false);
var peg$e82 = peg$otherExpectation("whitespace");
var peg$e83 = peg$classExpectation([
" ",
" ",
"\r",
"\n",
"\u200B",
"\u200C",
"\u200D"
], false, false);
var peg$e84 = peg$otherExpectation("mandatory whitespace");
var peg$e85 = peg$classExpectation([
" ",
" ",
"\r",
"\n"
], false, false);
var peg$e86 = peg$otherExpectation("horizontal whitespace");
var peg$e87 = peg$classExpectation([
" ",
" ",
"\r",
"\u200B",
"\u200C",
"\u200D"
], false, false);
var peg$e88 = peg$literalExpectation("\r\n", false);
var peg$e89 = peg$classExpectation([
"\r",
[
"\u2028",
"\u2029"
]
], false, false);
var peg$e90 = peg$classExpectation([
"\r",
"\n"
], true, false);
var peg$e91 = peg$otherExpectation("alligator expression");
var peg$e92 = peg$literalExpectation(">", false);
var peg$e93 = peg$otherExpectation("URL source");
var peg$e94 = peg$literalExpectation("https", false);
var peg$e95 = peg$literalExpectation("http", false);
var peg$e96 = peg$literalExpectation("://", false);
var peg$e97 = peg$otherExpectation("file path source");
var peg$e98 = peg$otherExpectation("quoted path");
var peg$e99 = peg$otherExpectation("unquoted path");
var peg$e100 = peg$otherExpectation("alligator path parts");
var peg$e101 = peg$otherExpectation("alligator variable");
var peg$e102 = peg$literalExpectation("@", false);
var peg$e103 = peg$otherExpectation("alligator path segment");
var peg$e104 = peg$literalExpectation(" as ", false);
var peg$e105 = peg$otherExpectation("alligator section identifier");
var peg$e106 = peg$literalExpectation("as", false);
var peg$e107 = peg$otherExpectation("section rename");
var peg$e108 = peg$otherExpectation("section rename string template");
var peg$e109 = peg$classExpectation([
"<",
'"'
], false, false);
var peg$e110 = peg$classExpectation([
"`",
"<",
"@"
], false, false);
var peg$e111 = peg$otherExpectation("as transform");
var peg$e112 = peg$otherExpectation("alligator transform template");
var peg$e113 = peg$literalExpectation("<>", false);
var peg$e114 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
[
"0",
"9"
],
".",
"-"
], false, false);
var peg$e115 = peg$classExpectation([
">",
" "
], true, false);
var peg$e116 = peg$otherExpectation("array literal");
var peg$e117 = peg$literalExpectation("[", false);
var peg$e118 = peg$literalExpectation("]", false);
var peg$e119 = peg$otherExpectation("array items");
var peg$e120 = peg$literalExpectation(",", false);
var peg$e121 = peg$otherExpectation("array value");
var peg$e122 = peg$literalExpectation("|", false);
var peg$e123 = peg$literalExpectation("&&", false);
var peg$e124 = peg$literalExpectation("||", false);
var peg$e125 = peg$literalExpectation(";", false);
var peg$e126 = peg$classExpectation([
"@",
"|",
"&",
";",
"[",
"]",
"\n",
" ",
" "
], true, false);
var peg$e127 = peg$literalExpectation("run", false);
var peg$e128 = peg$literalExpectation("npx", false);
var peg$e129 = peg$literalExpectation("npm", false);
var peg$e130 = peg$literalExpectation("yarn", false);
var peg$e131 = peg$literalExpectation("pnpm", false);
var peg$e132 = peg$literalExpectation("bun", false);
var peg$e133 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
[
"0",
"9"
],
"_",
"-"
], false, false);
var peg$e134 = peg$literalExpectation(":", false);
var peg$e135 = peg$literalExpectation("-m", false);
var peg$e136 = peg$literalExpectation("python", false);
var peg$e137 = peg$literalExpectation("python3", false);
var peg$e138 = peg$literalExpectation("python2", false);
var peg$e139 = peg$literalExpectation("node", false);
var peg$e140 = peg$literalExpectation("sh", false);
var peg$e141 = peg$literalExpectation("bash", false);
var peg$e142 = peg$literalExpectation("zsh", false);
var peg$e143 = peg$literalExpectation("perl", false);
var peg$e144 = peg$literalExpectation("ruby", false);
var peg$e145 = peg$literalExpectation("-e", false);
var peg$e146 = peg$literalExpectation("-c", false);
var peg$e147 = peg$literalExpectation("make", false);
var peg$e148 = peg$literalExpectation("cargo", false);
var peg$e149 = peg$literalExpectation("go", false);
var peg$e150 = peg$literalExpectation("gradle", false);
var peg$e151 = peg$literalExpectation("maven", false);
var peg$e152 = peg$literalExpectation("mvn", false);
var peg$e153 = peg$literalExpectation("rake", false);
var peg$e154 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
[
"0",
"9"
],
"_",
":",
"-"
], false, false);
var peg$e155 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
[
"0",
"9"
],
"_",
".",
"/",
"-"
], false, false);
var peg$e156 = peg$otherExpectation("command reference");
var peg$e157 = peg$otherExpectation("command arguments");
var peg$e158 = peg$literalExpectation("(", false);
var peg$e159 = peg$literalExpectation(")", false);
var peg$e160 = peg$otherExpectation("command arguments list");
var peg$e161 = peg$otherExpectation("command argument");
var peg$e162 = peg$otherExpectation("nested exec invocation");
var peg$e163 = peg$otherExpectation("command template argument");
var peg$e164 = peg$otherExpectation("backtick template argument");
var peg$e165 = peg$otherExpectation("backtick template");
var peg$e166 = peg$otherExpectation("escaped argument");
var peg$e167 = peg$classExpectation([
'"',
"'",
")",
",",
"`"
], false, false);
var peg$e168 = peg$otherExpectation("raw argument");
var peg$e169 = peg$classExpectation([
'"',
"'",
")",
",",
"\\",
"`"
], false, false);
var peg$e170 = peg$otherExpectation("Literal content without interpolation");
var peg$e171 = peg$otherExpectation("Semantic section content");
var peg$e172 = peg$otherExpectation("Path component parts");
var peg$e173 = peg$otherExpectation("Section name");
var peg$e174 = peg$otherExpectation("Semantic command content with @var interpolation");
var peg$e175 = peg$otherExpectation("Command content with @var interpolation");
var peg$e176 = peg$otherExpectation("Quoted string in command");
var peg$e177 = peg$classExpectation([
'"',
"@",
"<",
"\n",
"\r"
], false, false);
var peg$e178 = peg$classExpectation([
"`",
"@",
"<"
], false, false);
var peg$e179 = peg$classExpectation([
"<",
"@"
], false, false);
var peg$e180 = peg$otherExpectation("Permissive command text content");
var peg$e181 = peg$otherExpectation("Content with @var interpolation");
var peg$e182 = peg$otherExpectation("Content with {{var}} interpolation");
var peg$e183 = peg$literalExpectation(":::", false);
var peg$e184 = peg$otherExpectation("Unquoted path with @var interpolation");
var peg$e185 = peg$otherExpectation("Unquoted path text");
var peg$e186 = peg$classExpectation([
" ",
" ",
"\r",
"\n",
"/",
"]",
"{",
"}"
], false, false);
var peg$e187 = peg$otherExpectation("Unquoted command with @var interpolation");
var peg$e188 = peg$otherExpectation("Semantic code content without any interpolation");
var peg$e189 = peg$otherExpectation("Code content without interpolation");
var peg$e190 = peg$classExpectation([
"[",
"\n"
], true, false);
var peg$e191 = peg$otherExpectation("Literal code content with natural bracket nesting");
var peg$e192 = peg$otherExpectation("Literal text without any interpolation");
var peg$e193 = peg$otherExpectation("Double quoted content with @var interpolation");
var peg$e194 = peg$otherExpectation("Template content with interpolation");
var peg$e195 = peg$otherExpectation("Template interpolation patterns");
var peg$e196 = peg$otherExpectation("Command interpolation patterns");
var peg$e197 = peg$otherExpectation("Semantic content for @text directive");
var peg$e198 = peg$classExpectation([
"]"
], true, false);
var peg$e199 = peg$otherExpectation("Wrapped template content");
var peg$e200 = peg$otherExpectation("Wrapped command content");
var peg$e201 = peg$otherExpectation("Command content interpolation patterns");
var peg$e202 = peg$otherExpectation("Wrapped code content");
var peg$e203 = peg$otherExpectation("data object literal");
var peg$e204 = peg$literalExpectation("{", false);
var peg$e205 = peg$literalExpectation("}", false);
var peg$e206 = peg$otherExpectation("data context property value");
var peg$e207 = peg$otherExpectation("data template value");
var peg$e208 = peg$otherExpectation("data context string value");
var peg$e209 = peg$otherExpectation("standard directive ending");
var peg$e210 = peg$otherExpectation("secured directive ending");
var peg$e211 = peg$otherExpectation("commented directive ending");
var peg$e212 = peg$otherExpectation("exe assignment value");
var peg$e213 = peg$otherExpectation("exe exec invocation");
var peg$e214 = peg$otherExpectation("exe slash run pattern");
var peg$e215 = peg$otherExpectation("exe run command pattern");
var peg$e216 = peg$otherExpectation("exe code pattern");
var peg$e217 = peg$otherExpectation("exe command pattern");
var peg$e218 = peg$otherExpectation("exe template pattern");
var peg$e219 = peg$otherExpectation("exe section pattern");
var peg$e220 = peg$otherExpectation("exe resolver pattern");
var peg$e221 = peg$otherExpectation("exe command reference");
var peg$e222 = peg$classExpectation([
"(",
[
".",
"/"
]
], false, false);
var peg$e223 = peg$otherExpectation("exe environment declaration");
var peg$e224 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
[
"0",
"9"
],
"_",
"@",
"-"
], false, false);
var peg$e225 = peg$classExpectation([
[
"a",
"z"
],
[
"A",
"Z"
],
[
"0",
"9"
],
"_",
"/",
"@",
"-"
], false, false);
var peg$e226 = peg$literalExpectation("?", false);
var peg$e227 = peg$literalExpectation("==", false);
var peg$e228 = peg$literalExpectation("!=", false);
var peg$e229 = peg$literalExpectation("<=", false);
var peg$e230 = peg$literalExpectation(">=", false);
var peg$e231 = peg$literalExpectation("=", false);
var peg$e232 = peg$literalExpectation("!", false);
var peg$e233 = peg$otherExpectation("file reference interpolation");
var peg$e234 = peg$otherExpectation("file reference content");
var peg$e235 = peg$otherExpectation("condensed pipe");
var peg$e236 = peg$otherExpectation("pipe chain");
var peg$e237 = peg$otherExpectation("field chain");
var peg$e238 = peg$literalExpectation("foreach", false);
var peg$e239 = peg$literalExpectation("with", false);
var peg$e240 = peg$literalExpectation("separator", false);
var peg$e241 = peg$literalExpectation("template", false);
var peg$e242 = peg$otherExpectation("for iteration pattern");
var peg$e243 = peg$literalExpectation("in", false);
var peg$e244 = peg$otherExpectation("for action");
var peg$e245 = peg$literalExpectation("output", false);
var peg$e246 = peg$literalExpectation("to", false);
var peg$e247 = peg$literalExpectation("show", false);
var peg$e248 = peg$literalExpectation("var", false);
var peg$e249 = peg$otherExpectation("comma with optional whitespace");
var peg$e250 = peg$otherExpectation("semicolon with optional whitespace");
var peg$e251 = peg$otherExpectation("environment variable list");
var peg$e252 = peg$otherExpectation("environment variable reference");
var peg$e253 = peg$otherExpectation("output source");
var peg$e254 = peg$otherExpectation("output source (variables only)");
var peg$e255 = peg$otherExpectation("output source (variables and exec)");
var peg$e256 = peg$literalExpectation("trust", false);
var peg$e257 = peg$literalExpectation("needs", false);
var peg$e258 = peg$literalExpectation("@run", false);
var peg$e259 = peg$otherExpectation("output target");
var peg$e260 = peg$otherExpectation("stream target");
var peg$e261 = peg$literalExpectation("stdout", false);
var peg$e262 = peg$literalExpectation("stderr", false);
var peg$e263 = peg$otherExpectation("environment variable target");
var peg$e264 = peg$literalExpectation("env", false);
var peg$e265 = peg$otherExpectation("resolver target");
var peg$e266 = peg$classExpectation([
" ",
" ",
"\n",
"\r"
], true, false);
var peg$e267 = peg$otherExpectation("file target");
var peg$e268 = peg$otherExpectation("output file path");
var peg$e269 = peg$classExpectation([
" ",
" ",
"\n",
"\r",
'"',
"'",
"[",
"]"
], true, false);
var peg$e270 = peg$otherExpectation("output format");
var peg$e271 = peg$classExpectation([
"/",
"s"
], true, false);
var peg$e272 = peg$otherExpectation("Any path expression");
var peg$e273 = peg$otherExpectation("quoted string path");
var peg$e274 = peg$classExpectation([
'"'
], true, false);
var peg$e275 = peg$classExpectation([
"'"
], true, false);
var peg$e276 = peg$otherExpectation("URL protocol type");
var peg$e277 = peg$literalExpectation("s", false);
var peg$e278 = peg$literalExpectation("file", false);
var peg$e279 = peg$otherExpectation("URL content");
var peg$e280 = peg$literalExpectation("//", false);
var peg$e281 = peg$otherExpectation("URL parts");
var peg$e282 = peg$otherExpectation("Escaped backslash in URL");
var peg$e283 = peg$literalExpectation("\\\\", false);
var peg$e284 = peg$otherExpectation("Escaped @ in URL");
var peg$e285 = peg$literalExpectation("\\@", false);
var peg$e286 = peg$otherExpectation("URL variable reference");
var peg$e287 = peg$otherExpectation("URL segment");
var peg$e288 = peg$classExpectation([
"@",
"\\",
"s",
"\n"
], true, false);
var peg$e289 = peg$otherExpectation("Section name or variable reference");
var peg$e290 = peg$classExpectation([
"]",
'"',
"'",
"\r",
"\n"
], false, false);
var peg$e291 = peg$otherExpectation("In right-hand side of assignment");
var peg$e292 = peg$otherExpectation("Security options (TTL and/or Trust)");
var peg$e293 = peg$otherExpectation("TTL cache duration");
var peg$e294 = peg$otherExpectation("TTL value");
var peg$e295 = peg$otherExpectation("TTL duration");
var peg$e296 = peg$otherExpectation("TTL time unit");
var peg$e297 = peg$classExpectation([
"d",
"h",
"m",
"s",
"w"
], false, false);
var peg$e298 = peg$otherExpectation("TTL special value");
var peg$e299 = peg$literalExpectation("live", false);
var peg$e300 = peg$literalExpectation("static", false);
var peg$e301 = peg$otherExpectation("Trust level");
var peg$e302 = peg$otherExpectation("Trust level value");
var peg$e303 = peg$literalExpectation("always", false);
var peg$e304 = peg$literalExpectation("verify", false);
var peg$e305 = peg$literalExpectation("never", false);
var peg$e306 = peg$otherExpectation("Integer");
var peg$e307 = peg$otherExpectation("Data Context String");
var peg$e308 = peg$otherExpectation("Template Context String");
var peg$e309 = peg$otherExpectation("Expression Context String");
var peg$e310 = peg$classExpectation([
"<",
">"
], false, false);
var peg$e311 = peg$literalExpectation("&>", false);
var peg$e312 = peg$literalExpectation("&", false);
var peg$e313 = peg$classExpectation([
"&",
">"
], false, false);
var peg$e314 = peg$classExpectation([
'"',
"@"
], true, false);
var peg$e315 = peg$classExpectation([
"@",
"|",
"&",
";",
"<",
">",
" ",
" ",
"\n",
"\r",
'"',
"'"
], true, false);
var peg$e316 = peg$otherExpectation("tail modifiers");
var peg$e317 = peg$literalExpectation("pipeline", false);
var peg$e318 = peg$otherExpectation("TTL clause");
var peg$e319 = peg$otherExpectation("unified variable or exec reference");
var peg$e320 = peg$otherExpectation("unified reference with tail support");
var peg$e321 = peg$otherExpectation("unified reference without tail support");
var peg$e322 = peg$otherExpectation("field access exec invocation");
var peg$e323 = peg$otherExpectation("field access exec invocation without tail");
var peg$e324 = peg$otherExpectation("simple exec invocation");
var peg$e325 = peg$otherExpectation("simple exec invocation without tail");
var peg$e326 = peg$otherExpectation("variable reference with optional tail modifiers");
var peg$e327 = peg$otherExpectation("variable reference without tail modifiers");
var peg$e328 = peg$otherExpectation("Code brackets {...}");
var peg$e329 = peg$otherExpectation("Command brackets {...}");
var peg$e330 = peg$otherExpectation("Unified run content [(...))]");
var peg$e331 = peg$literalExpectation("[(", false);
var peg$e332 = peg$literalExpectation(")]", false);
var peg$e333 = peg$classExpectation([
"}"
], true, false);
var peg$e334 = peg$classExpectation([
" ",
" ",
"\n",
"\r"
], false, false);
var peg$e335 = peg$literalExpectation("/*", false);
var peg$e336 = peg$literalExpectation("*/", false);
var peg$e337 = peg$otherExpectation("var assignment value");
var peg$e338 = peg$otherExpectation("alligator with field access");
var peg$e339 = peg$otherExpectation("template with pipeline");
var peg$e340 = peg$otherExpectation("variable with flexible pipe syntax");
var peg$e341 = peg$otherExpectation("exec invocation pattern");
var peg$e342 = peg$otherExpectation("object property value");
var peg$e343 = peg$otherExpectation("code execution");
var peg$e344 = peg$otherExpectation("code language");
var peg$e345 = peg$literalExpectation("js", false);
var peg$e346 = peg$literalExpectation("javascript", false);
var peg$e347 = peg$otherExpectation("code block content");
var peg$e348 = peg$otherExpectation("when expression");
var peg$e349 = peg$literalExpectation("when", false);
var peg$e350 = peg$literalExpectation("=>", false);
var peg$e351 = peg$otherExpectation("for expression");
var peg$e352 = peg$literalExpectation("for", false);
var peg$e353 = peg$literalExpectation("each", false);
var peg$e354 = peg$otherExpectation("Special reserved variable");
var peg$e355 = peg$literalExpectation("now", false);
var peg$e356 = peg$literalExpectation("base", false);
var peg$e357 = peg$literalExpectation("input", false);
var peg$e358 = peg$literalExpectation("debug", false);
var peg$e359 = peg$literalExpectation("frontmatter", false);
var peg$e360 = peg$literalExpectation("fm", false);
var peg$e361 = peg$otherExpectation("variable reference with tail modifiers");
var peg$e362 = peg$otherExpectation("variable with optional pipes");
var peg$e363 = peg$otherExpectation("variable reference in template context");
var peg$e364 = peg$literalExpectation("format", false);
var peg$e365 = peg$literalExpectation("asSection", false);
var peg$e366 = peg$literalExpectation("from", false);
var peg$e367 = peg$classExpectation([
"#",
"]"
], true, false);
var peg$e368 = peg$literalExpectation("nodejs", false);
var peg$e369 = peg$literalExpectation("py", false);
var peg$e370 = peg$classExpectation([
"\\",
"s",
"\\",
"n"
], true, false);
var peg$e371 = peg$otherExpectation("Section extraction");
var peg$e372 = peg$classExpectation([
")"
], true, false);
var peg$e373 = peg$literalExpectation("risk.high", false);
var peg$e374 = peg$literalExpectation("risk.med", false);
var peg$e375 = peg$literalExpectation("risk.low", false);
var peg$e376 = peg$literalExpectation("risk", false);
var peg$e377 = peg$literalExpectation("about", false);
var peg$e378 = peg$literalExpectation("meta", false);
var peg$e379 = peg$otherExpectation("for directive simple");
var peg$e380 = peg$literalExpectation("/for", false);
var peg$e381 = peg$literalExpectation("@item", false);
var peg$e382 = peg$otherExpectation("for directive");
var peg$e383 = peg$literalExpectation("@INPUT", true);
var peg$e384 = peg$literalExpectation("@NOW", true);
var peg$e385 = peg$literalExpectation("@TIME", true);
var peg$e386 = peg$literalExpectation("@stdin", false);
var peg$e387 = peg$otherExpectation("Module Identifier Part");
var peg$e388 = peg$classExpectation([
[
"a",
"f"
],
[
"0",
"9"
]
], false, false);
var peg$e389 = peg$literalExpectation("env:", false);
var peg$e390 = peg$classExpectation([
",",
")"
], true, false);
var peg$e391 = peg$literalExpectation("PROJECTPATH", false);
var peg$e392 = peg$literalExpectation("under", false);
var peg$e393 = peg$otherExpectation("var directive");
var peg$e394 = peg$literalExpectation("any", false);
var peg$e395 = peg$literalExpectation("all", false);
var peg$e396 = peg$literalExpectation("first", false);
var peg$f0 = /* @__PURE__ */ __name(function(frontmatter, nodes) {
helpers_default.debug("Start: Entered");
const result = [];
if (frontmatter) result.push(frontmatter);
result.push(...nodes);
return result;
}, "peg$f0");
var peg$f1 = /* @__PURE__ */ __name(function(ws, term) {
let i = offset();
while (i < input.length && (input[i] === " " || input[i] === " " || input[i] === "\r")) {
i++;
}
return i < input.length && input[i] === "/" && helpers_default.isLogicalLineStart(input, i);
}, "peg$f1");
var peg$f2 = /* @__PURE__ */ __name(function(ws, term) {
return helpers_default.createNode(node_type_default.Newline, {
content: term,
location: location()
});
}, "peg$f2");
var peg$f3 = /* @__PURE__ */ __name(function(ws, term) {
return term;
}, "peg$f3");
var peg$f4 = /* @__PURE__ */ __name(function() {
const pos = offset();
const isAtLineStart = helpers_default.isLogicalLineStart(input, pos);
return isAtLineStart;
}, "peg$f4");
var peg$f5 = /* @__PURE__ */ __name(function(marker, content) {
return helpers_default.createNode(node_type_default.Comment, {
content: content.trim(),
marker,
location: location()
});
}, "peg$f5");
var peg$f6 = /* @__PURE__ */ __name(function(marker, content) {
return helpers_default.createNode(node_type_default.Comment, {
content: content.trim(),
marker,
location: location()
});
}, "peg$f6");
var peg$f7 = /* @__PURE__ */ __name(function() {
return ">>";
}, "peg$f7");
var peg$f8 = /* @__PURE__ */ __name(function() {
return "<<";
}, "peg$f8");
var peg$f9 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f9");
var peg$f10 = /* @__PURE__ */ __name(function(marker, content) {
return {
type: "Comment",
marker,
content: content.trim(),
location: location()
};
}, "peg$f10");
var peg$f11 = /* @__PURE__ */ __name(function(first, rest) {
return helpers_default.createNode(node_type_default.Text, {
content: first + rest.join(""),
location: location()
});
}, "peg$f11");
var peg$f12 = /* @__PURE__ */ __name(function() {
const pos = offset();
const isAtLineStart = helpers_default.isLogicalLineStart(input, pos);
if (isAtLineStart && input[pos] === "/") {
return helpers_default.isSlashDirectiveContext(input, pos);
}
if (isAtLineStart && input[pos] === ">" && input[pos + 1] === ">") {
return true;
}
return false;
}, "peg$f12");
var peg$f13 = /* @__PURE__ */ __name(function() {
const pos = offset();
helpers_default.trace(pos, "brace/backtick guard");
return true;
}, "peg$f13");
var peg$f14 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f14");
var peg$f15 = /* @__PURE__ */ __name(function() {
return helpers_default.isLogicalLineStart(input, offset());
}, "peg$f15");
var peg$f16 = /* @__PURE__ */ __name(function(dir) {
return dir;
}, "peg$f16");
var peg$f17 = /* @__PURE__ */ __name(function(c) {
return c;
}, "peg$f17");
var peg$f18 = /* @__PURE__ */ __name(function(content) {
const rawContent = content.join("");
helpers_default.debug("MlldRunFence: Parsing content", {
content: rawContent
});
try {
const innerParser = peg$parse;
const parsed = innerParser(rawContent, {
...options,
startRule: "Start"
});
return helpers_default.createNode(node_type_default.MlldRunBlock, {
content: parsed,
raw: rawContent,
location: location()
});
} catch (e) {
return helpers_default.createNode(node_type_default.MlldRunBlock, {
content: [],
raw: rawContent,
error: e.message,
location: location()
});
}
}, "peg$f18");
var peg$f19 = /* @__PURE__ */ __name(function(opener) {
const rest = input.substring(peg$currPos);
return rest.startsWith("`") && rest.match(/^`+mlld-run/);
}, "peg$f19");
var peg$f20 = /* @__PURE__ */ __name(function(opener) {
helpers_default.mlldError("mlld-run blocks must use exactly 3 backticks (```). Nested backticks are not supported.");
}, "peg$f20");
var peg$f21 = /* @__PURE__ */ __name(function(opener, lang) {
return true;
}, "peg$f21");
var peg$f22 = /* @__PURE__ */ __name(function(opener, lang, closer) {
return closer.length === opener.length;
}, "peg$f22");
var peg$f23 = /* @__PURE__ */ __name(function(opener, lang, c) {
return c;
}, "peg$f23");
var peg$f24 = /* @__PURE__ */ __name(function(opener, lang, content, closer) {
return closer.length !== opener.length;
}, "peg$f24");
var peg$f25 = /* @__PURE__ */ __name(function(opener, lang, content, closer) {
const rawContent = content.join("");
const preserveCodeFences = options?.preserveCodeFences !== false;
const finalContent = preserveCodeFences ? opener.join("") + (lang ? lang : "") + "\n" + rawContent + (rawContent ? "" : "\n") + closer.join("") : rawContent.trimEnd();
return helpers_default.createNode(node_type_default.CodeFence, {
language: lang || void 0,
content: finalContent,
location: location()
});
}, "peg$f25");
var peg$f26 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f26");
var peg$f27 = /* @__PURE__ */ __name(function() {
const pos = offset();
return helpers_default.isSlashDirectiveContext(input, pos);
}, "peg$f27");
var peg$f28 = /* @__PURE__ */ __name(function() {
const pos = offset();
return helpers_default.isAtVariableContext(input, pos);
}, "peg$f28");
var peg$f29 = /* @__PURE__ */ __name(function() {
const pos = offset();
return helpers_default.isRHSContext(input, pos);
}, "peg$f29");
var peg$f30 = /* @__PURE__ */ __name(function() {
const pos = offset();
return helpers_default.isPlainTextContext(input, pos);
}, "peg$f30");
var peg$f31 = /* @__PURE__ */ __name(function() {
const pos = offset();
const isRHS = helpers_default.isRHSContext(input, pos);
let isInRunContext = false;
if (isRHS) {
let i = pos - 1;
let seenSlashSymbol = false;
let potentialRunKeyword = "";
while (i >= 0 && " \r\n".includes(input[i])) {
i--;
}
while (i >= 0 && /[a-zA-Z]/.test(input[i])) {
potentialRunKeyword = input[i] + potentialRunKeyword;
i--;
}
if (i >= 0 && input[i] === "/") {
seenSlashSymbol = true;
}
if (seenSlashSymbol && potentialRunKeyword === "run") {
isInRunContext = true;
}
}
return isInRunContext || helpers_default.isInRunCodeBlockContext(input, pos);
}, "peg$f31");
var peg$f32 = /* @__PURE__ */ __name(function() {
const pos = offset();
if (!helpers_default.isRHSContext(input, pos)) {
return false;
}
let isInExecDirective = false;
let i = pos - 1;
let foundEquals = false;
while (i >= 0 && !foundEquals) {
if (input[i] === "=") {
foundEquals = true;
} else if (input[i] === "\n") {
return false;
}
i--;
}
if (foundEquals) {
i--;
while (i >= 0 && " \r".includes(input[i])) {
i--;
}
let keyword = "";
while (i >= 0 && /[a-zA-Z]/.test(input[i])) {
keyword = input[i] + keyword;
i--;
}
if (i >= 0 && input[i] === "/") {
if (keyword === "exec") {
isInExecDirective = true;
}
}
}
return isInExecDirective;
}, "peg$f32");
var peg$f33 = /* @__PURE__ */ __name(function() {
const pos = offset();
const remaining = input.substring(pos);
const pathPattern = /^@[a-zA-Z_][a-zA-Z0-9_]*[\/\.]/;
return pathPattern.test(remaining);
}, "peg$f33");
var peg$f34 = /* @__PURE__ */ __name(function() {
helpers_default.resetCodeParsingState();
helpers_default.debug("DirectiveBoundary: Parser state reset between directives");
return true;
}, "peg$f34");
var peg$f35 = /* @__PURE__ */ __name(function() {
return offset() === 0;
}, "peg$f35");
var peg$f36 = /* @__PURE__ */ __name(function(content) {
return helpers_default.createNode(node_type_default.Frontmatter, {
content,
location: location()
});
}, "peg$f36");
var peg$f37 = /* @__PURE__ */ __name(function(line) {
return line;
}, "peg$f37");
var peg$f38 = /* @__PURE__ */ __name(function(lines) {
return lines.join("");
}, "peg$f38");
var peg$f39 = /* @__PURE__ */ __name(function(chars) {
return chars.join("") + "\n";
}, "peg$f39");
var peg$f40 = /* @__PURE__ */ __name(function(content) {
return content;
}, "peg$f40");
var peg$f41 = /* @__PURE__ */ __name(function(digits, decimal) {
return parseFloat((text().startsWith("-") ? "-" : "") + digits.join("") + (decimal ? decimal[0] + decimal[1].join("") : ""));
}, "peg$f41");
var peg$f42 = /* @__PURE__ */ __name(function() {
return true;
}, "peg$f42");
var peg$f43 = /* @__PURE__ */ __name(function() {
return false;
}, "peg$f43");
var peg$f44 = /* @__PURE__ */ __name(function() {
return null;
}, "peg$f44");
var peg$f45 = /* @__PURE__ */ __name(function() {
return "*";
}, "peg$f45");
var peg$f46 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f46");
var peg$f47 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f47");
var peg$f48 = /* @__PURE__ */ __name(function(char) {
return char === "\\" ? "\\" : char;
}, "peg$f48");
var peg$f49 = /* @__PURE__ */ __name(function(char) {
switch (char) {
case "n":
return "\n";
case "t":
return " ";
case "r":
return "\r";
case "0":
return "\0";
case "\\":
return "\\";
case '"':
return '"';
case "'":
return "'";
case ".":
return ".";
default:
return char;
}
}, "peg$f49");
var peg$f50 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
helpers_default.debug("BaseTextSegment matched", {
content
});
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f50");
var peg$f51 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f51");
var peg$f52 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
helpers_default.debug("TemplateTextSegment matched", {
content
});
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f52");
var peg$f53 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f53");
var peg$f54 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
helpers_default.debug("CommandTextSegment matched", {
content
});
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f54");
var peg$f55 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f55");
var peg$f56 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
helpers_default.debug("PathTextSegment matched", {
content
});
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f56");
var peg$f57 = /* @__PURE__ */ __name(function() {
const rest = input.substring(peg$currPos);
return !rest.match(/^\s*#\s*/);
}, "peg$f57");
var peg$f58 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f58");
var peg$f59 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
helpers_default.debug("SectionTextSegment matched", {
content
});
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f59");
var peg$f60 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f60");
var peg$f61 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f61");
var peg$f62 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f62");
var peg$f63 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f63");
var peg$f64 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f64");
var peg$f65 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f65");
var peg$f66 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f66");
var peg$f67 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.PathSeparator, {
value: "/",
location: location()
});
}, "peg$f67");
var peg$f68 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.DotSeparator, {
value: ".",
location: location()
});
}, "peg$f68");
var peg$f69 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.SectionMarker, {
value: "#",
location: location()
});
}, "peg$f69");
var peg$f70 = /* @__PURE__ */ __name(function(first, rest) {
return first + rest.join("");
}, "peg$f70");
var peg$f71 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.PathSeparator, {
value: "/",
location: location()
});
}, "peg$f71");
var peg$f72 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.DotSeparator, {
value: ".",
location: location()
});
}, "peg$f72");
var peg$f73 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.SectionMarker, {
value: "#",
location: location()
});
}, "peg$f73");
var peg$f74 = /* @__PURE__ */ __name(function(backticks) {
return backticks.length >= 3 && backticks.length <= 5;
}, "peg$f74");
var peg$f75 = /* @__PURE__ */ __name(function(backticks) {
return backticks;
}, "peg$f75");
var peg$f76 = /* @__PURE__ */ __name(function(text2) {
return text2.join("");
}, "peg$f76");
var peg$f77 = /* @__PURE__ */ __name(function(ws, term) {
const pos = offset();
const isBeforeDirective = input.substr(pos).match(/^\s*@[a-z]/i);
return isBeforeDirective;
}, "peg$f77");
var peg$f78 = /* @__PURE__ */ __name(function(ws, term) {
return helpers_default.createNode(node_type_default.Newline, {
content: term,
location: location()
});
}, "peg$f78");
var peg$f79 = /* @__PURE__ */ __name(function(ws, term) {
return helpers_default.createNode(node_type_default.Newline, {
content: term,
location: location()
});
}, "peg$f79");
var peg$f80 = /* @__PURE__ */ __name(function(ws) {
const atEof = offset() === input.length;
const nextChar = input[offset()];
return atEof || nextChar === "@" && helpers_default.isLogicalLineStart(input, offset());
}, "peg$f80");
var peg$f81 = /* @__PURE__ */ __name(function(ws) {
return helpers_default.createNode(node_type_default.Newline, {
content: "\n",
location: location()
});
}, "peg$f81");
var peg$f82 = /* @__PURE__ */ __name(function(source, options2, pipes) {
helpers_default.debug("AlligatorExpression matched", {
source,
options: options2,
pipes
});
return {
type: "load-content",
source,
...options2 ? {
options: options2
} : {},
...pipes && pipes.length > 0 ? {
pipes
} : {},
location: location()
};
}, "peg$f82");
var peg$f83 = /* @__PURE__ */ __name(function(protocol, host, path) {
helpers_default.debug("AlligatorURL matched", {
protocol,
host,
path
});
return {
type: "url",
protocol,
host,
path: path || "/",
raw: text()
};
}, "peg$f83");
var peg$f84 = /* @__PURE__ */ __name(function(chars) {
helpers_default.debug("AlligatorQuotedPath matched", {
chars
});
const pathString = chars.join("");
const textNode = helpers_default.createNode(node_type_default.Text, {
content: pathString,
location: location()
});
return {
type: "path",
segments: [
textNode
],
raw: pathString,
meta: helpers_default.createPathMetadata(pathString, [
textNode
])
};
}, "peg$f84");
var peg$f85 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("AlligatorUnquotedPath matched", {
parts
});
const pathString = helpers_default.reconstructRawString(parts);
return {
type: "path",
segments: parts,
raw: pathString,
meta: helpers_default.createPathMetadata(pathString, parts)
};
}, "peg$f85");
var peg$f86 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f86");
var peg$f87 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f87");
var peg$f88 = /* @__PURE__ */ __name(function(id, fields) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...fields.length > 0 ? {
fields
} : {}
}, location());
}, "peg$f88");
var peg$f89 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f89");
var peg$f90 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f90");
var peg$f91 = /* @__PURE__ */ __name(function(section, transform) {
const options2 = {
section
};
options2.transform = transform;
return options2;
}, "peg$f91");
var peg$f92 = /* @__PURE__ */ __name(function(section, rename) {
const options2 = {
section
};
section.renamed = rename;
return options2;
}, "peg$f92");
var peg$f93 = /* @__PURE__ */ __name(function(section) {
return {
section
};
}, "peg$f93");
var peg$f94 = /* @__PURE__ */ __name(function(transform) {
return {
transform
};
}, "peg$f94");
var peg$f95 = /* @__PURE__ */ __name(function(identifier) {
helpers_default.debug("SectionClause matched", {
identifier
});
return {
type: "section",
identifier
};
}, "peg$f95");
var peg$f96 = /* @__PURE__ */ __name(function(varRef, fields) {
return helpers_default.createVariableReferenceNode("sectionVariable", {
identifier: varRef,
...fields.length > 0 ? {
fields
} : {}
}, location());
}, "peg$f96");
var peg$f97 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("").trim();
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f97");
var peg$f98 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f98");
var peg$f99 = /* @__PURE__ */ __name(function(title) {
return {
type: "rename-template",
parts: title
};
}, "peg$f99");
var peg$f100 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f100");
var peg$f101 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f101");
var peg$f102 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f102");
var peg$f103 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f103");
var peg$f104 = /* @__PURE__ */ __name(function(id, fields) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...fields.length > 0 ? {
fields
} : {}
}, location());
}, "peg$f104");
var peg$f105 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f105");
var peg$f106 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f106");
var peg$f107 = /* @__PURE__ */ __name(function(template) {
return template;
}, "peg$f107");
var peg$f108 = /* @__PURE__ */ __name(function(parts) {
return {
type: "template",
parts
};
}, "peg$f108");
var peg$f109 = /* @__PURE__ */ __name(function(fields) {
return {
type: "placeholder",
fields
};
}, "peg$f109");
var peg$f110 = /* @__PURE__ */ __name(function(id, fields) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...fields.length > 0 ? {
fields
} : {}
}, location());
}, "peg$f110");
var peg$f111 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f111");
var peg$f112 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f112");
var peg$f113 = /* @__PURE__ */ __name(function(first, field) {
return field;
}, "peg$f113");
var peg$f114 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f114");
var peg$f115 = /* @__PURE__ */ __name(function(id) {
return {
type: "field",
value: id
};
}, "peg$f115");
var peg$f116 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f116");
var peg$f117 = /* @__PURE__ */ __name(function(chars) {
return "/" + chars.join("");
}, "peg$f117");
var peg$f118 = /* @__PURE__ */ __name(function() {
helpers_default.debug("ArrayLiteral matched empty array");
return {
type: "array",
items: [],
location: location()
};
}, "peg$f118");
var peg$f119 = /* @__PURE__ */ __name(function(items) {
helpers_default.debug("ArrayLiteral matched with items", {
itemCount: items.length
});
return {
type: "array",
items,
location: location()
};
}, "peg$f119");
var peg$f120 = /* @__PURE__ */ __name(function(first, value) {
return value;
}, "peg$f120");
var peg$f121 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f121");
var peg$f122 = /* @__PURE__ */ __name(function(segments) {
const allParts = [];
const bases = [];
const rawBases = [];
let hasScriptRunner = false;
let hasVariables = false;
segments.forEach((segment) => {
if (segment.type === "commandBase") {
bases.push(segment.node);
rawBases.push(segment.raw);
allParts.push(segment.node);
if (segment.isScriptRunner) {
hasScriptRunner = true;
}
} else if (segment.type === "operator") {
allParts.push(segment.node);
} else if (segment.type === "argument") {
allParts.push(...segment.parts);
if (segment.hasVariables) {
hasVariables = true;
}
}
});
const raw = helpers_default.reconstructRawString(allParts);
return {
parts: allParts,
raw,
bases,
rawBases,
hasVariables,
hasScriptRunner
};
}, "peg$f122");
var peg$f123 = /* @__PURE__ */ __name(function(first, op, pipeline) {
return [
{
type: "operator",
node: op
},
...pipeline
];
}, "peg$f123");
var peg$f124 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
].flat();
}, "peg$f124");
var peg$f125 = /* @__PURE__ */ __name(function(op) {
return helpers_default.createNode(node_type_default.CommandOperator, {
operator: op.trim(),
location: location()
});
}, "peg$f125");
var peg$f126 = /* @__PURE__ */ __name(function(base, args) {
const result = [
base
];
if (args) {
result.push({
type: "argument",
parts: args.parts,
hasVariables: args.hasVariables
});
}
return result;
}, "peg$f126");
var peg$f127 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f127");
var peg$f128 = /* @__PURE__ */ __name(function(parts) {
const hasVariables = parts.some((p) => p.type === node_type_default.VariableReference);
return {
parts,
hasVariables
};
}, "peg$f128");
var peg$f129 = /* @__PURE__ */ __name(function(varName) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: varName,
location: location()
});
}, "peg$f129");
var peg$f130 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars,
location: location()
});
}, "peg$f130");
var peg$f131 = /* @__PURE__ */ __name(function(runner, script) {
const command = runner + " run";
return {
type: "commandBase",
node: helpers_default.createNode(node_type_default.CommandBase, {
type: node_type_default.CommandBase,
command,
script,
isScriptRunner: true,
location: location()
}),
raw: command + " " + script,
isScriptRunner: true
};
}, "peg$f131");
var peg$f132 = /* @__PURE__ */ __name(function(pkg) {
return {
type: "commandBase",
node: helpers_default.createNode(node_type_default.CommandBase, {
command: "npx",
package: pkg,
isPackageRunner: true,
location: location()
}),
raw: "npx " + pkg,
isScriptRunner: true
};
}, "peg$f132");
var peg$f133 = /* @__PURE__ */ __name(function(lang, mod) {
const command = lang + " -m";
return {
type: "commandBase",
node: helpers_default.createNode(node_type_default.CommandBase, {
command,
module: mod,
location: location()
}),
raw: command + " " + mod
};
}, "peg$f133");
var peg$f134 = /* @__PURE__ */ __name(function(cmd, flag) {
const command = cmd + " " + flag;
return {
type: "commandBase",
node: helpers_default.createNode(node_type_default.CommandBase, {
command,
isInlineCode: true,
location: location()
}),
raw: command
};
}, "peg$f134");
var peg$f135 = /* @__PURE__ */ __name(function(tool, target) {
return {
type: "commandBase",
node: helpers_default.createNode(node_type_default.CommandBase, {
command: tool,
location: location()
}),
raw: tool
};
}, "peg$f135");
var peg$f136 = /* @__PURE__ */ __name(function(cmd) {
return {
type: "commandBase",
node: helpers_default.createNode(node_type_default.CommandBase, {
command: cmd,
location: location()
}),
raw: cmd
};
}, "peg$f136");
var peg$f137 = /* @__PURE__ */ __name(function(name, args) {
helpers_default.debug("CommandReference matched", {
name,
args
});
return {
name,
identifier: [
helpers_default.createNode(node_type_default.Text, {
content: name,
location: location()
})
],
args: args || [],
isCommandReference: true
};
}, "peg$f137");
var peg$f138 = /* @__PURE__ */ __name(function(args) {
return args || [];
}, "peg$f138");
var peg$f139 = /* @__PURE__ */ __name(function(first, arg) {
return arg;
}, "peg$f139");
var peg$f140 = /* @__PURE__ */ __name(function(first, rest) {
const args = [
first,
...rest
].filter((arg) => arg !== null);
return args;
}, "peg$f140");
var peg$f141 = /* @__PURE__ */ __name(function(str) {
if (typeof str === "string") {
return helpers_default.createNode(node_type_default.Text, {
content: str,
location: location()
});
} else if (str.needsInterpolation) {
return str.parts;
}
}, "peg$f141");
var peg$f142 = /* @__PURE__ */ __name(function(varRef) {
return varRef;
}, "peg$f142");
var peg$f143 = /* @__PURE__ */ __name(function(name, args) {
helpers_default.debug("NestedExecInvocation matched", {
name,
args
});
const ref = {
name,
identifier: [
helpers_default.createNode(node_type_default.Text, {
content: name,
location: location()
})
],
args: args || [],
isCommandReference: true
};
return helpers_default.createNode(node_type_default.ExecInvocation, {
commandRef: ref,
withClause: null,
location: location()
});
}, "peg$f143");
var peg$f144 = /* @__PURE__ */ __name(function(content) {
return helpers_default.createNode(node_type_default.Text, {
content: content.map((c) => c.content || c.identifier || "").join(""),
isTemplate: true,
templateParts: content,
location: location()
});
}, "peg$f144");
var peg$f145 = /* @__PURE__ */ __name(function(template) {
helpers_default.debug("BacktickTemplateArgument matched", {
template
});
return template;
}, "peg$f145");
var peg$f146 = /* @__PURE__ */ __name(function(parts) {
return {
content: parts,
wrapperType: "backtick"
};
}, "peg$f146");
var peg$f147 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f147");
var peg$f148 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f148");
var peg$f149 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f149");
var peg$f150 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f150");
var peg$f151 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f151");
var peg$f152 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("").trim();
if (!content) return null;
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f152");
var peg$f153 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f153");
var peg$f154 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f154");
var peg$f155 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f155");
var peg$f156 = /* @__PURE__ */ __name(function(pathParts, section) {
const pathString = helpers_default.reconstructRawString(pathParts);
let sectionRaw;
if (section.type === "VariableReference") {
sectionRaw = "@" + section.identifier;
} else if (typeof section === "string") {
sectionRaw = section;
} else {
sectionRaw = section.content || section.identifier || "";
}
return {
type: "sectionPath",
parts: pathParts,
section: sectionRaw,
sectionNodes: Array.isArray(section) ? section : [
section
],
raw: pathString + " # " + sectionRaw
};
}, "peg$f156");
var peg$f157 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f157");
var peg$f158 = /* @__PURE__ */ __name(function(chars) {
return chars.trim();
}, "peg$f158");
var peg$f159 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f159");
var peg$f160 = /* @__PURE__ */ __name(function(content) {
return helpers_default.createNode(node_type_default.Text, {
content: '"' + content + '"',
location: location()
});
}, "peg$f160");
var peg$f161 = /* @__PURE__ */ __name(function(content) {
return helpers_default.createNode(node_type_default.Text, {
content: "'" + content + "'",
location: location()
});
}, "peg$f161");
var peg$f162 = /* @__PURE__ */ __name(function(parts) {
return parts.map((p) => {
if (p.type === node_type_default.VariableReference) {
return "@" + p.identifier;
}
return p.content || "";
}).join("");
}, "peg$f162");
var peg$f163 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f163");
var peg$f164 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f164");
var peg$f165 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f165");
var peg$f166 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f166");
var peg$f167 = /* @__PURE__ */ __name(function(char) {
return helpers_default.createNode(node_type_default.Text, {
content: "@" + char,
location: location()
});
}, "peg$f167");
var peg$f168 = /* @__PURE__ */ __name(function(name, args) {
helpers_default.debug("BacktickExecInvocation matched", {
name,
args
});
const commandRef = {
name,
identifier: [
helpers_default.createNode(node_type_default.Text, {
content: name,
location: location()
})
],
args: args || [],
isCommandReference: true
};
return helpers_default.createExecInvocation(commandRef, null, location());
}, "peg$f168");
var peg$f169 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f169");
var peg$f170 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f170");
var peg$f171 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f171");
var peg$f172 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f172");
var peg$f173 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
helpers_default.debug("CommandTextContent matched", {
content
});
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f173");
var peg$f174 = /* @__PURE__ */ __name(function() {
return !helpers_default.isCommandEndingBracket(input, peg$currPos);
}, "peg$f174");
var peg$f175 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f175");
var peg$f176 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("DoubleColonContent matched ::...::", {
parts
});
let processedParts = parts;
if (processedParts.length > 0 && processedParts[0].type === "Text" && processedParts[0].content) {
if (processedParts[0].content === "\n") {
processedParts = processedParts.slice(1);
} else if (processedParts[0].content.startsWith("\n")) {
processedParts[0] = {
...processedParts[0],
content: processedParts[0].content.slice(1)
};
}
}
if (processedParts.length > 0) {
const lastIndex = processedParts.length - 1;
const lastPart = processedParts[lastIndex];
if (lastPart.type === "Text" && lastPart.content) {
if (lastPart.content === "\n") {
processedParts = processedParts.slice(0, -1);
} else if (lastPart.content.endsWith("\n")) {
processedParts[lastIndex] = {
...lastPart,
content: lastPart.content.slice(0, -1)
};
}
}
}
return processedParts;
}, "peg$f176");
var peg$f177 = /* @__PURE__ */ __name(function(char) {
return helpers_default.createNode(node_type_default.Text, {
content: "@" + char,
location: location()
});
}, "peg$f177");
var peg$f178 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("TripleColonContent matched :::...:::", {
parts
});
let processedParts = parts;
if (processedParts.length > 0 && processedParts[0].type === "Text" && processedParts[0].content) {
if (processedParts[0].content === "\n") {
processedParts = processedParts.slice(1);
} else if (processedParts[0].content.startsWith("\n")) {
processedParts[0] = {
...processedParts[0],
content: processedParts[0].content.slice(1)
};
}
}
if (processedParts.length > 0) {
const lastIndex = processedParts.length - 1;
const lastPart = processedParts[lastIndex];
if (lastPart.type === "Text" && lastPart.content) {
if (lastPart.content === "\n") {
processedParts = processedParts.slice(0, -1);
} else if (lastPart.content.endsWith("\n")) {
processedParts[lastIndex] = {
...lastPart,
content: lastPart.content.slice(0, -1)
};
}
}
}
return processedParts;
}, "peg$f178");
var peg$f179 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("DoubleBracketContent matched {{var}}", {
parts,
type: parts ? parts.type : "unknown"
});
return [
parts
];
}, "peg$f179");
var peg$f180 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f180");
var peg$f181 = /* @__PURE__ */ __name(function(chars) {
helpers_default.debug("UnquotedPathText matched", {
chars
});
return helpers_default.createNode(node_type_default.Text, {
content: chars,
location: location()
});
}, "peg$f181");
var peg$f182 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f182");
var peg$f183 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f183");
var peg$f184 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f184");
var peg$f185 = /* @__PURE__ */ __name(function(parts) {
return parts.join("");
}, "peg$f185");
var peg$f186 = /* @__PURE__ */ __name(function(inner) {
return "[" + inner + "]";
}, "peg$f186");
var peg$f187 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f187");
var peg$f188 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f188");
var peg$f189 = /* @__PURE__ */ __name(function(parts) {
if (parts.length === 0) {
return [
helpers_default.createNode(node_type_default.Text, {
content: "",
location: location()
})
];
}
return parts;
}, "peg$f189");
var peg$f190 = /* @__PURE__ */ __name(function(rule) {
helpers_default.debug("TemplateStyleInterpolation matched triple colon with {{var}} interpolation", {
rule
});
return {
content: rule,
wrapperType: "tripleColon"
};
}, "peg$f190");
var peg$f191 = /* @__PURE__ */ __name(function(rule) {
helpers_default.debug("TemplateStyleInterpolation matched InterpolatedTemplateContent", {
rule,
isArray: Array.isArray(rule),
length: Array.isArray(rule) ? rule.length : "not array",
hasType: rule && typeof rule === "object" && "type" in rule
});
if (rule && typeof rule === "object" && !Array.isArray(rule) && rule.type === "doubleBracketSection") {
return rule;
}
return {
content: rule,
wrapperType: "doubleColon"
// Now means @var interpolation
};
}, "peg$f191");
var peg$f192 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("TemplateStyleInterpolation matched backtick with @var interpolation", {
parts
});
return {
content: parts,
wrapperType: "backtick"
};
}, "peg$f192");
var peg$f193 = /* @__PURE__ */ __name(function(rule) {
helpers_default.debug("TemplateStyleInterpolation matched double quotes with @var interpolation", {
rule
});
return {
content: rule,
wrapperType: "doubleQuote"
};
}, "peg$f193");
var peg$f194 = /* @__PURE__ */ __name(function(rule) {
helpers_default.debug("TemplateStyleInterpolation matched single quotes (literal)", {
rule
});
return {
content: rule,
wrapperType: "singleQuote"
};
}, "peg$f194");
var peg$f195 = /* @__PURE__ */ __name(function() {
helpers_default.debug("SemanticTextContent detected [[");
return {
type: "template",
lookahead: "[["
};
}, "peg$f195");
var peg$f196 = /* @__PURE__ */ __name(function(ahead) {
return ahead.includes(" # ");
}, "peg$f196");
var peg$f197 = /* @__PURE__ */ __name(function(ahead) {
helpers_default.debug("SemanticTextContent detected [ with section");
return {
type: "section",
lookahead: "["
};
}, "peg$f197");
var peg$f198 = /* @__PURE__ */ __name(function() {
helpers_default.debug("SemanticTextContent detected [");
return {
type: "path",
lookahead: "["
};
}, "peg$f198");
var peg$f199 = /* @__PURE__ */ __name(function() {
helpers_default.debug("SemanticTextContent detected /run");
return {
type: "run",
lookahead: "/run"
};
}, "peg$f199");
var peg$f200 = /* @__PURE__ */ __name(function() {
helpers_default.debug('SemanticTextContent detected "');
return {
type: "template",
lookahead: '"'
};
}, "peg$f200");
var peg$f201 = /* @__PURE__ */ __name(function() {
helpers_default.debug("SemanticTextContent detected '");
return {
type: "literal",
lookahead: "'"
};
}, "peg$f201");
var peg$f202 = /* @__PURE__ */ __name(function(content) {
helpers_default.debug("WrappedTemplateContent matched", {
contentType: typeof content,
isArray: Array.isArray(content),
contentLength: Array.isArray(content) ? content.length : "not array",
contentHasType: content && content.type,
wrapperType: content && content.wrapperType
});
const rawString = helpers_default.reconstructRawString(content.content);
return {
parts: content.content,
raw: rawString,
wrapperType: content.wrapperType
};
}, "peg$f202");
var peg$f203 = /* @__PURE__ */ __name(function(content) {
const rawString = helpers_default.reconstructRawString(content);
return {
parts: content,
raw: rawString
};
}, "peg$f203");
var peg$f204 = /* @__PURE__ */ __name(function(content) {
const rawString = helpers_default.reconstructRawString(content);
return {
parts: content,
raw: rawString
};
}, "peg$f204");
var peg$f205 = /* @__PURE__ */ __name(function(props) {
return helpers_default.createObjectFromProperties(props, location());
}, "peg$f205");
var peg$f206 = /* @__PURE__ */ __name(function(first, p) {
return p;
}, "peg$f206");
var peg$f207 = /* @__PURE__ */ __name(function(first, rest) {
const result = {};
for (const [key, value] of [
first,
...rest
]) {
result[key] = value;
}
return result;
}, "peg$f207");
var peg$f208 = /* @__PURE__ */ __name(function(key, value) {
return [
key,
value
];
}, "peg$f208");
var peg$f209 = /* @__PURE__ */ __name(function(content) {
return {
content,
wrapperType: "doubleBracket"
};
}, "peg$f209");
var peg$f210 = /* @__PURE__ */ __name(function(parts) {
return {
content: parts,
wrapperType: "backtick"
};
}, "peg$f210");
var peg$f211 = /* @__PURE__ */ __name(function(first, value) {
return value;
}, "peg$f211");
var peg$f212 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f212");
var peg$f213 = /* @__PURE__ */ __name(function(item) {
return [
item
];
}, "peg$f213");
var peg$f214 = /* @__PURE__ */ __name(function(tail, comment) {
helpers_default.debug("StandardDirectiveEnding matched", {
hasTail: !!tail,
hasComment: !!comment
});
return {
tail: tail || null,
comment: comment || null
};
}, "peg$f214");
var peg$f215 = /* @__PURE__ */ __name(function(tail, s) {
return s;
}, "peg$f215");
var peg$f216 = /* @__PURE__ */ __name(function(tail, security, comment) {
helpers_default.debug("SecuredDirectiveEnding matched", {
hasTail: !!tail,
hasSecurity: !!security,
hasComment: !!comment
});
return {
tail: tail || null,
security: security || null,
comment: comment || null
};
}, "peg$f216");
var peg$f217 = /* @__PURE__ */ __name(function(comment) {
helpers_default.debug("CommentedDirectiveEnding matched", {
hasComment: !!comment
});
return {
comment: comment || null
};
}, "peg$f217");
var peg$f218 = /* @__PURE__ */ __name(function(invocation) {
return {
type: "exeExecInvocation",
values: {
commandRef: invocation.commandRef,
args: invocation.commandRef.args || []
},
raw: {
commandRef: invocation.commandRef.name,
args: (invocation.commandRef.args || []).map((arg) => arg.type === "Text" ? arg.content : arg.type === "VariableReference" ? "@" + arg.identifier : "")
},
meta: {
isExecInvocation: true,
parameterCount: (invocation.commandRef.args || []).length
},
subtype: "exeCommand",
source: "invocation"
};
}, "peg$f218");
var peg$f219 = /* @__PURE__ */ __name(function(langCode) {
return {
subtype: "exeCode",
source: "code",
values: {
lang: langCode.values.lang,
args: langCode.values.args,
code: langCode.values.code
},
raw: {
lang: langCode.raw.lang,
args: langCode.raw.args,
code: langCode.raw.code
},
meta: langCode.meta
};
}, "peg$f219");
var peg$f220 = /* @__PURE__ */ __name(function(content) {
return {
subtype: "exeCommand",
source: "command",
values: {
command: content.values.command,
commandBases: content.values.commandBases
},
raw: {
command: content.raw.command,
commandBases: content.raw.commandBases
},
meta: content.meta
};
}, "peg$f220");
var peg$f221 = /* @__PURE__ */ __name(function(content) {
return {
subtype: "exeCommand",
source: "command",
values: {
command: content.values.command,
commandBases: content.values.commandBases
},
raw: {
command: content.raw.command,
commandBases: content.raw.commandBases
},
meta: content.meta
};
}, "peg$f221");
var peg$f222 = /* @__PURE__ */ __name(function(codeCore) {
return {
subtype: "exeCode",
source: "code",
values: {
lang: codeCore.values.lang,
args: codeCore.values.args,
code: codeCore.values.code
},
raw: {
lang: codeCore.raw.lang,
args: codeCore.raw.args,
code: codeCore.raw.code
},
meta: codeCore.meta
};
}, "peg$f222");
var peg$f223 = /* @__PURE__ */ __name(function(content) {
return {
subtype: "exeCommand",
source: "command",
values: {
command: content.values.command,
commandBases: content.values.commandBases
},
raw: {
command: content.raw.command,
commandBases: content.raw.commandBases
},
meta: content.meta
};
}, "peg$f223");
var peg$f224 = /* @__PURE__ */ __name(function(template) {
return {
subtype: "exeTemplate",
source: "template",
values: {
template: template.values.content
},
raw: {
template: template.raw.content
},
meta: template.meta
};
}, "peg$f224");
var peg$f225 = /* @__PURE__ */ __name(function(pathVar, section, rename) {
return {
type: "exeSection",
values: {
path: [
pathVar
],
section: Array.isArray(section) ? section : [
section
],
...rename ? {
rename
} : {}
},
raw: {
path: "@" + pathVar.identifier + (pathVar.fields ? "." + pathVar.fields.map((f) => f.name || f.index).join(".") : ""),
section: section.type === "VariableReference" ? "@" + section.identifier : section.content || section,
...rename ? {
rename: rename[0].type === "VariableReference" ? "@" + rename[0].identifier : rename[0].content
} : {}
},
meta: {
hasRename: !!rename
},
subtype: "exeSection",
source: "section"
};
}, "peg$f225");
var peg$f226 = /* @__PURE__ */ __name(function(resolver, payload) {
return {
type: "exeResolver",
values: {
resolver: [
helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: resolver
}, location())
],
...payload ? {
payload
} : {}
},
raw: {
resolver,
...payload ? {
payload: payload[0].identifier || payload[0].content
} : {}
},
meta: {
hasPayload: !!payload
},
subtype: "exeResolver",
source: "resolver"
};
}, "peg$f226");
var peg$f227 = /* @__PURE__ */ __name(function(commandRef) {
return {
type: "exeCommandRef",
values: {
commandRef: [
helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: commandRef
}, location())
]
},
raw: {
commandRef
},
meta: {
isCommandRef: true
},
subtype: "exeCommand",
source: "reference"
};
}, "peg$f227");
var peg$f228 = /* @__PURE__ */ __name(function(envVars) {
return {
type: "exeEnvironment",
values: {
environment: envVars
},
raw: {
environment: envVars.map((v) => v.identifier)
},
meta: {
environmentCount: envVars.length
},
subtype: "environment",
source: "environment"
};
}, "peg$f228");
var peg$f229 = /* @__PURE__ */ __name(function(chars) {
return chars;
}, "peg$f229");
var peg$f230 = /* @__PURE__ */ __name(function(varRef) {
return [
varRef
];
}, "peg$f230");
var peg$f231 = /* @__PURE__ */ __name(function(title) {
return title;
}, "peg$f231");
var peg$f232 = /* @__PURE__ */ __name(function(varRef) {
return [
varRef
];
}, "peg$f232");
var peg$f233 = /* @__PURE__ */ __name(function(condition, trueBranch, falseBranch) {
return helpers_default.createNode("TernaryExpression", {
condition,
trueBranch,
falseBranch,
location: location()
});
}, "peg$f233");
var peg$f234 = /* @__PURE__ */ __name(function(first, right) {
return {
op: "||",
right
};
}, "peg$f234");
var peg$f235 = /* @__PURE__ */ __name(function(first, rest) {
return helpers_default.createBinaryExpression(first, rest, location());
}, "peg$f235");
var peg$f236 = /* @__PURE__ */ __name(function(first, right) {
return {
op: "&&",
right
};
}, "peg$f236");
var peg$f237 = /* @__PURE__ */ __name(function(first, rest) {
return helpers_default.createBinaryExpression(first, rest, location());
}, "peg$f237");
var peg$f238 = /* @__PURE__ */ __name(function(first, op, right) {
return {
op,
right
};
}, "peg$f238");
var peg$f239 = /* @__PURE__ */ __name(function(first, rest) {
return helpers_default.createBinaryExpression(first, rest, location());
}, "peg$f239");
var peg$f240 = /* @__PURE__ */ __name(function(expr) {
return expr;
}, "peg$f240");
var peg$f241 = /* @__PURE__ */ __name(function(expr) {
return helpers_default.createNode("UnaryExpression", {
operator: "!",
operand: expr,
location: location()
});
}, "peg$f241");
var peg$f242 = /* @__PURE__ */ __name(function(value) {
return helpers_default.createNode("Literal", {
value,
valueType: "number",
location: location()
});
}, "peg$f242");
var peg$f243 = /* @__PURE__ */ __name(function(value) {
return helpers_default.createNode("Literal", {
value,
valueType: "boolean",
location: location()
});
}, "peg$f243");
var peg$f244 = /* @__PURE__ */ __name(function(value) {
return helpers_default.createNode("Literal", {
value,
valueType: "null",
location: location()
});
}, "peg$f244");
var peg$f245 = /* @__PURE__ */ __name(function(value) {
return helpers_default.createNode("Literal", {
value,
valueType: "wildcard",
location: location()
});
}, "peg$f245");
var peg$f246 = /* @__PURE__ */ __name(function(expr) {
const rest = input.substring(peg$currPos);
return !rest.includes(")");
}, "peg$f246");
var peg$f247 = /* @__PURE__ */ __name(function(expr) {
error("Unclosed parenthesis in expression. Expected ')'");
}, "peg$f247");
var peg$f248 = /* @__PURE__ */ __name(function() {
return peg$currPos;
}, "peg$f248");
var peg$f249 = /* @__PURE__ */ __name(function(fieldStart, field) {
return {
type: "field",
value: field,
location: {
start: {
offset: fieldStart,
line: location().start.line,
column: location().start.column + 1
},
end: location().end
}
};
}, "peg$f249");
var peg$f250 = /* @__PURE__ */ __name(function() {
return peg$currPos;
}, "peg$f250");
var peg$f251 = /* @__PURE__ */ __name(function(fieldStart, index) {
return {
type: "numericField",
value: index,
location: {
start: {
offset: fieldStart,
line: location().start.line,
column: location().start.column + 1
},
end: location().end
}
};
}, "peg$f251");
var peg$f252 = /* @__PURE__ */ __name(function(index) {
return {
type: "arrayIndex",
value: index,
location: location()
};
}, "peg$f252");
var peg$f253 = /* @__PURE__ */ __name(function(index) {
return {
type: "bracketAccess",
value: index,
location: location()
};
}, "peg$f253");
var peg$f254 = /* @__PURE__ */ __name(function(index) {
return {
type: "variableIndex",
value: index,
location: location()
};
}, "peg$f254");
var peg$f255 = /* @__PURE__ */ __name(function(index) {
return {
type: "stringIndex",
value: index,
location: location()
};
}, "peg$f255");
var peg$f256 = /* @__PURE__ */ __name(function(content, fields, pipes) {
let contentStr;
if (content.raw) {
contentStr = content.raw;
} else if (content.type === node_type_default.Text) {
contentStr = content.content;
} else if (Array.isArray(content)) {
contentStr = helpers_default.reconstructRawString(content);
} else {
contentStr = String(content);
}
if (!helpers_default.isFileReferenceContent(contentStr)) {
return helpers_default.createNode(node_type_default.Text, {
content: `<${contentStr}>`,
location: location()
});
}
return helpers_default.createFileReferenceNode(content, fields, pipes, location());
}, "peg$f256");
var peg$f257 = /* @__PURE__ */ __name(function(fields, pipes) {
return helpers_default.createFileReferenceNode({
type: "placeholder",
raw: ""
}, fields, pipes, location());
}, "peg$f257");
var peg$f258 = /* @__PURE__ */ __name(function() {
return peg$currPos;
}, "peg$f258");
var peg$f259 = /* @__PURE__ */ __name(function(pipeStart, name, args) {
const loc = location();
const startOffset = pipeStart;
return {
type: "CondensedPipe",
transform: name,
hasAt: true,
args: args || [],
location: {
source: loc.source,
start: {
offset: startOffset,
line: loc.start.line,
column: loc.start.column - (loc.start.offset - startOffset)
},
end: loc.end
}
};
}, "peg$f259");
var peg$f260 = /* @__PURE__ */ __name(function(args) {
return args;
}, "peg$f260");
var peg$f261 = /* @__PURE__ */ __name(function(first, arg) {
return arg;
}, "peg$f261");
var peg$f262 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f262");
var peg$f263 = /* @__PURE__ */ __name(function(varName) {
return {
type: "variable",
name: varName
};
}, "peg$f263");
var peg$f264 = /* @__PURE__ */ __name(function(pipes) {
return pipes;
}, "peg$f264");
var peg$f265 = /* @__PURE__ */ __name(function(fields) {
return fields;
}, "peg$f265");
var peg$f266 = /* @__PURE__ */ __name(function(execInvocation, withClause) {
helpers_default.debug("ForeachCommandExpression matched", {
execInvocation,
withClause
});
let arrays = [];
if (execInvocation.type === "ExecInvocation" && execInvocation.commandRef.args) {
arrays = execInvocation.commandRef.args;
}
return {
type: "foreach-command",
value: {
type: "foreach",
execInvocation,
arrays,
...withClause ? {
with: withClause
} : {}
},
rawText: text()
};
}, "peg$f266");
var peg$f267 = /* @__PURE__ */ __name(function(first, arr) {
return arr;
}, "peg$f267");
var peg$f268 = /* @__PURE__ */ __name(function(first, rest) {
return [
first
].concat(rest || []);
}, "peg$f268");
var peg$f269 = /* @__PURE__ */ __name(function(options2) {
return options2;
}, "peg$f269");
var peg$f270 = /* @__PURE__ */ __name(function(first, opt) {
return opt;
}, "peg$f270");
var peg$f271 = /* @__PURE__ */ __name(function(first, rest) {
const options2 = {};
[
first,
...rest
].forEach((option) => {
options2[option.key] = option.value;
});
return options2;
}, "peg$f271");
var peg$f272 = /* @__PURE__ */ __name(function(value) {
return {
key: "separator",
value
};
}, "peg$f272");
var peg$f273 = /* @__PURE__ */ __name(function(value) {
return {
key: "template",
value
};
}, "peg$f273");
var peg$f274 = /* @__PURE__ */ __name(function(variable, source) {
const varNode = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: variable
}, location());
return {
variable: varNode,
source: Array.isArray(source) ? source : [
source
]
};
}, "peg$f274");
var peg$f275 = /* @__PURE__ */ __name(function(source, target) {
const values = {
target
};
const raw = {
target: target.raw
};
let subtype = "outputDocument";
const meta = {
hasSource: false,
targetType: target.type
};
if (source) {
values.source = source.values;
raw.source = source.raw;
meta.hasSource = true;
meta.sourceType = source.type;
subtype = "outputFile";
}
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "output",
subtype,
values,
raw,
meta,
location: location()
})
];
}, "peg$f275");
var peg$f276 = /* @__PURE__ */ __name(function(directive, content) {
return helpers_default.createForActionNode(directive, content, location());
}, "peg$f276");
var peg$f277 = /* @__PURE__ */ __name(function(invocation) {
return [
invocation
];
}, "peg$f277");
var peg$f278 = /* @__PURE__ */ __name(function(first, ref) {
return ref;
}, "peg$f278");
var peg$f279 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f279");
var peg$f280 = /* @__PURE__ */ __name(function(name) {
return helpers_default.createNode(node_type_default.VariableReference, {
identifier: name,
valueType: "identifier"
}, location());
}, "peg$f280");
var peg$f281 = /* @__PURE__ */ __name(function(invocation) {
helpers_default.debug("OutputExecInvocation matched", {
invocation
});
const isExecInvocation = invocation.type === "ExecInvocation";
const rawValue = isExecInvocation ? invocation.commandRef.name : `@${invocation.variable.identifier}`;
return {
type: isExecInvocation ? "exec" : "variable",
subtype: isExecInvocation ? "outputExecInvocation" : "outputVariable",
values: invocation,
raw: {
[isExecInvocation ? "commandName" : "variable"]: rawValue
}
};
}, "peg$f281");
var peg$f282 = /* @__PURE__ */ __name(function(ref) {
let values, raw, subtype;
if (ref.type === "ExecInvocation") {
values = {
identifier: ref.commandRef.identifier,
args: ref.commandRef.args || []
};
raw = {
identifier: ref.commandRef.name,
args: ref.commandRef.args ? ref.commandRef.args.map((arg) => arg.type === node_type_default.Text ? arg.content : arg.type === node_type_default.VariableReference ? "@" + arg.identifier : "") : []
};
subtype = "outputInvocation";
} else {
values = {
identifier: [
ref
],
args: []
};
raw = {
identifier: ref.identifier,
...ref.fields && ref.fields.length > 0 ? {
fields: ref.fields.map((f) => f.value)
} : {}
};
subtype = "outputVariable";
}
return {
type: "variable",
subtype,
values,
raw
};
}, "peg$f282");
var peg$f283 = /* @__PURE__ */ __name(function(commandRef) {
helpers_default.debug("OutputCommand matched unified reference", {
commandRef
});
let values, raw;
if (commandRef.type === "ExecInvocation") {
values = {
identifier: commandRef.commandRef.identifier,
args: commandRef.commandRef.args || []
};
raw = {
identifier: commandRef.commandRef.name,
args: commandRef.commandRef.args ? commandRef.commandRef.args.map((arg) => arg.type === node_type_default.Text ? arg.content : arg.type === node_type_default.VariableReference ? "@" + arg.identifier : "") : []
};
} else {
values = {
identifier: [
commandRef
],
args: []
};
raw = {
identifier: commandRef.identifier,
args: []
};
}
return {
type: "command",
subtype: "outputCommand",
values,
raw
};
}, "peg$f283");
var peg$f284 = /* @__PURE__ */ __name(function(str) {
return {
type: "literal",
subtype: "outputLiteral",
values: [
helpers_default.createNode(node_type_default.Text, {
content: str,
location: location()
})
],
raw: str
};
}, "peg$f284");
var peg$f285 = /* @__PURE__ */ __name(function(stream) {
helpers_default.debug("OutputTargetStream matched", {
stream
});
return {
type: "stream",
stream,
raw: stream
};
}, "peg$f285");
var peg$f286 = /* @__PURE__ */ __name(function(name) {
return name;
}, "peg$f286");
var peg$f287 = /* @__PURE__ */ __name(function(varname) {
helpers_default.debug("OutputTargetEnv matched", {
varname
});
return {
type: "env",
varname: varname || null,
raw: varname ? `env:${varname}` : "env"
};
}, "peg$f287");
var peg$f288 = /* @__PURE__ */ __name(function(resolver, path) {
helpers_default.debug("OutputTargetResolver matched", {
resolver,
path
});
return {
type: "resolver",
resolver,
path: path || [],
raw: `@${resolver}${path ? "/" + path.map((p) => p.content || "").join("/") : ""}`
};
}, "peg$f288");
var peg$f289 = /* @__PURE__ */ __name(function(chars) {
const pathStr = chars.join("");
return pathStr.split("/").filter((s) => s).map((segment) => ({
type: "Text",
content: segment
}));
}, "peg$f289");
var peg$f290 = /* @__PURE__ */ __name(function(path) {
helpers_default.debug("OutputTargetFile matched", {
path
});
return {
type: "file",
path: path.parts || path.values,
raw: path.raw,
meta: path.meta || {}
};
}, "peg$f290");
var peg$f291 = /* @__PURE__ */ __name(function(str) {
if (typeof str === "string") {
return {
parts: [
helpers_default.createNode(node_type_default.Text, {
content: str,
location: location()
})
],
raw: `"${str}"`,
meta: {
quoted: true
}
};
} else if (str.needsInterpolation) {
return {
parts: str.parts,
raw: helpers_default.reconstructRawString(str.parts),
meta: {
quoted: true,
needsInterpolation: true
}
};
}
}, "peg$f291");
var peg$f292 = /* @__PURE__ */ __name(function(chars) {
const path = chars.join("");
return {
parts: [
helpers_default.createNode(node_type_default.Text, {
content: path,
location: location()
})
],
raw: path,
meta: {
unquoted: true
}
};
}, "peg$f292");
var peg$f293 = /* @__PURE__ */ __name(function(format) {
helpers_default.debug("OutputFormat matched", {
format
});
return format;
}, "peg$f293");
var peg$f294 = /* @__PURE__ */ __name(function(first, segment) {
return segment;
}, "peg$f294");
var peg$f295 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f295");
var peg$f296 = /* @__PURE__ */ __name(function(chars) {
return {
type: "Text",
content: chars.join("")
};
}, "peg$f296");
var peg$f297 = /* @__PURE__ */ __name(function(content) {
return {
type: "path",
subtype: "filePath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
]
},
raw: {
path: content
},
meta: helpers_default.createPathMetadata(content, [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
])
};
}, "peg$f297");
var peg$f298 = /* @__PURE__ */ __name(function(content) {
return {
type: "path",
subtype: "filePath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
]
},
raw: {
path: content
},
meta: helpers_default.createPathMetadata(content, [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
])
};
}, "peg$f298");
var peg$f299 = /* @__PURE__ */ __name(function(proto) {
return proto;
}, "peg$f299");
var peg$f300 = /* @__PURE__ */ __name(function(parts) {
const raw = "//" + parts.map((p) => {
if (p.type === node_type_default.VariableReference) {
return "@" + p.identifier;
}
return p.content || p;
}).join("");
return {
parts,
raw
};
}, "peg$f300");
var peg$f301 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f301");
var peg$f302 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.Text, {
content: "\\",
location: location()
});
}, "peg$f302");
var peg$f303 = /* @__PURE__ */ __name(function() {
return helpers_default.createNode(node_type_default.Text, {
content: "@",
location: location()
});
}, "peg$f303");
var peg$f304 = /* @__PURE__ */ __name(function(varName) {
return helpers_default.createVariableReferenceNode("url", {
identifier: varName,
location: location()
});
}, "peg$f304");
var peg$f305 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars,
location: location()
});
}, "peg$f305");
var peg$f306 = /* @__PURE__ */ __name(function(content) {
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f306");
var peg$f307 = /* @__PURE__ */ __name(function(content) {
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f307");
var peg$f308 = /* @__PURE__ */ __name(function(chars) {
return helpers_default.createNode(node_type_default.Text, {
content: chars.join(""),
location: location()
});
}, "peg$f308");
var peg$f309 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f309");
var peg$f310 = /* @__PURE__ */ __name(function() {
const pos = offset();
return helpers_default.isRHSContext(input, pos);
}, "peg$f310");
var peg$f311 = /* @__PURE__ */ __name(function(command) {
return {
type: "command",
command: command.parts,
raw: command.raw
};
}, "peg$f311");
var peg$f312 = /* @__PURE__ */ __name(function(code) {
return {
type: "code",
code: code.parts,
raw: code.raw
};
}, "peg$f312");
var peg$f313 = /* @__PURE__ */ __name(function(ttl, t) {
return t;
}, "peg$f313");
var peg$f314 = /* @__PURE__ */ __name(function(ttl, trust) {
return {
...ttl ? {
ttl
} : {},
...trust ? {
trust
} : {}
};
}, "peg$f314");
var peg$f315 = /* @__PURE__ */ __name(function(trust) {
return {
trust
};
}, "peg$f315");
var peg$f316 = /* @__PURE__ */ __name(function(value) {
return value;
}, "peg$f316");
var peg$f317 = /* @__PURE__ */ __name(function(duration) {
return {
type: "duration",
...duration
};
}, "peg$f317");
var peg$f318 = /* @__PURE__ */ __name(function(special) {
const specialValue = special.value || special;
return {
type: "special",
value: specialValue,
location: special.location || location()
};
}, "peg$f318");
var peg$f319 = /* @__PURE__ */ __name(function(num, unit) {
const unitValue = unit.unit || unit;
const seconds = helpers_default.ttlToSeconds(num, unitValue);
return {
value: num,
unit: unitValue,
seconds,
location: location()
};
}, "peg$f319");
var peg$f320 = /* @__PURE__ */ __name(function(unit) {
const unitMap = {
"s": "seconds",
"m": "minutes",
"h": "hours",
"d": "days",
"w": "weeks"
};
return {
unit: unitMap[unit],
location: location()
};
}, "peg$f320");
var peg$f321 = /* @__PURE__ */ __name(function(value) {
return {
value,
location: location()
};
}, "peg$f321");
var peg$f322 = /* @__PURE__ */ __name(function(level) {
return level.level || level;
}, "peg$f322");
var peg$f323 = /* @__PURE__ */ __name(function(level) {
return {
level,
location: location()
};
}, "peg$f323");
var peg$f324 = /* @__PURE__ */ __name(function(digits) {
return parseInt(digits.join(""), 10);
}, "peg$f324");
var peg$f325 = /* @__PURE__ */ __name(function(content) {
return content;
}, "peg$f325");
var peg$f326 = /* @__PURE__ */ __name(function(parts) {
if (parts.length === 1 && parts[0].type === "Text") {
return parts[0].content;
}
return {
needsInterpolation: true,
parts
};
}, "peg$f326");
var peg$f327 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f327");
var peg$f328 = /* @__PURE__ */ __name(function(content) {
return helpers_default.createNode("Literal", {
value: content,
valueType: "string",
location: location()
});
}, "peg$f328");
var peg$f329 = /* @__PURE__ */ __name(function(parts) {
if (parts.length === 1 && parts[0].type === "Text") {
return helpers_default.createNode("Literal", {
value: parts[0].content,
valueType: "string",
location: location()
});
}
return {
content: parts,
wrapperType: "doubleQuote"
};
}, "peg$f329");
var peg$f330 = /* @__PURE__ */ __name(function(pipeline) {
const allCommands = [];
const allBases = [];
pipeline.commands.forEach((cmd) => {
allCommands.push(cmd);
if (cmd.base) {
allBases.push(cmd.base);
}
});
return {
commands: allCommands,
commandBases: allBases
};
}, "peg$f330");
var peg$f331 = /* @__PURE__ */ __name(function(op) {
const opName = op === "&&" ? "AND (&&)" : op === "||" ? "OR (||)" : "semicolon (;)";
helpers_default.mlldError(`Shell operator ${opName} is not allowed in mlld. Use separate @run commands or @when for control flow.`);
}, "peg$f331");
var peg$f332 = /* @__PURE__ */ __name(function(op) {
const opName = op === ">>" ? "append (>>)" : op === ">" ? "redirect (>)" : op === "<" ? "input (<)" : "error redirect (&>)";
helpers_default.mlldError(`Shell ${opName} operator is not allowed in mlld. Use @output directive for file operations.`);
}, "peg$f332");
var peg$f333 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError(`Background execution (&) is not allowed in mlld. All commands run synchronously.`);
}, "peg$f333");
var peg$f334 = /* @__PURE__ */ __name(function(first, cmd) {
return cmd;
}, "peg$f334");
var peg$f335 = /* @__PURE__ */ __name(function(first, rest) {
const commands = [
first
];
if (rest.length > 0) {
rest.forEach((cmd, i) => {
commands.push({
type: "operator",
operator: "|"
});
commands.push(cmd);
});
}
return {
commands
};
}, "peg$f335");
var peg$f336 = /* @__PURE__ */ __name(function(cmd, arg) {
return arg;
}, "peg$f336");
var peg$f337 = /* @__PURE__ */ __name(function(cmd, args) {
const cmdText = cmd.content || cmd.identifier || "";
let base = null;
let hasScriptRunner = false;
if (args.length >= 1 && [
"npm",
"yarn",
"pnpm",
"bun"
].includes(cmdText)) {
const firstArg = args[0];
if (firstArg.type === "Text" && firstArg.content === "run" && args[1]) {
const script = args[1].type === "Text" ? args[1].content : args[1].identifier;
base = helpers_default.createNode(node_type_default.CommandBase, {
command: cmdText + " run",
script,
isScriptRunner: true,
location: cmd.location
});
hasScriptRunner = true;
}
} else if (cmdText === "npx" && args[0]) {
const pkg = args[0].type === "Text" ? args[0].content : args[0].identifier;
base = helpers_default.createNode(node_type_default.CommandBase, {
command: "npx",
package: pkg,
isPackageRunner: true,
location: cmd.location
});
} else if (cmdText === "python" && args[0]?.content === "-m" && args[1]) {
const mod = args[1].type === "Text" ? args[1].content : args[1].identifier;
base = helpers_default.createNode(node_type_default.CommandBase, {
command: "python -m",
module: mod,
location: cmd.location
});
} else {
base = helpers_default.createNode(node_type_default.CommandBase, {
command: cmdText,
location: cmd.location
});
}
return {
type: "command",
command: cmd,
arguments: args,
base,
hasScriptRunner
};
}, "peg$f337");
var peg$f338 = /* @__PURE__ */ __name(function(word) {
return helpers_default.createNode(node_type_default.Text, {
content: word,
location: location()
});
}, "peg$f338");
var peg$f339 = /* @__PURE__ */ __name(function() {
const ahead = input.substring(peg$currPos, peg$currPos + 3);
if (ahead.startsWith("&&") || ahead.startsWith("||")) {
helpers_default.mlldError(`Shell operators are not allowed in mlld. Use separate @run commands or @when for control flow.`);
}
if (ahead.startsWith(">>") || ahead.startsWith(">&")) {
helpers_default.mlldError(`Shell redirection operators are not allowed in mlld. Use @output directive for file operations.`);
}
if (ahead.startsWith(";")) {
helpers_default.mlldError(`Shell operator semicolon (;) is not allowed in mlld. Use separate @run commands.`);
}
const char = input[peg$currPos];
if (char === ">" || char === "<") {
helpers_default.mlldError(`Shell redirection operators are not allowed in mlld. Use @output directive for file operations.`);
}
if (char === "&" && input[peg$currPos + 1] !== "&" && input[peg$currPos + 1] !== ">") {
helpers_default.mlldError(`Background execution (&) is not allowed in mlld. All commands run synchronously.`);
}
return true;
}, "peg$f339");
var peg$f340 = /* @__PURE__ */ __name(function(word) {
return helpers_default.createNode(node_type_default.Text, {
content: word,
location: location()
});
}, "peg$f340");
var peg$f341 = /* @__PURE__ */ __name(function(id) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
location: location()
});
}, "peg$f341");
var peg$f342 = /* @__PURE__ */ __name(function(content) {
const text2 = content.map((c) => c.content || c.identifier || c).join("");
return helpers_default.createNode(node_type_default.Text, {
content: text2,
location: location()
});
}, "peg$f342");
var peg$f343 = /* @__PURE__ */ __name(function(content) {
const text2 = content.join("");
return helpers_default.createNode(node_type_default.Text, {
content: text2,
location: location()
});
}, "peg$f343");
var peg$f344 = /* @__PURE__ */ __name(function(chars) {
return {
content: chars
};
}, "peg$f344");
var peg$f345 = /* @__PURE__ */ __name(function(chars) {
return chars;
}, "peg$f345");
var peg$f346 = /* @__PURE__ */ __name(function(word) {
if (word.includes("&&") || word.includes("||")) {
helpers_default.mlldError(`Shell operators are not allowed in mlld. Use separate @run commands or @when for control flow.`);
}
if (word.includes(">>") || word.includes(">") && !word.includes(">&")) {
helpers_default.mlldError(`Shell redirection operators are not allowed in mlld. Use @output directive for file operations.`);
}
return word;
}, "peg$f346");
var peg$f347 = /* @__PURE__ */ __name(function(keyword, value) {
helpers_default.debug("TailModifiers matched", {
keyword,
valueType: Array.isArray(value) ? "array" : typeof value,
valueLength: Array.isArray(value) ? value.length : void 0
});
if (keyword === "with") {
return value;
} else if (keyword === "|") {
return {
pipeline: value
};
} else if (keyword === "as") {
return {
asSection: value
};
} else {
return {
[keyword]: value
};
}
}, "peg$f347");
var peg$f348 = /* @__PURE__ */ __name(function(props) {
const result = {};
if (props) {
for (const [key, value] of props) {
result[key] = value;
}
}
return result;
}, "peg$f348");
var peg$f349 = /* @__PURE__ */ __name(function(items) {
return items;
}, "peg$f349");
var peg$f350 = /* @__PURE__ */ __name(function(transformers) {
return transformers;
}, "peg$f350");
var peg$f351 = /* @__PURE__ */ __name(function(level) {
return level;
}, "peg$f351");
var peg$f352 = /* @__PURE__ */ __name(function(deps) {
return deps;
}, "peg$f352");
var peg$f353 = /* @__PURE__ */ __name(function(title) {
return title;
}, "peg$f353");
var peg$f354 = /* @__PURE__ */ __name(function(first, rest) {
helpers_default.debug("PipelineShorthand matched", {
first: first?.rawIdentifier || first,
restCount: rest.length,
rest: rest.map((r) => r?.rawIdentifier || r)
});
return [
first,
...rest
];
}, "peg$f354");
var peg$f355 = /* @__PURE__ */ __name(function(cmd) {
helpers_default.debug("PipelineRest matched", {
cmd: cmd?.rawIdentifier || cmd
});
return cmd;
}, "peg$f355");
var peg$f356 = /* @__PURE__ */ __name(function(ttl) {
return ttl;
}, "peg$f356");
var peg$f357 = /* @__PURE__ */ __name(function(id, fields, args, tail) {
helpers_default.debug("FieldAccessExec matched", {
id,
fields
});
const lastField = fields[fields.length - 1];
const methodName = lastField.value;
const objectFields = fields.slice(0, -1);
const objectRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...objectFields.length > 0 ? {
fields: objectFields
} : {}
}, location());
const fullPathRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
fields
}, location());
const ref = {
name: methodName,
identifier: [
fullPathRef
],
args: args || [],
isCommandReference: true,
objectReference: objectRef
};
return helpers_default.createExecInvocation(ref, tail || null, location());
}, "peg$f357");
var peg$f358 = /* @__PURE__ */ __name(function(id, fields, args) {
helpers_default.debug("FieldAccessExecNoTail matched", {
id,
fields
});
const lastField = fields[fields.length - 1];
const methodName = lastField.value;
const objectFields = fields.slice(0, -1);
const objectRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...objectFields.length > 0 ? {
fields: objectFields
} : {}
}, location());
const fullPathRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
fields
}, location());
const ref = {
name: methodName,
identifier: [
fullPathRef
],
args: args || [],
isCommandReference: true,
objectReference: objectRef
};
return {
type: "ExecInvocation",
commandRef: ref,
withClause: null
};
}, "peg$f358");
var peg$f359 = /* @__PURE__ */ __name(function(name, args, tail) {
const ref = {
name,
identifier: [
helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: name
}, location())
],
args: args || [],
isCommandReference: true
};
return helpers_default.createExecInvocation(ref, tail || null, location());
}, "peg$f359");
var peg$f360 = /* @__PURE__ */ __name(function(name, args) {
const ref = {
name,
identifier: [
helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: name
}, location())
],
args: args || [],
isCommandReference: true
};
return {
type: "ExecInvocation",
commandRef: ref,
withClause: null
};
}, "peg$f360");
var peg$f361 = /* @__PURE__ */ __name(function(id, fields, tail) {
const normalizedId = helpers_default.normalizePathVar(id);
const varRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: normalizedId,
...fields.length > 0 ? {
fields
} : {}
}, location());
if (tail) {
return {
type: "VariableReferenceWithTail",
variable: varRef,
withClause: tail
};
}
return varRef;
}, "peg$f361");
var peg$f362 = /* @__PURE__ */ __name(function(id, fields) {
const normalizedId = helpers_default.normalizePathVar(id);
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: normalizedId,
...fields.length > 0 ? {
fields
} : {}
}, location());
}, "peg$f362");
var peg$f363 = /* @__PURE__ */ __name(function(content) {
helpers_default.debug("UnifiedCodeBrackets matched", {
content
});
return {
content: content.trim(),
isMultiLine: content.includes("\n")
};
}, "peg$f363");
var peg$f364 = /* @__PURE__ */ __name(function() {
helpers_default.debug("UnifiedCommandBrackets: Trying to match at position", offset());
return true;
}, "peg$f364");
var peg$f365 = /* @__PURE__ */ __name(function() {
helpers_default.debug("UnifiedCommandBrackets: Matched opening brace");
return true;
}, "peg$f365");
var peg$f366 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("UnifiedCommandBrackets: Got parts, looking for closing brace");
return true;
}, "peg$f366");
var peg$f367 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("UnifiedCommandBrackets: Matched closing brace, entering action");
return true;
}, "peg$f367");
var peg$f368 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("UnifiedCommandBrackets matched with UnifiedCommandParts", {
parts
});
const rawCommand = helpers_default.reconstructRawString(parts);
let commandBases = [];
let rawBases = [];
if (parts.length > 0 && parts[0].type === node_type_default.Text) {
const cmdMatch = parts[0].content.match(/^(\S+)/);
if (cmdMatch) {
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: cmdMatch[1],
location: parts[0].location
}));
rawBases.push(cmdMatch[1]);
}
}
return {
type: "command",
subtype: "runCommand",
values: {
command: parts,
commandBases
},
raw: {
command: rawCommand,
commandBases: rawBases
},
meta: {
isMultiLine: rawCommand.includes("\n"),
commandCount: commandBases.length,
hasScriptRunner: false
// TODO: Detect script runners
}
};
}, "peg$f368");
var peg$f369 = /* @__PURE__ */ __name(function(content) {
helpers_default.debug("UnifiedRunContent matched", {
content
});
return content;
}, "peg$f369");
var peg$f370 = /* @__PURE__ */ __name(function(lang, ws, rest) {
helpers_default.debug("UnifiedRunContentInner detected code", {
lang,
rest
});
const langNode = helpers_default.createNode(node_type_default.Text, {
content: lang,
location: location()
});
const codeNode = helpers_default.createNode(node_type_default.Text, {
content: rest.trim(),
location: location()
});
return {
type: "code",
subtype: "runCode",
values: {
lang: [
langNode
],
args: [],
code: [
codeNode
]
},
raw: {
lang,
args: [],
code: rest.trim()
},
meta: {
isMultiLine: rest.includes("\n"),
language: lang,
hasVariables: false
// Code blocks don't support variable interpolation
}
};
}, "peg$f370");
var peg$f371 = /* @__PURE__ */ __name(function(parts) {
helpers_default.debug("UnifiedRunContentInner detected command", {
parts
});
const rawCommand = helpers_default.reconstructRawString(parts);
let commandBases = [];
let rawBases = [];
if (parts.length > 0 && parts[0].type === node_type_default.Text) {
const cmdMatch = parts[0].content.match(/^(\S+)/);
if (cmdMatch) {
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: cmdMatch[1],
location: parts[0].location
}));
rawBases.push(cmdMatch[1]);
}
}
return {
type: "command",
subtype: "runCommand",
values: {
command: parts,
commandBases
},
raw: {
command: rawCommand,
commandBases: rawBases
},
meta: {
isMultiLine: rawCommand.includes("\n"),
commandCount: commandBases.length,
hasScriptRunner: false
// TODO: Detect script runners
}
};
}, "peg$f371");
var peg$f372 = /* @__PURE__ */ __name(function(content) {
let inQuote = null;
for (let i = 0; i < content.length; i++) {
const char = content[i];
const next = content[i + 1];
if ((char === '"' || char === "'") && !inQuote) {
inQuote = char;
} else if (char === inQuote) {
inQuote = null;
} else if (!inQuote) {
if (char === "&" && next === "&") {
helpers_default.mlldError(`Shell operator AND (&&) is not allowed in mlld. Use separate @run commands or @when for control flow.`);
} else if (char === "|" && next === "|") {
helpers_default.mlldError(`Shell operator OR (||) is not allowed in mlld. Use separate @run commands or @when for control flow.`);
} else if (char === ";") {
helpers_default.mlldError(`Shell operator semicolon (;) is not allowed in mlld. Use separate @run commands.`);
} else if (char === ">" && next === ">") {
helpers_default.mlldError(`Shell append operator (>>) is not allowed in mlld. Use @output directive for file operations.`);
} else if (char === ">" || char === "<") {
helpers_default.mlldError(`Shell redirection operators are not allowed in mlld. Use @output directive for file operations.`);
} else if (char === "&" && next !== "&" && next !== ">") {
helpers_default.mlldError(`Background execution (&) is not allowed in mlld. All commands run synchronously.`);
} else ;
} else ;
}
return {
commands: [
{
type: "command",
command: helpers_default.createNode(node_type_default.Text, {
content: content.trim(),
location: location()
}),
arguments: []
}
],
commandBases: []
};
}, "peg$f372");
var peg$f373 = /* @__PURE__ */ __name(function() {
helpers_default.debug("UnifiedCommandParts: Starting to parse at position", offset());
return true;
}, "peg$f373");
var peg$f374 = /* @__PURE__ */ __name(function(tokens) {
helpers_default.debug("UnifiedCommandParts: Parsed tokens", {
count: tokens.length
});
const flattened = [];
for (const token of tokens) {
if (Array.isArray(token)) {
flattened.push(...token);
} else {
flattened.push(token);
}
}
return flattened;
}, "peg$f374");
var peg$f375 = /* @__PURE__ */ __name(function(content) {
const nodes = [];
let currentText = '"';
for (const item of content) {
if (typeof item === "string") {
currentText += item;
} else if (item.type === node_type_default.VariableReference || item.type === "FileReference") {
if (currentText) {
nodes.push(helpers_default.createNode(node_type_default.Text, {
content: currentText,
location: location()
}));
currentText = "";
}
nodes.push(item);
}
}
currentText += '"';
if (currentText !== '""') {
nodes.push(helpers_default.createNode(node_type_default.Text, {
content: currentText,
location: location()
}));
}
if (nodes.length === 1 && nodes[0].type === node_type_default.Text) {
return nodes[0];
}
return nodes;
}, "peg$f375");
var peg$f376 = /* @__PURE__ */ __name(function(content) {
const text2 = "'" + content.join("") + "'";
return helpers_default.createNode(node_type_default.Text, {
content: text2,
location: location()
});
}, "peg$f376");
var peg$f377 = /* @__PURE__ */ __name(function(varRef) {
return varRef;
}, "peg$f377");
var peg$f378 = /* @__PURE__ */ __name(function(fileRef) {
return fileRef;
}, "peg$f378");
var peg$f379 = /* @__PURE__ */ __name(function(chars) {
return chars;
}, "peg$f379");
var peg$f380 = /* @__PURE__ */ __name(function() {
return "@";
}, "peg$f380");
var peg$f381 = /* @__PURE__ */ __name(function() {
return "<";
}, "peg$f381");
var peg$f382 = /* @__PURE__ */ __name(function(chars) {
return chars;
}, "peg$f382");
var peg$f383 = /* @__PURE__ */ __name(function(chars) {
const content = chars.join("");
return helpers_default.createNode(node_type_default.Text, {
content,
location: location()
});
}, "peg$f383");
var peg$f384 = /* @__PURE__ */ __name(function() {
const pos = peg$currPos;
const ahead = input.substring(pos, pos + 3);
const char = input[pos];
const prev = pos > 0 ? input[pos - 1] : null;
if (char === '"' || char === "'") {
return false;
}
if (char === " " || char === " " || char === "\n" || char === "\r") {
return false;
}
if (char === "@") {
return false;
}
if (char === ")" && input[pos + 1] === "]") {
return false;
}
if (char === String.fromCharCode(125)) {
return false;
}
const isEscaped = prev === "\\";
if (!isEscaped) {
if (ahead.startsWith("&&")) {
helpers_default.mlldError(`Shell operator AND (&&) is not allowed in mlld. Use separate @run commands or @when for control flow.`);
}
if (ahead.startsWith("||")) {
helpers_default.mlldError(`Shell operator OR (||) is not allowed in mlld. Use separate @run commands or @when for control flow.`);
}
if (ahead.startsWith(">>")) {
helpers_default.mlldError(`Shell append operator (>>) is not allowed in mlld. Use @output directive for file operations.`);
}
if (char === ";") {
helpers_default.mlldError(`Shell operator semicolon (;) is not allowed in mlld commands. Use @run sh [(script)] for shell scripts or separate @run commands.`);
}
if (char === ">" && input[pos + 1] !== ">") {
helpers_default.mlldError(`Shell redirection operators are not allowed in mlld. Use @output directive for file operations.`);
}
if (char === "<") {
helpers_default.mlldError(`Shell redirection operators are not allowed in mlld. Use @output directive for file operations.`);
}
if (char === "&" && input[pos + 1] !== "&" && input[pos + 1] !== ">") {
helpers_default.mlldError(`Background execution (&) is not allowed in mlld. All commands run synchronously.`);
}
}
return true;
}, "peg$f384");
var peg$f385 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f385");
var peg$f386 = /* @__PURE__ */ __name(function(spaces) {
return helpers_default.createNode(node_type_default.Text, {
content: spaces.join(""),
location: location()
});
}, "peg$f386");
var peg$f387 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f387");
var peg$f388 = /* @__PURE__ */ __name(function(chars) {
return '"' + chars.join("") + '"';
}, "peg$f388");
var peg$f389 = /* @__PURE__ */ __name(function(chars) {
return "'" + chars.join("") + "'";
}, "peg$f389");
var peg$f390 = /* @__PURE__ */ __name(function(chars) {
return "`" + chars.join("") + "`";
}, "peg$f390");
var peg$f391 = /* @__PURE__ */ __name(function(c) {
return c;
}, "peg$f391");
var peg$f392 = /* @__PURE__ */ __name(function(chars) {
return "/*" + chars.join("") + "*/";
}, "peg$f392");
var peg$f393 = /* @__PURE__ */ __name(function(c) {
return c;
}, "peg$f393");
var peg$f394 = /* @__PURE__ */ __name(function(chars) {
return "//" + chars.join("");
}, "peg$f394");
var peg$f395 = /* @__PURE__ */ __name(function(inner) {
return "{" + inner + "}";
}, "peg$f395");
var peg$f396 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f396");
var peg$f397 = /* @__PURE__ */ __name(function(char) {
return "\\" + char;
}, "peg$f397");
var peg$f398 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f398");
var peg$f399 = /* @__PURE__ */ __name(function(char) {
return "\\" + char;
}, "peg$f399");
var peg$f400 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f400");
var peg$f401 = /* @__PURE__ */ __name(function(char) {
return "\\" + char;
}, "peg$f401");
var peg$f402 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f402");
var peg$f403 = /* @__PURE__ */ __name(function() {
const rest = input.substring(peg$currPos);
return /(\s*(&&|\|\||==|!=|<=|>=|<|>|\?|!))|(\s*\?\s*[^:]+\s*:)/.test(rest);
}, "peg$f403");
var peg$f404 = /* @__PURE__ */ __name(function(expr) {
return expr;
}, "peg$f404");
var peg$f405 = /* @__PURE__ */ __name(function(base, fields, pipes) {
helpers_default.debug("AlligatorWithFields matched", {
source: base.source,
fieldCount: fields.length,
pipeCount: pipes ? pipes.length : 0
});
const allPipes = [
...base.pipes || [],
...pipes || []
];
return helpers_default.createFileReferenceNode(base.source, fields, allPipes, location());
}, "peg$f405");
var peg$f406 = /* @__PURE__ */ __name(function(template, pipes) {
helpers_default.debug("TemplateWithPipeline matched", {
template: template.wrapperType,
pipelineCount: pipes.length
});
const content = template.content || [
helpers_default.createNode(node_type_default.Text, {
content: "",
location: location()
})
];
const pipeline = pipes.map((pipe) => ({
identifier: [
helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: pipe.transform
}, location())
],
args: pipe.args || [],
fields: [],
rawIdentifier: pipe.transform,
rawArgs: pipe.args || []
}));
return {
content,
wrapperType: template.wrapperType,
withClause: {
pipeline
}
};
}, "peg$f406");
var peg$f407 = /* @__PURE__ */ __name(function(id, fields) {
return peg$currPos;
}, "peg$f407");
var peg$f408 = /* @__PURE__ */ __name(function(id, fields, pipeStart, transform) {
return {
transform,
pipeStart
};
}, "peg$f408");
var peg$f409 = /* @__PURE__ */ __name(function(id, fields, firstPipe, restPipes) {
const normalizedId = helpers_default.normalizePathVar(id);
const varRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: normalizedId,
...fields.length > 0 ? {
fields
} : {}
}, location());
const pipes = [];
if (firstPipe) {
const loc = location();
const startOffset = firstPipe.pipeStart;
pipes.push({
type: "CondensedPipe",
transform: firstPipe.transform,
hasAt: true,
location: {
source: loc.source,
start: {
offset: startOffset,
line: loc.start.line,
column: loc.start.column - (loc.start.offset - startOffset)
},
end: loc.end
}
});
}
if (restPipes && restPipes.length > 0) {
pipes.push(...restPipes);
}
if (pipes.length > 0) {
return {
...varRef,
pipes
};
}
return varRef;
}, "peg$f409");
var peg$f410 = /* @__PURE__ */ __name(function() {
return peg$currPos;
}, "peg$f410");
var peg$f411 = /* @__PURE__ */ __name(function(pipeStart, transform) {
const loc = location();
const startOffset = pipeStart;
return {
type: "CondensedPipe",
transform,
hasAt: true,
location: {
source: loc.source,
start: {
offset: startOffset,
line: loc.start.line,
column: loc.start.column - (loc.start.offset - startOffset)
},
end: loc.end
}
};
}, "peg$f411");
var peg$f412 = /* @__PURE__ */ __name(function(id, fields, args, tail) {
const lastField = fields[fields.length - 1];
const methodName = lastField.value;
const objectFields = fields.slice(0, -1);
const objectRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...objectFields.length > 0 ? {
fields: objectFields
} : {}
}, location());
const ref = {
name: methodName,
identifier: [
helpers_default.createNode(node_type_default.Text, {
content: methodName,
location: location()
})
],
args: args || [],
isCommandReference: true,
objectReference: objectRef
};
return helpers_default.createExecInvocation(ref, tail || null, location());
}, "peg$f412");
var peg$f413 = /* @__PURE__ */ __name(function(name, args, tail) {
const ref = {
name,
identifier: [
helpers_default.createNode(node_type_default.Text, {
content: name,
location: location()
})
],
args: args || [],
isCommandReference: true
};
return helpers_default.createExecInvocation(ref, tail || null, location());
}, "peg$f413");
var peg$f414 = /* @__PURE__ */ __name(function(command) {
const commandLocation = location();
const parts = helpers_default.parseCommandContent(command, commandLocation);
let commandBases = [];
if (parts.length > 0 && parts[0].type === node_type_default.Text) {
const cmdMatch = parts[0].content.match(/^(\S+)/);
if (cmdMatch) {
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: cmdMatch[1],
location: commandLocation
}));
}
}
return {
type: "command",
command: parts,
commandBases,
hasRunKeyword: true,
meta: {
isMultiLine: false,
commandCount: commandBases.length,
hasScriptRunner: false
}
};
}, "peg$f414");
var peg$f415 = /* @__PURE__ */ __name(function(content) {
return {
type: "command",
command: content.values.command,
commandBases: content.values.commandBases,
hasRunKeyword: true,
meta: content.meta
};
}, "peg$f415");
var peg$f416 = /* @__PURE__ */ __name(function(invocation) {
return {
type: "runExec",
invocation,
hasRunKeyword: true
};
}, "peg$f416");
var peg$f417 = /* @__PURE__ */ __name(function(lang, code) {
return {
type: "code",
language: lang,
code,
hasRunKeyword: false
};
}, "peg$f417");
var peg$f418 = /* @__PURE__ */ __name(function(lang, code) {
return {
type: "nestedDirective",
directive: "run",
language: lang,
code
};
}, "peg$f418");
var peg$f419 = /* @__PURE__ */ __name(function(cmd) {
return {
type: "nestedDirective",
directive: "run",
command: cmd
};
}, "peg$f419");
var peg$f420 = /* @__PURE__ */ __name(function(chars) {
return chars.map((c) => c[1]).join("");
}, "peg$f420");
var peg$f421 = /* @__PURE__ */ __name(function(lang, content) {
return {
type: "code",
language: lang,
code: content,
hasRunKeyword: true
};
}, "peg$f421");
var peg$f422 = /* @__PURE__ */ __name(function(content) {
return {
type: "command",
command: content.values.command,
commandBases: content.values.commandBases,
hasRunKeyword: true,
meta: content.meta
};
}, "peg$f422");
var peg$f423 = /* @__PURE__ */ __name(function(lang, code) {
return {
type: "code",
language: lang,
code,
hasRunKeyword: false
};
}, "peg$f423");
var peg$f424 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f424");
var peg$f425 = /* @__PURE__ */ __name(function(inner) {
return "{" + inner + "}";
}, "peg$f425");
var peg$f426 = /* @__PURE__ */ __name(function(char) {
return char;
}, "peg$f426");
var peg$f427 = /* @__PURE__ */ __name(function(conditions, tail) {
helpers_default.debug("WhenExpression matched", {
conditionCount: conditions.length,
hasTailModifiers: !!tail
});
return helpers_default.createWhenExpression(conditions, tail, location());
}, "peg$f427");
var peg$f428 = /* @__PURE__ */ __name(function() {
return helpers_default.isUnclosedArray(input, peg$currPos);
}, "peg$f428");
var peg$f429 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError(`Unclosed array in when expression. Expected ']' to close the condition list.`, "]", location());
}, "peg$f429");
var peg$f430 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError(`Missing condition list in when expression. Expected: when: [condition => value, ...]`, "[", location());
}, "peg$f430");
var peg$f431 = /* @__PURE__ */ __name(function() {
return !input.substring(peg$currPos).startsWith(":");
}, "peg$f431");
var peg$f432 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError(`Missing ':' in when expression. Expected: when: [...]`, ":", location());
}, "peg$f432");
var peg$f433 = /* @__PURE__ */ __name(function(first, pair) {
return pair;
}, "peg$f433");
var peg$f434 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f434");
var peg$f435 = /* @__PURE__ */ __name(function(condition, action) {
return {
condition,
action: [
action
]
};
}, "peg$f435");
var peg$f436 = /* @__PURE__ */ __name(function(pattern, expr) {
helpers_default.debug("ForExpression matched", {
pattern,
expr
});
return helpers_default.createForExpression(pattern.variable, pattern.source, expr, location());
}, "peg$f436");
var peg$f437 = /* @__PURE__ */ __name(function(id, source) {
helpers_default.mlldError("Missing '=>' in for expression. Expected: for @var in @collection => expression", "=>", location());
}, "peg$f437");
var peg$f438 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Missing 'in' in for expression. Expected: for @var in @collection => expression", "in", location());
}, "peg$f438");
var peg$f439 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid for expression syntax. Expected: for @var in @collection => expression", "@", location());
}, "peg$f439");
var peg$f440 = /* @__PURE__ */ __name(function(id) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
isSpecial: true
}, location());
}, "peg$f440");
var peg$f441 = /* @__PURE__ */ __name(function() {
return "now";
}, "peg$f441");
var peg$f442 = /* @__PURE__ */ __name(function() {
return "base";
}, "peg$f442");
var peg$f443 = /* @__PURE__ */ __name(function() {
return "input";
}, "peg$f443");
var peg$f444 = /* @__PURE__ */ __name(function() {
return "debug";
}, "peg$f444");
var peg$f445 = /* @__PURE__ */ __name(function(id) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: "frontmatter",
fields: id.fields
}, location());
}, "peg$f445");
var peg$f446 = /* @__PURE__ */ __name(function(id, fields) {
const normalizedId = helpers_default.normalizePathVar(id);
const node = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: normalizedId,
...fields.length > 0 ? {
fields
} : {}
}, location());
helpers_default.debug("CreateVAR", {
rule: "AtVar",
node,
fields
});
return node;
}, "peg$f446");
var peg$f447 = /* @__PURE__ */ __name(function(id, fields) {
const normalizedId = helpers_default.normalizePathVar(id);
const node = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: normalizedId,
fields
}, location());
helpers_default.debug("CreateVAR", {
rule: "AtVar with bracket",
node,
fields
});
return node;
}, "peg$f447");
var peg$f448 = /* @__PURE__ */ __name(function(id, format) {
const node = helpers_default.createVariableReferenceNode("varInterpolation", {
identifier: id,
isSpecial: true,
...format ? {
format
} : {}
}, location());
helpers_default.debug("CreateVAR", {
rule: "InterpolationSpecialVar",
node
});
return node;
}, "peg$f448");
var peg$f449 = /* @__PURE__ */ __name(function(id, format) {
const node = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...format ? {
format
} : {}
}, location());
helpers_default.debug("CreateVAR", {
rule: "InterpolationSimpleVar",
node
});
return node;
}, "peg$f449");
var peg$f450 = /* @__PURE__ */ __name(function(id, fields, format) {
const node = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
fields: fields || [],
...format ? {
format
} : {}
}, location());
helpers_default.debug("CreateVAR", {
rule: "InterpolationDataVar",
node
});
return node;
}, "peg$f450");
var peg$f451 = /* @__PURE__ */ __name(function(format) {
return format;
}, "peg$f451");
var peg$f452 = /* @__PURE__ */ __name(function(field, rest) {
return {
fields: [
{
type: "dot",
value: field
},
...rest
]
};
}, "peg$f452");
var peg$f453 = /* @__PURE__ */ __name(function(id, fields, tail) {
const normalizedId = helpers_default.normalizePathVar(id);
const varRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: normalizedId,
...fields.length > 0 ? {
fields
} : {}
}, location());
if (tail) {
return {
type: "VariableReferenceWithTail",
variable: varRef,
withClause: tail
};
}
return varRef;
}, "peg$f453");
var peg$f454 = /* @__PURE__ */ __name(function(varRef, pipes) {
if (pipes && pipes.length > 0) {
return {
...varRef,
pipes
};
}
return varRef;
}, "peg$f454");
var peg$f455 = /* @__PURE__ */ __name(function(id, fields, pipes) {
const normalizedId = helpers_default.normalizePathVar(id);
const varRef = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: normalizedId,
...fields.length > 0 ? {
fields
} : {}
}, location());
if (pipes && pipes.length > 0) {
return {
...varRef,
pipes
};
}
return varRef;
}, "peg$f455");
var peg$f456 = /* @__PURE__ */ __name(function(object) {
helpers_default.debug("WithClause matched", {
object
});
return object;
}, "peg$f456");
var peg$f457 = /* @__PURE__ */ __name(function(props) {
const result = {};
if (props) {
for (const [key, value] of props) {
result[key] = value;
}
}
return result;
}, "peg$f457");
var peg$f458 = /* @__PURE__ */ __name(function(first, prop) {
return prop;
}, "peg$f458");
var peg$f459 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f459");
var peg$f460 = /* @__PURE__ */ __name(function(pipeline) {
return [
"pipeline",
pipeline
];
}, "peg$f460");
var peg$f461 = /* @__PURE__ */ __name(function(needs) {
return [
"needs",
needs
];
}, "peg$f461");
var peg$f462 = /* @__PURE__ */ __name(function(format) {
return [
"format",
format
];
}, "peg$f462");
var peg$f463 = /* @__PURE__ */ __name(function(title) {
return [
"asSection",
title
];
}, "peg$f463");
var peg$f464 = /* @__PURE__ */ __name(function(commands) {
return commands || [];
}, "peg$f464");
var peg$f465 = /* @__PURE__ */ __name(function(first, cmd) {
return cmd;
}, "peg$f465");
var peg$f466 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f466");
var peg$f467 = /* @__PURE__ */ __name(function(ref) {
helpers_default.debug("PipelineCommand matched unified reference", {
ref
});
if (ref.type === "ExecInvocation") {
return {
identifier: ref.commandRef.identifier,
args: ref.commandRef.args || [],
fields: [],
rawIdentifier: ref.commandRef.name,
rawArgs: ref.commandRef.args ? ref.commandRef.args.map((arg) => arg.type === node_type_default.Text ? arg.content : arg.type === node_type_default.VariableReference ? "@" + arg.identifier : "") : []
};
} else {
return {
identifier: [
ref
],
args: [],
fields: ref.fields || [],
rawIdentifier: ref.identifier,
rawArgs: []
};
}
}, "peg$f467");
var peg$f468 = /* @__PURE__ */ __name(function(langs) {
const result = {};
if (langs) {
for (const [lang, packages] of langs) {
result[lang] = packages;
}
}
return result;
}, "peg$f468");
var peg$f469 = /* @__PURE__ */ __name(function(first, entry) {
return entry;
}, "peg$f469");
var peg$f470 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f470");
var peg$f471 = /* @__PURE__ */ __name(function(lang, packages) {
return [
lang,
packages
];
}, "peg$f471");
var peg$f472 = /* @__PURE__ */ __name(function(packages) {
const result = {};
if (packages) {
for (const [pkg, version] of packages) {
result[pkg] = version;
}
}
return result;
}, "peg$f472");
var peg$f473 = /* @__PURE__ */ __name(function(first, entry) {
return entry;
}, "peg$f473");
var peg$f474 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f474");
var peg$f475 = /* @__PURE__ */ __name(function(pkg, version) {
return [
pkg,
version
];
}, "peg$f475");
var peg$f476 = /* @__PURE__ */ __name(function(path) {
helpers_default.debug("AddPathCore matched path", {
path
});
return {
type: "addPath",
values: {
path: path.values.path || path.values.url
},
raw: {
path: path.raw.path || path.raw.url
},
meta: {
...path.meta,
pathSubtype: path.subtype
// Preserve the specific path type
}
};
}, "peg$f476");
var peg$f477 = /* @__PURE__ */ __name(function(template) {
helpers_default.debug("AddTemplateCore matched template", {
template
});
return {
type: "addTemplate",
values: {
content: template.values.content
},
raw: {
content: template.raw.content
},
meta: template.meta
};
}, "peg$f477");
var peg$f478 = /* @__PURE__ */ __name(function(varRef) {
helpers_default.debug("AddVariableCore matched variable", {
varRef
});
return {
type: "addVariable",
values: {
variable: [
varRef
]
},
raw: {
variable: `@${varRef.identifier}`
},
meta: {
hasFieldAccess: !!(varRef.fields && varRef.fields.length > 0)
}
};
}, "peg$f478");
var peg$f479 = /* @__PURE__ */ __name(function(id, args) {
helpers_default.debug("AddTemplateInvocationCore matched", {
id,
args
});
const processedArgs = args || [];
return {
type: "addTemplateInvocation",
values: {
templateName: [
helpers_default.createNode(node_type_default.Text, {
content: id,
location: location()
})
],
arguments: processedArgs
},
raw: {
templateName: id,
arguments: processedArgs.map((arg) => {
if (arg.type === "string") return `"${arg.value}"`;
if (arg.type === "variable") return `@${arg.value.identifier}`;
return arg.value || "";
})
},
meta: {
argumentCount: processedArgs.length
}
};
}, "peg$f479");
var peg$f480 = /* @__PURE__ */ __name(function(sectionTitle, path, rename) {
helpers_default.debug("AddPathSectionCore matched", {
sectionTitle,
path,
rename
});
return {
type: "addPathSection",
values: {
sectionTitle,
path: path.values.path || path.values.url,
...rename ? {
newTitle: rename
} : {}
},
raw: {
sectionTitle: sectionTitle[0].content,
path: path.raw.path || path.raw.url,
...rename ? {
newTitle: rename[0].content
} : {}
},
meta: {
hasRename: !!rename,
...path.meta,
pathSubtype: path.subtype
// Preserve the specific path type
}
};
}, "peg$f480");
var peg$f481 = /* @__PURE__ */ __name(function(pathText, sectionText, rename) {
helpers_default.debug("AddPathSectionCore matched bracketed", {
pathText,
sectionText,
rename
});
const rawPath = pathText.trim();
const pathParts = [
helpers_default.createNode(node_type_default.Text, {
content: rawPath,
location: location()
})
];
return {
type: "addPathSection",
values: {
sectionTitle: [
helpers_default.createNode(node_type_default.Text, {
content: sectionText.trim(),
location: location()
})
],
path: pathParts,
...rename ? {
newTitle: rename
} : {}
},
raw: {
sectionTitle: sectionText.trim(),
path: rawPath,
...rename ? {
newTitle: rename[0].content
} : {}
},
meta: {
hasRename: !!rename,
hasVariables: false,
isAbsolute: rawPath.startsWith("/"),
hasExtension: /\.[a-zA-Z0-9]+$/.test(rawPath),
extension: rawPath.match(/\.([a-zA-Z0-9]+)$/)?.[1] || null
}
};
}, "peg$f481");
var peg$f482 = /* @__PURE__ */ __name(function(code) {
helpers_default.debug("CodeCore matched code block", {
code
});
let language = null;
let codeContent = code.raw;
const langMatch = code.raw.match(/^\s*\[([a-zA-Z0-9_+#.]+)\s*:\s*([\s\S]*)\]\s*$/);
if (langMatch) {
language = langMatch[1];
codeContent = langMatch[2];
}
return {
type: "code",
subtype: "codeBlock",
values: {
code: code.parts,
...language ? {
language: [
helpers_default.createNode(node_type_default.Text, {
content: language,
location: location()
})
]
} : {}
},
raw: {
code: codeContent,
...language ? {
language
} : {}
},
meta: {
hasLanguage: !!language,
language: language || "text",
hasVariables: false,
isMultiLine: codeContent.includes("\n")
}
};
}, "peg$f482");
var peg$f483 = /* @__PURE__ */ __name(function(language, code) {
helpers_default.debug("LanguageCodeCore matched", {
language,
code
});
return {
type: "code",
subtype: "languageCode",
values: {
language: [
helpers_default.createNode(node_type_default.Text, {
content: language,
location: location()
})
],
code: code.parts
},
raw: {
language,
code: code.raw
},
meta: {
hasLanguage: true,
language,
hasVariables: false,
isMultiLine: code.raw.includes("\n")
}
};
}, "peg$f483");
var peg$f484 = /* @__PURE__ */ __name(function(language, code) {
helpers_default.debug("RunLanguageCodeCore matched", {
language,
code
});
const langNode = helpers_default.createNode(node_type_default.Text, {
content: language,
location: location()
});
const codeContent = code.content;
const codeNode = helpers_default.createNode(node_type_default.Text, {
content: codeContent,
location: location()
});
const values = {
lang: [
langNode
],
args: [],
code: [
codeNode
]
};
const raw = {
lang: language,
args: [],
code: codeContent
};
const meta = {
isMultiLine: code.isMultiLine || codeContent.includes("\n"),
language,
hasVariables: false
// Code blocks don't support variable interpolation
};
return {
type: "runCode",
values,
raw,
meta,
location: location()
};
}, "peg$f484");
var peg$f485 = /* @__PURE__ */ __name(function(language, args, code) {
helpers_default.debug("RunLanguageCodeWithArgs matched", {
language,
args,
code
});
const langNode = helpers_default.createNode(node_type_default.Text, {
content: language,
location: location()
});
const codeContent = code.content;
const codeNode = helpers_default.createNode(node_type_default.Text, {
content: codeContent,
location: location()
});
const values = {
lang: [
langNode
],
args: args || [],
code: [
codeNode
]
};
const raw = {
lang: language,
args: args ? args.map((arg) => {
if (arg.type === node_type_default.VariableReference) {
return "@" + arg.identifier;
}
if (arg.type === node_type_default.Argument && arg.value) {
if (arg.value.type === node_type_default.Text) return arg.value.content;
if (arg.value.type === node_type_default.VariableReference) return "@" + arg.value.identifier;
}
return arg.identifier || "";
}) : [],
code: codeContent
};
const meta = {
isMultiLine: code.isMultiLine || codeContent.includes("\n"),
language,
hasVariables: false
// Code blocks don't support variable interpolation
};
return {
type: "runCode",
values,
raw,
meta,
location: location()
};
}, "peg$f485");
var peg$f486 = /* @__PURE__ */ __name(function(lang) {
return lang;
}, "peg$f486");
var peg$f487 = /* @__PURE__ */ __name(function(language) {
return language;
}, "peg$f487");
var peg$f488 = /* @__PURE__ */ __name(function(args) {
return args || [];
}, "peg$f488");
var peg$f489 = /* @__PURE__ */ __name(function(first, arg) {
return arg;
}, "peg$f489");
var peg$f490 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f490");
var peg$f491 = /* @__PURE__ */ __name(function(varRef) {
return varRef;
}, "peg$f491");
var peg$f492 = /* @__PURE__ */ __name(function(command) {
helpers_default.debug("CommandCore matched command", {
command
});
let commandBases = [];
let rawBases = [];
let hasScriptRunner = false;
try {
const rawCommandString = command.raw;
const commandSegments = rawCommandString.split(/\s*(\||&&|\|\||;)\s*/);
for (let i = 0; i < commandSegments.length; i += 2) {
const segment = commandSegments[i].trim();
if (!segment) continue;
const match = segment.match(/^(\S+)/);
if (match) {
const cmdBase = match[1];
const runnerMatch = segment.match(/^(npm|yarn|pnpm|bun)\s+run\s+(\S+)/);
if (runnerMatch) {
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: runnerMatch[1] + " run",
script: runnerMatch[2],
isScriptRunner: true,
location: location()
}));
rawBases.push(runnerMatch[1] + " run");
hasScriptRunner = true;
} else if (segment.match(/^npx\s+(\S+)/)) {
const npxMatch = segment.match(/^npx\s+(\S+)/);
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: "npx",
package: npxMatch[1],
isPackageRunner: true,
location: location()
}));
rawBases.push("npx");
hasScriptRunner = true;
} else if (segment.match(/^python\s+-m\s+(\S+)/)) {
const pythonMatch = segment.match(/^python\s+-m\s+(\S+)/);
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: "python -m",
module: pythonMatch[1],
location: location()
}));
rawBases.push("python -m");
} else {
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: cmdBase,
location: location()
}));
rawBases.push(cmdBase);
}
}
}
} catch (e) {
helpers_default.debug("Shell parsing failed, using simple detection", {
error: e.message
});
if (command.parts && command.parts.length > 0) {
const firstPart = command.parts[0];
if (firstPart.type === node_type_default.Text && firstPart.content) {
const cmdText = firstPart.content.trim();
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: cmdText,
location: firstPart.location
}));
rawBases.push(cmdText);
}
}
}
return {
type: "command",
subtype: "shellCommand",
values: {
command: command.parts,
commandBases
},
raw: {
command: command.raw,
commandBases: rawBases
},
meta: {
...helpers_default.createCommandMetadata(command.parts),
commandCount: commandBases.length,
hasScriptRunner
}
};
}, "peg$f492");
var peg$f493 = /* @__PURE__ */ __name(function(command, params) {
helpers_default.debug("ParameterizedCommandCore matched", {
command,
params
});
const commandBases = [];
const rawBases = [];
let hasScriptRunner = false;
if (command.parts && command.parts.length > 0) {
const firstPart = command.parts[0];
if (firstPart.type === node_type_default.Text && firstPart.content) {
const cmdText = firstPart.content.trim();
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: cmdText,
location: firstPart.location
}));
rawBases.push(cmdText);
}
}
return {
type: "command",
subtype: "parametrizedCommand",
values: {
command: command.parts,
commandBases,
...params ? {
params: params.values
} : {}
},
raw: {
command: command.raw,
commandBases: rawBases,
...params ? {
params: params.raw
} : {}
},
meta: {
...helpers_default.createCommandMetadata(command.parts),
commandCount: commandBases.length,
hasScriptRunner,
hasParams: !!params
}
};
}, "peg$f493");
var peg$f494 = /* @__PURE__ */ __name(function(params) {
return params;
}, "peg$f494");
var peg$f495 = /* @__PURE__ */ __name(function(first, param) {
return param;
}, "peg$f495");
var peg$f496 = /* @__PURE__ */ __name(function(first, rest) {
const allParams = [
first,
...rest
];
const values = allParams.reduce((acc, param) => {
acc[param.key] = param.value;
return acc;
}, {});
const raw = allParams.map((param) => `${param.key}=${typeof param.value === "string" ? JSON.stringify(param.value) : param.value}`).join(",");
return {
values,
raw
};
}, "peg$f496");
var peg$f497 = /* @__PURE__ */ __name(function(key, value) {
return {
key,
value
};
}, "peg$f497");
var peg$f498 = /* @__PURE__ */ __name(function(path) {
helpers_default.debug("PathCore matched path", {
path
});
return {
type: "path",
subtype: "filesystemPath",
values: {
path: path.values.path || path.values.url
},
raw: {
path: path.raw.path || path.raw.url
},
meta: path.meta
};
}, "peg$f498");
var peg$f499 = /* @__PURE__ */ __name(function(path, section) {
helpers_default.debug("SectionPathCore matched", {
path,
section
});
return {
type: "path",
subtype: "sectionPath",
values: {
path: path.values.path || path.values.url,
section: [
helpers_default.createNode(node_type_default.Text, {
content: section,
location: location()
})
]
},
raw: {
path: path.raw.path || path.raw.url,
section
},
meta: {
...path.meta,
hasSection: true
}
};
}, "peg$f499");
var peg$f500 = /* @__PURE__ */ __name(function(protocol, rest) {
const fullUrl = `${protocol}:${rest}`;
helpers_default.debug("URLPathCore matched", {
fullUrl
});
return {
type: "path",
subtype: "urlPath",
values: {
url: [
helpers_default.createNode(node_type_default.Text, {
content: fullUrl,
location: location()
})
],
protocol: [
helpers_default.createNode(node_type_default.Text, {
content: protocol,
location: location()
})
]
},
raw: {
url: fullUrl,
protocol
},
meta: {
isUrl: true,
protocol
}
};
}, "peg$f500");
var peg$f501 = /* @__PURE__ */ __name(function(proto) {
return proto;
}, "peg$f501");
var peg$f502 = /* @__PURE__ */ __name(function(content) {
return content;
}, "peg$f502");
var peg$f503 = /* @__PURE__ */ __name(function(commandRef) {
helpers_default.debug("RunExecCore matched unified command reference", {
commandRef
});
let values, raw, meta;
if (commandRef.type === "ExecInvocation") {
values = {
identifier: commandRef.commandRef.identifier,
args: commandRef.commandRef.args || []
};
raw = {
identifier: commandRef.commandRef.name,
args: commandRef.commandRef.args ? commandRef.commandRef.args.map((arg) => arg.type === node_type_default.Text ? arg.content : arg.type === node_type_default.VariableReference ? "@" + arg.identifier : "") : []
};
meta = {
argumentCount: commandRef.commandRef.args ? commandRef.commandRef.args.length : 0
};
} else {
values = {
identifier: [
commandRef
],
args: []
};
raw = {
identifier: commandRef.identifier,
args: []
};
meta = {
argumentCount: 0
};
}
return {
type: "runExec",
values,
raw,
meta
};
}, "peg$f503");
var peg$f504 = /* @__PURE__ */ __name(function(section, path, rename) {
const result = {
section,
path: path.values.path || path.values.url,
pathSubtype: path.subtype
};
if (rename) {
result.rename = rename;
}
result.meta = {
hasRename: !!rename,
pathSubtype: path.subtype
};
return result;
}, "peg$f504");
var peg$f505 = /* @__PURE__ */ __name(function(template) {
helpers_default.debug("TemplateCore matched template", {
template
});
template.parts.some((part) => part && part.type === node_type_default.VariableReference);
const isTemplateContent = template.wrapperType === "doubleBracket" || template.wrapperType === "doubleColon" || template.wrapperType === "tripleColon";
return {
type: "template",
subtype: "standardTemplate",
values: {
content: template.parts
},
raw: {
content: template.raw
},
meta: {
...helpers_default.createTemplateMetadata(template.parts, template.wrapperType),
wrapperType: template.wrapperType,
isTemplateContent
}
};
}, "peg$f505");
var peg$f506 = /* @__PURE__ */ __name(function(template, options2) {
helpers_default.debug("RichTemplateCore matched rich template", {
template,
options: options2
});
return {
type: "template",
subtype: "richTemplate",
values: {
content: template.parts,
...options2 ? {
options: options2
} : {}
},
raw: {
content: template.raw,
...options2 ? {
options: options2.raw
} : {}
},
meta: {
...helpers_default.createTemplateMetadata(template.parts, template.wrapperType),
hasOptions: !!options2
}
};
}, "peg$f506");
var peg$f507 = /* @__PURE__ */ __name(function(options2) {
return options2;
}, "peg$f507");
var peg$f508 = /* @__PURE__ */ __name(function(first, option) {
return option;
}, "peg$f508");
var peg$f509 = /* @__PURE__ */ __name(function(first, rest) {
const allOptions = [
first,
...rest
];
const optionsObj = allOptions.reduce((acc, opt) => {
acc[opt.key] = opt.value;
return acc;
}, {});
return {
options: optionsObj,
raw: allOptions.map((opt) => `${opt.key}=${opt.value}`).join(",")
};
}, "peg$f509");
var peg$f510 = /* @__PURE__ */ __name(function(key, value) {
return {
key,
value
};
}, "peg$f510");
var peg$f511 = /* @__PURE__ */ __name(function(id, meta, params, content, withClause, t) {
return t;
}, "peg$f511");
var peg$f512 = /* @__PURE__ */ __name(function(id, meta, params, content, withClause, trust, ending) {
helpers_default.debug("SlashExe matched with ExeRHSContent", {
id,
params,
content
});
const identifierNode = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id
}, location());
const processedParams = params || [];
if (content.type === "WhenExpression") {
const values2 = {
identifier: [
identifierNode
],
params: processedParams,
content: [
content
]
};
const raw2 = {
identifier: id,
params: processedParams.map((p) => p.name),
content: "when: [...]"
// Simplified representation
};
const metaObj2 = {
parameterCount: processedParams.length,
isWhenExpression: true,
...helpers_default.createSecurityMeta({
trust
}),
...meta ? {
riskLevel: meta
} : {}
};
if (meta) {
values2.metadata = [
helpers_default.createNode(node_type_default.Text, {
content: meta,
location: location()
})
];
raw2.metadata = meta;
metaObj2.metadata = {
type: meta
};
}
if (withClause) {
values2.withClause = withClause;
raw2.withClause = withClause;
metaObj2.withClause = withClause;
}
return helpers_default.createStructuredDirective(directive_kind_default.exe, "exeWhen", values2, raw2, metaObj2, location(), "when");
}
if (content.type === "ForExpression") {
const values2 = {
identifier: [
identifierNode
],
params: processedParams,
content: [
content
]
};
const raw2 = {
identifier: id,
params: processedParams.map((p) => p.name),
content: "for ... => ..."
// Simplified representation
};
const metaObj2 = {
parameterCount: processedParams.length,
isForExpression: true,
...helpers_default.createSecurityMeta({
trust
}),
...meta ? {
riskLevel: meta
} : {}
};
if (meta) {
values2.metadata = [
helpers_default.createNode(node_type_default.Text, {
content: meta,
location: location()
})
];
raw2.metadata = meta;
metaObj2.metadata = {
type: meta
};
}
if (withClause) {
values2.withClause = withClause;
raw2.withClause = withClause;
metaObj2.withClause = withClause;
}
return helpers_default.createStructuredDirective(directive_kind_default.exe, "exeFor", values2, raw2, metaObj2, location(), "for");
}
const subtype = content.subtype;
const source = content.source;
const values = {
identifier: [
identifierNode
],
...subtype !== "environment" ? {
params: processedParams
} : {},
...content.values
};
const raw = {
identifier: id,
...subtype !== "environment" ? {
params: processedParams.map((p) => p.name)
} : {},
...content.raw
};
const metaObj = {
...subtype !== "environment" ? {
parameterCount: processedParams.length
} : {},
...content.meta,
...helpers_default.createSecurityMeta({
trust
}),
...meta ? {
riskLevel: meta
} : {}
};
if (meta) {
values.metadata = [
helpers_default.createNode(node_type_default.Text, {
content: meta,
location: location()
})
];
raw.metadata = meta;
metaObj.metadata = {
type: meta
};
}
if (withClause) {
values.withClause = withClause;
raw.withClause = withClause;
metaObj.withClause = withClause;
}
return helpers_default.createStructuredDirective(directive_kind_default.exe, subtype, values, raw, metaObj, location(), source);
}, "peg$f512");
var peg$f513 = /* @__PURE__ */ __name(function(id, content, withClause, t) {
return t;
}, "peg$f513");
var peg$f514 = /* @__PURE__ */ __name(function(id, content, withClause, trust, ending) {
if (content.subtype !== "environment") {
helpers_default.mlldError("Invalid /exe syntax. Variable names must start with '@'. Use: /exe @" + id + " = ...", "@", location());
}
helpers_default.debug("SlashExe matched environment declaration (no @)", {
id,
content
});
const identifierNode = helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id
}, location());
const values = {
identifier: [
identifierNode
],
...content.values
};
const raw = {
identifier: id,
...content.raw
};
const metaObj = {
...content.meta
};
if (withClause) {
values.withClause = withClause;
raw.withClause = withClause;
metaObj.withClause = withClause;
}
return helpers_default.createStructuredDirective(directive_kind_default.exe, "environment", values, raw, metaObj, location(), "environment");
}, "peg$f514");
var peg$f515 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Invalid /exe syntax. Variable names must start with '@'. Use: /exe @" + id + " = ...", "@", location());
}, "peg$f515");
var peg$f516 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Invalid /exe syntax. Expected '=' after parameters. Use: /exe @" + id + "(params) = ...", "=", location());
}, "peg$f516");
var peg$f517 = /* @__PURE__ */ __name(function(id) {
let i = peg$currPos;
let parenDepth = 1;
while (i < input.length && parenDepth > 0) {
if (input[i] === "(") parenDepth++;
else if (input[i] === ")") parenDepth--;
else if (input[i] === "\n" && parenDepth > 0) return true;
i++;
}
return parenDepth > 0;
}, "peg$f517");
var peg$f518 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Unclosed parameters in /exe directive. Expected ')' to close the parameter list.", ")", location());
}, "peg$f518");
var peg$f519 = /* @__PURE__ */ __name(function(id, params) {
helpers_default.mlldError("Missing value in /exe directive. Expected command, code, template, or reference after '='.", "value", location());
}, "peg$f519");
var peg$f520 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Invalid /exe syntax. Examples:\n /exe @cmd(param) = {echo @param}\n /exe @greet(name) = `Hello @name!`\n /exe @calc(x) = js {return @x * 2}\n /exe @alias() = @otherCommand\n /exe @msg() = "a string value"', "@", location());
}, "peg$f520");
var peg$f521 = /* @__PURE__ */ __name(function(field) {
return field;
}, "peg$f521");
var peg$f522 = /* @__PURE__ */ __name(function(params) {
return params || [];
}, "peg$f522");
var peg$f523 = /* @__PURE__ */ __name(function(first, param) {
return param;
}, "peg$f523");
var peg$f524 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f524");
var peg$f525 = /* @__PURE__ */ __name(function(paramName) {
return helpers_default.createNode(node_type_default.Parameter, {
name: paramName,
location: location()
});
}, "peg$f525");
var peg$f526 = /* @__PURE__ */ __name(function() {
return {
type: "test",
message: "Simple for matched!"
};
}, "peg$f526");
var peg$f527 = /* @__PURE__ */ __name(function(pattern, action, ending) {
helpers_default.debug("SlashFor matched", {
pattern,
action,
ending
});
const meta = {
hasVariables: true,
actionType: "single"
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective("for", "for", {
variable: [
pattern.variable
],
source: pattern.source,
action: Array.isArray(action) ? action : [
action
]
}, {
variable: pattern.variable.identifier,
source: helpers_default.reconstructRawString(pattern.source),
action: helpers_default.reconstructRawString(action)
}, meta, location());
}, "peg$f527");
var peg$f528 = /* @__PURE__ */ __name(function(pattern) {
helpers_default.mlldError("Missing '=>' in /for directive. Expected: /for @var in @collection => action", "=>", location());
}, "peg$f528");
var peg$f529 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Missing 'in' in /for directive. Expected: /for @var in @collection => action", "in", location());
}, "peg$f529");
var peg$f530 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid /for syntax. Expected: /for @var in @collection => action", "@", location());
}, "peg$f530");
var peg$f531 = /* @__PURE__ */ __name(function() {
let depth = 1;
let i = peg$currPos;
while (i < input.length && depth > 0) {
if (input[i] === "{") depth++;
else if (input[i] === "}") depth--;
else if (input[i] === "\n" && depth > 0) return true;
i++;
}
return depth > 0;
}, "peg$f531");
var peg$f532 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed import list in /import directive. Expected closing brace for import list.", String.fromCharCode(125), location());
}, "peg$f532");
var peg$f533 = /* @__PURE__ */ __name(function() {
return helpers_default.isMissingFromKeyword(input, peg$currPos);
}, "peg$f533");
var peg$f534 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError(`Missing 'from' keyword in /import directive. Expected: /import { items } from "path"`, "from", location());
}, "peg$f534");
var peg$f535 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing path in /import directive. Expected a path after 'from' keyword.", "path", location());
}, "peg$f535");
var peg$f536 = /* @__PURE__ */ __name(function() {
return helpers_default.detectMissingQuoteClose(input, peg$currPos, '"');
}, "peg$f536");
var peg$f537 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Unclosed quoted path in /import directive. Expected closing double quote (").', '"', location());
}, "peg$f537");
var peg$f538 = /* @__PURE__ */ __name(function() {
return helpers_default.detectMissingQuoteClose(input, peg$currPos, "'");
}, "peg$f538");
var peg$f539 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed quoted path in /import directive. Expected closing single quote.", "'", location());
}, "peg$f539");
var peg$f540 = /* @__PURE__ */ __name(function() {
return helpers_default.isUnclosedArray(input, peg$currPos);
}, "peg$f540");
var peg$f541 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed path bracket in /import directive. Expected closing bracket for path.", "]", location());
}, "peg$f541");
var peg$f542 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Wildcard imports must have an alias. Use: /import { * as name } from "path"', "as", location());
}, "peg$f542");
var peg$f543 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing content in /import directive. Expected import list or path.", String.fromCharCode(123), location());
}, "peg$f543");
var peg$f544 = /* @__PURE__ */ __name(function() {
input[peg$currPos];
const rest = input.substring(peg$currPos);
const validStarts = [
"INPUT",
"TIME",
"stdin"
];
const isValidSpecial = validStarts.some((s) => rest.toUpperCase().startsWith(s.toUpperCase()));
const isValidModule = /^[a-zA-Z_][a-zA-Z0-9_-]*\//.test(rest);
return !isValidSpecial && !isValidModule;
}, "peg$f544");
var peg$f545 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid import source. Expected @INPUT, @TIME, module reference (@author/module), or configured resolver path", "INPUT", location());
}, "peg$f545");
var peg$f546 = /* @__PURE__ */ __name(function() {
return helpers_default.isUnclosedArray(input, peg$currPos);
}, "peg$f546");
var peg$f547 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed path bracket in /import shorthand. Expected closing bracket.", "]", location());
}, "peg$f547");
var peg$f548 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Invalid /import syntax. Expected: /import "path", /import @module, or /import { items } from "path"', '"', location());
}, "peg$f548");
var peg$f549 = /* @__PURE__ */ __name(function(path, name) {
return name;
}, "peg$f549");
var peg$f550 = /* @__PURE__ */ __name(function(path, alias, ttl, tail, comment) {
helpers_default.debug("SlashImportShorthand matched", {
path,
alias,
ttl,
tail
});
let namespace = alias;
if (!namespace) {
const pathStr = path.raw?.path || path.raw?.module || "";
if (pathStr.startsWith("@") && pathStr.includes("/")) {
const parts = pathStr.split("/");
namespace = parts[parts.length - 1].split("@")[0];
} else if (pathStr.includes("/")) {
const basename = pathStr.split("/").pop() || "";
namespace = basename.replace(/\.(mlld|mld|md|json)$/, "").replace(/[^a-zA-Z0-9_]/g, "_");
} else {
namespace = pathStr.replace(/\.(mlld|mld|md|json)$/, "").replace(/[^a-zA-Z0-9_]/g, "_");
}
}
const values = {
namespace: [
helpers_default.createNode(node_type_default.Text, {
content: namespace,
location: location()
})
],
path: path.values?.path || path.values?.module || (typeof path === "string" ? [
helpers_default.createNode(node_type_default.Text, {
content: path,
location: location()
})
] : path)
};
if (ttl) {
values.ttl = ttl[1];
}
if (tail) {
values.withClause = tail;
}
const raw = {
namespace,
path: path.raw?.path || path.raw?.module || path
// Handle string paths like @input
};
const meta = {
path: path.meta || {}
};
return helpers_default.createStructuredDirective("import", "importNamespace", values, raw, meta, location(), "path");
}, "peg$f550");
var peg$f551 = /* @__PURE__ */ __name(function(imports, path, ttl, tail, comment) {
helpers_default.debug("SlashImport matched", {
imports,
path,
ttl,
tail
});
const importsRaw = imports.map((item) => {
if (typeof item === "string") {
return item;
} else if (item.original) {
return `${item.original} as ${item.alias}`;
} else {
return item.name;
}
}).join(", ");
let subtype;
if (imports.length === 1) {
if (imports[0] === "*") {
subtype = "importAll";
} else if (typeof imports[0] === "object" && imports[0].original === "*" && imports[0].alias) {
subtype = "importNamespace";
} else {
subtype = "importSelected";
}
} else {
subtype = "importSelected";
}
const values = {
imports: imports.map((item) => {
if (typeof item === "string") {
return helpers_default.createVariableReferenceNode("import", {
identifier: item
}, location());
} else if (item.original) {
return helpers_default.createVariableReferenceNode("import", {
identifier: item.original,
alias: item.alias
}, item.location || location());
} else {
return helpers_default.createVariableReferenceNode("import", {
identifier: item.name
}, item.location || location());
}
}),
path: path.values?.path || path.values?.module || path.values?.url || (typeof path === "string" ? [
helpers_default.createNode(node_type_default.Text, {
content: path,
location: location()
})
] : path)
};
if (ttl) {
values.ttl = ttl[1];
}
if (tail) {
values.withClause = tail;
}
const raw = {
imports: importsRaw,
path: path.raw?.path || path.raw?.module || path.raw?.url || path
// Handle file, module, and URL paths
};
const meta = {
path: path.meta || {
isSpecial: typeof path === "string",
pathSubtype: path.subtype
}
};
return helpers_default.createStructuredDirective(
"import",
subtype,
values,
raw,
meta,
location(),
"path"
// Source parameter
);
}, "peg$f551");
var peg$f552 = /* @__PURE__ */ __name(function() {
helpers_default.debug("ImportPath matched @INPUT");
const matched = text();
return {
type: "path",
subtype: "inputPath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content: matched,
location: location()
})
]
},
raw: {
path: matched
},
meta: {
isSpecial: true,
source: "stdin"
// Keep as 'stdin' internally for compatibility
}
};
}, "peg$f552");
var peg$f553 = /* @__PURE__ */ __name(function() {
helpers_default.debug("ImportPath matched @NOW");
const matched = text();
return {
type: "path",
subtype: "nowPath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content: matched,
location: location()
})
]
},
raw: {
path: matched
},
meta: {
isSpecial: true,
source: "now"
}
};
}, "peg$f553");
var peg$f554 = /* @__PURE__ */ __name(function() {
helpers_default.debug("ImportPath matched @TIME");
const matched = text();
return {
type: "path",
subtype: "timePath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content: matched,
location: location()
})
]
},
raw: {
path: matched
},
meta: {
isSpecial: true,
source: "time"
}
};
}, "peg$f554");
var peg$f555 = /* @__PURE__ */ __name(function() {
helpers_default.debug("ImportPath matched @stdin (deprecated)");
return {
type: "path",
subtype: "inputPath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content: "@stdin",
location: location()
})
]
},
raw: {
path: "@stdin"
},
meta: {
isSpecial: true,
source: "stdin",
deprecated: true
}
};
}, "peg$f555");
var peg$f556 = /* @__PURE__ */ __name(function(content) {
helpers_default.debug("ImportAlligatorAdapter processing AlligatorExpression", {
content
});
if (content.options && content.options.section) {
helpers_default.mlldError("Section extraction is not supported in import paths. Use: /import { items } from <path>", ">", location());
}
if (content.source.type === "path") {
return {
type: "path",
subtype: "filePath",
values: {
path: content.source.segments
},
raw: {
path: content.source.raw
},
meta: content.source.meta
};
} else if (content.source.type === "url") {
helpers_default.mlldError("URL imports are not yet supported. Use: /import { items } from <local-file>", ">", location());
}
helpers_default.mlldError("Invalid alligator content in import path", ">", location());
}, "peg$f556");
var peg$f557 = /* @__PURE__ */ __name(function(content) {
helpers_default.debug("QuotedPath matched with interpolation", {
content
});
const rawPath = helpers_default.reconstructRawString(content);
return {
type: "path",
subtype: "filePath",
values: {
path: content
},
raw: {
path: rawPath
},
meta: helpers_default.createPathMetadata(rawPath, content)
};
}, "peg$f557");
var peg$f558 = /* @__PURE__ */ __name(function(content) {
helpers_default.debug("QuotedPath matched single quotes (literal)", {
content
});
return {
type: "path",
subtype: "filePath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
]
},
raw: {
path: content
},
meta: helpers_default.createPathMetadata(content, [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
])
};
}, "peg$f558");
var peg$f559 = /* @__PURE__ */ __name(function(id) {
const rawModule = `@${id.namespace}${id.path.length > 0 ? "/" + id.path.join("/") : ""}/${id.name}${id.hash ? "@" + id.hash : ""}`;
return {
type: "module",
subtype: "moduleReference",
values: {
module: [
helpers_default.createNode(node_type_default.Text, {
content: rawModule,
location: location()
})
]
},
raw: {
module: rawModule
},
meta: {
isModule: true,
namespace: id.namespace,
path: id.path,
name: id.name,
...id.hash ? {
hash: id.hash
} : {}
}
};
}, "peg$f559");
var peg$f560 = /* @__PURE__ */ __name(function(namespace, pathAndName, h) {
return h;
}, "peg$f560");
var peg$f561 = /* @__PURE__ */ __name(function(namespace, pathAndName, hash) {
return {
namespace,
path: pathAndName.path,
name: pathAndName.name,
...hash ? {
hash
} : {}
};
}, "peg$f561");
var peg$f562 = /* @__PURE__ */ __name(function(segment) {
return segment;
}, "peg$f562");
var peg$f563 = /* @__PURE__ */ __name(function(segments, name) {
return {
path: segments,
name
};
}, "peg$f563");
var peg$f564 = /* @__PURE__ */ __name(function(first, rest) {
return first + rest.join("");
}, "peg$f564");
var peg$f565 = /* @__PURE__ */ __name(function(chars) {
return chars.length >= 4;
}, "peg$f565");
var peg$f566 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f566");
var peg$f567 = /* @__PURE__ */ __name(function(aliasName) {
return [
{
original: "*",
alias: aliasName
}
];
}, "peg$f567");
var peg$f568 = /* @__PURE__ */ __name(function() {
return input[peg$currPos] === String.fromCharCode(125);
}, "peg$f568");
var peg$f569 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError(`Wildcard imports must have an alias. Use '/import { * as name }' or the shorthand '/import "path/to/file.mld" as name'`, "as", location());
}, "peg$f569");
var peg$f570 = /* @__PURE__ */ __name(function(first, item) {
return item;
}, "peg$f570");
var peg$f571 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f571");
var peg$f572 = /* @__PURE__ */ __name(function() {
return [];
}, "peg$f572");
var peg$f573 = /* @__PURE__ */ __name(function(name, aliasName) {
return aliasName;
}, "peg$f573");
var peg$f574 = /* @__PURE__ */ __name(function(name, alias) {
if (alias) {
return {
original: name,
alias,
location: location()
};
}
return {
name,
location: location()
};
}, "peg$f574");
var peg$f575 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f575");
var peg$f576 = /* @__PURE__ */ __name(function(special, path) {
helpers_default.debug("SpecialVariablePath matched", {
special,
path
});
const pathParts = [
special,
...path
];
const rawPath = (special.values?.originalForm || "@" + special.values?.identifier) + helpers_default.reconstructRawString(path);
return {
type: "path",
subtype: "specialPath",
values: {
path: pathParts
},
raw: {
path: rawPath
},
meta: {
isSpecial: true,
variable: special.values?.identifier,
originalForm: special.values?.originalForm
}
};
}, "peg$f576");
var peg$f577 = /* @__PURE__ */ __name(function(path) {
helpers_default.debug("SlashOutput quoted path without source matched", {
path
});
const values = {
target: {
type: "file",
path: [
helpers_default.createNode(node_type_default.Text, {
content: path,
location: location()
})
],
raw: `"${path}"`,
meta: {
quoted: true
}
}
};
const raw = {
target: `"${path}"`
};
const meta = {
targetType: "file",
hasSource: false,
legacy: true
};
return helpers_default.createStructuredDirective("output", "outputDocument", values, raw, meta, location());
}, "peg$f577");
var peg$f578 = /* @__PURE__ */ __name(function(source, target, f) {
return f;
}, "peg$f578");
var peg$f579 = /* @__PURE__ */ __name(function(source, target, format) {
helpers_default.debug("SlashOutput enhanced syntax matched", {
source,
target,
format
});
const values = {
source: source.values,
target
};
const raw = {
source: source.raw,
target: target.raw
};
const meta = {
sourceType: source.type,
targetType: target.type,
hasSource: true,
...format ? {
format,
explicitFormat: true
} : {}
};
let subtype = "outputFile";
if (target.type === "stream") {
subtype = "outputStream";
} else if (target.type === "env") {
subtype = "outputEnv";
} else if (target.type === "resolver") {
subtype = "outputResolver";
}
return helpers_default.createStructuredDirective("output", subtype, values, raw, meta, location());
}, "peg$f579");
var peg$f580 = /* @__PURE__ */ __name(function(source, path) {
helpers_default.debug("SlashOutput quoted path with source matched", {
source,
path
});
const values = {
source: source.values,
target: {
type: "file",
path: [
helpers_default.createNode(node_type_default.Text, {
content: path,
location: location()
})
],
raw: `"${path}"`,
meta: {
quoted: true
}
}
};
const raw = {
source: source.raw,
target: `"${path}"`
};
const meta = {
sourceType: source.type,
targetType: "file",
hasSource: true,
quoted: true
};
return helpers_default.createStructuredDirective("output", "outputFile", values, raw, meta, location());
}, "peg$f580");
var peg$f581 = /* @__PURE__ */ __name(function(target, f) {
return f;
}, "peg$f581");
var peg$f582 = /* @__PURE__ */ __name(function(target, format) {
helpers_default.debug("SlashOutput enhanced syntax without source matched", {
target,
format
});
const values = {
target
};
const raw = {
target: target.raw
};
const meta = {
targetType: target.type,
hasSource: false,
...format ? {
format,
explicitFormat: true
} : {}
};
let subtype = "outputDocument";
if (target.type !== "file") {
subtype = "output" + target.type.charAt(0).toUpperCase() + target.type.slice(1);
}
return helpers_default.createStructuredDirective("output", subtype, values, raw, meta, location());
}, "peg$f582");
var peg$f583 = /* @__PURE__ */ __name(function() {
const rest = input.substring(peg$currPos).trim();
return rest.startsWith("stdout") || rest.startsWith("stderr") || rest.startsWith("env") || rest.startsWith("@");
}, "peg$f583");
var peg$f584 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError(`Missing 'to' keyword in /output directive. Expected: /output @variable to "path"`, "to", location());
}, "peg$f584");
var peg$f585 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing target in /output directive. Expected path, stdout, stderr, or env after 'to'.", "path", location());
}, "peg$f585");
var peg$f586 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing target in /output directive. Expected path, stdout, stderr, or env after 'to'.", "path", location());
}, "peg$f586");
var peg$f587 = /* @__PURE__ */ __name(function() {
return helpers_default.detectMissingQuoteClose(input, peg$currPos, '"');
}, "peg$f587");
var peg$f588 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Unclosed quoted path in /output directive. Expected closing double quote (").', '"', location());
}, "peg$f588");
var peg$f589 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing format in /output directive. Expected format type after 'as' (e.g., json, xml, csv).", "format", location());
}, "peg$f589");
var peg$f590 = /* @__PURE__ */ __name(function() {
const nextChar = input[peg$currPos];
return !/[a-zA-Z_]/.test(nextChar);
}, "peg$f590");
var peg$f591 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid variable reference in /output directive. Variable names must start with a letter or underscore.", "identifier", location());
}, "peg$f591");
var peg$f592 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing content in /output directive. Expected source or target specification.", "@", location());
}, "peg$f592");
var peg$f593 = /* @__PURE__ */ __name(function() {
const rest = input.substring(peg$currPos).trim();
return rest.length === 0 || /[^A-Z0-9_]/.test(rest[0]);
}, "peg$f593");
var peg$f594 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid environment variable name in /output directive. Expected: env:VARIABLE_NAME", "VARIABLE_NAME", location());
}, "peg$f594");
var peg$f595 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Invalid /output syntax. Expected: /output @variable to "path", /output "path", or /output @variable to stdout/stderr/env. Note: String literals cannot be used as output sources. To output text content, first assign it to a variable: /var @content = "your text", then use: /output @content to "file.txt"', "@", location());
}, "peg$f595");
var peg$f596 = /* @__PURE__ */ __name(function(args) {
return args || [];
}, "peg$f596");
var peg$f597 = /* @__PURE__ */ __name(function(first, arg) {
return arg;
}, "peg$f597");
var peg$f598 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f598");
var peg$f599 = /* @__PURE__ */ __name(function(str) {
return helpers_default.createNode(node_type_default.Text, {
content: str,
location: location()
});
}, "peg$f599");
var peg$f600 = /* @__PURE__ */ __name(function(varRef) {
return varRef;
}, "peg$f600");
var peg$f601 = /* @__PURE__ */ __name(function(val) {
return helpers_default.createNode(node_type_default.Text, {
content: val.trim(),
location: location()
});
}, "peg$f601");
var peg$f602 = /* @__PURE__ */ __name(function(id, content, ttl, tail, comment) {
helpers_default.debug("SlashPath matched double quoted string with interpolation", {
id,
content,
ttl,
tail
});
const idNode = helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location());
content.some((part) => part && part.type === node_type_default.VariableReference);
const values = {
identifier: [
idNode
],
path: content
};
if (ttl) {
values.ttl = ttl[1];
}
if (tail) {
values.withClause = tail;
}
return helpers_default.createStructuredDirective("path", "pathAssignment", values, {}, {
path: helpers_default.createPathMetadata(helpers_default.reconstructRawString(content), content)
}, location(), "path");
}, "peg$f602");
var peg$f603 = /* @__PURE__ */ __name(function(id, content, ttl, tail, comment) {
helpers_default.debug("SlashPath matched single quoted string (literal)", {
id,
content,
ttl,
tail
});
const idNode = helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location());
const pathParts = [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
const values = {
identifier: [
idNode
],
path: pathParts
};
if (ttl) {
values.ttl = ttl[1];
}
if (tail) {
values.withClause = tail;
}
return helpers_default.createStructuredDirective("path", "pathAssignment", values, {}, {
path: helpers_default.createPathMetadata(content, pathParts)
}, location(), "path");
}, "peg$f603");
var peg$f604 = /* @__PURE__ */ __name(function(id, path, ttl, tail, comment) {
helpers_default.debug("SlashPath matched normal path", {
id,
path,
ttl,
tail
});
let processedPath = path.raw.path || path.raw.url;
if (processedPath.includes("@.")) {
processedPath = processedPath.replace(/@\./g, "@PROJECTPATH");
}
const idNode = helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location());
const processedPathParts = [
...path.values.path || path.values.parts || []
];
for (let i = 0; i < processedPathParts.length; i++) {
const part = processedPathParts[i];
if (part.type === node_type_default.VariableReference && part.identifier === ".") {
const newNode = {
...part
};
newNode.identifier = "PROJECTPATH";
processedPathParts[i] = newNode;
}
}
const values = {
identifier: [
idNode
],
path: processedPathParts
};
if (ttl) {
values.ttl = ttl[1];
}
if (tail) {
values.withClause = tail;
}
return helpers_default.createStructuredDirective(
"path",
"pathAssignment",
values,
{},
{
path: {
...path.meta,
pathSubtype: path.subtype
// Preserve the specific path type
}
},
location(),
"path"
// Source parameter
);
}, "peg$f604");
var peg$f605 = /* @__PURE__ */ __name(function(parts) {
return parts;
}, "peg$f605");
var peg$f606 = /* @__PURE__ */ __name(function() {
return text();
}, "peg$f606");
var peg$f607 = /* @__PURE__ */ __name(function(security, command, tail, comment) {
const securityOptions = security ? security[0] : null;
helpers_default.debug("SlashRun matched quoted command", {
command,
securityOptions,
tail
});
const commandLocation = location();
const parts = helpers_default.parseCommandContent(command, commandLocation);
let commandBases = [];
let rawBases = [];
if (parts.length > 0 && parts[0].type === node_type_default.Text) {
const cmdMatch = parts[0].content.match(/^(\S+)/);
if (cmdMatch) {
commandBases.push(helpers_default.createNode(node_type_default.CommandBase, {
command: cmdMatch[1],
location: location()
}));
rawBases.push(cmdMatch[1]);
}
}
const meta = {
isMultiLine: false,
commandCount: commandBases.length,
hasScriptRunner: false,
...helpers_default.createSecurityMeta(securityOptions),
...comment ? {
comment
} : {}
};
const values = {
command: parts,
commandBases
};
const raw = {
command,
commandBases: rawBases
};
if (tail) {
values.withClause = tail;
raw.withClause = tail;
meta.withClause = tail;
}
return helpers_default.createStructuredDirective("run", "runCommand", values, raw, meta, location(), "command");
}, "peg$f607");
var peg$f608 = /* @__PURE__ */ __name(function(security, content, tail, comment) {
const securityOptions = security ? security[0] : null;
helpers_default.debug("SlashRun matched command", {
content,
securityOptions,
tail
});
const meta = {
...content.meta,
...helpers_default.createSecurityMeta(securityOptions),
...comment ? {
comment
} : {}
};
const values = content.values;
const raw = content.raw;
if (tail) {
values.withClause = tail;
raw.withClause = tail;
meta.withClause = tail;
}
return helpers_default.createStructuredDirective("run", content.subtype, values, raw, meta, location(), content.type);
}, "peg$f608");
var peg$f609 = /* @__PURE__ */ __name(function(security, codeCore, tail, comment) {
const securityOptions = security ? security[0] : null;
helpers_default.debug("SlashRun matched with language code pattern", {
codeCore,
securityOptions,
tail
});
const values = codeCore.values;
const raw = codeCore.raw;
const meta = {
...codeCore.meta,
...helpers_default.createSecurityMeta(securityOptions),
...comment ? {
comment
} : {}
};
if (tail) {
values.withClause = tail;
raw.withClause = tail;
meta.withClause = tail;
}
return helpers_default.createStructuredDirective("run", "runCode", values, raw, meta, location(), "code");
}, "peg$f609");
var peg$f610 = /* @__PURE__ */ __name(function(security, commandRef, comment) {
const securityOptions = security ? security[0] : null;
helpers_default.debug("SlashRun matched unified command reference", {
commandRef,
securityOptions
});
let values, raw, meta;
if (commandRef.type === "ExecInvocation") {
values = {
identifier: commandRef.commandRef.identifier,
args: commandRef.commandRef.args || []
};
let rawIdentifier = commandRef.commandRef.name;
if (commandRef.commandRef.identifier && commandRef.commandRef.identifier.length > 0) {
const varRef = commandRef.commandRef.identifier[0];
if (varRef.type === node_type_default.VariableReference) {
rawIdentifier = varRef.identifier;
if (varRef.fields && varRef.fields.length > 0) {
rawIdentifier += varRef.fields.map((f) => "." + f.value).join("");
}
}
}
raw = {
identifier: rawIdentifier,
args: commandRef.commandRef.args ? commandRef.commandRef.args.map((arg) => arg.type === node_type_default.Text ? arg.content : arg.type === node_type_default.VariableReference ? "@" + arg.identifier : "") : []
};
meta = {
argumentCount: commandRef.commandRef.args ? commandRef.commandRef.args.length : 0,
...helpers_default.createSecurityMeta(securityOptions),
...comment ? {
comment
} : {}
};
if (commandRef.withClause) {
values.withClause = commandRef.withClause;
raw.withClause = commandRef.withClause;
meta.withClause = commandRef.withClause;
}
} else if (commandRef.type === "VariableReferenceWithTail") {
values = {
identifier: [
commandRef.variable
],
args: []
};
raw = {
identifier: commandRef.variable.identifier,
args: []
};
meta = {
argumentCount: 0,
...helpers_default.createSecurityMeta(securityOptions),
...comment ? {
comment
} : {}
};
if (commandRef.withClause) {
values.withClause = commandRef.withClause;
raw.withClause = commandRef.withClause;
meta.withClause = commandRef.withClause;
}
} else {
values = {
identifier: [
commandRef
],
args: []
};
raw = {
identifier: commandRef.identifier,
args: []
};
meta = {
argumentCount: 0,
...helpers_default.createSecurityMeta(securityOptions),
...comment ? {
comment
} : {}
};
}
return helpers_default.createStructuredDirective("run", "runExec", values, raw, meta, location(), "exec");
}, "peg$f610");
var peg$f611 = /* @__PURE__ */ __name(function() {
return helpers_default.detectMissingQuoteClose(input, peg$currPos, '"');
}, "peg$f611");
var peg$f612 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Unclosed quoted command in /run directive. Expected closing double quote (").', '"', location());
}, "peg$f612");
var peg$f613 = /* @__PURE__ */ __name(function() {
return helpers_default.isUnclosedObject(input, peg$currPos);
}, "peg$f613");
var peg$f614 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed command brackets in /run directive. Expected closing brace for command.", String.fromCharCode(125), location());
}, "peg$f614");
var peg$f615 = /* @__PURE__ */ __name(function(lang) {
const validLangs = [
"js",
"javascript",
"node",
"python",
"py",
"bash",
"sh"
];
return validLangs.includes(lang.toLowerCase());
}, "peg$f615");
var peg$f616 = /* @__PURE__ */ __name(function(lang) {
helpers_default.mlldError("Invalid code syntax in /run directive. Expected code block or arguments after language identifier: " + lang, String.fromCharCode(123), location());
}, "peg$f616");
var peg$f617 = /* @__PURE__ */ __name(function(lang) {
const validLangs = [
"js",
"javascript",
"node",
"python",
"py",
"bash",
"sh"
];
return validLangs.includes(lang.toLowerCase());
}, "peg$f617");
var peg$f618 = /* @__PURE__ */ __name(function(lang) {
helpers_default.mlldError("Missing code block in /run directive. Expected code block after language: " + lang, String.fromCharCode(123), location());
}, "peg$f618");
var peg$f619 = /* @__PURE__ */ __name(function() {
const nextChar = input[peg$currPos];
return !/[a-zA-Z_]/.test(nextChar);
}, "peg$f619");
var peg$f620 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid exec reference in /run directive. Variable names must start with a letter or underscore.", "identifier", location());
}, "peg$f620");
var peg$f621 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing content in /run directive. Expected command, code block, or exec reference.", String.fromCharCode(123), location());
}, "peg$f621");
var peg$f622 = /* @__PURE__ */ __name(function(lang) {
return helpers_default.isUnclosedObject(input, peg$currPos);
}, "peg$f622");
var peg$f623 = /* @__PURE__ */ __name(function(lang) {
helpers_default.mlldError("Unclosed code block in /run directive. Expected closing brace for " + lang + " code.", String.fromCharCode(125), location());
}, "peg$f623");
var peg$f624 = /* @__PURE__ */ __name(function(lang) {
return helpers_default.isUnclosedObject(input, peg$currPos);
}, "peg$f624");
var peg$f625 = /* @__PURE__ */ __name(function(lang) {
helpers_default.mlldError("Unclosed code block in /run directive. Expected closing brace for " + lang + " code.", String.fromCharCode(125), location());
}, "peg$f625");
var peg$f626 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError('Invalid /run syntax. Expected: /run "command", /run {command}, /run language {code}, or /run @exec', String.fromCharCode(123));
}, "peg$f626");
var peg$f627 = /* @__PURE__ */ __name(function(codeCore) {
helpers_default.debug("RunDirectiveRef matched language + code in RHS", {
codeCore
});
const values = codeCore.values;
const raw = codeCore.raw;
const meta = {
...codeCore.meta,
isRHSRef: true
};
return helpers_default.createStructuredDirective("run", "runCode", values, raw, meta, location(), "code");
}, "peg$f627");
var peg$f628 = /* @__PURE__ */ __name(function(commandRef) {
helpers_default.debug("RunDirectiveRef matched unified exec reference in RHS", {
commandRef
});
let values, raw, meta;
if (commandRef.type === "ExecInvocation") {
values = {
identifier: commandRef.commandRef.identifier,
args: commandRef.commandRef.args || []
};
let rawIdentifier = commandRef.commandRef.name;
if (commandRef.commandRef.identifier && commandRef.commandRef.identifier.length > 0) {
const varRef = commandRef.commandRef.identifier[0];
if (varRef.type === node_type_default.VariableReference) {
rawIdentifier = varRef.identifier;
if (varRef.fields && varRef.fields.length > 0) {
rawIdentifier += varRef.fields.map((f) => "." + f.value).join("");
}
}
}
raw = {
identifier: rawIdentifier,
args: commandRef.commandRef.args ? commandRef.commandRef.args.map((arg) => arg.type === node_type_default.Text ? arg.content : arg.type === node_type_default.VariableReference ? "@" + arg.identifier : "") : []
};
meta = {
argumentCount: commandRef.commandRef.args ? commandRef.commandRef.args.length : 0,
isRHSRef: true
};
} else {
values = {
identifier: [
commandRef
],
args: []
};
raw = {
identifier: commandRef.identifier,
args: []
};
meta = {
argumentCount: 0,
isRHSRef: true
};
}
return helpers_default.createStructuredDirective("run", "runExec", values, raw, meta, location(), "exec");
}, "peg$f628");
var peg$f629 = /* @__PURE__ */ __name(function(content) {
helpers_default.debug("RunDirectiveRef matched command in RHS", {
content
});
return helpers_default.createStructuredDirective("run", content.subtype, content.values, content.raw, {
...content.meta,
isRHSRef: true
}, location());
}, "peg$f629");
var peg$f630 = /* @__PURE__ */ __name(function(args) {
return args || [];
}, "peg$f630");
var peg$f631 = /* @__PURE__ */ __name(function(first, arg) {
return arg;
}, "peg$f631");
var peg$f632 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f632");
var peg$f633 = /* @__PURE__ */ __name(function(str) {
return helpers_default.createNode(node_type_default.Text, {
content: str,
location: location()
});
}, "peg$f633");
var peg$f634 = /* @__PURE__ */ __name(function(varRef) {
return varRef;
}, "peg$f634");
var peg$f635 = /* @__PURE__ */ __name(function(varRef) {
return varRef;
}, "peg$f635");
var peg$f636 = /* @__PURE__ */ __name(function(val) {
return helpers_default.createNode(node_type_default.Text, {
content: val.trim(),
location: location()
});
}, "peg$f636");
var peg$f637 = /* @__PURE__ */ __name(function(expr, ending) {
helpers_default.debug("SlashShow matched foreach expression", {
expr,
ending
});
const foreachValue = expr.value;
const values = {
foreach: foreachValue
};
if (foreachValue.with) {
values.withClause = foreachValue.with;
}
let rawString = "foreach ";
if (foreachValue.execInvocation.type === "ExecInvocation") {
rawString += `@${foreachValue.execInvocation.commandRef.name}(...)`;
} else {
rawString += `@${foreachValue.execInvocation.identifier || "unknown"}(...)`;
}
const raw = {
foreach: rawString
};
if (foreachValue.with) {
raw.withClause = "with { ... }";
}
const meta = {
isForeach: true,
hasExecInvocation: true
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective(directive_kind_default.show, "showForeach", values, raw, meta, location(), "foreach");
}, "peg$f637");
var peg$f638 = /* @__PURE__ */ __name(function(content) {
return content.type === "doubleBracketSection";
}, "peg$f638");
var peg$f639 = /* @__PURE__ */ __name(function(content, rename, ending) {
helpers_default.debug("SlashShow matched double-bracketed path section", {
content,
rename,
ending
});
const rawPath = content.raw.split(" # ")[0];
const sectionText = content.section;
const values = {
sectionTitle: content.sectionNodes || [
helpers_default.createNode(node_type_default.Text, {
content: sectionText,
location: location()
})
],
path: content.parts
};
if (rename) {
values.newTitle = rename;
}
const raw = {
sectionTitle: sectionText,
path: rawPath
};
if (rename) {
raw.newTitle = rename[0].content;
}
const meta = {
path: helpers_default.createPathMetadata(rawPath, content.parts)
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective(
directive_kind_default.show,
"showPathSection",
values,
raw,
meta,
location(),
"section"
// Added source parameter
);
}, "peg$f639");
var peg$f640 = /* @__PURE__ */ __name(function(content, rename, ending) {
helpers_default.debug("SlashShow matched load content expression", {
content,
rename,
ending
});
const values = {
loadContent: content
};
if (rename) {
values.newTitle = rename;
}
const raw = {
loadContent: text()
};
if (rename) {
raw.newTitle = rename[0].content;
}
const meta = {
hasSection: content.options && content.options.section,
sourceType: content.source.type
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective(directive_kind_default.show, "showLoadContent", values, raw, meta, location(), "load-content");
}, "peg$f640");
var peg$f641 = /* @__PURE__ */ __name(function(security, template, headerLevel, underHeader, ending) {
const securityOptions = security ? security[0] : null;
helpers_default.debug("SlashShow matched template content", {
template,
headerLevel,
underHeader,
ending
});
const headerLevelValue = headerLevel ? headerLevel : null;
const underHeaderValue = underHeader ? underHeader : null;
const values = {
content: template.values.content
};
if (headerLevelValue) {
values.headerLevel = [
helpers_default.createNode(node_type_default.Number, {
value: headerLevelValue.value,
raw: headerLevelValue.raw,
location: location()
})
];
}
if (underHeaderValue) {
values.underHeader = [
helpers_default.createNode(node_type_default.Text, {
content: underHeaderValue,
raw: underHeaderValue,
location: location()
})
];
}
const raw = {
content: template.raw.content
};
if (headerLevelValue) {
raw.headerLevel = headerLevelValue.raw;
}
if (underHeaderValue) {
raw.underHeader = underHeaderValue;
}
const meta = {
isTemplateContent: true,
...template.meta,
...helpers_default.createSecurityMeta(securityOptions)
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective(
directive_kind_default.show,
"showTemplate",
values,
raw,
meta,
location(),
"template"
// Added source parameter
);
}, "peg$f641");
var peg$f642 = /* @__PURE__ */ __name(function(security, varRef, headerLevel, underHeader, ending) {
const securityOptions = security ? security[0] : null;
helpers_default.debug("SlashShow matched variable reference", {
varRef,
headerLevel,
underHeader,
ending
});
const id = varRef.identifier;
const headerLevelValue = headerLevel ? headerLevel : null;
const underHeaderValue = underHeader ? underHeader : null;
const values = {
variable: [
varRef
]
};
if (headerLevelValue) {
values.headerLevel = [
helpers_default.createNode(node_type_default.Number, {
value: headerLevelValue.value,
raw: headerLevelValue.raw,
location: location()
})
];
}
if (underHeaderValue) {
values.underHeader = [
helpers_default.createNode(node_type_default.Text, {
content: underHeaderValue,
raw: underHeaderValue,
location: location()
})
];
}
const raw = {
variable: `@${id}`
};
if (headerLevelValue) {
raw.headerLevel = headerLevelValue.raw;
}
if (underHeaderValue) {
raw.underHeader = underHeaderValue;
}
const meta = {
...helpers_default.createSecurityMeta(securityOptions)
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective(
directive_kind_default.show,
"showVariable",
values,
raw,
meta,
location(),
"variable"
// Added source parameter
);
}, "peg$f642");
var peg$f643 = /* @__PURE__ */ __name(function(invocation, headerLevel, underHeader, ending) {
helpers_default.debug("SlashShow matched unified reference with tail modifiers", {
invocation,
headerLevel,
underHeader,
ending
});
const isExecInvocation = invocation.type === "ExecInvocation";
const commandRef = isExecInvocation ? invocation.commandRef : null;
const hasParentheses = isExecInvocation && commandRef.args !== null && commandRef.args !== void 0;
const headerLevelValue = headerLevel ? headerLevel : null;
const underHeaderValue = underHeader ? underHeader : null;
const values = {
invocation
};
if (headerLevelValue) {
values.headerLevel = [
helpers_default.createNode(node_type_default.Number, {
value: headerLevelValue.value,
raw: headerLevelValue.raw,
location: location()
})
];
}
if (underHeaderValue) {
values.underHeader = [
helpers_default.createNode(node_type_default.Text, {
content: underHeaderValue,
raw: underHeaderValue,
location: location()
})
];
}
const raw = {};
if (isExecInvocation) {
raw.invocation = commandRef.name;
raw.arguments = commandRef.args ? commandRef.args.map((arg) => {
if (arg.type === node_type_default.Text) return arg.content;
if (arg.type === node_type_default.VariableReference) return `@${arg.identifier}`;
return arg;
}).join(", ") : "";
} else {
const variable = invocation.variable || invocation;
raw.variable = `@${variable.identifier}${variable.fields ? variable.fields.map((f) => `.${f.value || f.name || f.index}`).join("") : ""}`;
}
if (headerLevelValue) {
raw.headerLevel = headerLevelValue.raw;
}
if (underHeaderValue) {
raw.underHeader = underHeaderValue;
}
const meta = {
hasParentheses,
argumentCount: isExecInvocation && commandRef.args ? commandRef.args.length : 0
};
if (ending.comment) {
meta.comment = ending.comment;
}
const subtype = isExecInvocation ? "showInvocation" : "showVariable";
return helpers_default.createStructuredDirective(directive_kind_default.show, subtype, values, raw, meta, location(), "invocation");
}, "peg$f643");
var peg$f644 = /* @__PURE__ */ __name(function(security, content, headerLevel, underHeader, ending) {
const securityOptions = security ? security[0] : null;
helpers_default.debug("SlashShow matched quoted string", {
content,
headerLevel,
underHeader,
securityOptions,
ending
});
const path = {
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
]
},
meta: helpers_default.createPathMetadata(content, [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
])
};
const headerLevelValue = headerLevel ? headerLevel : null;
const underHeaderValue = underHeader ? underHeader : null;
const values = {
path: path.values.path
};
if (headerLevelValue) {
values.headerLevel = [
helpers_default.createNode(node_type_default.Number, {
value: headerLevelValue.value,
raw: headerLevelValue.raw,
location: location()
})
];
}
if (underHeaderValue) {
values.underHeader = [
helpers_default.createNode(node_type_default.Text, {
content: underHeaderValue,
raw: underHeaderValue,
location: location()
})
];
}
const raw = {
path: content
};
if (headerLevelValue) {
raw.headerLevel = headerLevelValue.raw;
}
if (underHeaderValue) {
raw.underHeader = underHeaderValue;
}
const meta = {
path: path.meta,
...helpers_default.createSecurityMeta(securityOptions)
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective(directive_kind_default.show, "showPath", values, raw, meta, location(), "path");
}, "peg$f644");
var peg$f645 = /* @__PURE__ */ __name(function(path, s) {
return s;
}, "peg$f645");
var peg$f646 = /* @__PURE__ */ __name(function(path, security, headerLevel, underHeader, ending) {
helpers_default.debug("SlashShow matched path", {
path,
headerLevel,
underHeader,
security,
ending
});
const headerLevelValue = headerLevel ? headerLevel : null;
const underHeaderValue = underHeader ? underHeader : null;
const values = {
path: path.values.path || path.values.url
};
if (headerLevelValue) {
values.headerLevel = [
helpers_default.createNode(node_type_default.Number, {
value: headerLevelValue.value,
raw: headerLevelValue.raw,
location: location()
})
];
}
if (underHeaderValue) {
values.underHeader = [
helpers_default.createNode(node_type_default.Text, {
content: underHeaderValue,
raw: underHeaderValue,
location: location()
})
];
}
const raw = {
path: path.raw.path || path.raw.url
};
if (headerLevelValue) {
raw.headerLevel = headerLevelValue.raw;
}
if (underHeaderValue) {
raw.underHeader = underHeaderValue;
}
const meta = {
path: {
...path.meta,
pathSubtype: path.subtype
// Preserve the specific path type
},
...helpers_default.createSecurityMeta(security)
};
if (ending.comment) {
meta.comment = ending.comment;
}
return helpers_default.createStructuredDirective(
directive_kind_default.show,
"showPath",
values,
raw,
meta,
location(),
"path"
// Added source parameter
);
}, "peg$f646");
var peg$f647 = /* @__PURE__ */ __name(function() {
let i = peg$currPos;
let depth = 1;
while (i < input.length - 1 && depth > 0) {
if (input[i] === "[" && input[i + 1] === "[") {
depth++;
i += 2;
} else if (input[i] === "]" && input[i + 1] === "]") {
depth--;
i += 2;
} else {
i++;
}
}
return depth > 0;
}, "peg$f647");
var peg$f648 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed double brackets in /show directive. Expected closing ']]' for path section expression.", "]]", location());
}, "peg$f648");
var peg$f649 = /* @__PURE__ */ __name(function() {
let i = peg$currPos;
while (i < input.length) {
if (input[i] === ">") return false;
if (input[i] === "\n") return true;
i++;
}
return true;
}, "peg$f649");
var peg$f650 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed alligator bracket in /show directive. Expected closing '>' for content loading.", ">", location());
}, "peg$f650");
var peg$f651 = /* @__PURE__ */ __name(function() {
const nextChar = input[peg$currPos];
return !/[a-zA-Z_]/.test(nextChar);
}, "peg$f651");
var peg$f652 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid variable reference in /show directive. Variable names must start with a letter or underscore.", "identifier", location());
}, "peg$f652");
var peg$f653 = /* @__PURE__ */ __name(function() {
let i = peg$currPos;
while (i < input.length) {
if (input[i] === "`" && input[i - 1] !== "\\") return false;
if (input[i] === "\n") return true;
i++;
}
return true;
}, "peg$f653");
var peg$f654 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed backtick template in /show directive. Expected closing backtick (`).", "`", location());
}, "peg$f654");
var peg$f655 = /* @__PURE__ */ __name(function() {
return helpers_default.isUnclosedTemplate(input, peg$currPos);
}, "peg$f655");
var peg$f656 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Unclosed double-colon template in /show directive. Expected closing '::' delimiter.", "::", location());
}, "peg$f656");
var peg$f657 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Missing content in /show directive. Expected template, variable, or path to show.", "@", location());
}, "peg$f657");
var peg$f658 = /* @__PURE__ */ __name(function() {
const rest = input.substring(peg$currPos).trim();
return !rest.startsWith("@") && !rest.startsWith("<");
}, "peg$f658");
var peg$f659 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid foreach syntax in /show directive. Expected '@command(@arrays)' or '<@array.field # section>' after 'foreach'.", "foreach", location());
}, "peg$f659");
var peg$f660 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid /show syntax. Expected: /show `template`, /show @variable, /show <path>, or /show <path # section>", "`", location());
}, "peg$f660");
var peg$f661 = /* @__PURE__ */ __name(function(content) {
return {
subtype: "showLoadContent",
values: {
loadContent: content
},
raw: {
loadContent: content.source.raw
},
meta: {
sourceType: content.source.type
}
};
}, "peg$f661");
var peg$f662 = /* @__PURE__ */ __name(function(path) {
return {
subtype: "showPath",
values: {
path
},
raw: {
path: helpers_default.reconstructRawString(path)
},
meta: {
path: helpers_default.createPathMetadata(helpers_default.reconstructRawString(path), path)
}
};
}, "peg$f662");
var peg$f663 = /* @__PURE__ */ __name(function(path) {
return {
subtype: "showPath",
values: {
path: [
helpers_default.createNode(node_type_default.Text, {
content: path,
location: location()
})
]
},
raw: {
path
},
meta: {}
};
}, "peg$f663");
var peg$f664 = /* @__PURE__ */ __name(function(id, accessElements) {
return helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: id,
...accessElements.length > 0 ? {
fields: accessElements
} : {}
}, location());
}, "peg$f664");
var peg$f665 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f665");
var peg$f666 = /* @__PURE__ */ __name(function(content) {
return [
helpers_default.createNode(node_type_default.Text, {
content,
location: location()
})
];
}, "peg$f666");
var peg$f667 = /* @__PURE__ */ __name(function(level) {
const value = level.length;
const raw = level.join("");
return {
value,
raw
};
}, "peg$f667");
var peg$f668 = /* @__PURE__ */ __name(function(header) {
return header.trim();
}, "peg$f668");
var peg$f669 = /* @__PURE__ */ __name(function(title) {
return title;
}, "peg$f669");
var peg$f670 = /* @__PURE__ */ __name(function(first, arg) {
return arg;
}, "peg$f670");
var peg$f671 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f671");
var peg$f672 = /* @__PURE__ */ __name(function(str) {
return {
type: "string",
value: str
};
}, "peg$f672");
var peg$f673 = /* @__PURE__ */ __name(function(varRef) {
return {
type: "variable",
value: varRef
};
}, "peg$f673");
var peg$f674 = /* @__PURE__ */ __name(function(content) {
return content;
}, "peg$f674");
var peg$f675 = /* @__PURE__ */ __name(function(content) {
return content;
}, "peg$f675");
var peg$f676 = /* @__PURE__ */ __name(function(id, value, ending) {
helpers_default.debug("AtVar matched", {
id,
value,
ending
});
let tail = ending.tail;
const security = ending.security;
const comment = ending.comment;
const idNode = helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location());
let processedValue;
let metaInfo = {};
if (value && value.content && value.wrapperType) {
processedValue = value.content;
if (processedValue.length === 0) {
processedValue = [
helpers_default.createNode(node_type_default.Text, {
content: "",
location: location()
})
];
}
metaInfo.wrapperType = value.wrapperType;
metaInfo.inferredType = "template";
if (value.withClause) {
tail = tail ? Object.assign({}, value.withClause, tail) : value.withClause;
}
} else if (value && value.type === "object") {
processedValue = [
value
];
metaInfo.inferredType = "object";
} else if (value && value.type === "array") {
processedValue = [
value
];
metaInfo.inferredType = "array";
metaInfo.isEmptyArray = value.items.length === 0;
} else if (value && value.type === "load-content") {
processedValue = [
value
];
metaInfo.inferredType = value.options && value.options.section ? "section-content" : "file-content";
metaInfo.sourceType = value.source.type;
} else if (value && value.type === "section") {
processedValue = [
value
];
metaInfo.inferredType = "section-content";
} else if (Array.isArray(value)) {
processedValue = value;
metaInfo.inferredType = "file-content";
} else if (value && value.type === "variableReference") {
processedValue = [
value.value
];
metaInfo.inferredType = "reference";
if (value.pipes && value.pipes.length > 0) {
const pipeline = value.pipes.map((pipe) => ({
identifier: [
helpers_default.createVariableReferenceNode("varIdentifier", {
identifier: pipe.transform
}, location())
],
args: pipe.args || [],
fields: [],
rawIdentifier: pipe.transform,
rawArgs: pipe.args || []
}));
tail = tail ? Object.assign({}, {
pipeline
}, tail) : {
pipeline
};
}
} else if (value && value.type === "VariableReferenceWithTail") {
processedValue = [
value.variable
];
metaInfo.inferredType = "reference";
if (value.withClause) {
tail = tail ? Object.assign({}, value.withClause, tail) : value.withClause;
}
} else if (value && value.type === "nestedDirective") {
processedValue = [
value.directive
];
metaInfo.inferredType = "computed";
metaInfo.isDataValue = true;
} else if (value && value.type === "code") {
processedValue = [
{
type: "code",
language: value.language,
code: value.code
}
];
metaInfo.inferredType = "computed";
metaInfo.language = value.language;
metaInfo.hasRunKeyword = value.hasRunKeyword;
} else if (value && value.type === "command") {
processedValue = [
{
type: "command",
command: value.command
}
];
metaInfo.inferredType = "computed";
metaInfo.hasRunKeyword = value.hasRunKeyword;
} else if (value && value.type === "foreach-command") {
processedValue = [
value.value
];
metaInfo.inferredType = "computed";
metaInfo.isForeach = true;
} else if (value && (value.type === "BinaryExpression" || value.type === "TernaryExpression" || value.type === "UnaryExpression")) {
processedValue = [
value
];
metaInfo.inferredType = "expression";
metaInfo.expressionType = value.type;
} else if (typeof value === "number" || typeof value === "boolean" || value === null) {
processedValue = [
value
];
metaInfo.inferredType = "primitive";
metaInfo.primitiveType = value === null ? "null" : typeof value;
} else {
processedValue = Array.isArray(value) ? value : [
value
];
metaInfo.inferredType = "unknown";
}
const values = {
identifier: [
idNode
],
value: processedValue
};
if (tail) {
values.withClause = tail;
metaInfo.withClause = tail;
}
if (security) {
metaInfo.security = security;
}
if (comment) {
metaInfo.comment = comment;
}
return helpers_default.createStructuredDirective(directive_kind_default.var, "var", values, {}, metaInfo, location());
}, "peg$f676");
var peg$f677 = /* @__PURE__ */ __name(function(id) {
return helpers_default.isUnclosedArray(input, peg$currPos);
}, "peg$f677");
var peg$f678 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Unclosed array in /var directive. Expected ']' to close the array.", "]", location());
}, "peg$f678");
var peg$f679 = /* @__PURE__ */ __name(function(id) {
return helpers_default.isUnclosedObject(input, peg$currPos);
}, "peg$f679");
var peg$f680 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Unclosed object in /var directive. Expected closing brace to close the object.", String.fromCharCode(125), location());
}, "peg$f680");
var peg$f681 = /* @__PURE__ */ __name(function(id) {
return helpers_default.detectMissingQuoteClose(input, peg$currPos, '"');
}, "peg$f681");
var peg$f682 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError('Unclosed string in /var directive. Expected closing double quote (").', '"', location());
}, "peg$f682");
var peg$f683 = /* @__PURE__ */ __name(function(id) {
return helpers_default.detectMissingQuoteClose(input, peg$currPos, "'");
}, "peg$f683");
var peg$f684 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Unclosed string in /var directive. Expected closing single quote.", "'", location());
}, "peg$f684");
var peg$f685 = /* @__PURE__ */ __name(function(id) {
return helpers_default.isUnclosedTemplate(input, peg$currPos);
}, "peg$f685");
var peg$f686 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Unclosed template in /var directive. Expected closing '::' delimiter.", "::", location());
}, "peg$f686");
var peg$f687 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Missing value in /var directive. Expected a value after '=' for variable '@" + id + "'.", "value", location());
}, "peg$f687");
var peg$f688 = /* @__PURE__ */ __name(function(id) {
const rest = input.substring(peg$currPos).trim();
return rest.length > 0 && rest[0] !== "=";
}, "peg$f688");
var peg$f689 = /* @__PURE__ */ __name(function(id) {
helpers_default.mlldError("Invalid /var syntax. Expected '=' after variable name '@" + id + "'.", "=", location());
}, "peg$f689");
var peg$f690 = /* @__PURE__ */ __name(function(id) {
const varLoc = location();
helpers_default.mlldError("Missing '@' before variable name in /var directive. Use: /var @" + id + " = value", "@", varLoc);
}, "peg$f690");
var peg$f691 = /* @__PURE__ */ __name(function() {
const nextChar = input[peg$currPos];
return !/[a-zA-Z_]/.test(nextChar);
}, "peg$f691");
var peg$f692 = /* @__PURE__ */ __name(function() {
const atLoc = location();
helpers_default.mlldError("Invalid variable name in /var directive. Variable names must start with a letter or underscore.", "identifier", atLoc);
}, "peg$f692");
var peg$f693 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid /var syntax. Expected: /var @name = value", "@", location());
}, "peg$f693");
var peg$f694 = /* @__PURE__ */ __name(function(id, prop) {
return prop;
}, "peg$f694");
var peg$f695 = /* @__PURE__ */ __name(function(id, tail) {
const fullVar = "@" + id + (tail.length > 0 ? "." + tail.join(".") : "");
helpers_default.mlldError("Invalid /when syntax. Missing ':' after variable.\\n\\nThe syntax /when " + fullVar + " [...] requires a colon after the variable.\\nThis is the block form that compares the variable value against each condition.\\n\\nCorrect syntax:\\n /when " + fullVar + ': [\\n "value1" => /show "First case"\\n "value2" => /show "Second case"\\n ]\\n\\nOr use the simple form without brackets:\\n /when ' + fullVar + ' => /show "Action"', ":", location());
}, "peg$f695");
var peg$f696 = /* @__PURE__ */ __name(function(id) {
return id;
}, "peg$f696");
var peg$f697 = /* @__PURE__ */ __name(function(variable) {
let i = peg$currPos;
let depth = 1;
while (i < input.length && depth > 0) {
if (input[i] === "[") depth++;
else if (input[i] === "]") depth--;
else if (input[i] === "=" && i + 1 < input.length && input[i + 1] === ">" && depth === 1) {
return true;
}
i++;
}
return false;
}, "peg$f697");
var peg$f698 = /* @__PURE__ */ __name(function(variable) {
helpers_default.mlldError(`Invalid /when syntax. The 'any:' modifier requires a block action after the conditions.\\nIndividual actions are not allowed with 'any:'.\\n\\nIncorrect: /when @var any: [@cond1 => action1, @cond2 => action2]\\nCorrect: /when @var any: [@cond1, @cond2] => /show "Any matched"`, "=>", location());
}, "peg$f698");
var peg$f699 = /* @__PURE__ */ __name(function(modifier, conditions, a) {
return a;
}, "peg$f699");
var peg$f700 = /* @__PURE__ */ __name(function(modifier, conditions, action) {
helpers_default.debug("WhenBareBlockWithModifierForm matched", {
modifier,
conditions,
action
});
const values = {
conditions,
modifier: [
modifier
]
};
if (action) {
values.action = action;
}
const raw = {
modifier: modifier.content,
conditions: conditions.map((c) => ({
condition: helpers_default.reconstructRawString(c.condition),
action: c.action ? helpers_default.reconstructRawString(c.action) : void 0
}))
};
if (action) {
raw.action = helpers_default.reconstructRawString(action);
}
return helpers_default.createStructuredDirective("when", "whenBlock", values, raw, {
modifier: modifier.content,
conditionCount: conditions.length,
hasVariable: false
}, location());
}, "peg$f700");
var peg$f701 = /* @__PURE__ */ __name(function(condition) {
helpers_default.mlldError("Invalid /when syntax. Expected '=>' after condition. Use: /when @condition => action", "=>", location());
}, "peg$f701");
var peg$f702 = /* @__PURE__ */ __name(function(condition) {
helpers_default.mlldError("Missing action in /when directive. Expected a directive after '=>'.", "directive", location());
}, "peg$f702");
var peg$f703 = /* @__PURE__ */ __name(function(id) {
return id;
}, "peg$f703");
var peg$f704 = /* @__PURE__ */ __name(function(variable) {
let i = peg$currPos;
let depth = 1;
let hasIndividualActions = false;
let hasBlockAction = false;
while (i < input.length && depth > 0) {
if (input[i] === "[") depth++;
else if (input[i] === "]") depth--;
else if (input[i] === "=" && i + 1 < input.length && input[i + 1] === ">" && depth === 1) {
hasIndividualActions = true;
}
i++;
}
if (depth === 0 && i < input.length) {
while (i < input.length && (input[i] === " " || input[i] === " " || input[i] === "\n")) i++;
if (i + 1 < input.length && input[i] === "=" && input[i + 1] === ">") {
hasBlockAction = true;
}
}
return hasIndividualActions && hasBlockAction;
}, "peg$f704");
var peg$f705 = /* @__PURE__ */ __name(function(variable) {
helpers_default.mlldError(`Invalid /when syntax. The 'all:' modifier cannot have both individual actions and a block action.\\nUse either:\\n /when @var all: [@cond1 => action1, @cond2 => action2] (individual actions)\\n /when @var all: [@cond1, @cond2] => /show "All matched" (block action)`, "]", location());
}, "peg$f705");
var peg$f706 = /* @__PURE__ */ __name(function(id) {
return id;
}, "peg$f706");
var peg$f707 = /* @__PURE__ */ __name(function(variable, modifier) {
let i = peg$currPos;
let depth = 1;
while (i < input.length && depth > 0) {
if (input[i] === "[") depth++;
else if (input[i] === "]") depth--;
else if (input[i] === "\n" && depth > 0) {
let j = i + 1;
while (j < input.length && (input[j] === " " || input[j] === " ")) j++;
if (j < input.length && input[j] === "/") return true;
}
i++;
}
return depth > 0;
}, "peg$f707");
var peg$f708 = /* @__PURE__ */ __name(function(variable, modifier) {
helpers_default.mlldError("Unclosed brackets in /when directive. Expected ']' to close the condition list.", "]", location());
}, "peg$f708");
var peg$f709 = /* @__PURE__ */ __name(function(id) {
return id;
}, "peg$f709");
var peg$f710 = /* @__PURE__ */ __name(function(variable, modifier) {
return modifier !== "first" && modifier !== "all" && modifier !== "any";
}, "peg$f710");
var peg$f711 = /* @__PURE__ */ __name(function(variable, modifier) {
helpers_default.mlldError("Invalid /when modifier: '" + modifier + "'. Valid modifiers are: 'first', 'all', 'any'.\\nExamples:\\n /when @var first: [...] => action\\n /when @var all: [...] => action\\n /when @var any: [...] => action", "modifier", location());
}, "peg$f711");
var peg$f712 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Invalid /when syntax. Valid forms:\\n /when @condition => action (simple form)\\n /when @variable: [...] (switch form)\\n /when @var first: [...] => action (block form with modifier)\\n /when [...] => action (bare block form)", "@", location());
}, "peg$f712");
var peg$f713 = /* @__PURE__ */ __name(function(condition, action) {
helpers_default.debug("WhenSimpleForm matched", {
condition,
action
});
return helpers_default.createStructuredDirective("when", "whenSimple", {
condition,
action
}, {
condition: helpers_default.reconstructRawString(condition),
action: helpers_default.reconstructRawString(action)
}, {
hasVariables: condition.some((n) => n.type === node_type_default.VariableReference)
}, location());
}, "peg$f713");
var peg$f714 = /* @__PURE__ */ __name(function(expression, conditions) {
helpers_default.debug("WhenMatchForm matched", {
expression,
conditions
});
return helpers_default.createStructuredDirective("when", "whenMatch", {
expression,
conditions
}, {
expression: helpers_default.reconstructRawString(expression),
conditions: conditions.map((c) => ({
condition: helpers_default.reconstructRawString(c.condition),
action: c.action ? helpers_default.reconstructRawString(c.action) : void 0
}))
}, {
conditionCount: conditions.length
}, location());
}, "peg$f714");
var peg$f715 = /* @__PURE__ */ __name(function(id) {
return helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location());
}, "peg$f715");
var peg$f716 = /* @__PURE__ */ __name(function(variable, modifier, conditions, a) {
return a;
}, "peg$f716");
var peg$f717 = /* @__PURE__ */ __name(function(variable, modifier, conditions, action) {
helpers_default.debug("WhenBlockForm matched", {
variable,
modifier,
conditions,
action
});
const values = {
conditions
};
if (modifier) {
values.modifier = [
modifier
];
}
if (variable) {
values.variable = [
variable
];
}
if (action) {
values.action = action;
}
const raw = {
modifier: modifier.content,
conditions: conditions.map((c) => ({
condition: helpers_default.reconstructRawString(c.condition),
action: c.action ? helpers_default.reconstructRawString(c.action) : void 0
}))
};
if (variable) {
raw.variable = variable;
}
if (action) {
raw.action = helpers_default.reconstructRawString(action);
}
return helpers_default.createStructuredDirective("when", "whenBlock", values, raw, {
modifier: modifier ? modifier.content : "default",
conditionCount: conditions.length,
hasVariable: !!variable
}, location());
}, "peg$f717");
var peg$f718 = /* @__PURE__ */ __name(function(conditions) {
helpers_default.debug("WhenBareBlockForm matched", {
conditions
});
const values = {
conditions
};
const raw = {
conditions: conditions.map((c) => ({
condition: helpers_default.reconstructRawString(c.condition),
action: c.action ? helpers_default.reconstructRawString(c.action) : void 0
}))
};
return helpers_default.createStructuredDirective("when", "whenBlock", values, raw, {
modifier: "default",
conditionCount: conditions.length,
hasVariable: false
}, location());
}, "peg$f718");
var peg$f719 = /* @__PURE__ */ __name(function(mod) {
return helpers_default.createNode(node_type_default.Text, {
content: mod,
location: location()
});
}, "peg$f719");
var peg$f720 = /* @__PURE__ */ __name(function(expr) {
return [
expr
];
}, "peg$f720");
var peg$f721 = /* @__PURE__ */ __name(function(condition) {
return [
helpers_default.createNode("Negation", {
condition,
location: location()
})
];
}, "peg$f721");
var peg$f722 = /* @__PURE__ */ __name(function(invocation) {
return [
invocation
];
}, "peg$f722");
var peg$f723 = /* @__PURE__ */ __name(function(varRef) {
return [
varRef
];
}, "peg$f723");
var peg$f724 = /* @__PURE__ */ __name(function() {
return [
$1
];
}, "peg$f724");
var peg$f725 = /* @__PURE__ */ __name(function(value) {
return [
helpers_default.createNode(node_type_default.Text, {
content: String(value),
location: location()
})
];
}, "peg$f725");
var peg$f726 = /* @__PURE__ */ __name(function(value) {
return [
helpers_default.createNode(node_type_default.Text, {
content: String(value),
location: location()
})
];
}, "peg$f726");
var peg$f727 = /* @__PURE__ */ __name(function(value) {
return [
helpers_default.createNode(node_type_default.Text, {
content: value,
location: location()
})
];
}, "peg$f727");
var peg$f728 = /* @__PURE__ */ __name(function(expr) {
return [
expr
];
}, "peg$f728");
var peg$f729 = /* @__PURE__ */ __name(function(condition) {
return [
helpers_default.createNode("Negation", {
condition,
location: location()
})
];
}, "peg$f729");
var peg$f730 = /* @__PURE__ */ __name(function(invocation) {
return [
invocation
];
}, "peg$f730");
var peg$f731 = /* @__PURE__ */ __name(function(varRef) {
return [
varRef
];
}, "peg$f731");
var peg$f732 = /* @__PURE__ */ __name(function() {
return [
$1
];
}, "peg$f732");
var peg$f733 = /* @__PURE__ */ __name(function(value) {
return [
helpers_default.createNode(node_type_default.Text, {
content: String(value),
location: location()
})
];
}, "peg$f733");
var peg$f734 = /* @__PURE__ */ __name(function(value) {
return [
helpers_default.createNode(node_type_default.Text, {
content: String(value),
location: location()
})
];
}, "peg$f734");
var peg$f735 = /* @__PURE__ */ __name(function(value) {
return [
helpers_default.createNode(node_type_default.Text, {
content: value,
location: location()
})
];
}, "peg$f735");
var peg$f736 = /* @__PURE__ */ __name(function(first, pair) {
return pair;
}, "peg$f736");
var peg$f737 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
];
}, "peg$f737");
var peg$f738 = /* @__PURE__ */ __name(function() {
helpers_default.mlldError("Comma separators are not allowed in /when conditions. For readability, /when conditions must be separated by whitespace (newlines or spaces) instead of commas.\n\u{1F4A1} Remove the comma and use a newline or space:\n /when expr: [value1 => action1, value2 => action2] \u274C\n /when expr: [value1 => action1 value2 => action2] \u2705\n /when expr: [\n value1 => action1\n value2 => action2\n ] \u2705", "whitespace", location());
}, "peg$f738");
var peg$f739 = /* @__PURE__ */ __name(function(condition, a) {
return a;
}, "peg$f739");
var peg$f740 = /* @__PURE__ */ __name(function(condition, action) {
return {
condition,
action
};
}, "peg$f740");
var peg$f741 = /* @__PURE__ */ __name(function(first, d) {
return d;
}, "peg$f741");
var peg$f742 = /* @__PURE__ */ __name(function(first, rest) {
return [
first,
...rest
].flat();
}, "peg$f742");
var peg$f743 = /* @__PURE__ */ __name(function(source, target) {
helpers_default.debug("WhenActionDirective: Enhanced output matched!");
const values = {
target
};
const raw = {
target: target.raw
};
let subtype = "outputDocument";
const meta = {
hasSource: false,
targetType: target.type,
enhanced: true
};
if (source) {
values.source = source.values;
raw.source = source.raw;
meta.hasSource = true;
meta.sourceType = source.type;
subtype = source.subtype;
}
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "output",
subtype,
values,
raw,
meta,
location: location()
})
];
}, "peg$f743");
var peg$f744 = /* @__PURE__ */ __name(function(varRef) {
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "show",
subtype: "showVariable",
values: {
variable: [
varRef
]
},
raw: {
variable: "@" + varRef.identifier
},
meta: {},
location: location()
})
];
}, "peg$f744");
var peg$f745 = /* @__PURE__ */ __name(function(invocation) {
const isExecInvocation = invocation.type === "ExecInvocation";
const subtype = isExecInvocation ? "showExecInvocation" : "showVariable";
const rawValue = isExecInvocation ? invocation.commandRef.name : `@${invocation.variable.identifier}`;
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "show",
subtype,
values: {
[isExecInvocation ? "execInvocation" : "variable"]: invocation
},
raw: {
[isExecInvocation ? "execInvocation" : "variable"]: rawValue
},
meta: {},
location: location()
})
];
}, "peg$f745");
var peg$f746 = /* @__PURE__ */ __name(function(template) {
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "show",
subtype: "showTemplate",
values: template.values,
raw: template.raw,
meta: template.meta,
location: location()
})
];
}, "peg$f746");
var peg$f747 = /* @__PURE__ */ __name(function(id, value) {
const idNode = helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location());
let processedValue;
let metaInfo = {};
if (value && value.content && value.wrapperType) {
processedValue = value.content;
metaInfo.wrapperType = value.wrapperType;
metaInfo.inferredType = "template";
} else if (value && value.type === "object") {
processedValue = [
value
];
metaInfo.inferredType = "object";
} else if (value && value.type === "array") {
processedValue = [
value
];
metaInfo.inferredType = "array";
} else if (value && value.type === "ExecInvocation") {
processedValue = [
value
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "variableReference") {
processedValue = [
value.value
];
metaInfo.inferredType = "reference";
} else if (value && value.type === "VariableReferenceWithTail") {
processedValue = [
value.variable
];
metaInfo.inferredType = "reference";
} else if (value && value.type === "nestedDirective") {
processedValue = [
value.directive
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "code") {
processedValue = [
{
type: "code",
language: value.language,
code: value.code
}
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "command") {
processedValue = [
{
type: "command",
command: value.command
}
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "foreach-command") {
processedValue = [
value.value
];
metaInfo.inferredType = "computed";
} else if (typeof value === "number" || typeof value === "boolean" || value === null) {
processedValue = [
value
];
metaInfo.inferredType = "primitive";
} else if (typeof value === "string") {
processedValue = [
helpers_default.createNode(node_type_default.Text, {
content: value,
location: location()
})
];
metaInfo.inferredType = "text";
} else {
processedValue = Array.isArray(value) ? value : [
value
];
metaInfo.inferredType = "unknown";
}
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "var",
subtype: "var",
values: {
identifier: [
idNode
],
value: processedValue
},
raw: {
identifier: id,
value: helpers_default.reconstructRawString(processedValue)
},
meta: metaInfo,
location: location()
})
];
}, "peg$f747");
var peg$f748 = /* @__PURE__ */ __name(function(invocation) {
const isExecInvocation = invocation.type === "ExecInvocation";
const subtype = isExecInvocation ? "runExecReference" : "runVariable";
const rawValue = isExecInvocation ? invocation.commandRef.name : `@${invocation.variable.identifier}`;
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "run",
subtype,
values: {
[isExecInvocation ? "execRef" : "varRef"]: invocation
},
raw: {
[isExecInvocation ? "execRef" : "varRef"]: rawValue
},
meta: {
hasWithClause: !!invocation.withClause
},
location: location()
})
];
}, "peg$f748");
var peg$f749 = /* @__PURE__ */ __name(function(command) {
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "run",
subtype: "runCommand",
values: command.values,
raw: command.raw,
meta: command.meta,
location: location()
})
];
}, "peg$f749");
var peg$f750 = /* @__PURE__ */ __name(function(source, path) {
helpers_default.debug("WhenActionDirective: Bracket output matched");
const values = {
target: {
type: "file",
path: [
helpers_default.createNode(node_type_default.Text, {
content: path,
location: location()
})
],
raw: path,
meta: {
bracketed: true
}
}
};
const raw = {
target: `[${path}]`
};
let subtype = "outputDocument";
const meta = {
hasSource: false,
targetType: "file",
legacy: true
};
if (source) {
values.source = source.values;
raw.source = source.raw;
meta.hasSource = true;
meta.sourceType = source.type;
subtype = source.subtype;
}
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "output",
subtype,
values,
raw,
meta,
location: location()
})
];
}, "peg$f750");
var peg$f751 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f751");
var peg$f752 = /* @__PURE__ */ __name(function(chars) {
return chars.join("");
}, "peg$f752");
var peg$f753 = /* @__PURE__ */ __name(function(chars) {
return chars.join("").trim();
}, "peg$f753");
var peg$f754 = /* @__PURE__ */ __name(function(id) {
return {
type: "variable",
subtype: "outputVariable",
values: [
helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location())
],
raw: "@" + id
};
}, "peg$f754");
var peg$f755 = /* @__PURE__ */ __name(function(str) {
return {
type: "literal",
subtype: "outputLiteral",
values: [
helpers_default.createNode(node_type_default.Text, {
content: str,
location: location()
})
],
raw: '"' + str + '"'
};
}, "peg$f755");
var peg$f756 = /* @__PURE__ */ __name(function(stream) {
return {
type: "stream",
stream,
raw: stream
};
}, "peg$f756");
var peg$f757 = /* @__PURE__ */ __name(function(name) {
return name;
}, "peg$f757");
var peg$f758 = /* @__PURE__ */ __name(function(varname) {
return {
type: "env",
varname: varname || null,
raw: varname ? `env:${varname}` : "env"
};
}, "peg$f758");
var peg$f759 = /* @__PURE__ */ __name(function(str) {
return {
type: "file",
path: [
helpers_default.createNode(node_type_default.Text, {
content: str,
location: location()
})
],
raw: `"${str}"`,
meta: {
quoted: true
}
};
}, "peg$f759");
var peg$f760 = /* @__PURE__ */ __name(function(id, value) {
const idNode = helpers_default.createVariableReferenceNode("identifier", {
identifier: id
}, location());
let processedValue;
let metaInfo = {
implicit: true
};
if (value && value.content && value.wrapperType) {
processedValue = value.content;
metaInfo.wrapperType = value.wrapperType;
metaInfo.inferredType = "template";
} else if (value && value.type === "object") {
processedValue = [
value
];
metaInfo.inferredType = "object";
} else if (value && value.type === "array") {
processedValue = [
value
];
metaInfo.inferredType = "array";
} else if (value && value.type === "ExecInvocation") {
processedValue = [
value
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "variableReference") {
processedValue = [
value.value
];
metaInfo.inferredType = "reference";
} else if (value && value.type === "VariableReferenceWithTail") {
processedValue = [
value.variable
];
metaInfo.inferredType = "reference";
} else if (value && value.type === "nestedDirective") {
processedValue = [
value.directive
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "code") {
processedValue = [
{
type: "code",
language: value.language,
code: value.code
}
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "command") {
processedValue = [
{
type: "command",
command: value.command
}
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "foreach-command") {
processedValue = [
value.value
];
metaInfo.inferredType = "computed";
} else if (typeof value === "number" || typeof value === "boolean" || value === null) {
processedValue = [
value
];
metaInfo.inferredType = "primitive";
} else if (typeof value === "string") {
processedValue = [
helpers_default.createNode(node_type_default.Text, {
content: value,
location: location()
})
];
metaInfo.inferredType = "text";
} else {
processedValue = Array.isArray(value) ? value : [
value
];
metaInfo.inferredType = "unknown";
}
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "var",
subtype: "var",
values: {
identifier: [
idNode
],
value: processedValue
},
raw: {
identifier: id,
value: helpers_default.reconstructRawString(processedValue)
},
meta: metaInfo,
location: location()
})
];
}, "peg$f760");
var peg$f761 = /* @__PURE__ */ __name(function(name, args, value) {
const ref = {
name,
identifier: [
helpers_default.createNode(node_type_default.Text, {
content: name,
location: location()
})
],
args: args || [],
isCommandReference: true
};
let processedValue;
let metaInfo = {
implicit: true
};
if (value && value.content && value.wrapperType) {
processedValue = value.content;
metaInfo.wrapperType = value.wrapperType;
metaInfo.inferredType = "template";
} else if (value && value.type === "ExecInvocation") {
processedValue = [
value
];
metaInfo.inferredType = "computed";
} else if (value && value.type === "variableReference") {
processedValue = [
value.value
];
metaInfo.inferredType = "reference";
} else if (value && value.type === "VariableReferenceWithTail") {
processedValue = [
value.variable
];
metaInfo.inferredType = "reference";
} else {
processedValue = Array.isArray(value) ? value : [
value
];
metaInfo.inferredType = "unknown";
}
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "exe",
subtype: "exe",
values: {
commandRef: ref,
value: processedValue
},
raw: {
commandRef: name,
value: helpers_default.reconstructRawString(processedValue)
},
meta: metaInfo,
location: location()
})
];
}, "peg$f761");
var peg$f762 = /* @__PURE__ */ __name(function(name, args, tail) {
const ref = {
name,
identifier: [
helpers_default.createNode(node_type_default.Text, {
content: name,
location: location()
})
],
args: args || [],
isCommandReference: true
};
const invocation = helpers_default.createExecInvocation(ref, tail || null, location());
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "run",
subtype: "runExecReference",
values: {
execRef: invocation
},
raw: {
execRef: name
},
meta: {
implicit: true,
hasWithClause: !!tail
},
location: location()
})
];
}, "peg$f762");
var peg$f763 = /* @__PURE__ */ __name(function(template) {
return [
helpers_default.createNode(node_type_default.Directive, {
kind: "show",
subtype: "showTemplate",
values: template.values,
raw: template.raw,
meta: {
...template.meta,
implicit: true
},
location: location()
})
];
}, "peg$f763");
var peg$f764 = /* @__PURE__ */ __name(function(content) {
return content && (content.type === "code" || content.type === "command" || content.content && content.wrapperType || content.type === "object" || content.type === "array");
}, "peg$f764");
var peg$f765 = /* @__PURE__ */ __name(function(content) {
let directive, subtype, values, raw;
const metaInfo = {
implicit: true
};
if (content.type === "code") {
directive = "run";
subtype = "runCode";
values = {
language: content.language,
code: content.code
};
raw = {
language: content.language,
code: content.code
};
} else if (content.type === "command") {
directive = "run";
subtype = "runCommand";
values = {
command: content.command
};
raw = {
command: helpers_default.reconstructRawString(content.command)
};
} else if (content.content && content.wrapperType) {
directive = "show";
subtype = "showTemplate";
values = {
content: content.content
};
raw = {
content: helpers_default.reconstructRawString(content.content)
};
metaInfo.wrapperType = content.wrapperType;
} else {
directive = "show";
subtype = "showValue";
values = {
value: [
content
]
};
raw = {
value: helpers_default.reconstructRawString([
content
])
};
}
return [
helpers_default.createNode(node_type_default.Directive, {
kind: directive,
subtype,
values,
raw,
meta: metaInfo,
location: location()
})
];
}, "peg$f765");
var peg$currPos = options.peg$currPos | 0;
var peg$savedPos = peg$currPos;
var peg$posDetailsCache = [
{
line: 1,
column: 1
}
];
var peg$maxFailPos = peg$currPos;
var peg$maxFailExpected = options.peg$maxFailExpected || [];
var peg$silentFails = options.peg$silentFails | 0;
var peg$result;
if (options.startRule) {
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
}
peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
}
function text() {
return input.substring(peg$savedPos, peg$currPos);
}
__name(text, "text");
function offset() {
return peg$savedPos;
}
__name(offset, "offset");
function range() {
return {
source: peg$source,
start: peg$savedPos,
end: peg$currPos
};
}
__name(range, "range");
function location() {
return peg$computeLocation(peg$savedPos, peg$currPos);
}
__name(location, "location");
function expected(description, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildStructuredError([
peg$otherExpectation(description)
], input.substring(peg$savedPos, peg$currPos), location2);
}
__name(expected, "expected");
function error(message, location2) {
location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
throw peg$buildSimpleError(message, location2);
}
__name(error, "error");
function peg$literalExpectation(text2, ignoreCase) {
return {
type: "literal",
text: text2,
ignoreCase
};
}
__name(peg$literalExpectation, "peg$literalExpectation");
function peg$classExpectation(parts, inverted, ignoreCase) {
return {
type: "class",
parts,
inverted,
ignoreCase
};
}
__name(peg$classExpectation, "peg$classExpectation");
function peg$anyExpectation() {
return {
type: "any"
};
}
__name(peg$anyExpectation, "peg$anyExpectation");
function peg$endExpectation() {
return {
type: "end"
};
}
__name(peg$endExpectation, "peg$endExpectation");
function peg$otherExpectation(description) {
return {
type: "other",
description
};
}
__name(peg$otherExpectation, "peg$otherExpectation");
function peg$computePosDetails(pos) {
var details = peg$posDetailsCache[pos];
var p;
if (details) {
return details;
} else {
if (pos >= peg$posDetailsCache.length) {
p = peg$posDetailsCache.length - 1;
} else {
p = pos;
while (!peg$posDetailsCache[--p]) {
}
}
details = peg$posDetailsCache[p];
details = {
line: details.line,
column: details.column
};
while (p < pos) {
if (input.charCodeAt(p) === 10) {
details.line++;
details.column = 1;
} else {
details.column++;
}
p++;
}
peg$posDetailsCache[pos] = details;
return details;
}
}
__name(peg$computePosDetails, "peg$computePosDetails");
function peg$computeLocation(startPos, endPos, offset2) {
var startPosDetails = peg$computePosDetails(startPos);
var endPosDetails = peg$computePosDetails(endPos);
var res = {
source: peg$source,
start: {
offset: startPos,
line: startPosDetails.line,
column: startPosDetails.column
},
end: {
offset: endPos,
line: endPosDetails.line,
column: endPosDetails.column
}
};
if (offset2 && peg$source && typeof peg$source.offset === "function") {
res.start = peg$source.offset(res.start);
res.end = peg$source.offset(res.end);
}
return res;
}
__name(peg$computeLocation, "peg$computeLocation");
function peg$fail(expected2) {
if (peg$currPos < peg$maxFailPos) {
return;
}
if (peg$currPos > peg$maxFailPos) {
peg$maxFailPos = peg$currPos;
peg$maxFailExpected = [];
}
peg$maxFailExpected.push(expected2);
}
__name(peg$fail, "peg$fail");
function peg$buildSimpleError(message, location2) {
return new peg$SyntaxError(message, null, null, location2);
}
__name(peg$buildSimpleError, "peg$buildSimpleError");
function peg$buildStructuredError(expected2, found, location2) {
return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected2, found), expected2, found, location2);
}
__name(peg$buildStructuredError, "peg$buildStructuredError");
function peg$parseStart() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseFrontmatter();
if (s1 === peg$FAILED) {
s1 = null;
}
s2 = [];
s3 = peg$parseLineStartComment();
if (s3 === peg$FAILED) {
s3 = peg$parseComment();
if (s3 === peg$FAILED) {
s3 = peg$parseMlldRunFence();
if (s3 === peg$FAILED) {
s3 = peg$parseCodeFence();
if (s3 === peg$FAILED) {
s3 = peg$parseDirective();
if (s3 === peg$FAILED) {
s3 = peg$parseVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseTextBlock();
}
}
}
}
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseLineStartComment();
if (s3 === peg$FAILED) {
s3 = peg$parseComment();
if (s3 === peg$FAILED) {
s3 = peg$parseMlldRunFence();
if (s3 === peg$FAILED) {
s3 = peg$parseCodeFence();
if (s3 === peg$FAILED) {
s3 = peg$parseDirective();
if (s3 === peg$FAILED) {
s3 = peg$parseVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseTextBlock();
}
}
}
}
}
}
}
peg$savedPos = s0;
s0 = peg$f0(s1, s2);
return s0;
}
__name(peg$parseStart, "peg$parseStart");
function peg$parseInterDirectiveNewline() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
}
s2 = peg$parseLineTerminator();
if (s2 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s3 = peg$f1(s1, s2);
if (s3) {
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f2(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseInterDirectiveNewline, "peg$parseInterDirectiveNewline");
function peg$parseContentEOL() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
}
s2 = peg$parseLineTerminator();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f3(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseContentEOL, "peg$parseContentEOL");
function peg$parseDirectiveEOL() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
peg$silentFails++;
s1 = peg$parseLineTerminator();
if (s1 === peg$FAILED) {
s1 = peg$parseEOF();
}
peg$silentFails--;
if (s1 !== peg$FAILED) {
peg$currPos = s0;
s0 = void 0;
} else {
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parse_();
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r0.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r0.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
}
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$parseLineTerminator();
if (s4 === peg$FAILED) {
s4 = peg$parseEOF();
}
peg$silentFails--;
if (s4 !== peg$FAILED) {
peg$currPos = s3;
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s1 = [
s1,
s2,
s3
];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseDirectiveEOL, "peg$parseDirectiveEOL");
function peg$parseLineStartComment() {
var s0, s1, s2, s4;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f4();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = peg$parseCommentMarker();
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseCommentContent();
peg$savedPos = s0;
s0 = peg$f5(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseLineStartComment, "peg$parseLineStartComment");
function peg$parseComment() {
var s0, s1, s3;
s0 = peg$currPos;
s1 = peg$parseCommentMarker();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseCommentContent();
peg$savedPos = s0;
s0 = peg$f6(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseComment, "peg$parseComment");
function peg$parseCommentMarker() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c0) {
s1 = peg$c0;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e1);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f7();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c1) {
s1 = peg$c1;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e2);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f8();
}
s0 = s1;
}
return s0;
}
__name(peg$parseCommentMarker, "peg$parseCommentMarker");
function peg$parseCommentContent() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r1.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e3);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r1.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e3);
}
}
}
if (input.charCodeAt(peg$currPos) === 10) {
s2 = peg$c2;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f9(s1);
return s0;
}
__name(peg$parseCommentContent, "peg$parseCommentContent");
function peg$parseInlineComment() {
var s0, s2, s4;
s0 = peg$currPos;
peg$parse_();
s2 = peg$parseCommentMarker();
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseCommentContent();
peg$savedPos = s0;
s0 = peg$f10(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseInlineComment, "peg$parseInlineComment");
function peg$parseTextBlock() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseTextPart();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseTextPart();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseTextPart();
}
peg$savedPos = s0;
s0 = peg$f11(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseTextBlock, "peg$parseTextBlock");
function peg$parseTextPart() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f12();
if (s1) {
s1 = peg$FAILED;
} else {
s1 = void 0;
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c3) {
s3 = peg$c3;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e5);
}
}
if (s3 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c4) {
s3 = peg$c4;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e6);
}
}
if (s3 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c5) {
s3 = peg$c5;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s3 === peg$FAILED) {
s3 = peg$parseBacktickSequence();
}
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s3 = peg$f13();
if (s3) {
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f14(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseTextPart, "peg$parseTextPart");
function peg$parseDirective() {
var s0, s1, s2, s3;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f15();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r2.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r2.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
}
s3 = peg$parseSlashVar();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashShow();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashExe();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashFor();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashRun();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashPath();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashImport();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashOutput();
if (s3 === peg$FAILED) {
s3 = peg$parseSlashWhen();
}
}
}
}
}
}
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f16(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseDirective, "peg$parseDirective");
function peg$parseMlldRunFence() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c6) {
s1 = peg$c6;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e10);
}
}
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 8) === peg$c7) {
s2 = peg$c7;
peg$currPos += 8;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e11);
}
}
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 10) {
s3 = peg$c2;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$currPos;
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c6) {
s8 = peg$c6;
peg$currPos += 3;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e10);
}
}
if (s8 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 10) {
s9 = peg$c2;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s9 === peg$FAILED) {
s9 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s10 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
peg$silentFails--;
if (s10 === peg$FAILED) {
s9 = void 0;
} else {
peg$currPos = s9;
s9 = peg$FAILED;
}
}
if (s9 !== peg$FAILED) {
s8 = [
s8,
s9
];
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f17(s7);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$currPos;
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c6) {
s8 = peg$c6;
peg$currPos += 3;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e10);
}
}
if (s8 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 10) {
s9 = peg$c2;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s9 === peg$FAILED) {
s9 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s10 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
peg$silentFails--;
if (s10 === peg$FAILED) {
s9 = void 0;
} else {
peg$currPos = s9;
s9 = peg$FAILED;
}
}
if (s9 !== peg$FAILED) {
s8 = [
s8,
s9
];
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f17(s7);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
}
if (input.substr(peg$currPos, 3) === peg$c6) {
s5 = peg$c6;
peg$currPos += 3;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e10);
}
}
if (s5 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 10) {
s6 = peg$c2;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s6 === peg$FAILED) {
s6 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f18(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c6) {
s1 = peg$c6;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e10);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$f19(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f20(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseMlldRunFence, "peg$parseMlldRunFence");
function peg$parseCodeFence() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
s1 = peg$parseBacktickSequence();
if (s1 !== peg$FAILED) {
s2 = peg$parseCodeFenceLangID();
if (s2 === peg$FAILED) {
s2 = null;
}
if (input.charCodeAt(peg$currPos) === 10) {
s3 = peg$c2;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$currPos;
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$currPos;
peg$savedPos = peg$currPos;
s8 = peg$f21(s1, s2);
if (s8) {
s8 = void 0;
} else {
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
s9 = peg$parseBacktickSequence();
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f22(s1, s2, s9);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
s8 = [
s8,
s9,
s10
];
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f23(s1, s2, s7);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$currPos;
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$currPos;
peg$savedPos = peg$currPos;
s8 = peg$f21(s1, s2);
if (s8) {
s8 = void 0;
} else {
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
s9 = peg$parseBacktickSequence();
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f22(s1, s2, s9);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
s8 = [
s8,
s9,
s10
];
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f23(s1, s2, s7);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
}
s5 = peg$parseBacktickSequence();
if (s5 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s6 = peg$f24(s1, s2, s4, s5);
if (s6) {
s6 = peg$FAILED;
} else {
s6 = void 0;
}
if (s6 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 10) {
s7 = peg$c2;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s7 === peg$FAILED) {
s7 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s8 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f25(s1, s2, s4, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCodeFence, "peg$parseCodeFence");
function peg$parseCodeFenceLangID() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r3.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e12);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r3.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e12);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f26(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCodeFenceLangID, "peg$parseCodeFenceLangID");
function peg$parseDirectiveContext() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f27();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e13);
}
}
return s0;
}
__name(peg$parseDirectiveContext, "peg$parseDirectiveContext");
function peg$parseVariableContext() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f28();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e14);
}
}
return s0;
}
__name(peg$parseVariableContext, "peg$parseVariableContext");
function peg$parseRHSContext() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f29();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e15);
}
}
return s0;
}
__name(peg$parseRHSContext, "peg$parseRHSContext");
function peg$parsePlainTextContext() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f30();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e16);
}
}
return s0;
}
__name(peg$parsePlainTextContext, "peg$parsePlainTextContext");
function peg$parseRunCodeBlockContext() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f31();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e17);
}
}
return s0;
}
__name(peg$parseRunCodeBlockContext, "peg$parseRunCodeBlockContext");
function peg$parseExecRunRHSContext() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f32();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e18);
}
}
return s0;
}
__name(peg$parseExecRunRHSContext, "peg$parseExecRunRHSContext");
function peg$parsePathStartingWithVariableContext() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f33();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e19);
}
}
return s0;
}
__name(peg$parsePathStartingWithVariableContext, "peg$parsePathStartingWithVariableContext");
function peg$parseDirectiveBoundary() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f34();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e20);
}
}
return s0;
}
__name(peg$parseDirectiveBoundary, "peg$parseDirectiveBoundary");
function peg$parseDocumentStart() {
var s0;
peg$savedPos = peg$currPos;
s0 = peg$f35();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseDocumentStart, "peg$parseDocumentStart");
function peg$parseFrontmatter() {
var s0, s1, s2, s4, s5, s6;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseDocumentStart();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c8) {
s2 = peg$c8;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e22);
}
}
if (s2 !== peg$FAILED) {
peg$parseHWS();
s4 = peg$parseLineTerminator();
if (s4 !== peg$FAILED) {
s5 = peg$parseFrontmatterContent();
if (input.substr(peg$currPos, 3) === peg$c8) {
s6 = peg$c8;
peg$currPos += 3;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e22);
}
}
if (s6 !== peg$FAILED) {
peg$parseHWS();
peg$parseLineTerminator();
peg$savedPos = s0;
s0 = peg$f36(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e21);
}
}
return s0;
}
__name(peg$parseFrontmatter, "peg$parseFrontmatter");
function peg$parseFrontmatterContent() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$parseFrontmatterEnd();
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$parseFrontmatterLine();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f37(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$parseFrontmatterEnd();
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$parseFrontmatterLine();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f37(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
peg$savedPos = s0;
s1 = peg$f38(s1);
s0 = s1;
return s0;
}
__name(peg$parseFrontmatterContent, "peg$parseFrontmatterContent");
function peg$parseFrontmatterLine() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r1.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e3);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r1.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e3);
}
}
}
s2 = peg$parseLineTerminator();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f39(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseFrontmatterLine, "peg$parseFrontmatterLine");
function peg$parseFrontmatterEnd() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c8) {
s1 = peg$c8;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e22);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseHWS();
s3 = peg$parseLineTerminator();
if (s3 !== peg$FAILED) {
s1 = [
s1,
s2,
s3
];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseFrontmatterEnd, "peg$parseFrontmatterEnd");
function peg$parseStringLiteral() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEscapedSingleStringContent();
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f40(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e23);
}
}
return s0;
}
__name(peg$parseStringLiteral, "peg$parseStringLiteral");
function peg$parseNumberLiteral() {
var s0, s2, s3, s4, s5, s6;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 45) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e26);
}
}
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r4.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e27);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r4.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e27);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s4 = peg$c11;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s4 !== peg$FAILED) {
s5 = [];
s6 = input.charAt(peg$currPos);
if (peg$r4.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e27);
}
}
if (s6 !== peg$FAILED) {
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = input.charAt(peg$currPos);
if (peg$r4.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e27);
}
}
}
} else {
s5 = peg$FAILED;
}
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) {
s3 = null;
}
peg$savedPos = s0;
s0 = peg$f41(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e25);
}
}
return s0;
}
__name(peg$parseNumberLiteral, "peg$parseNumberLiteral");
function peg$parseBooleanLiteral() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c12) {
s1 = peg$c12;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e30);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f42();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c13) {
s1 = peg$c13;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e31);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f43();
}
s0 = s1;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e29);
}
}
return s0;
}
__name(peg$parseBooleanLiteral, "peg$parseBooleanLiteral");
function peg$parseNullLiteral() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c14) {
s1 = peg$c14;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e33);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f44();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e32);
}
}
return s0;
}
__name(peg$parseNullLiteral, "peg$parseNullLiteral");
function peg$parseWildcardLiteral() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 42) {
s1 = peg$c15;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e35);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f45();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e34);
}
}
return s0;
}
__name(peg$parseWildcardLiteral, "peg$parseWildcardLiteral");
function peg$parseMultilineTemplateLiteral() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c16) {
s1 = peg$c16;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e37);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseMultilineTemplateChar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseMultilineTemplateChar();
}
if (input.substr(peg$currPos, 2) === peg$c17) {
s3 = peg$c17;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e38);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f46(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e36);
}
}
return s0;
}
__name(peg$parseMultilineTemplateLiteral, "peg$parseMultilineTemplateLiteral");
function peg$parseMultilineTemplateChar() {
var s0, s1, s2;
s0 = peg$parseStringEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c17) {
s2 = peg$c17;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e38);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f47(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseMultilineTemplateChar, "peg$parseMultilineTemplateChar");
function peg$parseEscapeSequence() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c18;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e40);
}
}
if (s1 !== peg$FAILED) {
s2 = input.charAt(peg$currPos);
if (peg$r5.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e41);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f48(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e39);
}
}
return s0;
}
__name(peg$parseEscapeSequence, "peg$parseEscapeSequence");
function peg$parseStringEscapeSequence() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c18;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e40);
}
}
if (s1 !== peg$FAILED) {
s2 = input.charAt(peg$currPos);
if (peg$r6.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e43);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f49(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e42);
}
}
return s0;
}
__name(peg$parseStringEscapeSequence, "peg$parseStringEscapeSequence");
function peg$parseBaseTextSegment() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseBaseChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseBaseChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f50(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e44);
}
}
return s0;
}
__name(peg$parseBaseTextSegment, "peg$parseBaseTextSegment");
function peg$parseBaseChar() {
var s0, s1, s2;
s0 = peg$parseStringEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r7.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e45);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f51(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseBaseChar, "peg$parseBaseChar");
function peg$parseTemplateTextSegment() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseTemplateChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseTemplateChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f52(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e46);
}
}
return s0;
}
__name(peg$parseTemplateTextSegment, "peg$parseTemplateTextSegment");
function peg$parseTemplateChar() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$parseStringEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c3) {
s2 = peg$c3;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e5);
}
}
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++;
if (input.substr(peg$currPos, 2) === peg$c4) {
s3 = peg$c4;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e6);
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c5) {
s4 = peg$c5;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 60) {
s5 = peg$c19;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f53(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseTemplateChar, "peg$parseTemplateChar");
function peg$parseCommandTextSegment() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCommandChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCommandChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f54(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e48);
}
}
return s0;
}
__name(peg$parseCommandTextSegment, "peg$parseCommandTextSegment");
function peg$parseCommandChar() {
var s0, s1, s2;
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r8.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e49);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f55(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseCommandChar, "peg$parseCommandChar");
function peg$parsePathTextSegment() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parsePathChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parsePathChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f56(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e50);
}
}
return s0;
}
__name(peg$parsePathTextSegment, "peg$parsePathTextSegment");
function peg$parsePathChar() {
var s0, s1, s2, s3;
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f57();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
s3 = input.charAt(peg$currPos);
if (peg$r9.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e51);
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
if (input.length > peg$currPos) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f58(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parsePathChar, "peg$parsePathChar");
function peg$parseSectionTextSegment() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseSectionChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseSectionChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f59(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e52);
}
}
return s0;
}
__name(peg$parseSectionTextSegment, "peg$parseSectionTextSegment");
function peg$parseSectionChar() {
var s0, s1, s2;
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r10.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e53);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f60(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseSectionChar, "peg$parseSectionChar");
function peg$parseEscapedStringContent() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseEscapedStringChar();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseEscapedStringChar();
}
peg$savedPos = s0;
s1 = peg$f61(s1);
s0 = s1;
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e54);
}
return s0;
}
__name(peg$parseEscapedStringContent, "peg$parseEscapedStringContent");
function peg$parseEscapedStringChar() {
var s0, s1, s2;
s0 = peg$parseStringEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s2 = peg$c20;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f62(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseEscapedStringChar, "peg$parseEscapedStringChar");
function peg$parseEscapedSingleStringContent() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseEscapedSingleStringChar();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseEscapedSingleStringChar();
}
peg$savedPos = s0;
s1 = peg$f63(s1);
s0 = s1;
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e56);
}
return s0;
}
__name(peg$parseEscapedSingleStringContent, "peg$parseEscapedSingleStringContent");
function peg$parseEscapedSingleStringChar() {
var s0, s1, s2;
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s2 = peg$c9;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f64(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseEscapedSingleStringChar, "peg$parseEscapedSingleStringChar");
function peg$parseEscapedBacktickStringContent() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseEscapedBacktickStringChar();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseEscapedBacktickStringChar();
}
peg$savedPos = s0;
s1 = peg$f65(s1);
s0 = s1;
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e57);
}
return s0;
}
__name(peg$parseEscapedBacktickStringContent, "peg$parseEscapedBacktickStringContent");
function peg$parseEscapedBacktickStringChar() {
var s0, s1, s2;
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 96) {
s2 = peg$c21;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f66(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseEscapedBacktickStringChar, "peg$parseEscapedBacktickStringChar");
function peg$parsePathSeparator() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f67();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e59);
}
}
return s0;
}
__name(peg$parsePathSeparator, "peg$parsePathSeparator");
function peg$parseDotSeparator() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s1 = peg$c11;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f68();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e61);
}
}
return s0;
}
__name(peg$parseDotSeparator, "peg$parseDotSeparator");
function peg$parseSectionMarker() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 35) {
s1 = peg$c23;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f69();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e62);
}
}
return s0;
}
__name(peg$parseSectionMarker, "peg$parseSectionMarker");
function peg$parseBaseIdentifier() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = input.charAt(peg$currPos);
if (peg$r11.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e65);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r12.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r12.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
}
peg$savedPos = s0;
s0 = peg$f70(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e64);
}
}
return s0;
}
__name(peg$parseBaseIdentifier, "peg$parseBaseIdentifier");
function peg$parseSpecialPathChar() {
var s0;
peg$silentFails++;
s0 = input.charAt(peg$currPos);
if (peg$r13.test(s0)) {
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e68);
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e67);
}
}
return s0;
}
__name(peg$parseSpecialPathChar, "peg$parseSpecialPathChar");
function peg$parsePathSeparatorToken() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f71();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e69);
}
}
return s0;
}
__name(peg$parsePathSeparatorToken, "peg$parsePathSeparatorToken");
function peg$parseDotSeparatorToken() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s1 = peg$c11;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f72();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e70);
}
}
return s0;
}
__name(peg$parseDotSeparatorToken, "peg$parseDotSeparatorToken");
function peg$parseSectionMarkerToken() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r2.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r2.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
}
if (input.charCodeAt(peg$currPos) === 35) {
s2 = peg$c23;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f73();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e71);
}
}
return s0;
}
__name(peg$parseSectionMarkerToken, "peg$parseSectionMarkerToken");
function peg$parseBacktickSequence() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
if (input.charCodeAt(peg$currPos) === 96) {
s2 = peg$c21;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
if (input.charCodeAt(peg$currPos) === 96) {
s2 = peg$c21;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$f74(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f75(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e72);
}
}
return s0;
}
__name(peg$parseBacktickSequence, "peg$parseBacktickSequence");
function peg$parseReservedDirective() {
var s0;
peg$silentFails++;
if (input.substr(peg$currPos, 4) === peg$c24) {
s0 = peg$c24;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s0 = peg$c25;
peg$currPos += 5;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s0 = peg$c26;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s0 = peg$c27;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c28) {
s0 = peg$c28;
peg$currPos += 5;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e78);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s0 = peg$c29;
peg$currPos += 7;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s0 = peg$c30;
peg$currPos += 5;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s0 = peg$c31;
peg$currPos += 7;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e73);
}
}
return s0;
}
__name(peg$parseReservedDirective, "peg$parseReservedDirective");
function peg$parse_() {
var s0, s1;
peg$silentFails++;
s0 = [];
s1 = input.charAt(peg$currPos);
if (peg$r14.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e83);
}
}
while (s1 !== peg$FAILED) {
s0.push(s1);
s1 = input.charAt(peg$currPos);
if (peg$r14.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e83);
}
}
}
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e82);
}
return s0;
}
__name(peg$parse_, "peg$parse_");
function peg$parse__() {
var s0, s1;
peg$silentFails++;
s0 = [];
s1 = input.charAt(peg$currPos);
if (peg$r15.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e85);
}
}
if (s1 !== peg$FAILED) {
while (s1 !== peg$FAILED) {
s0.push(s1);
s1 = input.charAt(peg$currPos);
if (peg$r15.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e85);
}
}
}
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e84);
}
}
return s0;
}
__name(peg$parse__, "peg$parse__");
function peg$parseHWS() {
var s0, s1;
peg$silentFails++;
s0 = [];
s1 = input.charAt(peg$currPos);
if (peg$r16.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e87);
}
}
while (s1 !== peg$FAILED) {
s0.push(s1);
s1 = input.charAt(peg$currPos);
if (peg$r16.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e87);
}
}
}
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e86);
}
return s0;
}
__name(peg$parseHWS, "peg$parseHWS");
function peg$parseLineTerminator() {
var s0;
if (input.charCodeAt(peg$currPos) === 10) {
s0 = peg$c2;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c32) {
s0 = peg$c32;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e88);
}
}
if (s0 === peg$FAILED) {
s0 = input.charAt(peg$currPos);
if (peg$r17.test(s0)) {
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e89);
}
}
}
}
return s0;
}
__name(peg$parseLineTerminator, "peg$parseLineTerminator");
function peg$parseEOF() {
var s0, s1;
s0 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
peg$silentFails--;
if (s1 === peg$FAILED) {
s0 = void 0;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseEOF, "peg$parseEOF");
function peg$parseTextUntilNewline() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r18.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e90);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r18.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e90);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f76(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseTextUntilNewline, "peg$parseTextUntilNewline");
function peg$parseEndOfLine() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
}
s2 = peg$parseLineTerminator();
if (s2 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s3 = peg$f77(s1, s2);
if (s3) {
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f78(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
}
s2 = peg$parseLineTerminator();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f79(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r0.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e0);
}
}
}
peg$savedPos = peg$currPos;
s2 = peg$f80(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f81(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseEndOfLine, "peg$parseEndOfLine");
function peg$parseAlligatorExpression() {
var s0, s1, s3, s4, s6, s7;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 60) {
s1 = peg$c19;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseAlligatorSource();
if (s3 !== peg$FAILED) {
s4 = peg$parseAlligatorOptions();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 62) {
s6 = peg$c33;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e92);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseCondensedPipeChain();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f82(s3, s4, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e91);
}
}
return s0;
}
__name(peg$parseAlligatorExpression, "peg$parseAlligatorExpression");
function peg$parseAlligatorSource() {
var s0;
s0 = peg$parseAlligatorURL();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorPath();
}
return s0;
}
__name(peg$parseAlligatorSource, "peg$parseAlligatorSource");
function peg$parseAlligatorURL() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c34) {
s1 = peg$c34;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e94);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c35) {
s1 = peg$c35;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e95);
}
}
}
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c36) {
s2 = peg$c36;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e96);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parseURLHost();
if (s3 !== peg$FAILED) {
s4 = peg$parseURLPath();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$savedPos = s0;
s0 = peg$f83(s1, s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e93);
}
}
return s0;
}
__name(peg$parseAlligatorURL, "peg$parseAlligatorURL");
function peg$parseAlligatorPath() {
var s0;
peg$silentFails++;
s0 = peg$parseAlligatorQuotedPath();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorUnquotedPath();
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e97);
}
}
return s0;
}
__name(peg$parseAlligatorPath, "peg$parseAlligatorPath");
function peg$parseAlligatorQuotedPath() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseQuotedPathChar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseQuotedPathChar();
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f84(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e98);
}
}
return s0;
}
__name(peg$parseAlligatorQuotedPath, "peg$parseAlligatorQuotedPath");
function peg$parseAlligatorUnquotedPath() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseAlligatorPathParts();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f85(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e99);
}
}
return s0;
}
__name(peg$parseAlligatorUnquotedPath, "peg$parseAlligatorUnquotedPath");
function peg$parseQuotedPathChar() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s2 = peg$c20;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f86(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseQuotedPathChar, "peg$parseQuotedPathChar");
function peg$parseAlligatorPathParts() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseAlligatorVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseAlligatorPathSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseAlligatorVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseAlligatorPathSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f87(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e100);
}
}
return s0;
}
__name(peg$parseAlligatorPathParts, "peg$parseAlligatorPathParts");
function peg$parseAlligatorVariable() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
peg$savedPos = s0;
s0 = peg$f88(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e101);
}
}
return s0;
}
__name(peg$parseAlligatorVariable, "peg$parseAlligatorVariable");
function peg$parseAlligatorPathSegment() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseAlligatorPathChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseAlligatorPathChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f89(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e103);
}
}
return s0;
}
__name(peg$parseAlligatorPathSegment, "peg$parseAlligatorPathSegment");
function peg$parseAlligatorPathChar() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 62) {
s2 = peg$c33;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e92);
}
}
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++;
if (input.charCodeAt(peg$currPos) === 35) {
s3 = peg$c23;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 4) === peg$c38) {
s5 = peg$c38;
peg$currPos += 4;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e104);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
peg$silentFails++;
s6 = peg$parsePathSeparator();
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f90(s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseAlligatorPathChar, "peg$parseAlligatorPathChar");
function peg$parseAlligatorOptions() {
var s0, s2, s4;
s0 = peg$currPos;
peg$parse_();
s2 = peg$parseSectionClause();
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseAsTransform();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f91(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
peg$parse_();
s2 = peg$parseSectionClause();
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseAsRename();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f92(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
peg$parse_();
s2 = peg$parseSectionClause();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f93(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
peg$parse_();
s2 = peg$parseAsTransform();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f94(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
return s0;
}
__name(peg$parseAlligatorOptions, "peg$parseAlligatorOptions");
function peg$parseSectionClause() {
var s0, s1, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 35) {
s1 = peg$c23;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseAlligatorSectionIdentifier();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f95(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseSectionClause, "peg$parseSectionClause");
function peg$parseAlligatorSectionIdentifier() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseFieldAccess();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseFieldAccess();
}
peg$savedPos = s0;
s0 = peg$f96(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parseAlligatorSectionChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseAlligatorSectionChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f97(s1);
}
s0 = s1;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e105);
}
}
return s0;
}
__name(peg$parseAlligatorSectionIdentifier, "peg$parseAlligatorSectionIdentifier");
function peg$parseAlligatorSectionChar() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 62) {
s2 = peg$c33;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e92);
}
}
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++;
if (input.substr(peg$currPos, 2) === peg$c39) {
s3 = peg$c39;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
if (input.length > peg$currPos) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f98(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseAlligatorSectionChar, "peg$parseAlligatorSectionChar");
function peg$parseAsRename() {
var s0, s2, s4;
peg$silentFails++;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s2 = peg$c39;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseAsSectionRenameString();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f99(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e107);
}
}
return s0;
}
__name(peg$parseAsRename, "peg$parseAsRename");
function peg$parseAsSectionRenameString() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseRenameStringPart();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseRenameStringPart();
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f100(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 96) {
s1 = peg$c21;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseRenameBacktickPart();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseRenameBacktickPart();
}
if (input.charCodeAt(peg$currPos) === 96) {
s3 = peg$c21;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f101(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e108);
}
}
return s0;
}
__name(peg$parseAsSectionRenameString, "peg$parseAsSectionRenameString");
function peg$parseRenameStringPart() {
var s0, s1, s2, s3, s4;
s0 = peg$parseFileReferenceInterpolation();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = input.charAt(peg$currPos);
if (peg$r19.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e109);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f102(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = input.charAt(peg$currPos);
if (peg$r19.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e109);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f102(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f103(s1);
}
s0 = s1;
}
return s0;
}
__name(peg$parseRenameStringPart, "peg$parseRenameStringPart");
function peg$parseRenameBacktickPart() {
var s0, s1, s2, s3, s4;
s0 = peg$parseFileReferenceInterpolation();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
peg$savedPos = s0;
s0 = peg$f104(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = input.charAt(peg$currPos);
if (peg$r20.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e110);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f105(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = input.charAt(peg$currPos);
if (peg$r20.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e110);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f105(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f106(s1);
}
s0 = s1;
}
}
return s0;
}
__name(peg$parseRenameBacktickPart, "peg$parseRenameBacktickPart");
function peg$parseAsTransform() {
var s0, s2, s4;
peg$silentFails++;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s2 = peg$c39;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseAlligatorTransformTemplate();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f107(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e111);
}
}
return s0;
}
__name(peg$parseAsTransform, "peg$parseAsTransform");
function peg$parseAlligatorTransformTemplate() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 96) {
s1 = peg$c21;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseBacktickTransformPart();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseBacktickTransformPart();
}
if (input.charCodeAt(peg$currPos) === 96) {
s3 = peg$c21;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f108(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e112);
}
}
return s0;
}
__name(peg$parseAlligatorTransformTemplate, "peg$parseAlligatorTransformTemplate");
function peg$parseBacktickTransformPart() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c40) {
s1 = peg$c40;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e113);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseTransformFieldChain();
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f109(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
peg$savedPos = s0;
s0 = peg$f110(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = input.charAt(peg$currPos);
if (peg$r20.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e110);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f111(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = input.charAt(peg$currPos);
if (peg$r20.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e110);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f111(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f112(s1);
}
s0 = s1;
}
}
return s0;
}
__name(peg$parseBacktickTransformPart, "peg$parseBacktickTransformPart");
function peg$parseTransformFieldChain() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s1 = peg$c11;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseTransformField();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s5 = peg$c11;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseTransformField();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f113(s2, s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s5 = peg$c11;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseTransformField();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f113(s2, s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f114(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseTransformFieldChain, "peg$parseTransformFieldChain");
function peg$parseTransformField() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseBaseIdentifier();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f115(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseTransformField, "peg$parseTransformField");
function peg$parseURLHost() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r21.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e114);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r21.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e114);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f116(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseURLHost, "peg$parseURLHost");
function peg$parseURLPath() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r22.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e115);
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r22.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e115);
}
}
}
peg$savedPos = s0;
s0 = peg$f117(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseURLPath, "peg$parseURLPath");
function peg$parseArrayLiteral() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s3 = peg$c42;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f118();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseArrayItems();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f119(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e116);
}
}
return s0;
}
__name(peg$parseArrayLiteral, "peg$parseArrayLiteral");
function peg$parseArrayItems() {
var s0, s1, s2, s3, s5, s7;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseArrayValue();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseArrayValue();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f120(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseArrayValue();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f120(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
s3 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
peg$savedPos = s0;
s0 = peg$f121(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e119);
}
}
return s0;
}
__name(peg$parseArrayItems, "peg$parseArrayItems");
function peg$parseArrayValue() {
var s0;
peg$silentFails++;
s0 = peg$parseAlligatorExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseArrayLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseDataObjectLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseExecInvocationPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableWithTail();
if (s0 === peg$FAILED) {
s0 = peg$parseAtVar();
if (s0 === peg$FAILED) {
s0 = peg$parseTemplateStyleInterpolation();
if (s0 === peg$FAILED) {
s0 = peg$parseCodeExecution();
if (s0 === peg$FAILED) {
s0 = peg$parseNestedDirective();
if (s0 === peg$FAILED) {
s0 = peg$parseDataString();
if (s0 === peg$FAILED) {
s0 = peg$parseNumberLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseBooleanLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseNullLiteral();
}
}
}
}
}
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e121);
}
}
return s0;
}
__name(peg$parseArrayValue, "peg$parseArrayValue");
function peg$parseCommandWithBases() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseCommandSegmentList();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f122(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCommandWithBases, "peg$parseCommandWithBases");
function peg$parseCommandSegmentList() {
var s0, s1, s2, s3, s4, s6;
s0 = peg$currPos;
s1 = peg$parseCommandPipeline();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommandOperator();
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseCommandPipeline();
if (s6 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f123(s1, s4, s6);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommandOperator();
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseCommandPipeline();
if (s6 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f123(s1, s4, s6);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f124(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandSegmentList, "peg$parseCommandSegmentList");
function peg$parseCommandOperator() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 124) {
s2 = peg$c44;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c45) {
s2 = peg$c45;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e123);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c46) {
s2 = peg$c46;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e124);
}
}
if (s2 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 59) {
s2 = peg$c47;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e125);
}
}
}
}
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f125(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCommandOperator, "peg$parseCommandOperator");
function peg$parseCommandPipeline() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseCommandBaseDetection();
if (s1 !== peg$FAILED) {
s2 = peg$parseCommandArguments();
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f126(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandPipeline, "peg$parseCommandPipeline");
function peg$parseCommandArguments() {
var s0, s2;
s0 = peg$currPos;
peg$parse_();
s2 = peg$parseCommandArgumentParts();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f127(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandArguments, "peg$parseCommandArguments");
function peg$parseCommandArgumentParts() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCommandVariableRef();
if (s2 === peg$FAILED) {
s2 = peg$parseCommandArgumentText();
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCommandVariableRef();
if (s2 === peg$FAILED) {
s2 = peg$parseCommandArgumentText();
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f128(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCommandArgumentParts, "peg$parseCommandArgumentParts");
function peg$parseCommandVariableRef() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f129(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandVariableRef, "peg$parseCommandVariableRef");
function peg$parseCommandArgumentText() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$currPos;
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r2.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r2.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
}
s4 = [];
s5 = input.charAt(peg$currPos);
if (peg$r23.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e126);
}
}
if (s5 !== peg$FAILED) {
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = input.charAt(peg$currPos);
if (peg$r23.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e126);
}
}
}
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = [];
s6 = input.charAt(peg$currPos);
if (peg$r2.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = input.charAt(peg$currPos);
if (peg$r2.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e9);
}
}
}
s3 = [
s3,
s4,
s5
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f130(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCommandArgumentText, "peg$parseCommandArgumentText");
function peg$parseCommandBaseDetection() {
var s0;
s0 = peg$parseScriptRunnerCommand();
if (s0 === peg$FAILED) {
s0 = peg$parseSpecialCommand();
if (s0 === peg$FAILED) {
s0 = peg$parseSimpleCommand();
}
}
return s0;
}
__name(peg$parseCommandBaseDetection, "peg$parseCommandBaseDetection");
function peg$parseScriptRunnerCommand() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parsePackageManager();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 3) === peg$c48) {
s3 = peg$c48;
peg$currPos += 3;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseScriptName();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f131(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c49) {
s1 = peg$c49;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e128);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parsePackageName();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f132(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseScriptRunnerCommand, "peg$parseScriptRunnerCommand");
function peg$parsePackageManager() {
var s0;
if (input.substr(peg$currPos, 3) === peg$c50) {
s0 = peg$c50;
peg$currPos += 3;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e129);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c51) {
s0 = peg$c51;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e130);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c52) {
s0 = peg$c52;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e131);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c53) {
s0 = peg$c53;
peg$currPos += 3;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e132);
}
}
}
}
}
return s0;
}
__name(peg$parsePackageManager, "peg$parsePackageManager");
function peg$parseScriptName() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r24.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r24.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 58) {
s5 = peg$c54;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s5 !== peg$FAILED) {
s6 = [];
s7 = input.charAt(peg$currPos);
if (peg$r24.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
if (s7 !== peg$FAILED) {
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = input.charAt(peg$currPos);
if (peg$r24.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
}
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 58) {
s5 = peg$c54;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s5 !== peg$FAILED) {
s6 = [];
s7 = input.charAt(peg$currPos);
if (peg$r24.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
if (s7 !== peg$FAILED) {
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = input.charAt(peg$currPos);
if (peg$r24.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
}
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
s2 = [
s2,
s3
];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s0 = input.substring(s0, peg$currPos);
} else {
s0 = s1;
}
return s0;
}
__name(peg$parseScriptName, "peg$parseScriptName");
function peg$parsePackageName() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s2 = peg$c37;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r24.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r24.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s4 = peg$c22;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s4 !== peg$FAILED) {
s5 = [];
s6 = input.charAt(peg$currPos);
if (peg$r24.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
if (s6 !== peg$FAILED) {
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = input.charAt(peg$currPos);
if (peg$r24.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
}
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
s2 = [
s2,
s3,
s4,
s5
];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s0 = input.substring(s0, peg$currPos);
} else {
s0 = s1;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r24.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r24.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s0 = input.substring(s0, peg$currPos);
} else {
s0 = s1;
}
}
return s0;
}
__name(peg$parsePackageName, "peg$parsePackageName");
function peg$parseSpecialCommand() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parsePythonCommand();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c55) {
s3 = peg$c55;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e135);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseCommandModuleName();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f133(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseShellCommand();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseInlineFlag();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f134(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseBuildTool();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseBuildTarget();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f135(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseSpecialCommand, "peg$parseSpecialCommand");
function peg$parsePythonCommand() {
var s0;
if (input.substr(peg$currPos, 6) === peg$c56) {
s0 = peg$c56;
peg$currPos += 6;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e136);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c57) {
s0 = peg$c57;
peg$currPos += 7;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e137);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c58) {
s0 = peg$c58;
peg$currPos += 7;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e138);
}
}
}
}
return s0;
}
__name(peg$parsePythonCommand, "peg$parsePythonCommand");
function peg$parseCommandModuleName() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = input.charAt(peg$currPos);
if (peg$r11.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e65);
}
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r12.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r12.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
}
s4 = [];
s5 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s6 = peg$c11;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s6 !== peg$FAILED) {
s7 = input.charAt(peg$currPos);
if (peg$r11.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e65);
}
}
if (s7 !== peg$FAILED) {
s8 = [];
s9 = input.charAt(peg$currPos);
if (peg$r12.test(s9)) {
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
while (s9 !== peg$FAILED) {
s8.push(s9);
s9 = input.charAt(peg$currPos);
if (peg$r12.test(s9)) {
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
}
s6 = [
s6,
s7,
s8
];
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s6 = peg$c11;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s6 !== peg$FAILED) {
s7 = input.charAt(peg$currPos);
if (peg$r11.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e65);
}
}
if (s7 !== peg$FAILED) {
s8 = [];
s9 = input.charAt(peg$currPos);
if (peg$r12.test(s9)) {
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
while (s9 !== peg$FAILED) {
s8.push(s9);
s9 = input.charAt(peg$currPos);
if (peg$r12.test(s9)) {
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e66);
}
}
}
s6 = [
s6,
s7,
s8
];
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
}
s2 = [
s2,
s3,
s4
];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s0 = input.substring(s0, peg$currPos);
} else {
s0 = s1;
}
return s0;
}
__name(peg$parseCommandModuleName, "peg$parseCommandModuleName");
function peg$parseShellCommand() {
var s0;
if (input.substr(peg$currPos, 4) === peg$c59) {
s0 = peg$c59;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e139);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c60) {
s0 = peg$c60;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e140);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c61) {
s0 = peg$c61;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e141);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c62) {
s0 = peg$c62;
peg$currPos += 3;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e142);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c63) {
s0 = peg$c63;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e143);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c64) {
s0 = peg$c64;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e144);
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseShellCommand, "peg$parseShellCommand");
function peg$parseInlineFlag() {
var s0;
if (input.substr(peg$currPos, 2) === peg$c65) {
s0 = peg$c65;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e145);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c66) {
s0 = peg$c66;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e146);
}
}
}
return s0;
}
__name(peg$parseInlineFlag, "peg$parseInlineFlag");
function peg$parseBuildTool() {
var s0;
if (input.substr(peg$currPos, 4) === peg$c67) {
s0 = peg$c67;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e147);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c68) {
s0 = peg$c68;
peg$currPos += 5;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e148);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c69) {
s0 = peg$c69;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e149);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c70) {
s0 = peg$c70;
peg$currPos += 6;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e150);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c71) {
s0 = peg$c71;
peg$currPos += 5;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e151);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c72) {
s0 = peg$c72;
peg$currPos += 3;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e152);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c73) {
s0 = peg$c73;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e153);
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseBuildTool, "peg$parseBuildTool");
function peg$parseBuildTarget() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r25.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e154);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r25.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e154);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s0 = input.substring(s0, peg$currPos);
} else {
s0 = s1;
}
return s0;
}
__name(peg$parseBuildTarget, "peg$parseBuildTarget");
function peg$parseSimpleCommand() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseCommandWord();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f136(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseSimpleCommand, "peg$parseSimpleCommand");
function peg$parseCommandWord() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r26.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e155);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r26.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e155);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s0 = input.substring(s0, peg$currPos);
} else {
s0 = s1;
}
return s0;
}
__name(peg$parseCommandWord, "peg$parseCommandWord");
function peg$parseCommandReference() {
var s0, s1, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseBaseIdentifier();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseCommandArgs();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$savedPos = s0;
s0 = peg$f137(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e156);
}
}
return s0;
}
__name(peg$parseCommandReference, "peg$parseCommandReference");
function peg$parseCommandArgs() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseCommandArgumentList();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f138(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e157);
}
}
return s0;
}
__name(peg$parseCommandArgs, "peg$parseCommandArgs");
function peg$parseCommandArgumentList() {
var s0, s1, s2, s3, s5, s7;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseCommandArgument();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseCommandArgument();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f139(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseCommandArgument();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f139(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f140(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e160);
}
}
return s0;
}
__name(peg$parseCommandArgumentList, "peg$parseCommandArgumentList");
function peg$parseCommandArgument() {
var s0, s1;
peg$silentFails++;
s0 = peg$parseCommandTemplateArgument();
if (s0 === peg$FAILED) {
s0 = peg$parseBacktickTemplateArgument();
if (s0 === peg$FAILED) {
s0 = peg$parseNestedExecInvocation();
if (s0 === peg$FAILED) {
s0 = peg$parseDataObjectLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseArrayLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorExpression();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f141(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f142(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$parsePrimitiveValue();
if (s0 === peg$FAILED) {
s0 = peg$parseEscapedArgument();
if (s0 === peg$FAILED) {
s0 = peg$parseRawArgument();
}
}
}
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e161);
}
}
return s0;
}
__name(peg$parseCommandArgument, "peg$parseCommandArgument");
function peg$parseNestedExecInvocation() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$parseCommandArgs();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f143(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e162);
}
}
return s0;
}
__name(peg$parseNestedExecInvocation, "peg$parseNestedExecInvocation");
function peg$parseCommandTemplateArgument() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c5) {
s1 = peg$c5;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseCommandTemplateContent();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseCommandTemplateContent();
}
if (input.substr(peg$currPos, 2) === peg$c5) {
s3 = peg$c5;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f144(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e163);
}
}
return s0;
}
__name(peg$parseCommandTemplateArgument, "peg$parseCommandTemplateArgument");
function peg$parseBacktickTemplateArgument() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseBacktickTemplate();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f145(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e164);
}
}
return s0;
}
__name(peg$parseBacktickTemplateArgument, "peg$parseBacktickTemplateArgument");
function peg$parseBacktickTemplate() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 96) {
s1 = peg$c21;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseBacktickInterpolation();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseBacktickInterpolation();
}
if (input.charCodeAt(peg$currPos) === 96) {
s3 = peg$c21;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f146(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e165);
}
}
return s0;
}
__name(peg$parseBacktickTemplate, "peg$parseBacktickTemplate");
function peg$parseCommandTemplateContent() {
var s0, s1, s2;
s0 = peg$parseInterpolationVar();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCommandTemplateChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCommandTemplateChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f147(s1);
}
s0 = s1;
}
return s0;
}
__name(peg$parseCommandTemplateContent, "peg$parseCommandTemplateContent");
function peg$parseCommandTemplateChar() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c4) {
s2 = peg$c4;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e6);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c5) {
s2 = peg$c5;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f148(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandTemplateChar, "peg$parseCommandTemplateChar");
function peg$parseEscapedArgument() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseEscapedArgChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseEscapedArgChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f149(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e166);
}
}
return s0;
}
__name(peg$parseEscapedArgument, "peg$parseEscapedArgument");
function peg$parseEscapedArgChar() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c18;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e40);
}
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f150(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r27.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e167);
}
}
if (s2 === peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s4 = peg$c43;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s3 = [
s3,
s4,
s5
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s4 = peg$c75;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s4 !== peg$FAILED) {
s3 = [
s3,
s4
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f151(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseEscapedArgChar, "peg$parseEscapedArgChar");
function peg$parseRawArgument() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseRawArgChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseRawArgChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f152(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e168);
}
}
return s0;
}
__name(peg$parseRawArgument, "peg$parseRawArgument");
function peg$parseRawArgChar() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r28.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e169);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f153(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRawArgChar, "peg$parseRawArgChar");
function peg$parseLiteralContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEscapedStringContent();
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f154(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEscapedSingleStringContent();
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f155(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e170);
}
}
return s0;
}
__name(peg$parseLiteralContent, "peg$parseLiteralContent");
function peg$parseSemanticSectionContent() {
var s0, s1, s2, s4, s6, s7;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parsePathParts();
peg$parse_();
if (input.charCodeAt(peg$currPos) === 35) {
s4 = peg$c23;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseSectionIdentifier();
if (s6 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 93) {
s7 = peg$c42;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f156(s2, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e171);
}
}
return s0;
}
__name(peg$parseSemanticSectionContent, "peg$parseSemanticSectionContent");
function peg$parsePathParts() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseSpecialVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseVariable();
if (s2 === peg$FAILED) {
s2 = peg$parsePathTextSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseSpecialVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseVariable();
if (s2 === peg$FAILED) {
s2 = peg$parsePathTextSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
}
}
peg$savedPos = s0;
s1 = peg$f157(s1);
s0 = s1;
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e172);
}
return s0;
}
__name(peg$parsePathParts, "peg$parsePathParts");
function peg$parseSectionName() {
var s0, s1, s2, s3, s4, s5;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
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$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
s4 = [
s4,
s5
];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f158(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e173);
}
}
return s0;
}
__name(peg$parseSectionName, "peg$parseSectionName");
function peg$parseSemanticCommandBracketContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseVariableNoTail();
if (s3 === peg$FAILED) {
s3 = peg$parseQuotedCommandString();
if (s3 === peg$FAILED) {
s3 = peg$parseCommandTextContent();
}
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseVariableNoTail();
if (s3 === peg$FAILED) {
s3 = peg$parseQuotedCommandString();
if (s3 === peg$FAILED) {
s3 = peg$parseCommandTextContent();
}
}
}
}
if (input.charCodeAt(peg$currPos) === 93) {
s3 = peg$c42;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f159(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e174);
}
}
return s0;
}
__name(peg$parseSemanticCommandBracketContent, "peg$parseSemanticCommandBracketContent");
function peg$parseCommandBracketContent() {
var s0;
peg$silentFails++;
s0 = peg$parseSemanticCommandBracketContent();
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e175);
}
}
return s0;
}
__name(peg$parseCommandBracketContent, "peg$parseCommandBracketContent");
function peg$parseQuotedCommandString() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseDoubleQuotedCommandContent();
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f160(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseSingleQuotedCommandContent();
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f161(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e176);
}
}
return s0;
}
__name(peg$parseQuotedCommandString, "peg$parseQuotedCommandString");
function peg$parseDoubleQuotedCommandContent() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseSpecialVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseDoubleQuotedText();
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseSpecialVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseVariable();
if (s2 === peg$FAILED) {
s2 = peg$parseDoubleQuotedText();
}
}
}
peg$savedPos = s0;
s1 = peg$f162(s1);
s0 = s1;
return s0;
}
__name(peg$parseDoubleQuotedCommandContent, "peg$parseDoubleQuotedCommandContent");
function peg$parseSingleQuotedCommandContent() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s4 = peg$c9;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f163(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s4 = peg$c9;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f163(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
peg$savedPos = s0;
s1 = peg$f164(s1);
s0 = s1;
return s0;
}
__name(peg$parseSingleQuotedCommandContent, "peg$parseSingleQuotedCommandContent");
function peg$parseDoubleQuotedText() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseDoubleQuotedChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseDoubleQuotedChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f165(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseDoubleQuotedText, "peg$parseDoubleQuotedText");
function peg$parseDoubleQuotedChar() {
var s0, s1, s2;
s0 = peg$parseStringEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r29.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e177);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f166(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseDoubleQuotedChar, "peg$parseDoubleQuotedChar");
function peg$parseBacktickInterpolation() {
var s0, s1, s2, s3;
s0 = peg$parseBacktickExecInvocation();
if (s0 === peg$FAILED) {
s0 = peg$parseFileReferenceInterpolation();
if (s0 === peg$FAILED) {
s0 = peg$parseTemplateVariableReference();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
s3 = peg$parseBaseIdentifier();
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
if (input.length > peg$currPos) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f167(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseBacktickTextSegment();
}
}
}
}
return s0;
}
__name(peg$parseBacktickInterpolation, "peg$parseBacktickInterpolation");
function peg$parseBacktickExecInvocation() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
peg$silentFails--;
if (s4 !== peg$FAILED) {
peg$currPos = s3;
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandArgs();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f168(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseBacktickExecInvocation, "peg$parseBacktickExecInvocation");
function peg$parseBacktickTextSegment() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseBacktickTemplateChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseBacktickTemplateChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f169(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseBacktickTextSegment, "peg$parseBacktickTextSegment");
function peg$parseBacktickTemplateChar() {
var s0, s1, s2;
s0 = peg$parseStringEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r30.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e178);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f170(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseBacktickTemplateChar, "peg$parseBacktickTemplateChar");
function peg$parseDoubleColonTextSegment() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c5) {
s4 = peg$c5;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s4 === peg$FAILED) {
s4 = input.charAt(peg$currPos);
if (peg$r31.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e179);
}
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f171(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c5) {
s4 = peg$c5;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s4 === peg$FAILED) {
s4 = input.charAt(peg$currPos);
if (peg$r31.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e179);
}
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f171(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f172(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseDoubleColonTextSegment, "peg$parseDoubleColonTextSegment");
function peg$parseCommandTextContent() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCommandBracketChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCommandBracketChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f173(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e180);
}
}
return s0;
}
__name(peg$parseCommandTextContent, "peg$parseCommandTextContent");
function peg$parseCommandBracketChar() {
var s0, s1, s2, s3;
s0 = peg$parseEscapeSequence();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 64) {
s2 = peg$c37;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$f174();
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
if (input.length > peg$currPos) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f175(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseCommandBracketChar, "peg$parseCommandBracketChar");
function peg$parseDoubleColonContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c5) {
s1 = peg$c5;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseDoubleColonInterpolation();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseDoubleColonInterpolation();
}
if (input.substr(peg$currPos, 2) === peg$c5) {
s3 = peg$c5;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f176(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e181);
}
}
return s0;
}
__name(peg$parseDoubleColonContent, "peg$parseDoubleColonContent");
function peg$parseDoubleColonInterpolation() {
var s0, s1, s2, s3;
s0 = peg$parseBacktickExecInvocation();
if (s0 === peg$FAILED) {
s0 = peg$parseFileReferenceInterpolation();
if (s0 === peg$FAILED) {
s0 = peg$parseTemplateVariableReference();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
s3 = peg$parseBaseIdentifier();
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
if (input.length > peg$currPos) {
s3 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f177(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseDoubleColonTextSegment();
}
}
}
}
return s0;
}
__name(peg$parseDoubleColonInterpolation, "peg$parseDoubleColonInterpolation");
function peg$parseTripleColonContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c76) {
s1 = peg$c76;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e183);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseInterpolationVar();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseTemplateTextSegment();
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseInterpolationVar();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseTemplateTextSegment();
}
}
}
if (input.substr(peg$currPos, 3) === peg$c76) {
s3 = peg$c76;
peg$currPos += 3;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e183);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f178(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseInterpolationVar();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f179(s1);
}
s0 = s1;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e182);
}
}
return s0;
}
__name(peg$parseTripleColonContent, "peg$parseTripleColonContent");
function peg$parseUnquotedPath() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseUnquotedPathPart();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseUnquotedPathPart();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f180(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e184);
}
}
return s0;
}
__name(peg$parseUnquotedPath, "peg$parseUnquotedPath");
function peg$parseUnquotedPathPart() {
var s0;
s0 = peg$parsePathSeparator();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableNoTail();
if (s0 === peg$FAILED) {
s0 = peg$parseUnquotedPathText();
}
}
return s0;
}
__name(peg$parseUnquotedPathPart, "peg$parseUnquotedPathPart");
function peg$parseUnquotedPathText() {
var s0, s1, s2, s3, s4, s5;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
s5 = input.charAt(peg$currPos);
if (peg$r32.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e186);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
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$currPos;
peg$silentFails++;
s5 = input.charAt(peg$currPos);
if (peg$r32.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e186);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
s4 = [
s4,
s5
];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f181(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e185);
}
}
return s0;
}
__name(peg$parseUnquotedPathText, "peg$parseUnquotedPathText");
function peg$parseUnquotedCommand() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseAtVar();
if (s2 === peg$FAILED) {
s2 = peg$parseBaseTextSegment();
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseAtVar();
if (s2 === peg$FAILED) {
s2 = peg$parseBaseTextSegment();
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f182(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e187);
}
}
return s0;
}
__name(peg$parseUnquotedCommand, "peg$parseUnquotedCommand");
function peg$parseSemanticCodeContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parseCodeLiteralContent();
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 93) {
s3 = peg$c42;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f183(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e188);
}
}
return s0;
}
__name(peg$parseSemanticCodeContent, "peg$parseSemanticCodeContent");
function peg$parseDirectCodeContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$parseSemanticCodeContent();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r33.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e190);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r33.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e190);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f184(s1);
}
s0 = s1;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e189);
}
}
return s0;
}
__name(peg$parseDirectCodeContent, "peg$parseDirectCodeContent");
function peg$parseCodeLiteralContent() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCodeLiteralPart();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCodeLiteralPart();
}
peg$savedPos = s0;
s1 = peg$f185(s1);
s0 = s1;
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e191);
}
return s0;
}
__name(peg$parseCodeLiteralContent, "peg$parseCodeLiteralContent");
function peg$parseCodeLiteralPart() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseCodeLiteralContent();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 93) {
s3 = peg$c42;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f186(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 93) {
s2 = peg$c42;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f187(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseCodeLiteralPart, "peg$parseCodeLiteralPart");
function peg$parseLiteralOnlyContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEscapedSingleStringContent();
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f188(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e192);
}
}
return s0;
}
__name(peg$parseLiteralOnlyContent, "peg$parseLiteralOnlyContent");
function peg$parseInterpolatedDoubleQuoteContent() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseTemplateVariableReference();
if (s3 === peg$FAILED) {
s3 = peg$parseDoubleQuotedText();
}
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseTemplateVariableReference();
if (s3 === peg$FAILED) {
s3 = peg$parseDoubleQuotedText();
}
}
}
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f189(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e193);
}
}
return s0;
}
__name(peg$parseInterpolatedDoubleQuoteContent, "peg$parseInterpolatedDoubleQuoteContent");
function peg$parseInterpolatedTemplateContent() {
var s0;
peg$silentFails++;
s0 = peg$parseDoubleColonContent();
if (s0 === peg$FAILED) {
s0 = peg$parseTripleColonContent();
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e194);
}
}
return s0;
}
__name(peg$parseInterpolatedTemplateContent, "peg$parseInterpolatedTemplateContent");
function peg$parseTemplateStyleInterpolation() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTripleColonContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f190(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseInterpolatedTemplateContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f191(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 96) {
s1 = peg$c21;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseBacktickInterpolation();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseBacktickInterpolation();
}
if (input.charCodeAt(peg$currPos) === 96) {
s3 = peg$c21;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f192(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseInterpolatedDoubleQuoteContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f193(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseLiteralOnlyContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f194(s1);
}
s0 = s1;
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e195);
}
}
return s0;
}
__name(peg$parseTemplateStyleInterpolation, "peg$parseTemplateStyleInterpolation");
function peg$parseCommandStyleInterpolation() {
var s0;
peg$silentFails++;
s0 = peg$parseInterpolatedDoubleQuoteContent();
if (s0 === peg$FAILED) {
s0 = peg$parseLiteralOnlyContent();
if (s0 === peg$FAILED) {
s0 = peg$parseCommandBracketContent();
if (s0 === peg$FAILED) {
s0 = peg$parseInterpolatedTemplateContent();
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e196);
}
}
return s0;
}
__name(peg$parseCommandStyleInterpolation, "peg$parseCommandStyleInterpolation");
function peg$parseSemanticTextContent() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c16) {
s1 = peg$c16;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e37);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f195();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r34.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r34.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 93) {
s3 = peg$c42;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s4 = peg$f196(s2);
if (s4) {
s4 = void 0;
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f197(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f198();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c26) {
s1 = peg$c26;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f199();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f200();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f201();
}
s0 = s1;
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e197);
}
}
return s0;
}
__name(peg$parseSemanticTextContent, "peg$parseSemanticTextContent");
function peg$parseWrappedTemplateContent() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTemplateStyleInterpolation();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f202(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e199);
}
}
return s0;
}
__name(peg$parseWrappedTemplateContent, "peg$parseWrappedTemplateContent");
function peg$parseWrappedCommandContent() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseCommandContentInterpolation();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f203(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e200);
}
}
return s0;
}
__name(peg$parseWrappedCommandContent, "peg$parseWrappedCommandContent");
function peg$parseCommandContentInterpolation() {
var s0;
peg$silentFails++;
s0 = peg$parseInterpolatedDoubleQuoteContent();
if (s0 === peg$FAILED) {
s0 = peg$parseLiteralOnlyContent();
if (s0 === peg$FAILED) {
s0 = peg$parseCommandBracketContent();
if (s0 === peg$FAILED) {
s0 = peg$parseInterpolatedTemplateContent();
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e201);
}
}
return s0;
}
__name(peg$parseCommandContentInterpolation, "peg$parseCommandContentInterpolation");
function peg$parseWrappedCodeContent() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseDirectCodeContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f204(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e202);
}
}
return s0;
}
__name(peg$parseWrappedCodeContent, "peg$parseWrappedCodeContent");
function peg$parseDataObjectLiteral() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseDataObjectProperties();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c78;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f205(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e203);
}
}
return s0;
}
__name(peg$parseDataObjectLiteral, "peg$parseDataObjectLiteral");
function peg$parseDataObjectProperties() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseDataObjectProperty();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseDataObjectProperty();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f206(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseDataObjectProperty();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f206(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f207(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseDataObjectProperties, "peg$parseDataObjectProperties");
function peg$parseDataObjectProperty() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parsePropertyKey();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseDataPropertyValue();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f208(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseDataObjectProperty, "peg$parseDataObjectProperty");
function peg$parseDataPropertyValue() {
var s0;
peg$silentFails++;
s0 = peg$parseRunCommandValue();
if (s0 === peg$FAILED) {
s0 = peg$parseCodeExecutionValue();
if (s0 === peg$FAILED) {
s0 = peg$parseDataObjectLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseArrayLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseExecInvocationPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableWithTail();
if (s0 === peg$FAILED) {
s0 = peg$parseNestedDirective();
if (s0 === peg$FAILED) {
s0 = peg$parseDataTemplateValue();
if (s0 === peg$FAILED) {
s0 = peg$parseDataStringValue();
if (s0 === peg$FAILED) {
s0 = peg$parsePrimitiveValue();
}
}
}
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e206);
}
}
return s0;
}
__name(peg$parseDataPropertyValue, "peg$parseDataPropertyValue");
function peg$parseDataTemplateValue() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseInterpolatedTemplateContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f209(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 96) {
s1 = peg$c21;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseBacktickInterpolation();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseBacktickInterpolation();
}
if (input.charCodeAt(peg$currPos) === 96) {
s3 = peg$c21;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f210(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e207);
}
}
return s0;
}
__name(peg$parseDataTemplateValue, "peg$parseDataTemplateValue");
function peg$parseDataStringValue() {
var s0;
peg$silentFails++;
s0 = peg$parseDataString();
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e208);
}
}
return s0;
}
__name(peg$parseDataStringValue, "peg$parseDataStringValue");
function peg$parseDataArrayContent() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseDataArrayValue();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseDataArrayValue();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f211(s1, s7);
} 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;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseDataArrayValue();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f211(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f212(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDataArrayValue();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s3 = peg$c43;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f213(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseDataArrayContent, "peg$parseDataArrayContent");
function peg$parseDataArrayValue() {
var s0;
s0 = peg$parseRunCommandValue();
if (s0 === peg$FAILED) {
s0 = peg$parseCodeExecutionValue();
if (s0 === peg$FAILED) {
s0 = peg$parseDataObjectLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseArrayLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseExecInvocationPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableWithTail();
if (s0 === peg$FAILED) {
s0 = peg$parseNestedDirective();
if (s0 === peg$FAILED) {
s0 = peg$parseDataTemplateValue();
if (s0 === peg$FAILED) {
s0 = peg$parseDataStringValue();
if (s0 === peg$FAILED) {
s0 = peg$parsePrimitiveValue();
}
}
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseDataArrayValue, "peg$parseDataArrayValue");
function peg$parseStandardDirectiveEnding() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTailModifiers();
if (s1 === peg$FAILED) {
s1 = null;
}
s2 = peg$parseInlineComment();
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f214(s1, s2);
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e209);
}
return s0;
}
__name(peg$parseStandardDirectiveEnding, "peg$parseStandardDirectiveEnding");
function peg$parseSecuredDirectiveEnding() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTailModifiers();
if (s1 === peg$FAILED) {
s1 = null;
}
s2 = peg$currPos;
s3 = peg$parse_();
s4 = peg$parseSecurityOptions();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f215(s1, s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
s3 = peg$parseInlineComment();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$savedPos = s0;
s0 = peg$f216(s1, s2, s3);
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e210);
}
return s0;
}
__name(peg$parseSecuredDirectiveEnding, "peg$parseSecuredDirectiveEnding");
function peg$parseCommentedDirectiveEnding() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseInlineComment();
if (s1 === peg$FAILED) {
s1 = null;
}
peg$savedPos = s0;
s1 = peg$f217(s1);
s0 = s1;
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e211);
}
return s0;
}
__name(peg$parseCommentedDirectiveEnding, "peg$parseCommentedDirectiveEnding");
function peg$parseExeRHSContent() {
var s0;
peg$silentFails++;
s0 = peg$parseWhenExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseForExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseExeSlashRunPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeRunCommandPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeCodePattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeEnvironmentDeclaration();
if (s0 === peg$FAILED) {
s0 = peg$parseExeCommandPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeTemplatePattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeSectionPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeResolverPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeExecInvocationPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExeCommandReference();
}
}
}
}
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e212);
}
}
return s0;
}
__name(peg$parseExeRHSContent, "peg$parseExeRHSContent");
function peg$parseExeExecInvocationPattern() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseSimpleExec();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f218(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e213);
}
}
return s0;
}
__name(peg$parseExeExecInvocationPattern, "peg$parseExeExecInvocationPattern");
function peg$parseExeSlashRunPattern() {
var s0, s1, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c26) {
s1 = peg$c26;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseRunLanguageCodeCore();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f219(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c26) {
s1 = peg$c26;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseUnifiedCommandBrackets();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f220(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e214);
}
}
return s0;
}
__name(peg$parseExeSlashRunPattern, "peg$parseExeSlashRunPattern");
function peg$parseExeRunCommandPattern() {
var s0, s1, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c48) {
s1 = peg$c48;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseUnifiedCommandBrackets();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f221(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e215);
}
}
return s0;
}
__name(peg$parseExeRunCommandPattern, "peg$parseExeRunCommandPattern");
function peg$parseExeCodePattern() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseRunLanguageCodeCore();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f222(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e216);
}
}
return s0;
}
__name(peg$parseExeCodePattern, "peg$parseExeCodePattern");
function peg$parseExeCommandPattern() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseUnifiedCommandBrackets();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f223(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e217);
}
}
return s0;
}
__name(peg$parseExeCommandPattern, "peg$parseExeCommandPattern");
function peg$parseExeTemplatePattern() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTemplateCore();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f224(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e218);
}
}
return s0;
}
__name(peg$parseExeTemplatePattern, "peg$parseExeTemplatePattern");
function peg$parseExeSectionPattern() {
var s0, s1, s3, s5, s7, s9, s10;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseVariableNoTail();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 35) {
s5 = peg$c23;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseSectionIdentifier();
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s9 = peg$c42;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s9 !== peg$FAILED) {
s10 = peg$parseExecAsNewTitle();
if (s10 === peg$FAILED) {
s10 = null;
}
peg$savedPos = s0;
s0 = peg$f225(s3, s7, s10);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e219);
}
}
return s0;
}
__name(peg$parseExeSectionPattern, "peg$parseExeSectionPattern");
function peg$parseExeResolverPattern() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseResolverPathPattern();
if (s2 !== peg$FAILED) {
s3 = peg$parseExecResolverPayload();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$savedPos = s0;
s0 = peg$f226(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e220);
}
}
return s0;
}
__name(peg$parseExeResolverPattern, "peg$parseExeResolverPattern");
function peg$parseExeCommandReference() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
s4 = input.charAt(peg$currPos);
if (peg$r35.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e222);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f227(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e221);
}
}
return s0;
}
__name(peg$parseExeCommandReference, "peg$parseExeCommandReference");
function peg$parseExeEnvironmentDeclaration() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseEnvironmentVarList();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c78;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f228(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e223);
}
}
return s0;
}
__name(peg$parseExeEnvironmentDeclaration, "peg$parseExeEnvironmentDeclaration");
function peg$parseResolverPathPattern() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$currPos;
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r36.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e224);
}
}
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r36.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e224);
}
}
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s4 = peg$c22;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s4 !== peg$FAILED) {
s5 = [];
s6 = input.charAt(peg$currPos);
if (peg$r37.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e225);
}
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = input.charAt(peg$currPos);
if (peg$r37.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e225);
}
}
}
s3 = [
s3,
s4,
s5
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f229(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseResolverPathPattern, "peg$parseResolverPathPattern");
function peg$parseExecResolverPayload() {
var s0, s2, s4, s6;
s0 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s2 = peg$c77;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseVariableNoTail();
if (s4 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s6 = peg$c78;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f230(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseExecResolverPayload, "peg$parseExecResolverPayload");
function peg$parseExecAsNewTitle() {
var s0, s2, s4;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s2 = peg$c39;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseLiteralContent();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f231(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s2 = peg$c39;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseVariableNoTail();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f232(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseExecAsNewTitle, "peg$parseExecAsNewTitle");
function peg$parseExpression() {
var s0, s1, s3, s5, s7, s9;
s0 = peg$currPos;
s1 = peg$parseLogicalOr();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 63) {
s3 = peg$c79;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e226);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseExpression();
if (s5 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s7 = peg$c54;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
s9 = peg$parseExpression();
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f233(s1, s5, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseLogicalOr();
}
return s0;
}
__name(peg$parseExpression, "peg$parseExpression");
function peg$parseLogicalOr() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseLogicalAnd();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c46) {
s5 = peg$c46;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e124);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseLogicalAnd();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f234(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c46) {
s5 = peg$c46;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e124);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseLogicalAnd();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f234(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f235(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseLogicalOr, "peg$parseLogicalOr");
function peg$parseLogicalAnd() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseComparison();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c45) {
s5 = peg$c45;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e123);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseComparison();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f236(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c45) {
s5 = peg$c45;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e123);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseComparison();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f236(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f237(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseLogicalAnd, "peg$parseLogicalAnd");
function peg$parseComparison() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parsePrimary();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
s5 = peg$parseComparisonOp();
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parsePrimary();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f238(s1, s5, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
s5 = peg$parseComparisonOp();
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parsePrimary();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f238(s1, s5, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f239(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseComparison, "peg$parseComparison");
function peg$parseComparisonOp() {
var s0, s1, s2, s3;
if (input.substr(peg$currPos, 2) === peg$c80) {
s0 = peg$c80;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e227);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c81) {
s0 = peg$c81;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e228);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c82) {
s0 = peg$c82;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e229);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c83) {
s0 = peg$c83;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e230);
}
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 60) {
s1 = peg$c19;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 61) {
s3 = peg$c84;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = [
s1,
s2
];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 62) {
s1 = peg$c33;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e92);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 61) {
s3 = peg$c84;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = [
s1,
s2
];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
return s0;
}
__name(peg$parseComparisonOp, "peg$parseComparisonOp");
function peg$parsePrimary() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseExpression();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f240(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseUnaryExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseAtomicExpression();
}
}
return s0;
}
__name(peg$parsePrimary, "peg$parsePrimary");
function peg$parseUnaryExpression() {
var s0, s1, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 33) {
s1 = peg$c85;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e232);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parsePrimary();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f241(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseUnaryExpression, "peg$parseUnaryExpression");
function peg$parseAtomicExpression() {
var s0, s1, s3, s5;
s0 = peg$parseUnifiedReferenceNoTail();
if (s0 === peg$FAILED) {
s0 = peg$parseExpressionString();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseNumberLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f242(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseBooleanLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f243(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseNullLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f244(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseWildcardLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f245(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseExpression();
if (s3 !== peg$FAILED) {
peg$parse_();
peg$savedPos = peg$currPos;
s5 = peg$f246(s3);
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f247(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseAtomicExpression, "peg$parseAtomicExpression");
function peg$parseFieldAccess() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseDotSeparator();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = "";
peg$savedPos = s2;
s3 = peg$f248();
s2 = s3;
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f249(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseFieldAccess, "peg$parseFieldAccess");
function peg$parseNumericFieldAccess() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseDotSeparator();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = "";
peg$savedPos = s2;
s3 = peg$f250();
s2 = s3;
s3 = peg$parseNumberLiteral();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f251(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseNumericFieldAccess, "peg$parseNumericFieldAccess");
function peg$parseArrayAccess() {
var s0, s1, s3, s4, s5, s6;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseNumberLiteral();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f252(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseStringLiteral();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f253(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s3 = peg$c37;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s6 = peg$c42;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f254(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f255(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
return s0;
}
__name(peg$parseArrayAccess, "peg$parseArrayAccess");
function peg$parseAnyFieldAccess() {
var s0;
s0 = peg$parseFieldAccess();
if (s0 === peg$FAILED) {
s0 = peg$parseNumericFieldAccess();
if (s0 === peg$FAILED) {
s0 = peg$parseArrayAccess();
}
}
return s0;
}
__name(peg$parseAnyFieldAccess, "peg$parseAnyFieldAccess");
function peg$parseFileReferenceInterpolation() {
var s0, s1, s3, s4, s5, s6, s7;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 60) {
s1 = peg$c19;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseFileReferenceContent();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 62) {
s5 = peg$c33;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e92);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseFileFieldChain();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parseCondensedPipeChain();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f256(s3, s6, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 60) {
s1 = peg$c19;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 62) {
s3 = peg$c33;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e92);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseFileFieldChain();
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parseCondensedPipeChain();
if (s5 === peg$FAILED) {
s5 = null;
}
peg$savedPos = s0;
s0 = peg$f257(s4, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e233);
}
}
return s0;
}
__name(peg$parseFileReferenceInterpolation, "peg$parseFileReferenceInterpolation");
function peg$parseFileReferenceContent() {
var s0;
peg$silentFails++;
s0 = peg$parseAlligatorUnquotedPath();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorQuotedPath();
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e234);
}
}
return s0;
}
__name(peg$parseFileReferenceContent, "peg$parseFileReferenceContent");
function peg$parseCondensedPipe() {
var s0, s1, s2, s3, s4, s5;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = "";
peg$savedPos = s1;
s2 = peg$f258();
s1 = s2;
if (input.charCodeAt(peg$currPos) === 124) {
s2 = peg$c44;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 64) {
s3 = peg$c37;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parseCondensedPipeArgs();
if (s5 === peg$FAILED) {
s5 = null;
}
peg$savedPos = s0;
s0 = peg$f259(s1, s4, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e235);
}
}
return s0;
}
__name(peg$parseCondensedPipe, "peg$parseCondensedPipe");
function peg$parseCondensedPipeArgs() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parsePipeArgList();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f260(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCondensedPipeArgs, "peg$parseCondensedPipeArgs");
function peg$parsePipeArgList() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parsePipeArg();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parsePipeArg();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f261(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parsePipeArg();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f261(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f262(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePipeArgList, "peg$parsePipeArgList");
function peg$parsePipeArg() {
var s0, s1, s2;
s0 = peg$parseStringLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseNumberLiteral();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f263(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parsePipeArg, "peg$parsePipeArg");
function peg$parseCondensedPipeChain() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCondensedPipe();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCondensedPipe();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f264(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e236);
}
}
return s0;
}
__name(peg$parseCondensedPipeChain, "peg$parseCondensedPipeChain");
function peg$parseFileFieldChain() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseAnyFieldAccess();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseAnyFieldAccess();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f265(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e237);
}
}
return s0;
}
__name(peg$parseFileFieldChain, "peg$parseFileFieldChain");
function peg$parseForeachCommandExpression() {
var s0, s1, s3, s4;
s0 = peg$currPos;
if (input.substr(peg$currPos, 7) === peg$c86) {
s1 = peg$c86;
peg$currPos += 7;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e238);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseUnifiedReferenceWithTail();
if (s3 !== peg$FAILED) {
s4 = peg$parseForeachWithClause();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$savedPos = s0;
s0 = peg$f266(s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseForeachCommandExpression, "peg$parseForeachCommandExpression");
function peg$parseForeachArrayArgumentList() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseVariableNoTail();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f267(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseVariableNoTail();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f267(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f268(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseForeachArrayArgumentList, "peg$parseForeachArrayArgumentList");
function peg$parseForeachWithClause() {
var s0, s2, s4, s6, s8;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c87) {
s2 = peg$c87;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e239);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseForeachWithOptions();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f269(s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseForeachWithClause, "peg$parseForeachWithClause");
function peg$parseForeachWithOptions() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseForeachWithOption();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseForeachWithOption();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f270(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseForeachWithOption();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f270(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f271(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseForeachWithOptions, "peg$parseForeachWithOptions");
function peg$parseForeachWithOption() {
var s0;
s0 = peg$parseForeachSeparatorOption();
if (s0 === peg$FAILED) {
s0 = peg$parseForeachTemplateOption();
}
return s0;
}
__name(peg$parseForeachWithOption, "peg$parseForeachWithOption");
function peg$parseForeachSeparatorOption() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 9) === peg$c88) {
s1 = peg$c88;
peg$currPos += 9;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e240);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseDataString();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f272(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseForeachSeparatorOption, "peg$parseForeachSeparatorOption");
function peg$parseForeachTemplateOption() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 8) === peg$c89) {
s1 = peg$c89;
peg$currPos += 8;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e241);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseDataString();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f273(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseForeachTemplateOption, "peg$parseForeachTemplateOption");
function peg$parseForIterationPattern() {
var s0, s1, s2, s4, s6;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c90) {
s4 = peg$c90;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e243);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseVarRHSContent();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f274(s2, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e242);
}
}
return s0;
}
__name(peg$parseForIterationPattern, "peg$parseForIterationPattern");
function peg$parseForSingleAction() {
var s0, s1, s2, s4, s6, s8;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (input.substr(peg$currPos, 6) === peg$c91) {
s2 = peg$c91;
peg$currPos += 6;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e245);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s6 = peg$c92;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s6 !== peg$FAILED) {
peg$parse_();
s8 = peg$parseOutputTarget();
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f275(s4, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (input.substr(peg$currPos, 4) === peg$c93) {
s2 = peg$c93;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e247);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c94) {
s2 = peg$c94;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e248);
}
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseVarRHSContent();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f276(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseUnifiedReferenceWithTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f277(s1);
}
s0 = s1;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e244);
}
}
return s0;
}
__name(peg$parseForSingleAction, "peg$parseForSingleAction");
function peg$parseCommaSpace() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s2 = peg$c43;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parse_();
s1 = [
s1,
s2,
s3
];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e249);
}
}
return s0;
}
__name(peg$parseCommaSpace, "peg$parseCommaSpace");
function peg$parseSemicolonSpace() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 59) {
s2 = peg$c47;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e125);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parse_();
s1 = [
s1,
s2,
s3
];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e250);
}
}
return s0;
}
__name(peg$parseSemicolonSpace, "peg$parseSemicolonSpace");
function peg$parseEnvironmentVarList() {
var s0, s1, s2, s3, s5, s7;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseEnvironmentVarReference();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseEnvironmentVarReference();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f278(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseEnvironmentVarReference();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f278(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f279(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e251);
}
}
return s0;
}
__name(peg$parseEnvironmentVarList, "peg$parseEnvironmentVarList");
function peg$parseEnvironmentVarReference() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseBaseIdentifier();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f280(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e252);
}
}
return s0;
}
__name(peg$parseEnvironmentVarReference, "peg$parseEnvironmentVarReference");
function peg$parseOutputSource() {
var s0;
peg$silentFails++;
s0 = peg$parseOutputVariable();
if (s0 === peg$FAILED) {
s0 = peg$parseOutputExecInvocation();
if (s0 === peg$FAILED) {
s0 = peg$parseOutputCommand();
if (s0 === peg$FAILED) {
s0 = peg$parseOutputLiteral();
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e253);
}
}
return s0;
}
__name(peg$parseOutputSource, "peg$parseOutputSource");
function peg$parseOutputSourceVariable() {
var s0;
peg$silentFails++;
s0 = peg$parseOutputVariable();
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e254);
}
}
return s0;
}
__name(peg$parseOutputSourceVariable, "peg$parseOutputSourceVariable");
function peg$parseOutputSourceVarAndExec() {
var s0;
peg$silentFails++;
s0 = peg$parseOutputVariable();
if (s0 === peg$FAILED) {
s0 = peg$parseOutputExecInvocation();
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e255);
}
}
return s0;
}
__name(peg$parseOutputSourceVarAndExec, "peg$parseOutputSourceVarAndExec");
function peg$parseOutputExecInvocation() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseUnifiedReferenceWithTail();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f281(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseOutputExecInvocation, "peg$parseOutputExecInvocation");
function peg$parseOutputVariable() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseUnifiedReferenceNoTail();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 124) {
s3 = peg$c44;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s3 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c87) {
s3 = peg$c87;
peg$currPos += 4;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e239);
}
}
if (s3 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c95) {
s3 = peg$c95;
peg$currPos += 5;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e256);
}
}
if (s3 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c96) {
s3 = peg$c96;
peg$currPos += 5;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e257);
}
}
}
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f282(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseOutputVariable, "peg$parseOutputVariable");
function peg$parseOutputCommand() {
var s0, s1, s3;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c97) {
s1 = peg$c97;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e258);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseUnifiedReferenceNoTail();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f283(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseOutputCommand, "peg$parseOutputCommand");
function peg$parseOutputLiteral() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f284(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseOutputLiteral, "peg$parseOutputLiteral");
function peg$parseOutputTarget() {
var s0;
peg$silentFails++;
s0 = peg$parseOutputTargetStream();
if (s0 === peg$FAILED) {
s0 = peg$parseOutputTargetEnv();
if (s0 === peg$FAILED) {
s0 = peg$parseOutputTargetResolver();
if (s0 === peg$FAILED) {
s0 = peg$parseOutputTargetFile();
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e259);
}
}
return s0;
}
__name(peg$parseOutputTarget, "peg$parseOutputTarget");
function peg$parseOutputTargetStream() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c98) {
s1 = peg$c98;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e261);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c99) {
s1 = peg$c99;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e262);
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f285(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e260);
}
}
return s0;
}
__name(peg$parseOutputTargetStream, "peg$parseOutputTargetStream");
function peg$parseOutputTargetEnv() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c100) {
s1 = peg$c100;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e264);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f286(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f287(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e263);
}
}
return s0;
}
__name(peg$parseOutputTargetEnv, "peg$parseOutputTargetEnv");
function peg$parseOutputTargetResolver() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$parseResolverPath();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$savedPos = s0;
s0 = peg$f288(s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e265);
}
}
return s0;
}
__name(peg$parseOutputTargetResolver, "peg$parseOutputTargetResolver");
function peg$parseResolverPath() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r38.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e266);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r38.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e266);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f289(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseResolverPath, "peg$parseResolverPath");
function peg$parseOutputTargetFile() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseOutputFilePath();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f290(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e267);
}
}
return s0;
}
__name(peg$parseOutputTargetFile, "peg$parseOutputTargetFile");
function peg$parseOutputFilePath() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f291(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r39.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e269);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r39.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e269);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f292(s1);
}
s0 = s1;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e268);
}
}
return s0;
}
__name(peg$parseOutputFilePath, "peg$parseOutputFilePath");
function peg$parseOutputFormat() {
var s0, s1, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c39) {
s1 = peg$c39;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f293(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e270);
}
}
return s0;
}
__name(peg$parseOutputFormat, "peg$parseOutputFormat");
function peg$parsePathSegments() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parsePathSegment();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s4 = peg$c22;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parsePathSegment();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f294(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s4 = peg$c22;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parsePathSegment();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f294(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f295(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePathSegments, "peg$parsePathSegments");
function peg$parsePathSegment() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r40.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e271);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r40.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e271);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f296(s1);
}
s0 = s1;
return s0;
}
__name(peg$parsePathSegment, "peg$parsePathSegment");
function peg$parsePathExpression() {
var s0;
peg$silentFails++;
s0 = peg$parseQuotedStringPath();
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e272);
}
}
return s0;
}
__name(peg$parsePathExpression, "peg$parsePathExpression");
function peg$parseQuotedStringPath() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r41.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r41.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f297(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r42.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r42.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f298(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e273);
}
}
return s0;
}
__name(peg$parseQuotedStringPath, "peg$parseQuotedStringPath");
function peg$parseURLProtocolType() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c35) {
s3 = peg$c35;
peg$currPos += 4;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e95);
}
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 115) {
s4 = peg$c101;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e277);
}
}
if (s4 === peg$FAILED) {
s4 = null;
}
s3 = [
s3,
s4
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c102) {
s2 = peg$c102;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e278);
}
}
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f299(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e276);
}
}
return s0;
}
__name(peg$parseURLProtocolType, "peg$parseURLProtocolType");
function peg$parseURLRest() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c103) {
s1 = peg$c103;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e280);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseURLParts();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f300(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e279);
}
}
return s0;
}
__name(peg$parseURLRest, "peg$parseURLRest");
function peg$parseURLParts() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseURLEscapedBackslash();
if (s2 === peg$FAILED) {
s2 = peg$parseURLEscapedAt();
if (s2 === peg$FAILED) {
s2 = peg$parseURLVariableRef();
if (s2 === peg$FAILED) {
s2 = peg$parseURLSegment();
}
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseURLEscapedBackslash();
if (s2 === peg$FAILED) {
s2 = peg$parseURLEscapedAt();
if (s2 === peg$FAILED) {
s2 = peg$parseURLVariableRef();
if (s2 === peg$FAILED) {
s2 = peg$parseURLSegment();
}
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f301(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e281);
}
}
return s0;
}
__name(peg$parseURLParts, "peg$parseURLParts");
function peg$parseURLEscapedBackslash() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c104) {
s1 = peg$c104;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e283);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f302();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e282);
}
}
return s0;
}
__name(peg$parseURLEscapedBackslash, "peg$parseURLEscapedBackslash");
function peg$parseURLEscapedAt() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c105) {
s1 = peg$c105;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e285);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f303();
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e284);
}
}
return s0;
}
__name(peg$parseURLEscapedAt, "peg$parseURLEscapedAt");
function peg$parseURLVariableRef() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f304(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e286);
}
}
return s0;
}
__name(peg$parseURLVariableRef, "peg$parseURLVariableRef");
function peg$parseURLSegment() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r43.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e288);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r43.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e288);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f305(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e287);
}
}
return s0;
}
__name(peg$parseURLSegment, "peg$parseURLSegment");
function peg$parseSectionIdentifier() {
var s0, s1, s2, s3, s4, s5, s6;
peg$silentFails++;
s0 = peg$parseVariableNoTail();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s6 = peg$c20;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s6 = peg$c20;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f306(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s6 = peg$c9;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s6 = peg$c9;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f307(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = [];
s2 = peg$parseSectionNameChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseSectionNameChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f308(s1);
}
s0 = s1;
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e289);
}
}
return s0;
}
__name(peg$parseSectionIdentifier, "peg$parseSectionIdentifier");
function peg$parseSectionNameChar() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = input.charAt(peg$currPos);
if (peg$r44.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e290);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f309(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseSectionNameChar, "peg$parseSectionNameChar");
function peg$parseIsInRHS() {
var s0;
peg$silentFails++;
peg$savedPos = peg$currPos;
s0 = peg$f310();
if (s0) {
s0 = void 0;
} else {
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e291);
}
}
return s0;
}
__name(peg$parseIsInRHS, "peg$parseIsInRHS");
function peg$parseRunRHS() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseWrappedCommandContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f311(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseWrappedCodeContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f312(s1);
}
s0 = s1;
}
return s0;
}
__name(peg$parseRunRHS, "peg$parseRunRHS");
function peg$parseSecurityOptions() {
var s0, s1, s2, s4;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTTLOption();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$parse_();
s4 = peg$parseTrustOption();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f313(s1, s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f314(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseTrustOption();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f315(s1);
}
s0 = s1;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e292);
}
}
return s0;
}
__name(peg$parseSecurityOptions, "peg$parseSecurityOptions");
function peg$parseTTLOption() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseTTLValue();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f316(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e293);
}
}
return s0;
}
__name(peg$parseTTLOption, "peg$parseTTLOption");
function peg$parseTTLValue() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTTLDuration();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f317(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseTTLSpecial();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f318(s1);
}
s0 = s1;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e294);
}
}
return s0;
}
__name(peg$parseTTLValue, "peg$parseTTLValue");
function peg$parseTTLDuration() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseInteger();
if (s1 !== peg$FAILED) {
s2 = peg$parseTTLUnit();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f319(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e295);
}
}
return s0;
}
__name(peg$parseTTLDuration, "peg$parseTTLDuration");
function peg$parseTTLUnit() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
s1 = input.charAt(peg$currPos);
if (peg$r45.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e297);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f320(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e296);
}
}
return s0;
}
__name(peg$parseTTLUnit, "peg$parseTTLUnit");
function peg$parseTTLSpecial() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c106) {
s1 = peg$c106;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e299);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c107) {
s1 = peg$c107;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e300);
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f321(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e298);
}
}
return s0;
}
__name(peg$parseTTLSpecial, "peg$parseTTLSpecial");
function peg$parseTrustOption() {
var s0, s1, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c95) {
s1 = peg$c95;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e256);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseTrustLevel();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f322(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e301);
}
}
return s0;
}
__name(peg$parseTrustOption, "peg$parseTrustOption");
function peg$parseTrustLevel() {
var s0, s1;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c108) {
s1 = peg$c108;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e303);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c109) {
s1 = peg$c109;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e304);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c110) {
s1 = peg$c110;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e305);
}
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f323(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e302);
}
}
return s0;
}
__name(peg$parseTrustLevel, "peg$parseTrustLevel");
function peg$parseInteger() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r4.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e27);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r4.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e27);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f324(s1);
}
s0 = s1;
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e306);
}
}
return s0;
}
__name(peg$parseInteger, "peg$parseInteger");
function peg$parseDataString() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEscapedSingleStringContent();
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f325(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseVariableWithPipes();
if (s3 === peg$FAILED) {
s3 = peg$parseDoubleQuotedText();
}
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseVariableWithPipes();
if (s3 === peg$FAILED) {
s3 = peg$parseDoubleQuotedText();
}
}
}
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f326(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e307);
}
}
return s0;
}
__name(peg$parseDataString, "peg$parseDataString");
function peg$parseTemplateString() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEscapedSingleStringContent();
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f327(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseInterpolatedDoubleQuoteContent();
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e308);
}
}
return s0;
}
__name(peg$parseTemplateString, "peg$parseTemplateString");
function peg$parseExpressionString() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseEscapedSingleStringContent();
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f328(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseVariableWithPipes();
if (s3 === peg$FAILED) {
s3 = peg$parseDoubleQuotedText();
}
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseSpecialVariable();
if (s3 === peg$FAILED) {
s3 = peg$parseFileReferenceInterpolation();
if (s3 === peg$FAILED) {
s3 = peg$parseVariableWithPipes();
if (s3 === peg$FAILED) {
s3 = peg$parseDoubleQuotedText();
}
}
}
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f329(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e309);
}
}
return s0;
}
__name(peg$parseExpressionString, "peg$parseExpressionString");
function peg$parseShellCommandLine() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parsePipeline();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f330(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseShellCommandLine, "peg$parseShellCommandLine");
function peg$parseChainOperator() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c45) {
s1 = peg$c45;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e123);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c46) {
s1 = peg$c46;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e124);
}
}
if (s1 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 59) {
s1 = peg$c47;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e125);
}
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f331(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseChainOperator, "peg$parseChainOperator");
function peg$parseRedirectionOperator() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c0) {
s1 = peg$c0;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e1);
}
}
if (s1 === peg$FAILED) {
s1 = input.charAt(peg$currPos);
if (peg$r46.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e310);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c111) {
s1 = peg$c111;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e311);
}
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f332(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseRedirectionOperator, "peg$parseRedirectionOperator");
function peg$parseBackgroundOperator() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 38) {
s1 = peg$c112;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e312);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
s3 = input.charAt(peg$currPos);
if (peg$r47.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e313);
}
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f333();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseBackgroundOperator, "peg$parseBackgroundOperator");
function peg$parsePipeline() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseShellSimpleCommand();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 124) {
s5 = peg$c44;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseShellSimpleCommand();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f334(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 124) {
s5 = peg$c44;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseShellSimpleCommand();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f334(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f335(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePipeline, "peg$parsePipeline");
function peg$parseShellSimpleCommand() {
var s0, s1, s2, s3, s5;
s0 = peg$currPos;
s1 = peg$parseShellCommandName();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
s5 = peg$parseShellCommandArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f336(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
s5 = peg$parseShellCommandArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f336(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f337(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseShellSimpleCommand, "peg$parseShellSimpleCommand");
function peg$parseShellCommandName() {
var s0, s1;
s0 = peg$parseShellVariable();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseUnquotedWord();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f338(s1);
}
s0 = s1;
}
return s0;
}
__name(peg$parseShellCommandName, "peg$parseShellCommandName");
function peg$parseShellCommandArgument() {
var s0;
s0 = peg$parseQuotedString();
if (s0 === peg$FAILED) {
s0 = peg$parseShellVariable();
if (s0 === peg$FAILED) {
s0 = peg$parseUnquotedWordWithCheck();
}
}
return s0;
}
__name(peg$parseShellCommandArgument, "peg$parseShellCommandArgument");
function peg$parseUnquotedWordWithCheck() {
var s0, s1, s2;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f339();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = peg$parseUnquotedWord();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f340(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseUnquotedWordWithCheck, "peg$parseUnquotedWordWithCheck");
function peg$parseShellVariable() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f341(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseShellVariable, "peg$parseShellVariable");
function peg$parseQuotedString() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseDoubleQuotedContent();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseDoubleQuotedContent();
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f342(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseSingleQuotedContent();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseSingleQuotedContent();
}
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f343(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseQuotedString, "peg$parseQuotedString");
function peg$parseDoubleQuotedContent() {
var s0, s1, s2, s3;
s0 = peg$parseShellVariable();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r48.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e314);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r48.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e314);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f344(s1);
}
s0 = s1;
}
return s0;
}
__name(peg$parseDoubleQuotedContent, "peg$parseDoubleQuotedContent");
function peg$parseSingleQuotedContent() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r42.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r42.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f345(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseSingleQuotedContent, "peg$parseSingleQuotedContent");
function peg$parseUnquotedWord() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r49.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e315);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r49.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e315);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f346(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseUnquotedWord, "peg$parseUnquotedWord");
function peg$parseTailModifiers() {
var s0, s2, s4;
peg$silentFails++;
s0 = peg$currPos;
peg$parse_();
s2 = peg$parseTailKeyword();
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseTailValue();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f347(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e316);
}
}
return s0;
}
__name(peg$parseTailModifiers, "peg$parseTailModifiers");
function peg$parseTailKeyword() {
var s0;
if (input.substr(peg$currPos, 5) === peg$c95) {
s0 = peg$c95;
peg$currPos += 5;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e256);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 8) === peg$c113) {
s0 = peg$c113;
peg$currPos += 8;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e317);
}
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s0 = peg$c44;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c96) {
s0 = peg$c96;
peg$currPos += 5;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e257);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c87) {
s0 = peg$c87;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e239);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c39) {
s0 = peg$c39;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseTailKeyword, "peg$parseTailKeyword");
function peg$parseTailValue() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseWithProperties();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c78;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f348(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parsePipelineCommandList();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f349(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parsePipelineShorthand();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f350(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseTrustLevel();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f351(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseNeedsObject();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f352(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseAsSectionRenameString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f353(s1);
}
s0 = s1;
}
}
}
}
}
return s0;
}
__name(peg$parseTailValue, "peg$parseTailValue");
function peg$parsePipelineShorthand() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parsePipelineCommand();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parsePipelineRest();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parsePipelineRest();
}
peg$savedPos = s0;
s0 = peg$f354(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePipelineShorthand, "peg$parsePipelineShorthand");
function peg$parsePipelineRest() {
var s0, s2, s4;
s0 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 124) {
s2 = peg$c44;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parsePipelineCommand();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f355(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePipelineRest, "peg$parsePipelineRest");
function peg$parseTTLClause() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseTTLValue();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f356(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e318);
}
}
return s0;
}
__name(peg$parseTTLClause, "peg$parseTTLClause");
function peg$parseUnifiedReference() {
var s0;
peg$silentFails++;
s0 = peg$parseFieldAccessExec();
if (s0 === peg$FAILED) {
s0 = peg$parseSimpleExec();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableWithTail();
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e319);
}
}
return s0;
}
__name(peg$parseUnifiedReference, "peg$parseUnifiedReference");
function peg$parseUnifiedReferenceWithTail() {
var s0;
peg$silentFails++;
s0 = peg$parseUnifiedReference();
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e320);
}
}
return s0;
}
__name(peg$parseUnifiedReferenceWithTail, "peg$parseUnifiedReferenceWithTail");
function peg$parseUnifiedReferenceNoTail() {
var s0;
peg$silentFails++;
s0 = peg$parseFieldAccessExecNoTail();
if (s0 === peg$FAILED) {
s0 = peg$parseSimpleExecNoTail();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableNoTail();
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e321);
}
}
return s0;
}
__name(peg$parseUnifiedReferenceNoTail, "peg$parseUnifiedReferenceNoTail");
function peg$parseFieldAccessExec() {
var s0, s1, s2, s3, s4, s5, s7, s8;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseCommandArgumentList();
if (s5 === peg$FAILED) {
s5 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s7 = peg$c75;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s7 !== peg$FAILED) {
s8 = peg$parseTailModifiers();
if (s8 === peg$FAILED) {
s8 = null;
}
peg$savedPos = s0;
s0 = peg$f357(s2, s3, s5, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e322);
}
}
return s0;
}
__name(peg$parseFieldAccessExec, "peg$parseFieldAccessExec");
function peg$parseFieldAccessExecNoTail() {
var s0, s1, s2, s3, s4, s5, s7, s8, s9;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseCommandArgumentList();
if (s5 === peg$FAILED) {
s5 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s7 = peg$c75;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s7 !== peg$FAILED) {
s8 = peg$currPos;
peg$silentFails++;
s9 = peg$parseTailModifiers();
peg$silentFails--;
if (s9 === peg$FAILED) {
s8 = void 0;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f358(s2, s3, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e323);
}
}
return s0;
}
__name(peg$parseFieldAccessExecNoTail, "peg$parseFieldAccessExecNoTail");
function peg$parseSimpleExec() {
var s0, s1, s2, s3, s4, s6, s7;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s3 = peg$c74;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandArgumentList();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s6 = peg$c75;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseTailModifiers();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f359(s2, s4, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e324);
}
}
return s0;
}
__name(peg$parseSimpleExec, "peg$parseSimpleExec");
function peg$parseSimpleExecNoTail() {
var s0, s1, s2, s3, s4, s6, s7, s8;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s3 = peg$c74;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandArgumentList();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s6 = peg$c75;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$currPos;
peg$silentFails++;
s8 = peg$parseTailModifiers();
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f360(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e325);
}
}
return s0;
}
__name(peg$parseSimpleExecNoTail, "peg$parseSimpleExecNoTail");
function peg$parseVariableWithTail() {
var s0, s1, s2, s3, s4, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseAnyFieldAccess();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseAnyFieldAccess();
}
s5 = peg$parseTailModifiers();
if (s5 === peg$FAILED) {
s5 = null;
}
peg$savedPos = s0;
s0 = peg$f361(s2, s4, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e326);
}
}
return s0;
}
__name(peg$parseVariableWithTail, "peg$parseVariableWithTail");
function peg$parseVariableNoTail() {
var s0, s1, s2, s3, s4, s5, s6;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseAnyFieldAccess();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseAnyFieldAccess();
}
s5 = peg$currPos;
peg$silentFails++;
s6 = peg$parseTailModifiers();
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f362(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e327);
}
}
return s0;
}
__name(peg$parseVariableNoTail, "peg$parseVariableNoTail");
function peg$parseUnifiedCodeBrackets() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$currPos;
peg$parseUnifiedCodeContent();
s3 = input.substring(s3, peg$currPos);
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c78;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f363(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e328);
}
}
return s0;
}
__name(peg$parseUnifiedCodeBrackets, "peg$parseUnifiedCodeBrackets");
function peg$parseUnifiedCommandBrackets() {
var s0, s1, s2, s3, s5, s6, s8, s9;
peg$silentFails++;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f364();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 123) {
s2 = peg$c77;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s3 = peg$f365();
if (s3) {
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseUnifiedCommandParts();
if (s5 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s6 = peg$f366(s5);
if (s6) {
s6 = void 0;
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s9 = peg$f367(s5);
if (s9) {
s9 = void 0;
} else {
s9 = peg$FAILED;
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f368(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e329);
}
}
return s0;
}
__name(peg$parseUnifiedCommandBrackets, "peg$parseUnifiedCommandBrackets");
function peg$parseUnifiedRunContent() {
var s0, s1, s3, s5;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c114) {
s1 = peg$c114;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e331);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseUnifiedRunContentInner();
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c115) {
s5 = peg$c115;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e332);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f369(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e330);
}
}
return s0;
}
__name(peg$parseUnifiedRunContent, "peg$parseUnifiedRunContent");
function peg$parseUnifiedRunContentInner() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseRunCodeLanguage();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
s3 = peg$currPos;
peg$parseUnifiedCodeContent();
s3 = input.substring(s3, peg$currPos);
peg$savedPos = s0;
s0 = peg$f370(s1, s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseUnifiedCommandParts();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f371(s1);
}
s0 = s1;
}
return s0;
}
__name(peg$parseUnifiedRunContentInner, "peg$parseUnifiedRunContentInner");
function peg$parseShellCommandLineContent() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r50.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e333);
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r50.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e333);
}
}
}
s1 = input.substring(s1, peg$currPos);
peg$savedPos = s0;
s1 = peg$f372(s1);
s0 = s1;
return s0;
}
__name(peg$parseShellCommandLineContent, "peg$parseShellCommandLineContent");
function peg$parseUnifiedCommandParts() {
var s0, s1, s2, s3;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f373();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseUnifiedCommandToken();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseUnifiedCommandToken();
}
peg$savedPos = s0;
s0 = peg$f374(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseUnifiedCommandParts, "peg$parseUnifiedCommandParts");
function peg$parseUnifiedCommandToken() {
var s0;
s0 = peg$parseVariableNoTail();
if (s0 === peg$FAILED) {
s0 = peg$parseUnifiedCommandQuotedString();
if (s0 === peg$FAILED) {
s0 = peg$parseUnifiedCommandWord();
if (s0 === peg$FAILED) {
s0 = peg$parseUnifiedCommandSpace();
}
}
}
return s0;
}
__name(peg$parseUnifiedCommandToken, "peg$parseUnifiedCommandToken");
function peg$parseUnifiedCommandQuotedString() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseUnifiedDoubleQuotedContent();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseUnifiedDoubleQuotedContent();
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f375(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseUnifiedCommandSingleQuotedContent();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseUnifiedCommandSingleQuotedContent();
}
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f376(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseUnifiedCommandQuotedString, "peg$parseUnifiedCommandQuotedString");
function peg$parseUnifiedDoubleQuotedContent() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f377(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseFileReferenceInterpolation();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f378(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s5 = peg$c20;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 64) {
s6 = peg$c37;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 60) {
s7 = peg$c19;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s7 !== peg$FAILED) {
s4 = [
s4,
s5,
s6,
s7
];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} 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$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s5 = peg$c20;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 64) {
s6 = peg$c37;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 60) {
s7 = peg$c19;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
if (input.length > peg$currPos) {
s7 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s7 !== peg$FAILED) {
s4 = [
s4,
s5,
s6,
s7
];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f379(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f380();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 60) {
s1 = peg$c19;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f381();
}
s0 = s1;
}
}
}
}
return s0;
}
__name(peg$parseUnifiedDoubleQuotedContent, "peg$parseUnifiedDoubleQuotedContent");
function peg$parseUnifiedCommandSingleQuotedContent() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s5 = peg$c9;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
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$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s5 = peg$c9;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
s4 = [
s4,
s5
];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f382(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseUnifiedCommandSingleQuotedContent, "peg$parseUnifiedCommandSingleQuotedContent");
function peg$parseUnifiedCommandWord() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseUnifiedCommandWordChar();
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseUnifiedCommandWordChar();
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f383(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseUnifiedCommandWord, "peg$parseUnifiedCommandWord");
function peg$parseUnifiedCommandWordChar() {
var s0, s1, s2;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f384();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f385(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseUnifiedCommandWordChar, "peg$parseUnifiedCommandWordChar");
function peg$parseUnifiedCommandSpace() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r51.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e334);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r51.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e334);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f386(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseUnifiedCommandSpace, "peg$parseUnifiedCommandSpace");
function peg$parseUnifiedCodeContent() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseUnifiedCodeChar();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseUnifiedCodeChar();
}
peg$savedPos = s0;
s1 = peg$f387(s1);
s0 = s1;
return s0;
}
__name(peg$parseUnifiedCodeContent, "peg$parseUnifiedCodeContent");
function peg$parseUnifiedCodeChar() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseDoubleQuoteChar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseDoubleQuoteChar();
}
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f388(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseSingleQuoteChar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseSingleQuoteChar();
}
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f389(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 96) {
s1 = peg$c21;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseBacktickChar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseBacktickChar();
}
if (input.charCodeAt(peg$currPos) === 96) {
s3 = peg$c21;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f390(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c116) {
s1 = peg$c116;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e335);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c117) {
s5 = peg$c117;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e336);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f391(s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c117) {
s5 = peg$c117;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e336);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f391(s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (input.substr(peg$currPos, 2) === peg$c117) {
s3 = peg$c117;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e336);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f392(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c103) {
s1 = peg$c103;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e280);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 10) {
s5 = peg$c2;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f393(s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 10) {
s5 = peg$c2;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e4);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
if (input.length > peg$currPos) {
s5 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f393(s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f394(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseUnifiedCodeContent();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s3 = peg$c78;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f395(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 125) {
s2 = peg$c78;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f396(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseUnifiedCodeChar, "peg$parseUnifiedCodeChar");
function peg$parseDoubleQuoteChar() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c18;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e40);
}
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f397(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s2 = peg$c20;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f398(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseDoubleQuoteChar, "peg$parseDoubleQuoteChar");
function peg$parseSingleQuoteChar() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c18;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e40);
}
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f399(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s2 = peg$c9;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f400(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseSingleQuoteChar, "peg$parseSingleQuoteChar");
function peg$parseBacktickChar() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 92) {
s1 = peg$c18;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e40);
}
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f401(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 96) {
s2 = peg$c21;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f402(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseBacktickChar, "peg$parseBacktickChar");
function peg$parseVarRHSContent() {
var s0;
peg$silentFails++;
s0 = peg$parseExpressionWithOperator();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseForExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseForeachCommandExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseFieldAccessExecPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseExecInvocationPattern();
if (s0 === peg$FAILED) {
s0 = peg$parseCodeExecution();
if (s0 === peg$FAILED) {
s0 = peg$parseTemplateWithPipeline();
if (s0 === peg$FAILED) {
s0 = peg$parseTemplateStyleInterpolation();
if (s0 === peg$FAILED) {
s0 = peg$parseDataObjectLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseArrayLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorWithFields();
if (s0 === peg$FAILED) {
s0 = peg$parseAlligatorExpression();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableWithSpacedPipes();
if (s0 === peg$FAILED) {
s0 = peg$parseVariableReferenceWithTail();
if (s0 === peg$FAILED) {
s0 = peg$parseNestedDirective();
if (s0 === peg$FAILED) {
s0 = peg$parsePrimitiveValue();
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e337);
}
}
return s0;
}
__name(peg$parseVarRHSContent, "peg$parseVarRHSContent");
function peg$parseExpressionWithOperator() {
var s0, s1, s2;
s0 = peg$currPos;
peg$savedPos = peg$currPos;
s1 = peg$f403();
if (s1) {
s1 = void 0;
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = peg$parseExpression();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f404(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseExpressionWithOperator, "peg$parseExpressionWithOperator");
function peg$parseAlligatorWithFields() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseAlligatorExpression();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseAnyFieldAccess();
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseAnyFieldAccess();
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = peg$parseCondensedPipeChain();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$savedPos = s0;
s0 = peg$f405(s1, s2, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e338);
}
}
return s0;
}
__name(peg$parseAlligatorWithFields, "peg$parseAlligatorWithFields");
function peg$parseTemplateWithPipeline() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseTemplateStyleInterpolation();
if (s1 !== peg$FAILED) {
s2 = peg$parseCondensedPipeChain();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f406(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e339);
}
}
return s0;
}
__name(peg$parseTemplateWithPipeline, "peg$parseTemplateWithPipeline");
function peg$parseVariableWithSpacedPipes() {
var s0, s1, s2, s3, s4, s5, s6, s7, s9, s10;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
s4 = peg$currPos;
s5 = peg$parse_();
s6 = peg$currPos;
s7 = "";
peg$savedPos = s6;
s7 = peg$f407(s2, s3);
s6 = s7;
if (input.charCodeAt(peg$currPos) === 124) {
s7 = peg$c44;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s9 = peg$c37;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s9 !== peg$FAILED) {
s10 = peg$parseBaseIdentifier();
if (s10 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f408(s2, s3, s6, s10);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = [];
s6 = peg$parseSpacedOrCondensedPipe();
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseSpacedOrCondensedPipe();
}
peg$savedPos = s0;
s0 = peg$f409(s2, s3, s4, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e340);
}
}
return s0;
}
__name(peg$parseVariableWithSpacedPipes, "peg$parseVariableWithSpacedPipes");
function peg$parseSpacedOrCondensedPipe() {
var s0, s2, s3, s5, s6;
s0 = peg$currPos;
peg$parse_();
s2 = peg$currPos;
s3 = "";
peg$savedPos = s2;
s3 = peg$f410();
s2 = s3;
if (input.charCodeAt(peg$currPos) === 124) {
s3 = peg$c44;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e122);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseBaseIdentifier();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f411(s2, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseSpacedOrCondensedPipe, "peg$parseSpacedOrCondensedPipe");
function peg$parseFieldAccessExecPattern() {
var s0, s1, s2, s3, s4, s5, s7, s8;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseCommandArgumentList();
if (s5 === peg$FAILED) {
s5 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s7 = peg$c75;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s7 !== peg$FAILED) {
s8 = peg$parseTailModifiers();
if (s8 === peg$FAILED) {
s8 = null;
}
peg$savedPos = s0;
s0 = peg$f412(s2, s3, s5, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e322);
}
}
return s0;
}
__name(peg$parseFieldAccessExecPattern, "peg$parseFieldAccessExecPattern");
function peg$parseExecInvocationPattern() {
var s0, s1, s2, s3, s4, s6, s7;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s3 = peg$c74;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandArgumentList();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s6 = peg$c75;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseTailModifiers();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f413(s2, s4, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e341);
}
}
return s0;
}
__name(peg$parseExecInvocationPattern, "peg$parseExecInvocationPattern");
function peg$parsePrimitiveValue() {
var s0;
s0 = peg$parseExpressionString();
if (s0 === peg$FAILED) {
s0 = peg$parseNumberLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseBooleanLiteral();
if (s0 === peg$FAILED) {
s0 = peg$parseNullLiteral();
}
}
}
return s0;
}
__name(peg$parsePrimitiveValue, "peg$parsePrimitiveValue");
function peg$parseObjectPropertyValue() {
var s0;
peg$silentFails++;
s0 = peg$parseDataPropertyValue();
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e342);
}
}
return s0;
}
__name(peg$parseObjectPropertyValue, "peg$parseObjectPropertyValue");
function peg$parseRunCommandValue() {
var s0, s1, s3, s4, s5, s6;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c48) {
s1 = peg$c48;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$currPos;
s5 = [];
s6 = input.charAt(peg$currPos);
if (peg$r41.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = input.charAt(peg$currPos);
if (peg$r41.test(s6)) {
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
}
s4 = input.substring(s4, peg$currPos);
if (input.charCodeAt(peg$currPos) === 34) {
s5 = peg$c20;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f414(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c48) {
s1 = peg$c48;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseUnifiedCommandBrackets();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f415(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c48) {
s1 = peg$c48;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s3 = peg$c37;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseUnifiedReferenceWithTail();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f416(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseRunCommandValue, "peg$parseRunCommandValue");
function peg$parseCodeExecutionValue() {
var s0, s2, s4, s6, s8;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
s2 = peg$parseVarCodeLanguage();
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseCodeBlockContent();
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f417(s2, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCodeExecutionValue, "peg$parseCodeExecutionValue");
function peg$parsePropertyKey() {
var s0;
s0 = peg$parseBaseIdentifier();
if (s0 === peg$FAILED) {
s0 = peg$parseDataString();
}
return s0;
}
__name(peg$parsePropertyKey, "peg$parsePropertyKey");
function peg$parseNestedDirective() {
var s0, s3, s5, s7, s9, s11;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 3) === peg$c48) {
s3 = peg$c48;
peg$currPos += 3;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseVarCodeLanguage();
if (s5 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s7 = peg$c77;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
s9 = peg$parseCodeBlockContent();
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s11 = peg$c78;
peg$currPos++;
} else {
s11 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s11 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f418(s5, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 3) === peg$c48) {
s3 = peg$c48;
peg$currPos += 3;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s5 = peg$c41;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseCommandContent();
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s9 = peg$c42;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f419(s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseNestedDirective, "peg$parseNestedDirective");
function peg$parseCommandContent() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 93) {
s4 = peg$c42;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
s3 = [
s3,
s4
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 93) {
s4 = peg$c42;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
if (input.length > peg$currPos) {
s4 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s4 !== peg$FAILED) {
s3 = [
s3,
s4
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
peg$savedPos = s0;
s1 = peg$f420(s1);
s0 = s1;
return s0;
}
__name(peg$parseCommandContent, "peg$parseCommandContent");
function peg$parseCodeExecution() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s10;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (input.substr(peg$currPos, 3) === peg$c48) {
s2 = peg$c48;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parse_();
s4 = peg$parseVarCodeLanguage();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s6 = peg$c77;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$parseCodeBlockContent();
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s10 = peg$c78;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f421(s4, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c22;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (input.substr(peg$currPos, 3) === peg$c48) {
s2 = peg$c48;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parse_();
s4 = peg$parseUnifiedCommandBrackets();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f422(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVarCodeLanguage();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s3 = peg$c77;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
s5 = peg$parseCodeBlockContent();
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s7 = peg$c78;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f423(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e343);
}
}
return s0;
}
__name(peg$parseCodeExecution, "peg$parseCodeExecution");
function peg$parseVarCodeLanguage() {
var s0;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c118) {
s0 = peg$c118;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e345);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 10) === peg$c119) {
s0 = peg$c119;
peg$currPos += 10;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e346);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c59) {
s0 = peg$c59;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e139);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c56) {
s0 = peg$c56;
peg$currPos += 6;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e136);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c61) {
s0 = peg$c61;
peg$currPos += 4;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e141);
}
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c60) {
s0 = peg$c60;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e140);
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
if (peg$silentFails === 0) {
peg$fail(peg$e344);
}
}
return s0;
}
__name(peg$parseVarCodeLanguage, "peg$parseVarCodeLanguage");
function peg$parseCodeBlockContent() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseCodeChar();
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseCodeChar();
}
peg$savedPos = s0;
s1 = peg$f424(s1);
s0 = s1;
peg$silentFails--;
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e347);
}
return s0;
}
__name(peg$parseCodeBlockContent, "peg$parseCodeBlockContent");
function peg$parseCodeChar() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseCodeBlockContent();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s3 = peg$c78;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f425(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 125) {
s2 = peg$c78;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
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$e8);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f426(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseCodeChar, "peg$parseCodeChar");
function peg$parseWhenExpression() {
var s0, s1, s3, s5, s7, s9, s10;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c120) {
s1 = peg$c120;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e349);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s5 = peg$c41;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseWhenExpressionConditionList();
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s9 = peg$c42;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s9 !== peg$FAILED) {
s10 = peg$parseTailModifiers();
if (s10 === peg$FAILED) {
s10 = null;
}
peg$savedPos = s0;
s0 = peg$f427(s7, s10);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c120) {
s1 = peg$c120;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e349);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s5 = peg$c41;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
peg$savedPos = peg$currPos;
s7 = peg$f428();
if (s7) {
s7 = void 0;
} else {
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f429();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c120) {
s1 = peg$c120;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e349);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
peg$savedPos = s0;
s0 = peg$f430();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c120) {
s1 = peg$c120;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e349);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
peg$savedPos = peg$currPos;
s3 = peg$f431();
if (s3) {
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f432();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e348);
}
}
return s0;
}
__name(peg$parseWhenExpression, "peg$parseWhenExpression");
function peg$parseWhenExpressionConditionList() {
var s0, s1, s2, s3, s5;
s0 = peg$currPos;
s1 = peg$parseWhenExpressionConditionPair();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
s5 = peg$parseWhenExpressionConditionPair();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f433(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
s5 = peg$parseWhenExpressionConditionPair();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f433(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f434(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenExpressionConditionList, "peg$parseWhenExpressionConditionList");
function peg$parseWhenExpressionConditionPair() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parseWhenConditionExpression();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c121) {
s3 = peg$c121;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseVarRHSContent();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f435(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenExpressionConditionPair, "peg$parseWhenExpressionConditionPair");
function peg$parseForExpression() {
var s0, s1, s3, s4, s5, s6, s7, s8, s10, s11;
peg$silentFails++;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c122) {
s1 = peg$c122;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e352);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseForIterationPattern();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c121) {
s5 = peg$c121;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s7 = peg$parseVarRHSContent();
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f436(s3, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c122) {
s1 = peg$c122;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e352);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s3 = peg$c37;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c90) {
s6 = peg$c90;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e243);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$parseVarRHSContent();
if (s8 !== peg$FAILED) {
peg$parse_();
s10 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c121) {
s11 = peg$c121;
peg$currPos += 2;
} else {
s11 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
peg$silentFails--;
if (s11 === peg$FAILED) {
s10 = void 0;
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f437(s4, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c122) {
s1 = peg$c122;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e352);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s3 = peg$c37;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c90) {
s7 = peg$c90;
peg$currPos += 2;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e243);
}
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f438(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c122) {
s1 = peg$c122;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e352);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 4) === peg$c123) {
s4 = peg$c123;
peg$currPos += 4;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e353);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
s5 = peg$currPos;
peg$silentFails++;
s6 = peg$parseBaseIdentifier();
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f439();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e351);
}
}
return s0;
}
__name(peg$parseForExpression, "peg$parseForExpression");
function peg$parseVariable() {
var s0;
s0 = peg$parseSpecialVariable();
if (s0 === peg$FAILED) {
s0 = peg$parseInterpolationVar();
if (s0 === peg$FAILED) {
s0 = peg$parseAtVar();
}
}
return s0;
}
__name(peg$parseVariable, "peg$parseVariable");
function peg$parseSpecialVariable() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseSpecialVariableName();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f440(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e354);
}
}
return s0;
}
__name(peg$parseSpecialVariable, "peg$parseSpecialVariable");
function peg$parseSpecialVariableName() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c124) {
s1 = peg$c124;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e355);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f441();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c125) {
s1 = peg$c125;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e356);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f442();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c126) {
s1 = peg$c126;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e357);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f443();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c127) {
s1 = peg$c127;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e358);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f444();
}
s0 = s1;
}
}
}
return s0;
}
__name(peg$parseSpecialVariableName, "peg$parseSpecialVariableName");
function peg$parseAtVar() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseVariableContext();
if (s2 !== peg$FAILED) {
s3 = peg$parseFrontmatterAccess();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f445(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseVariableContext();
if (s2 !== peg$FAILED) {
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseAnyFieldAccess();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseAnyFieldAccess();
}
peg$savedPos = s0;
s0 = peg$f446(s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 91) {
s4 = peg$c41;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
peg$silentFails--;
if (s4 !== peg$FAILED) {
peg$currPos = s3;
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseAnyFieldAccess();
if (s5 !== peg$FAILED) {
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseAnyFieldAccess();
}
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f447(s2, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseAtVar, "peg$parseAtVar");
function peg$parseInterpolationVar() {
var s0;
s0 = peg$parseInterpolationSpecialVar();
if (s0 === peg$FAILED) {
s0 = peg$parseInterpolationSimpleVar();
if (s0 === peg$FAILED) {
s0 = peg$parseInterpolationDataVar();
}
}
return s0;
}
__name(peg$parseInterpolationVar, "peg$parseInterpolationVar");
function peg$parseInterpolationSpecialVar() {
var s0, s1, s3, s4, s6;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c3) {
s1 = peg$c3;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e5);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseSpecialVariableName();
if (s3 !== peg$FAILED) {
s4 = peg$parseVarFormat();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c4) {
s6 = peg$c4;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e6);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f448(s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseInterpolationSpecialVar, "peg$parseInterpolationSpecialVar");
function peg$parseInterpolationSimpleVar() {
var s0, s1, s3, s4, s6;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c3) {
s1 = peg$c3;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e5);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
s4 = peg$parseVarFormat();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c4) {
s6 = peg$c4;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e6);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f449(s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseInterpolationSimpleVar, "peg$parseInterpolationSimpleVar");
function peg$parseInterpolationDataVar() {
var s0, s1, s3, s4, s5, s7;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c3) {
s1 = peg$c3;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e5);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseAnyFieldAccess();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseAnyFieldAccess();
}
s5 = peg$parseVarFormat();
if (s5 === peg$FAILED) {
s5 = null;
}
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c4) {
s7 = peg$c4;
peg$currPos += 2;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e6);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f450(s3, s4, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseInterpolationDataVar, "peg$parseInterpolationDataVar");
function peg$parseVarFormat() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c0) {
s1 = peg$c0;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e1);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f451(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseVarFormat, "peg$parseVarFormat");
function peg$parseFrontmatterAccess() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 11) === peg$c128) {
s1 = peg$c128;
peg$currPos += 11;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e359);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c129) {
s1 = peg$c129;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e360);
}
}
}
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 46) {
s2 = peg$c11;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseAnyFieldAccess();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseAnyFieldAccess();
}
peg$savedPos = s0;
s0 = peg$f452(s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseFrontmatterAccess, "peg$parseFrontmatterAccess");
function peg$parseVariableReferenceWithTail() {
var s0, s1, s2, s3, s4, s5, s6;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$parseAnyFieldAccess();
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$parseAnyFieldAccess();
}
s5 = peg$parse_();
s6 = peg$parseTailModifiers();
if (s6 === peg$FAILED) {
s6 = null;
}
peg$savedPos = s0;
s0 = peg$f453(s2, s4, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e361);
}
}
return s0;
}
__name(peg$parseVariableReferenceWithTail, "peg$parseVariableReferenceWithTail");
function peg$parseVariableWithPipes() {
var s0, s1, s2;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
s2 = peg$parseCondensedPipeChain();
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f454(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e362);
}
}
return s0;
}
__name(peg$parseVariableWithPipes, "peg$parseVariableWithPipes");
function peg$parseTemplateVariableReference() {
var s0, s1, s2, s3, s4;
peg$silentFails++;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$parseAnyFieldAccess();
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$parseAnyFieldAccess();
}
s4 = peg$parseCondensedPipeChain();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$savedPos = s0;
s0 = peg$f455(s2, s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e363);
}
}
return s0;
}
__name(peg$parseTemplateVariableReference, "peg$parseTemplateVariableReference");
function peg$parseWithClause() {
var s0, s2, s4;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c87) {
s2 = peg$c87;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e239);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWithObject();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f456(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWithClause, "peg$parseWithClause");
function peg$parseWithObject() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseWithProperties();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c78;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f457(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWithObject, "peg$parseWithObject");
function peg$parseWithProperties() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseWithProperty();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseWithProperty();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f458(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseWithProperty();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f458(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f459(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWithProperties, "peg$parseWithProperties");
function peg$parseWithProperty() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 8) === peg$c113) {
s1 = peg$c113;
peg$currPos += 8;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e317);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parsePipelineArray();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f460(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c96) {
s1 = peg$c96;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e257);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseNeedsObject();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f461(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c130) {
s1 = peg$c130;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e364);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseDataString();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f462(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 9) === peg$c131) {
s1 = peg$c131;
peg$currPos += 9;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e365);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseAsSectionRenameString();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f463(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
return s0;
}
__name(peg$parseWithProperty, "peg$parseWithProperty");
function peg$parsePipelineArray() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parsePipelineCommandList();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s5 = peg$c42;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f464(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePipelineArray, "peg$parsePipelineArray");
function peg$parsePipelineCommandList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parsePipelineCommand();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parsePipelineCommand();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f465(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parsePipelineCommand();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f465(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f466(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePipelineCommandList, "peg$parsePipelineCommandList");
function peg$parsePipelineCommand() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseUnifiedReferenceNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f467(s1);
}
s0 = s1;
return s0;
}
__name(peg$parsePipelineCommand, "peg$parsePipelineCommand");
function peg$parseNeedsObject() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseNeedsLanguageList();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c78;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f468(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseNeedsObject, "peg$parseNeedsObject");
function peg$parseNeedsLanguageList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseNeedsLanguageEntry();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseNeedsLanguageEntry();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f469(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseNeedsLanguageEntry();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f469(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f470(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseNeedsLanguageList, "peg$parseNeedsLanguageList");
function peg$parseNeedsLanguageEntry() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parsePackagesObject();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f471(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseNeedsLanguageEntry, "peg$parseNeedsLanguageEntry");
function peg$parsePackagesObject() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c77;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parsePackagesList();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c78;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f472(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePackagesObject, "peg$parsePackagesObject");
function peg$parsePackagesList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parsePackageEntry();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parsePackageEntry();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f473(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parsePackageEntry();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f473(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f474(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePackagesList, "peg$parsePackagesList");
function peg$parsePackageEntry() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseDataString();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f475(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parsePackageEntry, "peg$parsePackageEntry");
function peg$parseAddPathCore() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parsePathExpression();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f476(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseAddPathCore, "peg$parseAddPathCore");
function peg$parseAddTemplateCore() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseTemplateCore();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f477(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseAddTemplateCore, "peg$parseAddTemplateCore");
function peg$parseAddVariableCore() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseAtVar();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f478(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseAddVariableCore, "peg$parseAddVariableCore");
function peg$parseAddTemplateInvocationCore() {
var s0, s1, s2, s4, s6, s8;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c74;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseTemplateArgumentList();
if (s6 === peg$FAILED) {
s6 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s8 = peg$c75;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f479(s2, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseAddTemplateInvocationCore, "peg$parseAddTemplateInvocationCore");
function peg$parseAddPathSectionCore() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseQuotedContent();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c132) {
s3 = peg$c132;
peg$currPos += 4;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e366);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
s5 = peg$parsePathExpression();
if (s5 !== peg$FAILED) {
s6 = peg$parseAsNewTitle();
if (s6 === peg$FAILED) {
s6 = null;
}
peg$savedPos = s0;
s0 = peg$f480(s1, s5, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r52.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e367);
}
}
if (s4 !== peg$FAILED) {
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r52.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e367);
}
}
}
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s2 = input.substring(s2, peg$currPos);
} else {
s2 = s3;
}
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 35) {
s3 = peg$c23;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
s5 = peg$currPos;
s6 = [];
s7 = input.charAt(peg$currPos);
if (peg$r34.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
if (s7 !== peg$FAILED) {
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = input.charAt(peg$currPos);
if (peg$r34.test(s7)) {
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
}
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
s5 = input.substring(s5, peg$currPos);
} else {
s5 = s6;
}
if (s5 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 93) {
s6 = peg$c42;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseAsNewTitle();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f481(s2, s5, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseAddPathSectionCore, "peg$parseAddPathSectionCore");
function peg$parseAddCore() {
var s0;
s0 = peg$parseAddPathSectionCore();
if (s0 === peg$FAILED) {
s0 = peg$parseAddTemplateInvocationCore();
if (s0 === peg$FAILED) {
s0 = peg$parseAddTemplateCore();
if (s0 === peg$FAILED) {
s0 = peg$parseAddVariableCore();
if (s0 === peg$FAILED) {
s0 = peg$parseAddPathCore();
}
}
}
}
return s0;
}
__name(peg$parseAddCore, "peg$parseAddCore");
function peg$parseCodeCore() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseWrappedCodeContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f482(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCodeCore, "peg$parseCodeCore");
function peg$parseLanguageCodeCore() {
var s0, s1, s3;
s0 = peg$currPos;
s1 = peg$parseCodeLanguage();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseWrappedCodeContent();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f483(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseLanguageCodeCore, "peg$parseLanguageCodeCore");
function peg$parseRunLanguageCodeCore() {
var s0, s1, s3;
s0 = peg$currPos;
s1 = peg$parseRunCodeLanguage();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseUnifiedCodeBrackets();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f484(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRunLanguageCodeCore, "peg$parseRunLanguageCodeCore");
function peg$parseRunLanguageCodeWithArgs() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parseRunCodeLanguage();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseRunCodeArguments();
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseUnifiedCodeBrackets();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f485(s1, s3, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRunLanguageCodeWithArgs, "peg$parseRunLanguageCodeWithArgs");
function peg$parseCodeLanguage() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$currPos;
s3 = peg$parseBaseIdentifier();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s6 = peg$c11;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseBaseIdentifier();
if (s7 !== peg$FAILED) {
s6 = [
s6,
s7
];
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s6 = peg$c11;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseBaseIdentifier();
if (s7 !== peg$FAILED) {
s6 = [
s6,
s7
];
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
}
s3 = [
s3,
s4
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f486(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCodeLanguage, "peg$parseCodeLanguage");
function peg$parseRunCodeLanguage() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 10) === peg$c119) {
s1 = peg$c119;
peg$currPos += 10;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e346);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c118) {
s1 = peg$c118;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e345);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c59) {
s1 = peg$c59;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e139);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c133) {
s1 = peg$c133;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e368);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c56) {
s1 = peg$c56;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e136);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c134) {
s1 = peg$c134;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e369);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c61) {
s1 = peg$c61;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e141);
}
}
if (s1 === peg$FAILED) {
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$e140);
}
}
}
}
}
}
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f487(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseRunCodeLanguage, "peg$parseRunCodeLanguage");
function peg$parseRunCodeArguments() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseRunArgumentList();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f488(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRunCodeArguments, "peg$parseRunCodeArguments");
function peg$parseRunArgumentList() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseRunArgument();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseRunArgument();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f489(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseRunArgument();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f489(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f490(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRunArgumentList, "peg$parseRunArgumentList");
function peg$parseRunArgument() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f491(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseRunArgument, "peg$parseRunArgument");
function peg$parseCommandCore() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseWrappedCommandContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f492(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseCommandCore, "peg$parseCommandCore");
function peg$parseParameterizedCommandCore() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseWrappedCommandContent();
if (s1 !== peg$FAILED) {
s2 = peg$parseCommandParameters();
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f493(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseParameterizedCommandCore, "peg$parseParameterizedCommandCore");
function peg$parseCommandParameters() {
var s0, s1, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 58) {
s1 = peg$c54;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseCommandParameterList();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f494(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandParameters, "peg$parseCommandParameters");
function peg$parseCommandParameterList() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseCommandParameter();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseCommandParameter();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f495(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseCommandParameter();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f495(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f496(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandParameterList, "peg$parseCommandParameterList");
function peg$parseCommandParameter() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parseBaseIdentifier();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s3 = peg$c84;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseStringLiteral();
if (s5 === peg$FAILED) {
s5 = peg$parseNumberLiteral();
if (s5 === peg$FAILED) {
s5 = peg$parseBooleanLiteral();
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f497(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseCommandParameter, "peg$parseCommandParameter");
function peg$parsePathCore() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parsePathExpression();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f498(s1);
}
s0 = s1;
return s0;
}
__name(peg$parsePathCore, "peg$parsePathCore");
function peg$parseSectionPathCore() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parsePathExpression();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 35) {
s3 = peg$c23;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f499(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseSectionPathCore, "peg$parseSectionPathCore");
function peg$parseURLPathCore() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseURLProtocol();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s2 = peg$c54;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parseURLContent();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f500(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseURLPathCore, "peg$parseURLPathCore");
function peg$parseURLProtocol() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c35) {
s3 = peg$c35;
peg$currPos += 4;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e95);
}
}
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 115) {
s4 = peg$c101;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e277);
}
}
if (s4 === peg$FAILED) {
s4 = null;
}
s3 = [
s3,
s4
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c102) {
s2 = peg$c102;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e278);
}
}
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f501(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseURLProtocol, "peg$parseURLProtocol");
function peg$parseURLContent() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c103) {
s3 = peg$c103;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e280);
}
}
if (s3 !== peg$FAILED) {
s4 = [];
s5 = input.charAt(peg$currPos);
if (peg$r53.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e370);
}
}
if (s5 !== peg$FAILED) {
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = input.charAt(peg$currPos);
if (peg$r53.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e370);
}
}
}
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s3 = [
s3,
s4
];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f502(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseURLContent, "peg$parseURLContent");
function peg$parseRunExecCore() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseUnifiedReferenceNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f503(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseRunExecCore, "peg$parseRunExecCore");
function peg$parseSectionExtractionCore() {
var s0, s1, s3, s5, s6;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseLiteralContent();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c132) {
s3 = peg$c132;
peg$currPos += 4;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e366);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parsePathExpression();
if (s5 !== peg$FAILED) {
s6 = peg$parseAsNewTitle();
if (s6 === peg$FAILED) {
s6 = null;
}
peg$savedPos = s0;
s0 = peg$f504(s1, s5, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e371);
}
}
return s0;
}
__name(peg$parseSectionExtractionCore, "peg$parseSectionExtractionCore");
function peg$parseTemplateCore() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseWrappedTemplateContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f505(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseTemplateCore, "peg$parseTemplateCore");
function peg$parseRichTemplateCore() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseWrappedTemplateContent();
if (s1 !== peg$FAILED) {
s2 = peg$parseTemplateOptions();
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f506(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRichTemplateCore, "peg$parseRichTemplateCore");
function peg$parseTemplateOptions() {
var s0, s1, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 58) {
s1 = peg$c54;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseTemplateOptionsList();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f507(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseTemplateOptions, "peg$parseTemplateOptions");
function peg$parseTemplateOptionsList() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseTemplateOption();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseTemplateOption();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f508(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseTemplateOption();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f508(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f509(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseTemplateOptionsList, "peg$parseTemplateOptionsList");
function peg$parseTemplateOption() {
var s0, s1, s3, s5;
s0 = peg$currPos;
s1 = peg$parseBaseIdentifier();
if (s1 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s3 = peg$c84;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s3 !== peg$FAILED) {
peg$parse_();
s5 = peg$parseStringLiteral();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f510(s1, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseTemplateOption, "peg$parseTemplateOption");
function peg$parseSlashExe() {
var s0, s1, s2, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s2 = peg$c27;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parseExecMetadata();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parseExecParameters();
if (s7 === peg$FAILED) {
s7 = null;
}
s8 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s9 = peg$c84;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s9 !== peg$FAILED) {
s10 = peg$parse_();
s11 = peg$parseExeRHSContent();
if (s11 !== peg$FAILED) {
s12 = peg$parseWithClause();
if (s12 === peg$FAILED) {
s12 = null;
}
s13 = peg$currPos;
s14 = peg$parse_();
s15 = peg$parseTrustOption();
if (s15 !== peg$FAILED) {
peg$savedPos = s13;
s13 = peg$f511(s5, s6, s7, s11, s12, s15);
} else {
peg$currPos = s13;
s13 = peg$FAILED;
}
if (s13 === peg$FAILED) {
s13 = null;
}
s14 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f512(s5, s6, s7, s11, s12, s13, s14);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s2 = peg$c27;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s6 = peg$c84;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$parseExeRHSContent();
if (s8 !== peg$FAILED) {
s9 = peg$parseWithClause();
if (s9 === peg$FAILED) {
s9 = null;
}
s10 = peg$currPos;
s11 = peg$parse_();
s12 = peg$parseTrustOption();
if (s12 !== peg$FAILED) {
peg$savedPos = s10;
s10 = peg$f513(s4, s8, s9, s12);
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
if (s10 === peg$FAILED) {
s10 = null;
}
s11 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f514(s4, s8, s9, s10, s11);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s2 = peg$c27;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s6 = peg$c84;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 123) {
s9 = peg$c77;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
peg$silentFails--;
if (s9 === peg$FAILED) {
s8 = void 0;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f515(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s2 = peg$c27;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 40) {
s7 = peg$c74;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s7 !== peg$FAILED) {
s8 = [];
s9 = input.charAt(peg$currPos);
if (peg$r54.test(s9)) {
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e372);
}
}
while (s9 !== peg$FAILED) {
s8.push(s9);
s9 = input.charAt(peg$currPos);
if (peg$r54.test(s9)) {
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e372);
}
}
}
if (input.charCodeAt(peg$currPos) === 41) {
s9 = peg$c75;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s9 !== peg$FAILED) {
s10 = peg$parse_();
s11 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 61) {
s12 = peg$c84;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
peg$silentFails--;
if (s12 === peg$FAILED) {
s11 = void 0;
} else {
peg$currPos = s11;
s11 = peg$FAILED;
}
if (s11 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f516(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s2 = peg$c27;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 40) {
s7 = peg$c74;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s8 = peg$f517(s5);
if (s8) {
s8 = void 0;
} else {
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f518(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s2 = peg$c27;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parseExecParameters();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s8 = peg$c84;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
s10 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s11 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s11 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
peg$silentFails--;
if (s11 === peg$FAILED) {
s10 = void 0;
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f519(s5, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c27) {
s2 = peg$c27;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e77);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f520();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseSlashExe, "peg$parseSlashExe");
function peg$parseExecMetadata() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s1 = peg$c11;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 9) === peg$c135) {
s2 = peg$c135;
peg$currPos += 9;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e373);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 8) === peg$c136) {
s2 = peg$c136;
peg$currPos += 8;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e374);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 8) === peg$c137) {
s2 = peg$c137;
peg$currPos += 8;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e375);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c138) {
s2 = peg$c138;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e376);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c139) {
s2 = peg$c139;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e377);
}
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c140) {
s2 = peg$c140;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e378);
}
}
}
}
}
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f521(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseExecMetadata, "peg$parseExecMetadata");
function peg$parseExecParameters() {
var s0, s2, s4, s6;
s0 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 40) {
s2 = peg$c74;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseExecParameterList();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s6 = peg$c75;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f522(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseExecParameters, "peg$parseExecParameters");
function peg$parseExecParameterList() {
var s0, s1, s2, s3, s5, s7;
s0 = peg$currPos;
s1 = peg$parseExecParameter();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseExecParameter();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f523(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c43;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s5 !== peg$FAILED) {
peg$parse_();
s7 = peg$parseExecParameter();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f523(s1, s7);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f524(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseExecParameterList, "peg$parseExecParameterList");
function peg$parseExecParameter() {
var s0, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f525(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseExecParameter, "peg$parseExecParameter");
function peg$parseSlashForSimple() {
var s0, s1, s2, s4, s6, s8, s10;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c141) {
s2 = peg$c141;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e380);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 5) === peg$c142) {
s4 = peg$c142;
peg$currPos += 5;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e381);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c90) {
s6 = peg$c90;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e243);
}
}
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s8 = peg$c41;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s10 = peg$c42;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f526();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e379);
}
}
return s0;
}
__name(peg$parseSlashForSimple, "peg$parseSlashForSimple");
function peg$parseSlashFor() {
var s0, s1, s2, s4, s5, s6, s7, s8, s9;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c141) {
s2 = peg$c141;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e380);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseForIterationPattern();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c121) {
s6 = peg$c121;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$parseForSingleAction();
if (s8 !== peg$FAILED) {
s9 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f527(s4, s8, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c141) {
s2 = peg$c141;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e380);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseForIterationPattern();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c121) {
s7 = peg$c121;
peg$currPos += 2;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f528(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c141) {
s2 = peg$c141;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e380);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s7 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c90) {
s8 = peg$c90;
peg$currPos += 2;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e243);
}
}
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f529(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c141) {
s2 = peg$c141;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e380);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f530();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e382);
}
}
return s0;
}
__name(peg$parseSlashFor, "peg$parseSlashFor");
function peg$parseSlashImport() {
var s0, s1, s2, s4, s5, s6, s8, s10, s12, s13;
s0 = peg$parseSlashImportShorthand();
if (s0 === peg$FAILED) {
s0 = peg$parseSlashImportFull();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f531();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f532();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseImportsList();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
peg$savedPos = peg$currPos;
s10 = peg$f533();
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f534();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseImportsList();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c132) {
s10 = peg$c132;
peg$currPos += 4;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e366);
}
}
if (s10 !== peg$FAILED) {
peg$parse_();
s12 = peg$currPos;
peg$silentFails++;
s13 = peg$parseLineTerminator();
if (s13 === peg$FAILED) {
s13 = peg$parseEOF();
}
peg$silentFails--;
if (s13 !== peg$FAILED) {
peg$currPos = s12;
s12 = void 0;
} else {
s12 = peg$FAILED;
}
if (s12 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f535();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseImportsList();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c132) {
s10 = peg$c132;
peg$currPos += 4;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e366);
}
}
if (s10 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 34) {
s12 = peg$c20;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s12 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s13 = peg$f536();
if (s13) {
s13 = void 0;
} else {
s13 = peg$FAILED;
}
if (s13 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f537();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseImportsList();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c132) {
s10 = peg$c132;
peg$currPos += 4;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e366);
}
}
if (s10 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 39) {
s12 = peg$c9;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s12 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s13 = peg$f538();
if (s13) {
s13 = void 0;
} else {
s13 = peg$FAILED;
}
if (s13 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f539();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseImportsList();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c132) {
s10 = peg$c132;
peg$currPos += 4;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e366);
}
}
if (s10 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s12 = peg$c41;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s12 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s13 = peg$f540();
if (s13) {
s13 = void 0;
} else {
s13 = peg$FAILED;
}
if (s13 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f541();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 42) {
s6 = peg$c15;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e35);
}
}
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f542();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
peg$silentFails++;
s5 = peg$parseLineTerminator();
if (s5 === peg$FAILED) {
s5 = peg$parseEOF();
}
peg$silentFails--;
if (s5 !== peg$FAILED) {
peg$currPos = s4;
s4 = void 0;
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f543();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f544();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f545();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s4 = peg$c41;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f546();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f547();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f548();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseSlashImport, "peg$parseSlashImport");
function peg$parseSlashImportShorthand() {
var s0, s1, s2, s4, s5, s6, s7, s8, s9;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseImportPath();
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s7 = peg$c39;
peg$currPos += 2;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s7 !== peg$FAILED) {
s8 = peg$parse_();
s9 = peg$parseBaseIdentifier();
if (s9 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f549(s4, s9);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 === peg$FAILED) {
s5 = null;
}
s6 = peg$currPos;
s7 = peg$parse_();
s8 = peg$parseTTLClause();
if (s8 !== peg$FAILED) {
s7 = [
s7,
s8
];
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parseTailModifiers();
if (s7 === peg$FAILED) {
s7 = null;
}
s8 = peg$parseInlineComment();
if (s8 === peg$FAILED) {
s8 = null;
}
peg$savedPos = s0;
s0 = peg$f550(s4, s5, s6, s7, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseSlashImportShorthand, "peg$parseSlashImportShorthand");
function peg$parseSlashImportFull() {
var s0, s1, s2, s4, s6, s8, s10, s12, s13, s14, s15;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c29) {
s2 = peg$c29;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e79);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseImportsList();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c78;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e205);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c132) {
s10 = peg$c132;
peg$currPos += 4;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e366);
}
}
if (s10 !== peg$FAILED) {
peg$parse_();
s12 = peg$parseImportPath();
if (s12 !== peg$FAILED) {
s13 = peg$currPos;
s14 = peg$parse_();
s15 = peg$parseTTLClause();
if (s15 !== peg$FAILED) {
s14 = [
s14,
s15
];
s13 = s14;
} else {
peg$currPos = s13;
s13 = peg$FAILED;
}
if (s13 === peg$FAILED) {
s13 = null;
}
s14 = peg$parseTailModifiers();
if (s14 === peg$FAILED) {
s14 = null;
}
s15 = peg$parseInlineComment();
if (s15 === peg$FAILED) {
s15 = null;
}
peg$savedPos = s0;
s0 = peg$f551(s6, s12, s13, s14, s15);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseSlashImportFull, "peg$parseSlashImportFull");
function peg$parseImportPath() {
var s0, s1;
s0 = peg$currPos;
s1 = input.substr(peg$currPos, 6);
if (s1.toLowerCase() === peg$c143) {
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e383);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f552();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = input.substr(peg$currPos, 4);
if (s1.toLowerCase() === peg$c144) {
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e384);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f553();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = input.substr(peg$currPos, 5);
if (s1.toLowerCase() === peg$c145) {
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e385);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f554();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c146) {
s1 = peg$c146;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e386);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f555();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$parseSpecialVariablePath();
if (s0 === peg$FAILED) {
s0 = peg$parseModuleReference();
if (s0 === peg$FAILED) {
s0 = peg$parseQuotedPath();
if (s0 === peg$FAILED) {
s0 = peg$parseImportAlligatorAdapter();
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseImportPath, "peg$parseImportPath");
function peg$parseImportAlligatorAdapter() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseAlligatorExpression();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f556(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseImportAlligatorAdapter, "peg$parseImportAlligatorAdapter");
function peg$parseQuotedPath() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$parseInterpolatedDoubleQuoteContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f557(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = input.charAt(peg$currPos);
if (peg$r42.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = input.charAt(peg$currPos);
if (peg$r42.test(s4)) {
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f558(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseQuotedPath, "peg$parseQuotedPath");
function peg$parseModuleReference() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseModuleIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f559(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseModuleReference, "peg$parseModuleReference");
function peg$parseModuleIdentifier() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$parseModuleIdentifierPart();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s2 = peg$c22;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parseModulePathAndName();
if (s3 !== peg$FAILED) {
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseShortHash();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f560(s1, s3, s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
peg$savedPos = s0;
s0 = peg$f561(s1, s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseModuleIdentifier, "peg$parseModuleIdentifier");
function peg$parseModulePathAndName() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$parseModuleIdentifierPart();
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s4 = peg$c22;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f562(s3);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$parseModuleIdentifierPart();
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s4 = peg$c22;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f562(s3);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
s2 = peg$parseModuleIdentifierPart();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f563(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseModulePathAndName, "peg$parseModulePathAndName");
function peg$parseModuleIdentifierPart() {
var s0, s1, s2, s3;
peg$silentFails++;
s0 = peg$currPos;
s1 = input.charAt(peg$currPos);
if (peg$r11.test(s1)) {
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e65);
}
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r24.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r24.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e133);
}
}
}
peg$savedPos = s0;
s0 = peg$f564(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e387);
}
}
return s0;
}
__name(peg$parseModuleIdentifierPart, "peg$parseModuleIdentifierPart");
function peg$parseShortHash() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r55.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e388);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r55.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e388);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$f565(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f566(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseShortHash, "peg$parseShortHash");
function peg$parseImportsList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 42) {
s1 = peg$c15;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e35);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s3 = peg$c39;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f567(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 42) {
s1 = peg$c15;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e35);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
peg$savedPos = peg$currPos;
s3 = peg$f568();
if (s3) {
s3 = void 0;
} else {
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f569();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseImportItem();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseImportItem();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f570(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseImportItem();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f570(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f571(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parse_();
peg$savedPos = s0;
s1 = peg$f572();
s0 = s1;
}
}
}
return s0;
}
__name(peg$parseImportsList, "peg$parseImportsList");
function peg$parseImportItem() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$parseBaseIdentifier();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c38) {
s3 = peg$c38;
peg$currPos += 4;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e104);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f573(s1, s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f574(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseImportItem, "peg$parseImportItem");
function peg$parseImportPathParts() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseVariableNoTail();
if (s2 === peg$FAILED) {
s2 = peg$parsePathTextSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseVariableNoTail();
if (s2 === peg$FAILED) {
s2 = peg$parsePathTextSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
}
peg$savedPos = s0;
s1 = peg$f575(s1);
s0 = s1;
return s0;
}
__name(peg$parseImportPathParts, "peg$parseImportPathParts");
function peg$parseSpecialVariablePath() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseSpecialVariable();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parsePathTextSegment();
if (s3 === peg$FAILED) {
s3 = peg$parsePathSeparator();
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parsePathTextSegment();
if (s3 === peg$FAILED) {
s3 = peg$parsePathSeparator();
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f576(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseSpecialVariablePath, "peg$parseSpecialVariablePath");
function peg$parseSlashOutput() {
var s0, s1, s2, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseDataString();
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
peg$silentFails++;
s6 = peg$currPos;
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s8 = peg$c41;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s8 !== peg$FAILED) {
s7 = [
s7,
s8
];
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f577(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s6 = peg$c92;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$parseOutputTarget();
if (s8 !== peg$FAILED) {
s9 = peg$currPos;
s10 = peg$parse_();
s11 = peg$parseOutputFormat();
if (s11 !== peg$FAILED) {
peg$savedPos = s9;
s9 = peg$f578(s4, s8, s11);
} else {
peg$currPos = s9;
s9 = peg$FAILED;
}
if (s9 === peg$FAILED) {
s9 = null;
}
peg$savedPos = s0;
s0 = peg$f579(s4, s8, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseDataString();
if (s6 !== peg$FAILED) {
s7 = peg$currPos;
peg$silentFails++;
s8 = peg$currPos;
s9 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s10 = peg$c41;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s10 !== peg$FAILED) {
s9 = [
s9,
s10
];
s8 = s9;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f580(s4, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s4 = peg$c92;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseOutputTarget();
if (s6 !== peg$FAILED) {
s7 = peg$currPos;
s8 = peg$parse_();
s9 = peg$parseOutputFormat();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s7 = peg$f581(s6, s9);
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f582(s6, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
peg$savedPos = peg$currPos;
s6 = peg$f583();
if (s6) {
s6 = void 0;
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f584();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s6 = peg$c92;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$currPos;
peg$silentFails++;
s9 = peg$parseLineTerminator();
if (s9 === peg$FAILED) {
s9 = peg$parseEOF();
}
peg$silentFails--;
if (s9 !== peg$FAILED) {
peg$currPos = s8;
s8 = void 0;
} else {
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f585();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s4 = peg$c92;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$parseLineTerminator();
if (s7 === peg$FAILED) {
s7 = peg$parseEOF();
}
peg$silentFails--;
if (s7 !== peg$FAILED) {
peg$currPos = s6;
s6 = void 0;
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f586();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s6 = peg$c92;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 34) {
s8 = peg$c20;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s9 = peg$f587();
if (s9) {
s9 = void 0;
} else {
s9 = peg$FAILED;
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f588();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s6 = peg$c92;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$parseOutputTarget();
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s10 = peg$c39;
peg$currPos += 2;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
s12 = peg$currPos;
peg$silentFails++;
s13 = peg$parseLineTerminator();
if (s13 === peg$FAILED) {
s13 = peg$parseEOF();
}
peg$silentFails--;
if (s13 !== peg$FAILED) {
peg$currPos = s12;
s12 = void 0;
} else {
s12 = peg$FAILED;
}
if (s12 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f589();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f590();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f591();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
peg$silentFails++;
s5 = peg$parseLineTerminator();
if (s5 === peg$FAILED) {
s5 = peg$parseEOF();
}
peg$silentFails--;
if (s5 !== peg$FAILED) {
peg$currPos = s4;
s4 = void 0;
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f592();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseOutputSource();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s6 = peg$c92;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (input.substr(peg$currPos, 4) === peg$c147) {
s8 = peg$c147;
peg$currPos += 4;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e389);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s9 = peg$f593();
if (s9) {
s9 = void 0;
} else {
s9 = peg$FAILED;
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f594();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 7) === peg$c31) {
s2 = peg$c31;
peg$currPos += 7;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e81);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f595();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseSlashOutput, "peg$parseSlashOutput");
function peg$parseOutputArguments() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseOutputArgumentList();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f596(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseOutputArguments, "peg$parseOutputArguments");
function peg$parseOutputArgumentList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseOutputArgument();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseOutputArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f597(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseOutputArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f597(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f598(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseOutputArgumentList, "peg$parseOutputArgumentList");
function peg$parseOutputArgument() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f599(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariable();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f600(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r56.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e390);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r56.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e390);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f601(s1);
}
s0 = s1;
}
}
return s0;
}
__name(peg$parseOutputArgument, "peg$parseOutputArgument");
function peg$parseSlashPath() {
var s0, s1, s2, s4, s5, s7, s9, s10, s11, s12, s13, s14;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c28) {
s2 = peg$c28;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e78);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
s9 = peg$parseInterpolatedDoubleQuoteContent();
if (s9 !== peg$FAILED) {
s10 = peg$currPos;
s11 = peg$parse_();
s12 = peg$parseTTLClause();
if (s12 !== peg$FAILED) {
s11 = [
s11,
s12
];
s10 = s11;
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
if (s10 === peg$FAILED) {
s10 = null;
}
s11 = peg$parseTailModifiers();
if (s11 === peg$FAILED) {
s11 = null;
}
s12 = peg$parseInlineComment();
if (s12 === peg$FAILED) {
s12 = null;
}
peg$savedPos = s0;
s0 = peg$f602(s5, s9, s10, s11, s12);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c28) {
s2 = peg$c28;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e78);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 39) {
s9 = peg$c9;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s9 !== peg$FAILED) {
s10 = peg$currPos;
s11 = [];
s12 = input.charAt(peg$currPos);
if (peg$r42.test(s12)) {
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
while (s12 !== peg$FAILED) {
s11.push(s12);
s12 = input.charAt(peg$currPos);
if (peg$r42.test(s12)) {
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e275);
}
}
}
s10 = input.substring(s10, peg$currPos);
if (input.charCodeAt(peg$currPos) === 39) {
s11 = peg$c9;
peg$currPos++;
} else {
s11 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s11 !== peg$FAILED) {
s12 = peg$currPos;
s13 = peg$parse_();
s14 = peg$parseTTLClause();
if (s14 !== peg$FAILED) {
s13 = [
s13,
s14
];
s12 = s13;
} else {
peg$currPos = s12;
s12 = peg$FAILED;
}
if (s12 === peg$FAILED) {
s12 = null;
}
s13 = peg$parseTailModifiers();
if (s13 === peg$FAILED) {
s13 = null;
}
s14 = peg$parseInlineComment();
if (s14 === peg$FAILED) {
s14 = null;
}
peg$savedPos = s0;
s0 = peg$f603(s5, s10, s12, s13, s14);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c28) {
s2 = peg$c28;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e78);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
s9 = peg$parsePathExpression();
if (s9 !== peg$FAILED) {
s10 = peg$currPos;
s11 = peg$parse_();
s12 = peg$parseTTLClause();
if (s12 !== peg$FAILED) {
s11 = [
s11,
s12
];
s10 = s11;
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
if (s10 === peg$FAILED) {
s10 = null;
}
s11 = peg$parseTailModifiers();
if (s11 === peg$FAILED) {
s11 = null;
}
s12 = peg$parseInlineComment();
if (s12 === peg$FAILED) {
s12 = null;
}
peg$savedPos = s0;
s0 = peg$f604(s5, s9, s10, s11, s12);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseSlashPath, "peg$parseSlashPath");
function peg$parsePathAssignmentParts() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseVariableNoTail();
if (s2 === peg$FAILED) {
s2 = peg$parsePathTextSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseVariableNoTail();
if (s2 === peg$FAILED) {
s2 = peg$parsePathTextSegment();
if (s2 === peg$FAILED) {
s2 = peg$parsePathSeparator();
}
}
}
peg$savedPos = s0;
s1 = peg$f605(s1);
s0 = s1;
return s0;
}
__name(peg$parsePathAssignmentParts, "peg$parsePathAssignmentParts");
function peg$parseSpecialPathIdentifier() {
var s0, s1;
if (input.substr(peg$currPos, 11) === peg$c148) {
s0 = peg$c148;
peg$currPos += 11;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e391);
}
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s1 = peg$c11;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f606();
}
s0 = s1;
}
return s0;
}
__name(peg$parseSpecialPathIdentifier, "peg$parseSpecialPathIdentifier");
function peg$parseSlashRun() {
var s0, s1, s2, s4, s5, s6, s7, s8, s9, s10, s11;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
s5 = peg$parseSecurityOptions();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
if (input.charCodeAt(peg$currPos) === 34) {
s5 = peg$c20;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
s7 = [];
s8 = input.charAt(peg$currPos);
if (peg$r41.test(s8)) {
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
while (s8 !== peg$FAILED) {
s7.push(s8);
s8 = input.charAt(peg$currPos);
if (peg$r41.test(s8)) {
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
}
s6 = input.substring(s6, peg$currPos);
if (input.charCodeAt(peg$currPos) === 34) {
s7 = peg$c20;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s7 !== peg$FAILED) {
s8 = peg$parseTailModifiers();
if (s8 === peg$FAILED) {
s8 = null;
}
s9 = peg$parseInlineComment();
if (s9 === peg$FAILED) {
s9 = null;
}
peg$savedPos = s0;
s0 = peg$f607(s4, s6, s8, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
s5 = peg$parseSecurityOptions();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parseUnifiedCommandBrackets();
if (s5 !== peg$FAILED) {
s6 = peg$parseTailModifiers();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parseInlineComment();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f608(s4, s5, s6, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
s5 = peg$parseSecurityOptions();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parseRunLanguageCodeWithArgs();
if (s5 === peg$FAILED) {
s5 = peg$parseRunLanguageCodeCore();
}
if (s5 !== peg$FAILED) {
s6 = peg$parseTailModifiers();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parseInlineComment();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f609(s4, s5, s6, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
s5 = peg$parseSecurityOptions();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parseUnifiedReferenceWithTail();
if (s5 !== peg$FAILED) {
s6 = peg$parseInlineComment();
if (s6 === peg$FAILED) {
s6 = null;
}
peg$savedPos = s0;
s0 = peg$f610(s4, s5, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 34) {
s4 = peg$c20;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f611();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f612();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s4 = peg$c77;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f613();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f614();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 123) {
s7 = peg$c77;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
s7 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 40) {
s8 = peg$c74;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
s8 = peg$currPos;
peg$silentFails++;
s9 = peg$parseLineTerminator();
peg$silentFails--;
if (s9 === peg$FAILED) {
s8 = void 0;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
s9 = peg$currPos;
peg$silentFails++;
s10 = peg$parseEOF();
peg$silentFails--;
if (s10 === peg$FAILED) {
s9 = void 0;
} else {
peg$currPos = s9;
s9 = peg$FAILED;
}
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f615(s4);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f616(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$parseLineTerminator();
if (s7 === peg$FAILED) {
s7 = peg$parseEOF();
}
peg$silentFails--;
if (s7 !== peg$FAILED) {
peg$currPos = s6;
s6 = void 0;
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s7 = peg$f617(s4);
if (s7) {
s7 = void 0;
} else {
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f618(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f619();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f620();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
peg$silentFails++;
s5 = peg$parseLineTerminator();
if (s5 === peg$FAILED) {
s5 = peg$parseEOF();
}
peg$silentFails--;
if (s5 !== peg$FAILED) {
peg$currPos = s4;
s4 = void 0;
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f621();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 40) {
s6 = peg$c74;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s6 !== peg$FAILED) {
s7 = [];
s8 = input.charAt(peg$currPos);
if (peg$r54.test(s8)) {
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e372);
}
}
while (s8 !== peg$FAILED) {
s7.push(s8);
s8 = input.charAt(peg$currPos);
if (peg$r54.test(s8)) {
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e372);
}
}
}
if (input.charCodeAt(peg$currPos) === 41) {
s8 = peg$c75;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s10 = peg$c77;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s10 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s11 = peg$f622(s4);
if (s11) {
s11 = void 0;
} else {
s11 = peg$FAILED;
}
if (s11 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f623(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s6 = peg$c77;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s7 = peg$f624(s4);
if (s7) {
s7 = void 0;
} else {
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f625(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c26) {
s2 = peg$c26;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e76);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f626();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseSlashRun, "peg$parseSlashRun");
function peg$parseRunDirectiveRef() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseRunLanguageCodeWithArgs();
if (s1 === peg$FAILED) {
s1 = peg$parseRunLanguageCodeCore();
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f627(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseUnifiedReferenceNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f628(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseUnifiedCommandBrackets();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f629(s1);
}
s0 = s1;
}
}
return s0;
}
__name(peg$parseRunDirectiveRef, "peg$parseRunDirectiveRef");
function peg$parseRunCommandArguments() {
var s0, s1, s3, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c74;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseRunCommandArgumentList();
if (s3 === peg$FAILED) {
s3 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c75;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f630(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRunCommandArguments, "peg$parseRunCommandArguments");
function peg$parseRunCommandArgumentList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseRunCommandArgument();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseRunCommandArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f631(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseRunCommandArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f631(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f632(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseRunCommandArgumentList, "peg$parseRunCommandArgumentList");
function peg$parseRunCommandArgument() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseStringLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f633(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSpecialVariable();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f634(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f635(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$currPos;
s2 = [];
s3 = input.charAt(peg$currPos);
if (peg$r56.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e390);
}
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = input.charAt(peg$currPos);
if (peg$r56.test(s3)) {
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e390);
}
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = input.substring(s1, peg$currPos);
} else {
s1 = s2;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f636(s1);
}
s0 = s1;
}
}
}
return s0;
}
__name(peg$parseRunCommandArgument, "peg$parseRunCommandArgument");
function peg$parseSlashShow() {
var s0, s1, s2, s4, s5, s6, s7, s8, s9, s10, s11, s12;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseForeachCommandExpression();
if (s4 !== peg$FAILED) {
s5 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f637(s4, s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWrappedTemplateContent();
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f638(s4);
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
s6 = peg$parseAsNewTitle();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f639(s4, s6, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseAlligatorExpression();
if (s4 !== peg$FAILED) {
s5 = peg$parseAsNewTitle();
if (s5 === peg$FAILED) {
s5 = null;
}
s6 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f640(s4, s5, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
s5 = peg$parseSecurityOptions();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parseTemplateCore();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s7 = peg$parseHeaderLevel();
if (s7 === peg$FAILED) {
s7 = null;
}
s8 = peg$parseUnderHeader();
if (s8 === peg$FAILED) {
s8 = null;
}
s9 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f641(s4, s5, s7, s8, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
s5 = peg$parseSecurityOptions();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseShowVariableReference();
if (s6 !== peg$FAILED) {
s7 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 40) {
s8 = peg$c74;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
s8 = peg$currPos;
peg$silentFails++;
s9 = peg$parseTailModifiers();
peg$silentFails--;
if (s9 === peg$FAILED) {
s8 = void 0;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
s10 = peg$parseHeaderLevel();
if (s10 === peg$FAILED) {
s10 = null;
}
s11 = peg$parseUnderHeader();
if (s11 === peg$FAILED) {
s11 = null;
}
s12 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f642(s4, s6, s10, s11, s12);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseUnifiedReferenceWithTail();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$parseHeaderLevel();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parseUnderHeader();
if (s7 === peg$FAILED) {
s7 = null;
}
s8 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f643(s4, s6, s7, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
s5 = peg$parseSecurityOptions();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
if (input.charCodeAt(peg$currPos) === 34) {
s5 = peg$c20;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
s7 = [];
s8 = input.charAt(peg$currPos);
if (peg$r41.test(s8)) {
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
while (s8 !== peg$FAILED) {
s7.push(s8);
s8 = input.charAt(peg$currPos);
if (peg$r41.test(s8)) {
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e274);
}
}
}
s6 = input.substring(s6, peg$currPos);
if (input.charCodeAt(peg$currPos) === 34) {
s7 = peg$c20;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s7 !== peg$FAILED) {
s8 = peg$parse_();
s9 = peg$parseHeaderLevel();
if (s9 === peg$FAILED) {
s9 = null;
}
s10 = peg$parseUnderHeader();
if (s10 === peg$FAILED) {
s10 = null;
}
s11 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f644(s4, s6, s9, s10, s11);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parsePathExpression();
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parse_();
s7 = peg$parseSecurityOptions();
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f645(s4, s7);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 === peg$FAILED) {
s5 = null;
}
s6 = peg$parse_();
s7 = peg$parseHeaderLevel();
if (s7 === peg$FAILED) {
s7 = null;
}
s8 = peg$parseUnderHeader();
if (s8 === peg$FAILED) {
s8 = null;
}
s9 = peg$parseStandardDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f646(s4, s5, s7, s8, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c16) {
s4 = peg$c16;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e37);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f647();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f648();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 60) {
s4 = peg$c19;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e47);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f649();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f650();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f651();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f652();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 96) {
s4 = peg$c21;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e58);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f653();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f654();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c5) {
s4 = peg$c5;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s4 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s5 = peg$f655();
if (s5) {
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f656();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
peg$silentFails++;
s5 = peg$parseLineTerminator();
if (s5 === peg$FAILED) {
s5 = peg$parseEOF();
}
peg$silentFails--;
if (s5 !== peg$FAILED) {
peg$currPos = s4;
s4 = void 0;
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f657();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 7) === peg$c86) {
s4 = peg$c86;
peg$currPos += 7;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e238);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
peg$savedPos = peg$currPos;
s6 = peg$f658();
if (s6) {
s6 = void 0;
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f659();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c25) {
s2 = peg$c25;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e75);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f660();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseSlashShow, "peg$parseSlashShow");
function peg$parseAddDirectiveRef() {
var s0, s1, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseRHSContext();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseAlligatorExpression();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f661(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseRHSContext();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseInterpolatedDoubleQuoteContent();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f662(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseRHSContext();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$currPos;
s4 = [];
s5 = input.charAt(peg$currPos);
if (peg$r18.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e90);
}
}
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = input.charAt(peg$currPos);
if (peg$r18.test(s5)) {
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e90);
}
}
}
s3 = input.substring(s3, peg$currPos);
peg$savedPos = s0;
s0 = peg$f663(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
return s0;
}
__name(peg$parseAddDirectiveRef, "peg$parseAddDirectiveRef");
function peg$parseShowVariableReference() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseBaseIdentifier();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseAnyFieldAccess();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseAnyFieldAccess();
}
peg$savedPos = s0;
s0 = peg$f664(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseShowVariableReference, "peg$parseShowVariableReference");
function peg$parseQuotedContent() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s6 = peg$c20;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s6 = peg$c20;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f665(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s6 = peg$c9;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s6 = peg$c9;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f666(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseQuotedContent, "peg$parseQuotedContent");
function peg$parseHeaderLevel() {
var s0, s2, s4, s5;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s2 = peg$c39;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = [];
if (input.charCodeAt(peg$currPos) === 35) {
s5 = peg$c23;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
if (s5 !== peg$FAILED) {
while (s5 !== peg$FAILED) {
s4.push(s5);
if (input.charCodeAt(peg$currPos) === 35) {
s5 = peg$c23;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e63);
}
}
}
} else {
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f667(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseHeaderLevel, "peg$parseHeaderLevel");
function peg$parseUnderHeader() {
var s0, s2, s4;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 5) === peg$c149) {
s2 = peg$c149;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e392);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseTextUntilNewline();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f668(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseUnderHeader, "peg$parseUnderHeader");
function peg$parseAsNewTitle() {
var s0, s2, s4;
s0 = peg$currPos;
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c39) {
s2 = peg$c39;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e106);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseLiteralContent();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f669(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseAsNewTitle, "peg$parseAsNewTitle");
function peg$parseTemplateArgumentList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseTemplateArgument();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseTemplateArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f670(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseCommaSpace();
if (s4 !== peg$FAILED) {
s5 = peg$parseTemplateArgument();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f670(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f671(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseTemplateArgumentList, "peg$parseTemplateArgumentList");
function peg$parseTemplateArgument() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseQuotedStringContent();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f672(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseShowVariableReference();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f673(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseTemplateArgument, "peg$parseTemplateArgument");
function peg$parseQuotedStringContent() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 34) {
s1 = peg$c20;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s6 = peg$c20;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 34) {
s6 = peg$c20;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 34) {
s3 = peg$c20;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f674(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 39) {
s1 = peg$c9;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = [];
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s6 = peg$c9;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 39) {
s6 = peg$c9;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
if (s6 !== peg$FAILED) {
s5 = [
s5,
s6
];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
s2 = input.substring(s2, peg$currPos);
if (input.charCodeAt(peg$currPos) === 39) {
s3 = peg$c9;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f675(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseQuotedStringContent, "peg$parseQuotedStringContent");
function peg$parseSlashVar() {
var s0, s1, s2, s4, s5, s6, s7, s9, s10;
peg$silentFails++;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
s9 = peg$parseVarRHSContent();
if (s9 !== peg$FAILED) {
s10 = peg$parseSecuredDirectiveEnding();
peg$savedPos = s0;
s0 = peg$f676(s5, s9, s10);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s9 = peg$c41;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f677(s5);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f678(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 123) {
s9 = peg$c77;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e204);
}
}
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f679(s5);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f680(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 34) {
s9 = peg$c20;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e55);
}
}
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f681(s5);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f682(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 39) {
s9 = peg$c9;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e24);
}
}
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f683(s5);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f684(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c5) {
s9 = peg$c5;
peg$currPos += 2;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e7);
}
}
if (s9 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s10 = peg$f685(s5);
if (s10) {
s10 = void 0;
} else {
s10 = peg$FAILED;
}
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f686(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
peg$parse_();
s9 = peg$currPos;
peg$silentFails++;
s10 = peg$parseLineTerminator();
if (s10 === peg$FAILED) {
s10 = peg$parseEOF();
}
peg$silentFails--;
if (s10 !== peg$FAILED) {
peg$currPos = s9;
s9 = void 0;
} else {
s9 = peg$FAILED;
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f687(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
peg$savedPos = peg$currPos;
s7 = peg$f688(s5);
if (s7) {
s7 = void 0;
} else {
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f689(s5);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s6 = peg$c84;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f690(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
peg$savedPos = peg$currPos;
s6 = peg$f691();
if (s6) {
s6 = void 0;
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f692();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c24) {
s2 = peg$c24;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e74);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f693();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e393);
}
}
return s0;
}
__name(peg$parseSlashVar, "peg$parseSlashVar");
function peg$parseSlashWhen() {
var s0, s1, s2, s4, s5, s6, s7, s8, s9, s10, s11, s12, s14, s15, s17;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s8 = peg$c11;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parseBaseIdentifier();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s7 = peg$f694(s5, s9);
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s8 = peg$c11;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e28);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parseBaseIdentifier();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s7 = peg$f694(s5, s9);
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
}
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s8 = peg$c41;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f695(s5, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseWhenMatchForm();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenSimpleForm();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseBaseIdentifier();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f696(s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 3) === peg$c150) {
s6 = peg$c150;
peg$currPos += 3;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e394);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s8 = peg$c54;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s10 = peg$c41;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
peg$savedPos = peg$currPos;
s12 = peg$f697(s4);
if (s12) {
s12 = void 0;
} else {
s12 = peg$FAILED;
}
if (s12 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f698(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseWhenBlockForm();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWhenModifier();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s6 = peg$c54;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s8 = peg$c41;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
s10 = peg$parseWhenConditionList();
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s12 = peg$c42;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s12 !== peg$FAILED) {
peg$parse_();
s14 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c121) {
s15 = peg$c121;
peg$currPos += 2;
} else {
s15 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s15 !== peg$FAILED) {
peg$parse_();
s17 = peg$parseWhenAction();
if (s17 !== peg$FAILED) {
peg$savedPos = s14;
s14 = peg$f699(s4, s10, s17);
} else {
peg$currPos = s14;
s14 = peg$FAILED;
}
} else {
peg$currPos = s14;
s14 = peg$FAILED;
}
if (s14 === peg$FAILED) {
s14 = null;
}
peg$savedPos = s0;
s0 = peg$f700(s4, s10, s14);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parseWhenBareBlockForm();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWhenSimpleCondition();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
s6 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c121) {
s7 = peg$c121;
peg$currPos += 2;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
peg$silentFails--;
if (s7 === peg$FAILED) {
s6 = void 0;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f701(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWhenSimpleCondition();
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c121) {
s6 = peg$c121;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s9 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e8);
}
}
peg$silentFails--;
if (s9 === peg$FAILED) {
s8 = void 0;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f702(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseBaseIdentifier();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f703(s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parse_();
if (input.substr(peg$currPos, 3) === peg$c151) {
s6 = peg$c151;
peg$currPos += 3;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e395);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s8 = peg$c54;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s10 = peg$c41;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
peg$savedPos = peg$currPos;
s12 = peg$f704(s4);
if (s12) {
s12 = void 0;
} else {
s12 = peg$FAILED;
}
if (s12 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f705(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseBaseIdentifier();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f706(s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parse_();
s6 = peg$parseWhenModifier();
if (s6 === peg$FAILED) {
s6 = null;
}
s7 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s8 = peg$c54;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s10 = peg$c41;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
peg$savedPos = peg$currPos;
s12 = peg$f707(s4, s6);
if (s12) {
s12 = void 0;
} else {
s12 = peg$FAILED;
}
if (s12 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f708(s4, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseBaseIdentifier();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f709(s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parse_();
s6 = peg$parseBaseIdentifier();
if (s6 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s7 = peg$f710(s4, s6);
if (s7) {
s7 = void 0;
} else {
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
s8 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s9 = peg$c54;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s9 !== peg$FAILED) {
s10 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s11 = peg$c41;
peg$currPos++;
} else {
s11 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s11 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f711(s4, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f712();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseSlashWhen, "peg$parseSlashWhen");
function peg$parseWhenSimpleForm() {
var s0, s1, s2, s4, s6, s8;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWhenSimpleCondition();
if (s4 !== peg$FAILED) {
peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c121) {
s6 = peg$c121;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s6 !== peg$FAILED) {
peg$parse_();
s8 = peg$parseWhenAction();
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f713(s4, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenSimpleForm, "peg$parseWhenSimpleForm");
function peg$parseWhenMatchForm() {
var s0, s1, s2, s4, s6, s8, s10, s12;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWhenConditionExpression();
if (s4 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s6 = peg$c54;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s8 = peg$c41;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
s10 = peg$parseWhenConditionList();
if (s10 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s12 = peg$c42;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s12 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f714(s4, s10);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenMatchForm, "peg$parseWhenMatchForm");
function peg$parseWhenBlockForm() {
var s0, s1, s2, s4, s5, s6, s8, s10, s12, s14, s16, s17, s19;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s5 = peg$c37;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parseBaseIdentifier();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s4 = peg$f715(s6);
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parse_();
s6 = peg$parseWhenModifier();
if (s6 === peg$FAILED) {
s6 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 58) {
s8 = peg$c54;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s10 = peg$c41;
peg$currPos++;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s10 !== peg$FAILED) {
peg$parse_();
s12 = peg$parseWhenConditionList();
if (s12 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s14 = peg$c42;
peg$currPos++;
} else {
s14 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s14 !== peg$FAILED) {
peg$parse_();
s16 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c121) {
s17 = peg$c121;
peg$currPos += 2;
} else {
s17 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s17 !== peg$FAILED) {
peg$parse_();
s19 = peg$parseWhenAction();
if (s19 !== peg$FAILED) {
peg$savedPos = s16;
s16 = peg$f716(s4, s6, s12, s19);
} else {
peg$currPos = s16;
s16 = peg$FAILED;
}
} else {
peg$currPos = s16;
s16 = peg$FAILED;
}
if (s16 === peg$FAILED) {
s16 = null;
}
peg$savedPos = s0;
s0 = peg$f717(s4, s6, s12, s16);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenBlockForm, "peg$parseWhenBlockForm");
function peg$parseWhenBareBlockForm() {
var s0, s1, s2, s4, s6, s8;
s0 = peg$currPos;
s1 = peg$parseDirectiveContext();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c30) {
s2 = peg$c30;
peg$currPos += 5;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e80);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s4 = peg$c41;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseWhenConditionList();
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s8 = peg$c42;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f718(s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenBareBlockForm, "peg$parseWhenBareBlockForm");
function peg$parseWhenModifier() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c152) {
s1 = peg$c152;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e396);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c151) {
s1 = peg$c151;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e395);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c150) {
s1 = peg$c150;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e394);
}
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f719(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseWhenModifier, "peg$parseWhenModifier");
function peg$parseWhenSimpleCondition() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseExpression();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f720(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseWhenSimpleCondition, "peg$parseWhenSimpleCondition");
function peg$parseNegatedSimpleCondition() {
var s0, s1, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 33) {
s1 = peg$c85;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e232);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseNonNegatedSimpleCondition();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f721(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseNegatedSimpleCondition, "peg$parseNegatedSimpleCondition");
function peg$parseNonNegatedSimpleCondition() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseUnifiedReferenceWithTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f722(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f723(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariable();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f724();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseBooleanLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f725(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseNullLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f726(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseStringLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f727(s1);
}
s0 = s1;
}
}
}
}
}
return s0;
}
__name(peg$parseNonNegatedSimpleCondition, "peg$parseNonNegatedSimpleCondition");
function peg$parseWhenConditionExpression() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseExpression();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f728(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$parseNegatedCondition();
if (s0 === peg$FAILED) {
s0 = peg$parseNonNegatedCondition();
}
}
return s0;
}
__name(peg$parseWhenConditionExpression, "peg$parseWhenConditionExpression");
function peg$parseNegatedCondition() {
var s0, s1, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 33) {
s1 = peg$c85;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e232);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseNonNegatedCondition();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f729(s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseNegatedCondition, "peg$parseNegatedCondition");
function peg$parseNonNegatedCondition() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseUnifiedReferenceWithTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f730(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariableNoTail();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f731(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVariable();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f732();
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseBooleanLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f733(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseNullLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f734(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseStringLiteral();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f735(s1);
}
s0 = s1;
}
}
}
}
}
return s0;
}
__name(peg$parseNonNegatedCondition, "peg$parseNonNegatedCondition");
function peg$parseWhenConditionList() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseWhenConditionPair();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parseWhenConditionSeparator();
if (s4 !== peg$FAILED) {
s5 = peg$parseWhenConditionPair();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f736(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parseWhenConditionSeparator();
if (s4 !== peg$FAILED) {
s5 = peg$parseWhenConditionPair();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f736(s1, s5);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
peg$savedPos = s0;
s0 = peg$f737(s1, s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenConditionList, "peg$parseWhenConditionList");
function peg$parseWhenConditionSeparator() {
var s0, s2;
s0 = peg$currPos;
peg$parse_();
if (input.charCodeAt(peg$currPos) === 44) {
s2 = peg$c43;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e120);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
peg$savedPos = s0;
s0 = peg$f738();
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$parse_();
}
return s0;
}
__name(peg$parseWhenConditionSeparator, "peg$parseWhenConditionSeparator");
function peg$parseWhenConditionPair() {
var s0, s1, s3, s4, s6;
s0 = peg$currPos;
s1 = peg$parseWhenConditionExpression();
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c121) {
s4 = peg$c121;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e350);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseWhenAction();
if (s6 !== peg$FAILED) {
peg$savedPos = s3;
s3 = peg$f739(s1, s6);
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 === peg$FAILED) {
s3 = null;
}
peg$savedPos = s0;
s0 = peg$f740(s1, s3);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenConditionPair, "peg$parseWhenConditionPair");
function peg$parseWhenAction() {
var s0;
s0 = peg$parseWhenActionBlock();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenImplicitAction();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenActionDirective();
}
}
return s0;
}
__name(peg$parseWhenAction, "peg$parseWhenAction");
function peg$parseWhenActionBlock() {
var s0, s1, s3, s4, s5, s6, s7;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c41;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s1 !== peg$FAILED) {
peg$parse_();
s3 = peg$parseWhenBlockAction();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$currPos;
s6 = peg$parse_();
s7 = peg$parseWhenBlockAction();
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f741(s3, s7);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$currPos;
s6 = peg$parse_();
s7 = peg$parseWhenBlockAction();
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s5 = peg$f741(s3, s7);
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
}
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 93) {
s6 = peg$c42;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f742(s3, s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenActionBlock, "peg$parseWhenActionBlock");
function peg$parseWhenBlockAction() {
var s0;
s0 = peg$parseWhenImplicitAction();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenActionDirective();
}
return s0;
}
__name(peg$parseWhenBlockAction, "peg$parseWhenBlockAction");
function peg$parseWhenActionDirective() {
var s0, s2, s4, s5, s6, s7, s8, s9;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 6) === peg$c91) {
s2 = peg$c91;
peg$currPos += 6;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e245);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWhenOutputSource();
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parse_();
if (input.substr(peg$currPos, 2) === peg$c92) {
s6 = peg$c92;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e246);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
s8 = peg$parseWhenOutputTarget();
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f743(s4, s8);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 4) === peg$c93) {
s2 = peg$c93;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e247);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseVariableNoTail();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f744(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 4) === peg$c93) {
s2 = peg$c93;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e247);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseUnifiedReferenceWithTail();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f745(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 4) === peg$c93) {
s2 = peg$c93;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e247);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseTemplateCore();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f746(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 3) === peg$c94) {
s2 = peg$c94;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e248);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 64) {
s4 = peg$c37;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parseBaseIdentifier();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s7 = peg$c84;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s7 !== peg$FAILED) {
s8 = peg$parse_();
s9 = peg$parseVarRHSContent();
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f747(s5, s9);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 3) === peg$c48) {
s2 = peg$c48;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseUnifiedReferenceWithTail();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f748(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 3) === peg$c48) {
s2 = peg$c48;
peg$currPos += 3;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e127);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseUnifiedCommandBrackets();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f749(s4);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) {
peg$currPos++;
} else {
if (peg$silentFails === 0) {
peg$fail(peg$e60);
}
}
if (input.substr(peg$currPos, 6) === peg$c91) {
s2 = peg$c91;
peg$currPos += 6;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e245);
}
}
if (s2 !== peg$FAILED) {
peg$parse_();
s4 = peg$parseWhenOutputSource();
if (s4 === peg$FAILED) {
s4 = null;
}
s5 = peg$parse_();
if (input.charCodeAt(peg$currPos) === 91) {
s6 = peg$c41;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e117);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseWhenPathText();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 93) {
s8 = peg$c42;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e118);
}
}
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f750(s4, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
}
}
}
}
return s0;
}
__name(peg$parseWhenActionDirective, "peg$parseWhenActionDirective");
function peg$parseWhenCommandText() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r34.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r34.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f751(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseWhenCommandText, "peg$parseWhenCommandText");
function peg$parseWhenBraceCommandText() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r50.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e333);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r50.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e333);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f752(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseWhenBraceCommandText, "peg$parseWhenBraceCommandText");
function peg$parseWhenPathText() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = input.charAt(peg$currPos);
if (peg$r34.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
if (s2 !== peg$FAILED) {
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = input.charAt(peg$currPos);
if (peg$r34.test(s2)) {
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e198);
}
}
}
} else {
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f753(s1);
}
s0 = s1;
return s0;
}
__name(peg$parseWhenPathText, "peg$parseWhenPathText");
function peg$parseWhenOutputSource() {
var s0, s1, s2;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f754(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f755(s1);
}
s0 = s1;
}
return s0;
}
__name(peg$parseWhenOutputSource, "peg$parseWhenOutputSource");
function peg$parseWhenOutputTarget() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c98) {
s1 = peg$c98;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e261);
}
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c99) {
s1 = peg$c99;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e262);
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f756(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c100) {
s1 = peg$c100;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e264);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c54;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e134);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseBaseIdentifier();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s2 = peg$f757(s4);
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
peg$savedPos = s0;
s0 = peg$f758(s2);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseDataString();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f759(s1);
}
s0 = s1;
}
}
return s0;
}
__name(peg$parseWhenOutputTarget, "peg$parseWhenOutputTarget");
function peg$parseWhenImplicitAction() {
var s0;
s0 = peg$parseWhenImplicitVarAssignment();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenImplicitExecAssignment();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenImplicitFunctionCall();
if (s0 === peg$FAILED) {
s0 = peg$parseWhenImplicitRichContent();
}
}
}
return s0;
}
__name(peg$parseWhenImplicitAction, "peg$parseWhenImplicitAction");
function peg$parseWhenImplicitVarAssignment() {
var s0, s1, s2, s4, s6;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s4 = peg$c84;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s4 !== peg$FAILED) {
peg$parse_();
s6 = peg$parseVarRHSContent();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f760(s2, s6);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenImplicitVarAssignment, "peg$parseWhenImplicitVarAssignment");
function peg$parseWhenImplicitExecAssignment() {
var s0, s1, s2, s3, s4, s6, s8, s10;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s3 = peg$c74;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandArgumentList();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s6 = peg$c75;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s6 !== peg$FAILED) {
peg$parse_();
if (input.charCodeAt(peg$currPos) === 61) {
s8 = peg$c84;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e231);
}
}
if (s8 !== peg$FAILED) {
peg$parse_();
s10 = peg$parseVarRHSContent();
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f761(s2, s4, s10);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenImplicitExecAssignment, "peg$parseWhenImplicitExecAssignment");
function peg$parseWhenImplicitFunctionCall() {
var s0, s1, s2, s3, s4, s6, s7;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c37;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e102);
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseBaseIdentifier();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s3 = peg$c74;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e158);
}
}
if (s3 !== peg$FAILED) {
s4 = peg$parseCommandArgumentList();
if (s4 === peg$FAILED) {
s4 = null;
}
peg$parse_();
if (input.charCodeAt(peg$currPos) === 41) {
s6 = peg$c75;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) {
peg$fail(peg$e159);
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parseTailModifiers();
if (s7 === peg$FAILED) {
s7 = null;
}
peg$savedPos = s0;
s0 = peg$f762(s2, s4, s7);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
__name(peg$parseWhenImplicitFunctionCall, "peg$parseWhenImplicitFunctionCall");
function peg$parseWhenImplicitRichContent() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$parseTemplateCore();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$f763(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseVarRHSContent();
if (s1 !== peg$FAILED) {
peg$savedPos = peg$currPos;
s2 = peg$f764(s1);
if (s2) {
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s0 = peg$f765(s1);
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
__name(peg$parseWhenImplicitRichContent, "peg$parseWhenImplicitRichContent");
if (typeof options !== "undefined") {
options.rhsDirectiveType = "";
options.afterDirectiveType = "";
}
peg$result = peg$startRuleFunction();
if (options.peg$library) {
return (
/** @type {any} */
{
peg$result,
peg$currPos,
peg$FAILED,
peg$maxFailExpected,
peg$maxFailPos
}
);
}
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));
}
}
__name(peg$parse, "peg$parse");
var peg$allowedStartRules = [
"Start"
];
var parser = {
parse: peg$parse,
SyntaxError: peg$SyntaxError,
StartRules: peg$allowedStartRules
};
var parser_default = parser;
// grammar/parser/index.ts
async function parse2(source, options) {
try {
const ast = parser_default.parse(source, {
startRule: "Start",
...options
});
return {
ast,
success: true
};
} catch (error) {
return {
ast: [],
success: false,
error: error instanceof Error ? error : new Error(String(error))
};
}
}
__name(parse2, "parse");
function parseSync(source, options) {
return parser_default.parse(source, {
startRule: "Start",
...options
});
}
__name(parseSync, "parseSync");
var SyntaxError = parser_default.SyntaxError;
export { SyntaxError, parse2 as parse, parseSync, parser_default };
//# sourceMappingURL=chunk-VI5FKUWW.mjs.map
//# sourceMappingURL=chunk-VI5FKUWW.mjs.map