@weborigami/language 0.2.9 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,6 +19,7 @@
19
19
  import * as ops from "../runtime/ops.js";
20
20
  import {
21
21
  annotate,
22
+ applyMacro,
22
23
  downgradeReference,
23
24
  makeArray,
24
25
  makeBinaryOperation,
@@ -29,8 +30,10 @@ import {
29
30
  makeProperty,
30
31
  makeReference,
31
32
  makeTemplate,
32
- makeUnaryOperation
33
+ makeUnaryOperation,
34
+ makeYamlObject
33
35
  } from "./parserHelpers.js";
36
+ import isOrigamiFrontMatter from "./isOrigamiFrontMatter.js";
34
37
 
35
38
 
36
39
  function peg$subclass(child, parent) {
@@ -202,7 +205,7 @@ function peg$parse(input, options) {
202
205
  var peg$FAILED = {};
203
206
  var peg$source = options.grammarSource;
204
207
 
205
- var peg$startRuleFunctions = { __: peg$parse__, additiveExpression: peg$parseadditiveExpression, additiveOperator: peg$parseadditiveOperator, arguments: peg$parsearguments, arrayLiteral: peg$parsearrayLiteral, arrayEntries: peg$parsearrayEntries, arrayEntry: peg$parsearrayEntry, arrowFunction: peg$parsearrowFunction, bitwiseAndExpression: peg$parsebitwiseAndExpression, bitwiseAndOperator: peg$parsebitwiseAndOperator, bitwiseOrExpression: peg$parsebitwiseOrExpression, bitwiseOrOperator: peg$parsebitwiseOrOperator, bitwiseXorExpression: peg$parsebitwiseXorExpression, bitwiseXorOperator: peg$parsebitwiseXorOperator, callExpression: peg$parsecallExpression, closingBrace: peg$parseclosingBrace, closingBracket: peg$parseclosingBracket, closingParenthesis: peg$parseclosingParenthesis, commaExpression: peg$parsecommaExpression, comment: peg$parsecomment, conditionalExpression: peg$parseconditionalExpression, digits: peg$parsedigits, doubleArrow: peg$parsedoubleArrow, doubleQuoteString: peg$parsedoubleQuoteString, doubleQuoteStringChar: peg$parsedoubleQuoteStringChar, ellipsis: peg$parseellipsis, equalityExpression: peg$parseequalityExpression, equalityOperator: peg$parseequalityOperator, escapedChar: peg$parseescapedChar, exponentiationExpression: peg$parseexponentiationExpression, expression: peg$parseexpression, floatLiteral: peg$parsefloatLiteral, group: peg$parsegroup, guillemetString: peg$parseguillemetString, guillemetStringChar: peg$parseguillemetStringChar, homeDirectory: peg$parsehomeDirectory, host: peg$parsehost, identifier: peg$parseidentifier, identifierChar: peg$parseidentifierChar, identifierList: peg$parseidentifierList, implicitParenthesesCallExpression: peg$parseimplicitParenthesesCallExpression, implicitParensthesesArguments: peg$parseimplicitParensthesesArguments, inlineSpace: peg$parseinlineSpace, integerLiteral: peg$parseintegerLiteral, list: peg$parselist, literal: peg$parseliteral, logicalAndExpression: peg$parselogicalAndExpression, logicalOrExpression: peg$parselogicalOrExpression, multiLineComment: peg$parsemultiLineComment, multiplicativeExpression: peg$parsemultiplicativeExpression, multiplicativeOperator: peg$parsemultiplicativeOperator, namespace: peg$parsenamespace, newLine: peg$parsenewLine, numericLiteral: peg$parsenumericLiteral, nullishCoalescingExpression: peg$parsenullishCoalescingExpression, objectLiteral: peg$parseobjectLiteral, objectEntries: peg$parseobjectEntries, objectEntry: peg$parseobjectEntry, objectGetter: peg$parseobjectGetter, objectHiddenKey: peg$parseobjectHiddenKey, objectKey: peg$parseobjectKey, objectProperty: peg$parseobjectProperty, objectShorthandProperty: peg$parseobjectShorthandProperty, objectPublicKey: peg$parseobjectPublicKey, parenthesesArguments: peg$parseparenthesesArguments, path: peg$parsepath, pathArguments: peg$parsepathArguments, pathKey: peg$parsepathKey, pathSegment: peg$parsepathSegment, pathSegmentChar: peg$parsepathSegmentChar, pipelineExpression: peg$parsepipelineExpression, primary: peg$parseprimary, program: peg$parseprogram, protocolExpression: peg$parseprotocolExpression, qualifiedReference: peg$parsequalifiedReference, inherited: peg$parseinherited, relationalExpression: peg$parserelationalExpression, relationalOperator: peg$parserelationalOperator, rootDirectory: peg$parserootDirectory, scopeReference: peg$parsescopeReference, separator: peg$parseseparator, shebang: peg$parseshebang, shiftExpression: peg$parseshiftExpression, shiftOperator: peg$parseshiftOperator, shorthandFunction: peg$parseshorthandFunction, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, slash: peg$parseslash, slashFollows: peg$parseslashFollows, spreadElement: peg$parsespreadElement, stringLiteral: peg$parsestringLiteral, templateDocument: peg$parsetemplateDocument, templateDocumentChar: peg$parsetemplateDocumentChar, templateDocumentText: peg$parsetemplateDocumentText, templateLiteral: peg$parsetemplateLiteral, templateLiteralChar: peg$parsetemplateLiteralChar, templateLiteralText: peg$parsetemplateLiteralText, templateSubstitution: peg$parsetemplateSubstitution, textChar: peg$parsetextChar, unaryExpression: peg$parseunaryExpression, unaryOperator: peg$parseunaryOperator, whitespace: peg$parsewhitespace, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
208
+ var peg$startRuleFunctions = { __: peg$parse__, additiveExpression: peg$parseadditiveExpression, additiveOperator: peg$parseadditiveOperator, arguments: peg$parsearguments, arrayLiteral: peg$parsearrayLiteral, arrayEntries: peg$parsearrayEntries, arrayEntry: peg$parsearrayEntry, arrowFunction: peg$parsearrowFunction, bitwiseAndExpression: peg$parsebitwiseAndExpression, bitwiseAndOperator: peg$parsebitwiseAndOperator, bitwiseOrExpression: peg$parsebitwiseOrExpression, bitwiseOrOperator: peg$parsebitwiseOrOperator, bitwiseXorExpression: peg$parsebitwiseXorExpression, bitwiseXorOperator: peg$parsebitwiseXorOperator, callExpression: peg$parsecallExpression, commaExpression: peg$parsecommaExpression, comment: peg$parsecomment, conditionalExpression: peg$parseconditionalExpression, digits: peg$parsedigits, doubleArrow: peg$parsedoubleArrow, doubleQuoteString: peg$parsedoubleQuoteString, doubleQuoteStringChar: peg$parsedoubleQuoteStringChar, ellipsis: peg$parseellipsis, equalityExpression: peg$parseequalityExpression, equalityOperator: peg$parseequalityOperator, escapedChar: peg$parseescapedChar, expectBacktick: peg$parseexpectBacktick, expectClosingBrace: peg$parseexpectClosingBrace, expectClosingBracket: peg$parseexpectClosingBracket, expectClosingParenthesis: peg$parseexpectClosingParenthesis, expectDoubleQuote: peg$parseexpectDoubleQuote, expectExpression: peg$parseexpectExpression, expectFrontDelimiter: peg$parseexpectFrontDelimiter, expectGuillemet: peg$parseexpectGuillemet, expectSingleQuote: peg$parseexpectSingleQuote, expectPipelineExpression: peg$parseexpectPipelineExpression, exponentiationExpression: peg$parseexponentiationExpression, expression: peg$parseexpression, floatLiteral: peg$parsefloatLiteral, frontDelimiter: peg$parsefrontDelimiter, frontMatterExpression: peg$parsefrontMatterExpression, frontMatterText: peg$parsefrontMatterText, frontMatterYaml: peg$parsefrontMatterYaml, group: peg$parsegroup, guillemetString: peg$parseguillemetString, guillemetStringChar: peg$parseguillemetStringChar, homeDirectory: peg$parsehomeDirectory, host: peg$parsehost, identifier: peg$parseidentifier, identifierChar: peg$parseidentifierChar, implicitParenthesesCallExpression: peg$parseimplicitParenthesesCallExpression, implicitParensthesesArguments: peg$parseimplicitParensthesesArguments, inlineSpace: peg$parseinlineSpace, integerLiteral: peg$parseintegerLiteral, list: peg$parselist, literal: peg$parseliteral, logicalAndExpression: peg$parselogicalAndExpression, logicalOrExpression: peg$parselogicalOrExpression, multiLineComment: peg$parsemultiLineComment, multiplicativeExpression: peg$parsemultiplicativeExpression, multiplicativeOperator: peg$parsemultiplicativeOperator, namespace: peg$parsenamespace, newLine: peg$parsenewLine, numericLiteral: peg$parsenumericLiteral, nullishCoalescingExpression: peg$parsenullishCoalescingExpression, objectLiteral: peg$parseobjectLiteral, objectEntries: peg$parseobjectEntries, objectEntry: peg$parseobjectEntry, objectGetter: peg$parseobjectGetter, objectHiddenKey: peg$parseobjectHiddenKey, objectKey: peg$parseobjectKey, objectProperty: peg$parseobjectProperty, objectShorthandProperty: peg$parseobjectShorthandProperty, objectPublicKey: peg$parseobjectPublicKey, parameter: peg$parseparameter, parameterList: peg$parseparameterList, parameterSingleton: peg$parseparameterSingleton, parenthesesArguments: peg$parseparenthesesArguments, path: peg$parsepath, pathArguments: peg$parsepathArguments, pathKey: peg$parsepathKey, pathSegment: peg$parsepathSegment, pathSegmentChar: peg$parsepathSegmentChar, pipelineExpression: peg$parsepipelineExpression, primary: peg$parseprimary, program: peg$parseprogram, protocolExpression: peg$parseprotocolExpression, qualifiedReference: peg$parsequalifiedReference, inherited: peg$parseinherited, relationalExpression: peg$parserelationalExpression, relationalOperator: peg$parserelationalOperator, rootDirectory: peg$parserootDirectory, scopeReference: peg$parsescopeReference, separator: peg$parseseparator, shebang: peg$parseshebang, shiftExpression: peg$parseshiftExpression, shiftOperator: peg$parseshiftOperator, shorthandFunction: peg$parseshorthandFunction, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, slash: peg$parseslash, slashFollows: peg$parseslashFollows, spreadElement: peg$parsespreadElement, stringLiteral: peg$parsestringLiteral, templateBody: peg$parsetemplateBody, templateBodyChar: peg$parsetemplateBodyChar, templateBodyText: peg$parsetemplateBodyText, templateDocument: peg$parsetemplateDocument, templateLiteral: peg$parsetemplateLiteral, templateLiteralChar: peg$parsetemplateLiteralChar, templateLiteralText: peg$parsetemplateLiteralText, templateSubstitution: peg$parsetemplateSubstitution, textChar: peg$parsetextChar, unaryExpression: peg$parseunaryExpression, unaryOperator: peg$parseunaryOperator, whitespace: peg$parsewhitespace, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
206
209
  var peg$startRuleFunction = peg$parse__;
207
210
 
208
211
  var peg$c0 = "[";
@@ -212,58 +215,59 @@ function peg$parse(input, options) {
212
215
  var peg$c4 = "&";
213
216
  var peg$c5 = "|";
214
217
  var peg$c6 = "^";
215
- var peg$c7 = "}";
216
- var peg$c8 = ",";
217
- var peg$c9 = "?";
218
- var peg$c10 = ":";
219
- var peg$c11 = "\u21D2";
220
- var peg$c12 = "=>";
221
- var peg$c13 = "\"";
222
- var peg$c14 = "...";
223
- var peg$c15 = "\u2026";
224
- var peg$c16 = "===";
225
- var peg$c17 = "!==";
226
- var peg$c18 = "==";
227
- var peg$c19 = "!=";
228
- var peg$c20 = "\\0";
229
- var peg$c21 = "\\b";
230
- var peg$c22 = "\\f";
231
- var peg$c23 = "\\n";
232
- var peg$c24 = "\\r";
233
- var peg$c25 = "\\t";
234
- var peg$c26 = "\\v";
235
- var peg$c27 = "\\";
236
- var peg$c28 = "**";
237
- var peg$c29 = ".";
238
- var peg$c30 = "\xAB";
239
- var peg$c31 = "\xBB";
240
- var peg$c32 = "~";
241
- var peg$c33 = "-";
242
- var peg$c34 = ">";
243
- var peg$c35 = "&&";
244
- var peg$c36 = "||";
245
- var peg$c37 = "/*";
246
- var peg$c38 = "*/";
247
- var peg$c39 = "\n";
248
- var peg$c40 = "\r\n";
249
- var peg$c41 = "\r";
250
- var peg$c42 = "??";
251
- var peg$c43 = "{";
252
- var peg$c44 = "=";
253
- var peg$c45 = "/";
254
- var peg$c46 = "//";
255
- var peg$c47 = "<=";
256
- var peg$c48 = "<";
257
- var peg$c49 = ">=";
258
- var peg$c50 = "#!";
259
- var peg$c51 = "<<";
260
- var peg$c52 = ">>>";
261
- var peg$c53 = ">>";
262
- var peg$c54 = "\u2192";
263
- var peg$c55 = "->";
264
- var peg$c56 = "'";
265
- var peg$c57 = "${";
266
- var peg$c58 = "`";
218
+ var peg$c7 = ",";
219
+ var peg$c8 = "?";
220
+ var peg$c9 = ":";
221
+ var peg$c10 = "\u21D2";
222
+ var peg$c11 = "=>";
223
+ var peg$c12 = "\"";
224
+ var peg$c13 = "...";
225
+ var peg$c14 = "\u2026";
226
+ var peg$c15 = "===";
227
+ var peg$c16 = "!==";
228
+ var peg$c17 = "==";
229
+ var peg$c18 = "!=";
230
+ var peg$c19 = "\\0";
231
+ var peg$c20 = "\\b";
232
+ var peg$c21 = "\\f";
233
+ var peg$c22 = "\\n";
234
+ var peg$c23 = "\\r";
235
+ var peg$c24 = "\\t";
236
+ var peg$c25 = "\\v";
237
+ var peg$c26 = "\\";
238
+ var peg$c27 = "`";
239
+ var peg$c28 = "}";
240
+ var peg$c29 = "\xBB";
241
+ var peg$c30 = "'";
242
+ var peg$c31 = "**";
243
+ var peg$c32 = ".";
244
+ var peg$c33 = "---\n";
245
+ var peg$c34 = "\xAB";
246
+ var peg$c35 = "~";
247
+ var peg$c36 = "-";
248
+ var peg$c37 = ">";
249
+ var peg$c38 = "&&";
250
+ var peg$c39 = "||";
251
+ var peg$c40 = "/*";
252
+ var peg$c41 = "*/";
253
+ var peg$c42 = "\n";
254
+ var peg$c43 = "\r\n";
255
+ var peg$c44 = "\r";
256
+ var peg$c45 = "??";
257
+ var peg$c46 = "{";
258
+ var peg$c47 = "=";
259
+ var peg$c48 = "/";
260
+ var peg$c49 = "//";
261
+ var peg$c50 = "<=";
262
+ var peg$c51 = "<";
263
+ var peg$c52 = ">=";
264
+ var peg$c53 = "#!";
265
+ var peg$c54 = "<<";
266
+ var peg$c55 = ">>>";
267
+ var peg$c56 = ">>";
268
+ var peg$c57 = "\u2192";
269
+ var peg$c58 = "->";
270
+ var peg$c59 = "${";
267
271
 
268
272
  var peg$r0 = /^[+\-]/;
269
273
  var peg$r1 = /^[0-9]/;
@@ -286,95 +290,98 @@ function peg$parse(input, options) {
286
290
  var peg$e8 = peg$literalExpectation("|", false);
287
291
  var peg$e9 = peg$literalExpectation("^", false);
288
292
  var peg$e10 = peg$otherExpectation("function call");
289
- var peg$e11 = peg$literalExpectation("}", false);
290
- var peg$e12 = peg$anyExpectation();
291
- var peg$e13 = peg$literalExpectation(",", false);
292
- var peg$e14 = peg$otherExpectation("comment");
293
- var peg$e15 = peg$literalExpectation("?", false);
294
- var peg$e16 = peg$literalExpectation(":", false);
295
- var peg$e17 = peg$classExpectation([["0", "9"]], false, false);
296
- var peg$e18 = peg$literalExpectation("\u21D2", false);
297
- var peg$e19 = peg$literalExpectation("=>", false);
298
- var peg$e20 = peg$otherExpectation("double quote string");
299
- var peg$e21 = peg$literalExpectation("\"", false);
300
- var peg$e22 = peg$literalExpectation("...", false);
301
- var peg$e23 = peg$literalExpectation("\u2026", false);
302
- var peg$e24 = peg$literalExpectation("===", false);
303
- var peg$e25 = peg$literalExpectation("!==", false);
304
- var peg$e26 = peg$literalExpectation("==", false);
305
- var peg$e27 = peg$literalExpectation("!=", false);
306
- var peg$e28 = peg$otherExpectation("backslash-escaped character");
307
- var peg$e29 = peg$literalExpectation("\\0", false);
308
- var peg$e30 = peg$literalExpectation("\\b", false);
309
- var peg$e31 = peg$literalExpectation("\\f", false);
310
- var peg$e32 = peg$literalExpectation("\\n", false);
311
- var peg$e33 = peg$literalExpectation("\\r", false);
312
- var peg$e34 = peg$literalExpectation("\\t", false);
313
- var peg$e35 = peg$literalExpectation("\\v", false);
314
- var peg$e36 = peg$literalExpectation("\\", false);
315
- var peg$e37 = peg$literalExpectation("**", false);
316
- var peg$e38 = peg$otherExpectation("floating-point number");
317
- var peg$e39 = peg$literalExpectation(".", false);
318
- var peg$e40 = peg$otherExpectation("parenthetical group");
319
- var peg$e41 = peg$otherExpectation("guillemet string");
320
- var peg$e42 = peg$literalExpectation("\xAB", false);
321
- var peg$e43 = peg$literalExpectation("\xBB", false);
322
- var peg$e44 = peg$literalExpectation("~", false);
323
- var peg$e45 = peg$otherExpectation("HTTP/HTTPS host");
324
- var peg$e46 = peg$otherExpectation("identifier");
325
- var peg$e47 = peg$classExpectation(["(", ")", "{", "}", "[", "]", "<", ">", "?", "!", "|", "-", "=", ",", "/", ":", "`", "\"", "'", "\xAB", "\xBB", "\\", "\u2192", "\u21D2", "\u2026", " ", "\t", "\n", "\r"], true, false);
326
- var peg$e48 = peg$literalExpectation("-", false);
327
- var peg$e49 = peg$literalExpectation(">", false);
328
- var peg$e50 = peg$otherExpectation("function call with implicit parentheses");
329
- var peg$e51 = peg$classExpectation([" ", "\t"], false, false);
330
- var peg$e52 = peg$otherExpectation("integer");
331
- var peg$e53 = peg$otherExpectation("list");
332
- var peg$e54 = peg$literalExpectation("&&", false);
333
- var peg$e55 = peg$literalExpectation("||", false);
334
- var peg$e56 = peg$literalExpectation("/*", false);
335
- var peg$e57 = peg$literalExpectation("*/", false);
336
- var peg$e58 = peg$classExpectation(["%", "*", "/"], false, false);
337
- var peg$e59 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false);
338
- var peg$e60 = peg$literalExpectation("\n", false);
339
- var peg$e61 = peg$literalExpectation("\r\n", false);
340
- var peg$e62 = peg$literalExpectation("\r", false);
341
- var peg$e63 = peg$otherExpectation("number");
342
- var peg$e64 = peg$literalExpectation("??", false);
343
- var peg$e65 = peg$otherExpectation("object literal");
344
- var peg$e66 = peg$literalExpectation("{", false);
345
- var peg$e67 = peg$otherExpectation("object getter");
346
- var peg$e68 = peg$literalExpectation("=", false);
347
- var peg$e69 = peg$otherExpectation("object key");
348
- var peg$e70 = peg$otherExpectation("object property");
349
- var peg$e71 = peg$otherExpectation("object identifier");
350
- var peg$e72 = peg$literalExpectation("/", false);
351
- var peg$e73 = peg$otherExpectation("function arguments in parentheses");
352
- var peg$e74 = peg$otherExpectation("slash-separated path");
353
- var peg$e75 = peg$classExpectation(["(", ")", "{", "}", "[", "]", ",", ":", "/", "\\", " ", "\t", "\n", "\r"], true, false);
354
- var peg$e76 = peg$otherExpectation("Origami program");
355
- var peg$e77 = peg$literalExpectation("//", false);
356
- var peg$e78 = peg$literalExpectation("<=", false);
357
- var peg$e79 = peg$literalExpectation("<", false);
358
- var peg$e80 = peg$literalExpectation(">=", false);
359
- var peg$e81 = peg$otherExpectation("scope reference");
360
- var peg$e82 = peg$literalExpectation("#!", false);
361
- var peg$e83 = peg$classExpectation(["\n", "\r"], true, false);
362
- var peg$e84 = peg$literalExpectation("<<", false);
363
- var peg$e85 = peg$literalExpectation(">>>", false);
364
- var peg$e86 = peg$literalExpectation(">>", false);
365
- var peg$e87 = peg$otherExpectation("lambda function");
366
- var peg$e88 = peg$literalExpectation("\u2192", false);
367
- var peg$e89 = peg$literalExpectation("->", false);
368
- var peg$e90 = peg$otherExpectation("single quote string");
369
- var peg$e91 = peg$literalExpectation("'", false);
370
- var peg$e92 = peg$otherExpectation("string");
371
- var peg$e93 = peg$otherExpectation("template");
372
- var peg$e94 = peg$literalExpectation("${", false);
373
- var peg$e95 = peg$otherExpectation("template text");
374
- var peg$e96 = peg$otherExpectation("template literal");
375
- var peg$e97 = peg$literalExpectation("`", false);
376
- var peg$e98 = peg$otherExpectation("template substitution");
377
- var peg$e99 = peg$classExpectation(["!", "+", "-", "~"], false, false);
293
+ var peg$e11 = peg$literalExpectation(",", false);
294
+ var peg$e12 = peg$otherExpectation("comment");
295
+ var peg$e13 = peg$literalExpectation("?", false);
296
+ var peg$e14 = peg$literalExpectation(":", false);
297
+ var peg$e15 = peg$classExpectation([["0", "9"]], false, false);
298
+ var peg$e16 = peg$literalExpectation("\u21D2", false);
299
+ var peg$e17 = peg$literalExpectation("=>", false);
300
+ var peg$e18 = peg$otherExpectation("double quote string");
301
+ var peg$e19 = peg$literalExpectation("\"", false);
302
+ var peg$e20 = peg$literalExpectation("...", false);
303
+ var peg$e21 = peg$literalExpectation("\u2026", false);
304
+ var peg$e22 = peg$literalExpectation("===", false);
305
+ var peg$e23 = peg$literalExpectation("!==", false);
306
+ var peg$e24 = peg$literalExpectation("==", false);
307
+ var peg$e25 = peg$literalExpectation("!=", false);
308
+ var peg$e26 = peg$otherExpectation("backslash-escaped character");
309
+ var peg$e27 = peg$literalExpectation("\\0", false);
310
+ var peg$e28 = peg$literalExpectation("\\b", false);
311
+ var peg$e29 = peg$literalExpectation("\\f", false);
312
+ var peg$e30 = peg$literalExpectation("\\n", false);
313
+ var peg$e31 = peg$literalExpectation("\\r", false);
314
+ var peg$e32 = peg$literalExpectation("\\t", false);
315
+ var peg$e33 = peg$literalExpectation("\\v", false);
316
+ var peg$e34 = peg$literalExpectation("\\", false);
317
+ var peg$e35 = peg$anyExpectation();
318
+ var peg$e36 = peg$literalExpectation("`", false);
319
+ var peg$e37 = peg$literalExpectation("}", false);
320
+ var peg$e38 = peg$literalExpectation("\xBB", false);
321
+ var peg$e39 = peg$literalExpectation("'", false);
322
+ var peg$e40 = peg$literalExpectation("**", false);
323
+ var peg$e41 = peg$otherExpectation("floating-point number");
324
+ var peg$e42 = peg$literalExpectation(".", false);
325
+ var peg$e43 = peg$literalExpectation("---\n", false);
326
+ var peg$e44 = peg$otherExpectation("YAML front matter");
327
+ var peg$e45 = peg$otherExpectation("parenthetical group");
328
+ var peg$e46 = peg$otherExpectation("guillemet string");
329
+ var peg$e47 = peg$literalExpectation("\xAB", false);
330
+ var peg$e48 = peg$literalExpectation("~", false);
331
+ var peg$e49 = peg$otherExpectation("HTTP/HTTPS host");
332
+ var peg$e50 = peg$otherExpectation("identifier");
333
+ var peg$e51 = peg$classExpectation(["(", ")", "{", "}", "[", "]", "<", ">", "?", "!", "|", "-", "=", ",", "/", ":", "`", "\"", "'", "\xAB", "\xBB", "\\", "\u2192", "\u21D2", "\u2026", " ", "\t", "\n", "\r"], true, false);
334
+ var peg$e52 = peg$literalExpectation("-", false);
335
+ var peg$e53 = peg$literalExpectation(">", false);
336
+ var peg$e54 = peg$otherExpectation("function call with implicit parentheses");
337
+ var peg$e55 = peg$classExpectation([" ", "\t"], false, false);
338
+ var peg$e56 = peg$otherExpectation("integer");
339
+ var peg$e57 = peg$otherExpectation("list");
340
+ var peg$e58 = peg$literalExpectation("&&", false);
341
+ var peg$e59 = peg$literalExpectation("||", false);
342
+ var peg$e60 = peg$literalExpectation("/*", false);
343
+ var peg$e61 = peg$literalExpectation("*/", false);
344
+ var peg$e62 = peg$classExpectation(["%", "*", "/"], false, false);
345
+ var peg$e63 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false);
346
+ var peg$e64 = peg$literalExpectation("\n", false);
347
+ var peg$e65 = peg$literalExpectation("\r\n", false);
348
+ var peg$e66 = peg$literalExpectation("\r", false);
349
+ var peg$e67 = peg$otherExpectation("number");
350
+ var peg$e68 = peg$literalExpectation("??", false);
351
+ var peg$e69 = peg$otherExpectation("object literal");
352
+ var peg$e70 = peg$literalExpectation("{", false);
353
+ var peg$e71 = peg$otherExpectation("object getter");
354
+ var peg$e72 = peg$literalExpectation("=", false);
355
+ var peg$e73 = peg$otherExpectation("object key");
356
+ var peg$e74 = peg$otherExpectation("object property");
357
+ var peg$e75 = peg$otherExpectation("object identifier");
358
+ var peg$e76 = peg$literalExpectation("/", false);
359
+ var peg$e77 = peg$otherExpectation("function arguments in parentheses");
360
+ var peg$e78 = peg$otherExpectation("slash-separated path");
361
+ var peg$e79 = peg$classExpectation(["(", ")", "{", "}", "[", "]", ",", ":", "/", "\\", " ", "\t", "\n", "\r"], true, false);
362
+ var peg$e80 = peg$otherExpectation("Origami program");
363
+ var peg$e81 = peg$literalExpectation("//", false);
364
+ var peg$e82 = peg$literalExpectation("<=", false);
365
+ var peg$e83 = peg$literalExpectation("<", false);
366
+ var peg$e84 = peg$literalExpectation(">=", false);
367
+ var peg$e85 = peg$otherExpectation("scope reference");
368
+ var peg$e86 = peg$literalExpectation("#!", false);
369
+ var peg$e87 = peg$classExpectation(["\n", "\r"], true, false);
370
+ var peg$e88 = peg$literalExpectation("<<", false);
371
+ var peg$e89 = peg$literalExpectation(">>>", false);
372
+ var peg$e90 = peg$literalExpectation(">>", false);
373
+ var peg$e91 = peg$otherExpectation("lambda function");
374
+ var peg$e92 = peg$literalExpectation("\u2192", false);
375
+ var peg$e93 = peg$literalExpectation("->", false);
376
+ var peg$e94 = peg$otherExpectation("single quote string");
377
+ var peg$e95 = peg$otherExpectation("string");
378
+ var peg$e96 = peg$otherExpectation("template");
379
+ var peg$e97 = peg$literalExpectation("${", false);
380
+ var peg$e98 = peg$otherExpectation("template text");
381
+ var peg$e99 = peg$otherExpectation("template document");
382
+ var peg$e100 = peg$otherExpectation("template literal");
383
+ var peg$e101 = peg$otherExpectation("template substitution");
384
+ var peg$e102 = peg$classExpectation(["!", "+", "-", "~"], false, false);
378
385
 
379
386
  var peg$f0 = function() {
380
387
  return null;
@@ -392,12 +399,11 @@ function peg$parse(input, options) {
392
399
  return annotate([ops.literal, undefined], location());
393
400
  };
394
401
  var peg$f5 = function(parameters, pipeline) {
395
- const lambdaParameters = annotate(parameters ?? [], location());
402
+ const lambdaParameters = parameters ?? annotate([], location());
396
403
  return annotate([ops.lambda, lambdaParameters, pipeline], location());
397
404
  };
398
- var peg$f6 = function(identifier, pipeline) {
399
- const lambdaParameters = annotate([identifier], location())
400
- return annotate([ops.lambda, lambdaParameters, pipeline], location());
405
+ var peg$f6 = function(parameter, pipeline) {
406
+ return annotate([ops.lambda, parameter, pipeline], location());
401
407
  };
402
408
  var peg$f7 = function(head, tail) {
403
409
  return tail.reduce(makeBinaryOperation, head);
@@ -411,21 +417,12 @@ function peg$parse(input, options) {
411
417
  var peg$f10 = function(head, tail) {
412
418
  return tail.reduce(makeCall, head);
413
419
  };
414
- var peg$f11 = function() {
415
- error(`An object ended without a closing brace, or contained something that wasn't expected.\nThe top level of an object can only contain definitions ("a: b" or "a = b") or spreads ("...a").`);
416
- };
417
- var peg$f12 = function() {
418
- error("Expected right bracket");
419
- };
420
- var peg$f13 = function() {
421
- error("Expected right parenthesis");
422
- };
423
- var peg$f14 = function(list) {
420
+ var peg$f11 = function(list) {
424
421
  return list.length === 1
425
422
  ? list[0]
426
423
  : annotate([ops.comma, ...list], location());
427
424
  };
428
- var peg$f15 = function(condition, tail) {
425
+ var peg$f12 = function(condition, tail) {
429
426
  if (!tail) {
430
427
  return condition;
431
428
  }
@@ -437,57 +434,93 @@ function peg$parse(input, options) {
437
434
  downgradeReference(deferred[1])
438
435
  ], location());
439
436
  };
440
- var peg$f16 = function(chars) {
437
+ var peg$f13 = function(chars) {
441
438
  return annotate([ops.literal, chars.join("")], location());
442
439
  };
443
- var peg$f17 = function(head, tail) {
440
+ var peg$f14 = function(head, tail) {
444
441
  return tail.reduce(makeBinaryOperation, head);
445
442
  };
446
- var peg$f18 = function() { return "\0"; };
447
- var peg$f19 = function() { return "\b"; };
448
- var peg$f20 = function() { return "\f"; };
449
- var peg$f21 = function() { return "\n"; };
450
- var peg$f22 = function() { return "\r"; };
451
- var peg$f23 = function() { return "\t"; };
452
- var peg$f24 = function() { return "\v"; };
453
- var peg$f25 = function(left, right) {
454
- return right ? annotate([ops.exponentiation, left, right], location()) : left;
443
+ var peg$f15 = function() { return "\0"; };
444
+ var peg$f16 = function() { return "\b"; };
445
+ var peg$f17 = function() { return "\f"; };
446
+ var peg$f18 = function() { return "\n"; };
447
+ var peg$f19 = function() { return "\r"; };
448
+ var peg$f20 = function() { return "\t"; };
449
+ var peg$f21 = function() { return "\v"; };
450
+ var peg$f22 = function() {
451
+ error("Expected closing backtick");
452
+ };
453
+ var peg$f23 = function() {
454
+ error(`An object ended without a closing brace, or contained something that wasn't expected.\nThe top level of an object can only contain definitions ("a: b" or "a = b") or spreads ("...a").`);
455
+ };
456
+ var peg$f24 = function() {
457
+ error("Expected right bracket");
458
+ };
459
+ var peg$f25 = function() {
460
+ error("Expected right parenthesis");
455
461
  };
456
462
  var peg$f26 = function() {
463
+ error("Expected closing quote");
464
+ };
465
+ var peg$f27 = function() {
466
+ error("Expected an Origami expression");
467
+ };
468
+ var peg$f28 = function() {
469
+ error("Expected \"---\"");
470
+ };
471
+ var peg$f29 = function() {
472
+ error("Expected closing guillemet");
473
+ };
474
+ var peg$f30 = function() {
475
+ error("Expected closing quote");
476
+ };
477
+ var peg$f31 = function() {
478
+ error("Expected an expression");
479
+ };
480
+ var peg$f32 = function(left, right) {
481
+ return right ? annotate([ops.exponentiation, left, right], location()) : left;
482
+ };
483
+ var peg$f33 = function() {
457
484
  return annotate([ops.literal, parseFloat(text())], location());
458
485
  };
459
- var peg$f27 = function(expression) {
486
+ var peg$f34 = function() {
487
+ return isOrigamiFrontMatter(input.slice(location().end.offset))
488
+ };
489
+ var peg$f35 = function(chars) {
490
+ return chars.join("");
491
+ };
492
+ var peg$f36 = function(yaml) {
493
+ return makeYamlObject(yaml, location());
494
+ };
495
+ var peg$f37 = function(expression) {
460
496
  return annotate(downgradeReference(expression), location());
461
497
  };
462
- var peg$f28 = function(chars) {
498
+ var peg$f38 = function(chars) {
463
499
  return annotate([ops.literal, chars.join("")], location());
464
500
  };
465
- var peg$f29 = function() {
501
+ var peg$f39 = function() {
466
502
  return annotate([ops.homeDirectory], location());
467
503
  };
468
- var peg$f30 = function(identifier, port, slashFollows) {
504
+ var peg$f40 = function(identifier, port, slashFollows) {
469
505
  const portText = port ? `:${port[1]}` : "";
470
506
  const slashText = slashFollows ? "/" : "";
471
507
  const hostText = identifier + portText + slashText;
472
508
  return annotate([ops.literal, hostText], location());
473
509
  };
474
- var peg$f31 = function(chars) { return chars.join(""); };
475
- var peg$f32 = function(list) {
476
- return annotate(list, location());
477
- };
478
- var peg$f33 = function(head, args) {
510
+ var peg$f41 = function(chars) { return chars.join(""); };
511
+ var peg$f42 = function(head, args) {
479
512
  return args ? makeCall(head, args) : head;
480
513
  };
481
- var peg$f34 = function(values) {
514
+ var peg$f43 = function(values) {
482
515
  return annotate(values, location());
483
516
  };
484
- var peg$f35 = function() {
517
+ var peg$f44 = function() {
485
518
  return annotate([ops.literal, parseInt(text())], location());
486
519
  };
487
- var peg$f36 = function(values) {
520
+ var peg$f45 = function(values) {
488
521
  return annotate(values, location());
489
522
  };
490
- var peg$f37 = function(head, tail) {
523
+ var peg$f46 = function(head, tail) {
491
524
  return tail.length === 0
492
525
  ? head
493
526
  : annotate(
@@ -495,7 +528,7 @@ function peg$parse(input, options) {
495
528
  location()
496
529
  );
497
530
  };
498
- var peg$f38 = function(head, tail) {
531
+ var peg$f47 = function(head, tail) {
499
532
  return tail.length === 0
500
533
  ? head
501
534
  : annotate(
@@ -503,14 +536,14 @@ function peg$parse(input, options) {
503
536
  location()
504
537
  );
505
538
  };
506
- var peg$f39 = function() { return null; };
507
- var peg$f40 = function(head, tail) {
539
+ var peg$f48 = function() { return null; };
540
+ var peg$f49 = function(head, tail) {
508
541
  return tail.reduce(makeBinaryOperation, head);
509
542
  };
510
- var peg$f41 = function(chars) {
543
+ var peg$f50 = function(chars) {
511
544
  return annotate([ops.builtin, chars.join("") + ":"], location());
512
545
  };
513
- var peg$f42 = function(head, tail) {
546
+ var peg$f51 = function(head, tail) {
514
547
  return tail.length === 0
515
548
  ? head
516
549
  : annotate(
@@ -518,117 +551,143 @@ function peg$parse(input, options) {
518
551
  location()
519
552
  );
520
553
  };
521
- var peg$f43 = function(entries) {
554
+ var peg$f52 = function(entries) {
522
555
  return makeObject(entries ?? [], location());
523
556
  };
524
- var peg$f44 = function(entries) {
557
+ var peg$f53 = function(entries) {
525
558
  return annotate(entries, location());
526
559
  };
527
- var peg$f45 = function(key, pipeline) {
560
+ var peg$f54 = function(key, pipeline) {
528
561
  return annotate(
529
562
  makeProperty(key, annotate([ops.getter, pipeline], location())),
530
563
  location()
531
564
  );
532
565
  };
533
- var peg$f46 = function(hiddenKey) { return hiddenKey.join(""); };
534
- var peg$f47 = function(key, pipeline) {
566
+ var peg$f55 = function(hiddenKey) { return hiddenKey.join(""); };
567
+ var peg$f56 = function(key, pipeline) {
535
568
  return annotate(makeProperty(key, pipeline), location());
536
569
  };
537
- var peg$f48 = function(key) {
570
+ var peg$f57 = function(key) {
538
571
  const inherited = annotate([ops.inherited, key], location());
539
572
  return annotate([key, inherited], location());
540
573
  };
541
- var peg$f49 = function(identifier, slash) {
574
+ var peg$f58 = function(identifier, slash) {
542
575
  return identifier + (slash ?? "");
543
576
  };
544
- var peg$f50 = function(string) {
577
+ var peg$f59 = function(string) {
545
578
  // Remove `ops.literal` from the string code
546
579
  return string[1];
547
580
  };
548
- var peg$f51 = function(list) {
581
+ var peg$f60 = function(identifier) {
582
+ return annotate([ops.literal, identifier], location());
583
+ };
584
+ var peg$f61 = function(list) {
585
+ return annotate(list, location());
586
+ };
587
+ var peg$f62 = function(identifier) {
588
+ return annotate(
589
+ [annotate([ops.literal, identifier], location())],
590
+ location()
591
+ );
592
+ };
593
+ var peg$f63 = function(list) {
549
594
  return annotate(list ?? [undefined], location());
550
595
  };
551
- var peg$f52 = function(segments) {
596
+ var peg$f64 = function(segments) {
552
597
  // Drop empty segments that represent consecutive or final slashes
553
598
  segments = segments.filter(segment => segment);
554
599
  return annotate(segments, location());
555
600
  };
556
- var peg$f53 = function(path) {
601
+ var peg$f65 = function(path) {
557
602
  return annotate([ops.traverse, ...path], location());
558
603
  };
559
- var peg$f54 = function(chars, slashFollows) {
604
+ var peg$f66 = function(chars, slashFollows) {
560
605
  // Append a trailing slash if one follows (but don't consume it)
561
606
  const key = chars.join("") + (slashFollows ? "/" : "");
562
607
  return annotate([ops.literal, key], location());
563
608
  };
564
- var peg$f55 = function(head, tail) {
609
+ var peg$f67 = function(head, tail) {
565
610
  return annotate(
566
611
  tail.reduce(makePipeline, downgradeReference(head)),
567
612
  location()
568
613
  );
569
614
  };
570
- var peg$f56 = function(fn, host, path) {
615
+ var peg$f68 = function(fn, host, path) {
571
616
  const keys = annotate([host, ...(path ?? [])], location());
572
617
  return makeCall(fn, keys);
573
618
  };
574
- var peg$f57 = function(fn, reference) {
619
+ var peg$f69 = function(fn, reference) {
575
620
  const literal = annotate([ops.literal, reference[1]], reference.location);
576
621
  return makeCall(fn, [literal]);
577
622
  };
578
- var peg$f58 = function(head, tail) {
623
+ var peg$f70 = function(head, tail) {
579
624
  return tail.reduce(makeBinaryOperation, head);
580
625
  };
581
- var peg$f59 = function(key) {
626
+ var peg$f71 = function(key) {
582
627
  return annotate([ops.rootDirectory, key], location());
583
628
  };
584
- var peg$f60 = function() {
629
+ var peg$f72 = function() {
585
630
  return annotate([ops.rootDirectory], location());
586
631
  };
587
- var peg$f61 = function(identifier, slashFollows) {
632
+ var peg$f73 = function(identifier, slashFollows) {
588
633
  const id = identifier + (slashFollows ? "/" : "");
589
634
  return annotate(makeReference(id), location());
590
635
  };
591
- var peg$f62 = function() { return null; };
592
- var peg$f63 = function(head, tail) {
636
+ var peg$f74 = function() { return null; };
637
+ var peg$f75 = function(head, tail) {
593
638
  return tail.reduce(makeBinaryOperation, head);
594
639
  };
595
- var peg$f64 = function(definition) {
596
- const lambdaParameters = annotate(["_"], location());
640
+ var peg$f76 = function(definition) {
641
+ const lambdaParameters = annotate(
642
+ [annotate([ops.literal, "_"], location())],
643
+ location()
644
+ );
597
645
  return annotate([ops.lambda, lambdaParameters, definition], location());
598
646
  };
599
- var peg$f65 = function() { return null; };
600
- var peg$f66 = function(chars) {
647
+ var peg$f77 = function() { return null; };
648
+ var peg$f78 = function(chars) {
601
649
  return annotate([ops.literal, chars.join("")], location());
602
650
  };
603
- var peg$f67 = function() {
651
+ var peg$f79 = function() {
604
652
  return annotate([ops.literal, "/"], location());
605
653
  };
606
- var peg$f68 = function() {
654
+ var peg$f80 = function() {
607
655
  return true;
608
656
  };
609
- var peg$f69 = function(value) {
657
+ var peg$f81 = function(value) {
610
658
  return annotate([ops.spread, value], location());
611
659
  };
612
- var peg$f70 = function(head, tail) {
613
- const lambdaParameters = annotate(["_"], location());
660
+ var peg$f82 = function(head, tail) {
661
+ const lambdaParameters = annotate(
662
+ [annotate([ops.literal, "_"], location())],
663
+ location()
664
+ );
614
665
  return annotate(
615
666
  [ops.lambda, lambdaParameters, makeTemplate(ops.templateIndent, head, tail, location())],
616
667
  location()
617
668
  );
618
669
  };
619
- var peg$f71 = function(chars) {
670
+ var peg$f83 = function(chars) {
620
671
  return annotate([ops.literal, chars.join("")], location());
621
672
  };
622
- var peg$f72 = function(head, tail) {
673
+ var peg$f84 = function(front, body) {
674
+ return annotate(applyMacro(front, "@template", body), location());
675
+ };
676
+ var peg$f85 = function(front, body) {
677
+ return front
678
+ ? annotate([ops.document, front, body], location())
679
+ : annotate(body, location());
680
+ };
681
+ var peg$f86 = function(head, tail) {
623
682
  return makeTemplate(ops.template, head, tail, location());
624
683
  };
625
- var peg$f73 = function(chars) {
684
+ var peg$f87 = function(chars) {
626
685
  return annotate([ops.literal, chars.join("")], location());
627
686
  };
628
- var peg$f74 = function(expression) {
687
+ var peg$f88 = function(expression) {
629
688
  return annotate(expression, location());
630
689
  };
631
- var peg$f75 = function(operator, expression) {
690
+ var peg$f89 = function(operator, expression) {
632
691
  return makeUnaryOperation(operator, expression, location());
633
692
  };
634
693
  var peg$currPos = options.peg$currPos | 0;
@@ -935,7 +994,7 @@ function peg$parse(input, options) {
935
994
  s3 = null;
936
995
  }
937
996
  s4 = peg$parse__();
938
- s5 = peg$parseclosingBracket();
997
+ s5 = peg$parseexpectClosingBracket();
939
998
  if (s5 !== peg$FAILED) {
940
999
  peg$savedPos = s0;
941
1000
  s0 = peg$f2(s3);
@@ -1051,7 +1110,7 @@ function peg$parse(input, options) {
1051
1110
  }
1052
1111
  if (s1 !== peg$FAILED) {
1053
1112
  s2 = peg$parse__();
1054
- s3 = peg$parseidentifierList();
1113
+ s3 = peg$parseparameterList();
1055
1114
  if (s3 === peg$FAILED) {
1056
1115
  s3 = null;
1057
1116
  }
@@ -1068,7 +1127,7 @@ function peg$parse(input, options) {
1068
1127
  s7 = peg$parsedoubleArrow();
1069
1128
  if (s7 !== peg$FAILED) {
1070
1129
  s8 = peg$parse__();
1071
- s9 = peg$parsepipelineExpression();
1130
+ s9 = peg$parseexpectPipelineExpression();
1072
1131
  if (s9 !== peg$FAILED) {
1073
1132
  peg$savedPos = s0;
1074
1133
  s0 = peg$f5(s3, s9);
@@ -1090,13 +1149,13 @@ function peg$parse(input, options) {
1090
1149
  }
1091
1150
  if (s0 === peg$FAILED) {
1092
1151
  s0 = peg$currPos;
1093
- s1 = peg$parseidentifier();
1152
+ s1 = peg$parseparameterSingleton();
1094
1153
  if (s1 !== peg$FAILED) {
1095
1154
  s2 = peg$parse__();
1096
1155
  s3 = peg$parsedoubleArrow();
1097
1156
  if (s3 !== peg$FAILED) {
1098
1157
  s4 = peg$parse__();
1099
- s5 = peg$parsepipelineExpression();
1158
+ s5 = peg$parseexpectPipelineExpression();
1100
1159
  if (s5 !== peg$FAILED) {
1101
1160
  peg$savedPos = s0;
1102
1161
  s0 = peg$f6(s1, s5);
@@ -1402,96 +1461,6 @@ function peg$parse(input, options) {
1402
1461
  return s0;
1403
1462
  }
1404
1463
 
1405
- function peg$parseclosingBrace() {
1406
- var s0, s1;
1407
-
1408
- if (input.charCodeAt(peg$currPos) === 125) {
1409
- s0 = peg$c7;
1410
- peg$currPos++;
1411
- } else {
1412
- s0 = peg$FAILED;
1413
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
1414
- }
1415
- if (s0 === peg$FAILED) {
1416
- s0 = peg$currPos;
1417
- if (input.length > peg$currPos) {
1418
- s1 = input.charAt(peg$currPos);
1419
- peg$currPos++;
1420
- } else {
1421
- s1 = peg$FAILED;
1422
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
1423
- }
1424
- if (s1 === peg$FAILED) {
1425
- s1 = null;
1426
- }
1427
- peg$savedPos = s0;
1428
- s1 = peg$f11();
1429
- s0 = s1;
1430
- }
1431
-
1432
- return s0;
1433
- }
1434
-
1435
- function peg$parseclosingBracket() {
1436
- var s0, s1;
1437
-
1438
- if (input.charCodeAt(peg$currPos) === 93) {
1439
- s0 = peg$c1;
1440
- peg$currPos++;
1441
- } else {
1442
- s0 = peg$FAILED;
1443
- if (peg$silentFails === 0) { peg$fail(peg$e4); }
1444
- }
1445
- if (s0 === peg$FAILED) {
1446
- s0 = peg$currPos;
1447
- if (input.length > peg$currPos) {
1448
- s1 = input.charAt(peg$currPos);
1449
- peg$currPos++;
1450
- } else {
1451
- s1 = peg$FAILED;
1452
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
1453
- }
1454
- if (s1 === peg$FAILED) {
1455
- s1 = null;
1456
- }
1457
- peg$savedPos = s0;
1458
- s1 = peg$f12();
1459
- s0 = s1;
1460
- }
1461
-
1462
- return s0;
1463
- }
1464
-
1465
- function peg$parseclosingParenthesis() {
1466
- var s0, s1;
1467
-
1468
- if (input.charCodeAt(peg$currPos) === 41) {
1469
- s0 = peg$c3;
1470
- peg$currPos++;
1471
- } else {
1472
- s0 = peg$FAILED;
1473
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
1474
- }
1475
- if (s0 === peg$FAILED) {
1476
- s0 = peg$currPos;
1477
- if (input.length > peg$currPos) {
1478
- s1 = input.charAt(peg$currPos);
1479
- peg$currPos++;
1480
- } else {
1481
- s1 = peg$FAILED;
1482
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
1483
- }
1484
- if (s1 === peg$FAILED) {
1485
- s1 = null;
1486
- }
1487
- peg$savedPos = s0;
1488
- s1 = peg$f13();
1489
- s0 = s1;
1490
- }
1491
-
1492
- return s0;
1493
- }
1494
-
1495
1464
  function peg$parsecommaExpression() {
1496
1465
  var s0, s1, s2, s3, s4, s5, s6, s7;
1497
1466
 
@@ -1505,11 +1474,11 @@ function peg$parse(input, options) {
1505
1474
  s4 = peg$currPos;
1506
1475
  s5 = peg$parse__();
1507
1476
  if (input.charCodeAt(peg$currPos) === 44) {
1508
- s6 = peg$c8;
1477
+ s6 = peg$c7;
1509
1478
  peg$currPos++;
1510
1479
  } else {
1511
1480
  s6 = peg$FAILED;
1512
- if (peg$silentFails === 0) { peg$fail(peg$e13); }
1481
+ if (peg$silentFails === 0) { peg$fail(peg$e11); }
1513
1482
  }
1514
1483
  if (s6 !== peg$FAILED) {
1515
1484
  s7 = peg$parse__();
@@ -1539,7 +1508,7 @@ function peg$parse(input, options) {
1539
1508
  }
1540
1509
  if (s1 !== peg$FAILED) {
1541
1510
  peg$savedPos = s0;
1542
- s1 = peg$f14(s1);
1511
+ s1 = peg$f11(s1);
1543
1512
  }
1544
1513
  s0 = s1;
1545
1514
 
@@ -1557,7 +1526,7 @@ function peg$parse(input, options) {
1557
1526
  peg$silentFails--;
1558
1527
  if (s0 === peg$FAILED) {
1559
1528
  s1 = peg$FAILED;
1560
- if (peg$silentFails === 0) { peg$fail(peg$e14); }
1529
+ if (peg$silentFails === 0) { peg$fail(peg$e12); }
1561
1530
  }
1562
1531
 
1563
1532
  return s0;
@@ -1572,11 +1541,11 @@ function peg$parse(input, options) {
1572
1541
  s2 = peg$currPos;
1573
1542
  s3 = peg$parse__();
1574
1543
  if (input.charCodeAt(peg$currPos) === 63) {
1575
- s4 = peg$c9;
1544
+ s4 = peg$c8;
1576
1545
  peg$currPos++;
1577
1546
  } else {
1578
1547
  s4 = peg$FAILED;
1579
- if (peg$silentFails === 0) { peg$fail(peg$e15); }
1548
+ if (peg$silentFails === 0) { peg$fail(peg$e13); }
1580
1549
  }
1581
1550
  if (s4 !== peg$FAILED) {
1582
1551
  s5 = peg$parse__();
@@ -1584,11 +1553,11 @@ function peg$parse(input, options) {
1584
1553
  if (s6 !== peg$FAILED) {
1585
1554
  s7 = peg$parse__();
1586
1555
  if (input.charCodeAt(peg$currPos) === 58) {
1587
- s8 = peg$c10;
1556
+ s8 = peg$c9;
1588
1557
  peg$currPos++;
1589
1558
  } else {
1590
1559
  s8 = peg$FAILED;
1591
- if (peg$silentFails === 0) { peg$fail(peg$e16); }
1560
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
1592
1561
  }
1593
1562
  if (s8 !== peg$FAILED) {
1594
1563
  s9 = peg$parse__();
@@ -1615,7 +1584,7 @@ function peg$parse(input, options) {
1615
1584
  s2 = null;
1616
1585
  }
1617
1586
  peg$savedPos = s0;
1618
- s0 = peg$f15(s1, s2);
1587
+ s0 = peg$f12(s1, s2);
1619
1588
  } else {
1620
1589
  peg$currPos = s0;
1621
1590
  s0 = peg$FAILED;
@@ -1634,7 +1603,7 @@ function peg$parse(input, options) {
1634
1603
  peg$currPos++;
1635
1604
  } else {
1636
1605
  s2 = peg$FAILED;
1637
- if (peg$silentFails === 0) { peg$fail(peg$e17); }
1606
+ if (peg$silentFails === 0) { peg$fail(peg$e15); }
1638
1607
  }
1639
1608
  if (s2 !== peg$FAILED) {
1640
1609
  while (s2 !== peg$FAILED) {
@@ -1644,7 +1613,7 @@ function peg$parse(input, options) {
1644
1613
  peg$currPos++;
1645
1614
  } else {
1646
1615
  s2 = peg$FAILED;
1647
- if (peg$silentFails === 0) { peg$fail(peg$e17); }
1616
+ if (peg$silentFails === 0) { peg$fail(peg$e15); }
1648
1617
  }
1649
1618
  }
1650
1619
  } else {
@@ -1664,19 +1633,19 @@ function peg$parse(input, options) {
1664
1633
  var s0;
1665
1634
 
1666
1635
  if (input.charCodeAt(peg$currPos) === 8658) {
1667
- s0 = peg$c11;
1636
+ s0 = peg$c10;
1668
1637
  peg$currPos++;
1669
1638
  } else {
1670
1639
  s0 = peg$FAILED;
1671
- if (peg$silentFails === 0) { peg$fail(peg$e18); }
1640
+ if (peg$silentFails === 0) { peg$fail(peg$e16); }
1672
1641
  }
1673
1642
  if (s0 === peg$FAILED) {
1674
- if (input.substr(peg$currPos, 2) === peg$c12) {
1675
- s0 = peg$c12;
1643
+ if (input.substr(peg$currPos, 2) === peg$c11) {
1644
+ s0 = peg$c11;
1676
1645
  peg$currPos += 2;
1677
1646
  } else {
1678
1647
  s0 = peg$FAILED;
1679
- if (peg$silentFails === 0) { peg$fail(peg$e19); }
1648
+ if (peg$silentFails === 0) { peg$fail(peg$e17); }
1680
1649
  }
1681
1650
  }
1682
1651
 
@@ -1689,11 +1658,11 @@ function peg$parse(input, options) {
1689
1658
  peg$silentFails++;
1690
1659
  s0 = peg$currPos;
1691
1660
  if (input.charCodeAt(peg$currPos) === 34) {
1692
- s1 = peg$c13;
1661
+ s1 = peg$c12;
1693
1662
  peg$currPos++;
1694
1663
  } else {
1695
1664
  s1 = peg$FAILED;
1696
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
1665
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
1697
1666
  }
1698
1667
  if (s1 !== peg$FAILED) {
1699
1668
  s2 = [];
@@ -1702,16 +1671,10 @@ function peg$parse(input, options) {
1702
1671
  s2.push(s3);
1703
1672
  s3 = peg$parsedoubleQuoteStringChar();
1704
1673
  }
1705
- if (input.charCodeAt(peg$currPos) === 34) {
1706
- s3 = peg$c13;
1707
- peg$currPos++;
1708
- } else {
1709
- s3 = peg$FAILED;
1710
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
1711
- }
1674
+ s3 = peg$parseexpectDoubleQuote();
1712
1675
  if (s3 !== peg$FAILED) {
1713
1676
  peg$savedPos = s0;
1714
- s0 = peg$f16(s2);
1677
+ s0 = peg$f13(s2);
1715
1678
  } else {
1716
1679
  peg$currPos = s0;
1717
1680
  s0 = peg$FAILED;
@@ -1723,7 +1686,7 @@ function peg$parse(input, options) {
1723
1686
  peg$silentFails--;
1724
1687
  if (s0 === peg$FAILED) {
1725
1688
  s1 = peg$FAILED;
1726
- if (peg$silentFails === 0) { peg$fail(peg$e20); }
1689
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
1727
1690
  }
1728
1691
 
1729
1692
  return s0;
@@ -1736,11 +1699,11 @@ function peg$parse(input, options) {
1736
1699
  s1 = peg$currPos;
1737
1700
  peg$silentFails++;
1738
1701
  if (input.charCodeAt(peg$currPos) === 34) {
1739
- s2 = peg$c13;
1702
+ s2 = peg$c12;
1740
1703
  peg$currPos++;
1741
1704
  } else {
1742
1705
  s2 = peg$FAILED;
1743
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
1706
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
1744
1707
  }
1745
1708
  if (s2 === peg$FAILED) {
1746
1709
  s2 = peg$parsenewLine();
@@ -1771,20 +1734,20 @@ function peg$parse(input, options) {
1771
1734
  function peg$parseellipsis() {
1772
1735
  var s0;
1773
1736
 
1774
- if (input.substr(peg$currPos, 3) === peg$c14) {
1775
- s0 = peg$c14;
1737
+ if (input.substr(peg$currPos, 3) === peg$c13) {
1738
+ s0 = peg$c13;
1776
1739
  peg$currPos += 3;
1777
1740
  } else {
1778
1741
  s0 = peg$FAILED;
1779
- if (peg$silentFails === 0) { peg$fail(peg$e22); }
1742
+ if (peg$silentFails === 0) { peg$fail(peg$e20); }
1780
1743
  }
1781
1744
  if (s0 === peg$FAILED) {
1782
1745
  if (input.charCodeAt(peg$currPos) === 8230) {
1783
- s0 = peg$c15;
1746
+ s0 = peg$c14;
1784
1747
  peg$currPos++;
1785
1748
  } else {
1786
1749
  s0 = peg$FAILED;
1787
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
1750
+ if (peg$silentFails === 0) { peg$fail(peg$e21); }
1788
1751
  }
1789
1752
  }
1790
1753
 
@@ -1834,7 +1797,7 @@ function peg$parse(input, options) {
1834
1797
  }
1835
1798
  }
1836
1799
  peg$savedPos = s0;
1837
- s0 = peg$f17(s1, s2);
1800
+ s0 = peg$f14(s1, s2);
1838
1801
  } else {
1839
1802
  peg$currPos = s0;
1840
1803
  s0 = peg$FAILED;
@@ -1846,36 +1809,36 @@ function peg$parse(input, options) {
1846
1809
  function peg$parseequalityOperator() {
1847
1810
  var s0;
1848
1811
 
1849
- if (input.substr(peg$currPos, 3) === peg$c16) {
1850
- s0 = peg$c16;
1812
+ if (input.substr(peg$currPos, 3) === peg$c15) {
1813
+ s0 = peg$c15;
1851
1814
  peg$currPos += 3;
1852
1815
  } else {
1853
1816
  s0 = peg$FAILED;
1854
- if (peg$silentFails === 0) { peg$fail(peg$e24); }
1817
+ if (peg$silentFails === 0) { peg$fail(peg$e22); }
1855
1818
  }
1856
1819
  if (s0 === peg$FAILED) {
1857
- if (input.substr(peg$currPos, 3) === peg$c17) {
1858
- s0 = peg$c17;
1820
+ if (input.substr(peg$currPos, 3) === peg$c16) {
1821
+ s0 = peg$c16;
1859
1822
  peg$currPos += 3;
1860
1823
  } else {
1861
1824
  s0 = peg$FAILED;
1862
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
1825
+ if (peg$silentFails === 0) { peg$fail(peg$e23); }
1863
1826
  }
1864
1827
  if (s0 === peg$FAILED) {
1865
- if (input.substr(peg$currPos, 2) === peg$c18) {
1866
- s0 = peg$c18;
1828
+ if (input.substr(peg$currPos, 2) === peg$c17) {
1829
+ s0 = peg$c17;
1867
1830
  peg$currPos += 2;
1868
1831
  } else {
1869
1832
  s0 = peg$FAILED;
1870
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
1833
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
1871
1834
  }
1872
1835
  if (s0 === peg$FAILED) {
1873
- if (input.substr(peg$currPos, 2) === peg$c19) {
1874
- s0 = peg$c19;
1836
+ if (input.substr(peg$currPos, 2) === peg$c18) {
1837
+ s0 = peg$c18;
1875
1838
  peg$currPos += 2;
1876
1839
  } else {
1877
1840
  s0 = peg$FAILED;
1878
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
1841
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
1879
1842
  }
1880
1843
  }
1881
1844
  }
@@ -1889,110 +1852,110 @@ function peg$parse(input, options) {
1889
1852
 
1890
1853
  peg$silentFails++;
1891
1854
  s0 = peg$currPos;
1892
- if (input.substr(peg$currPos, 2) === peg$c20) {
1893
- s1 = peg$c20;
1855
+ if (input.substr(peg$currPos, 2) === peg$c19) {
1856
+ s1 = peg$c19;
1894
1857
  peg$currPos += 2;
1895
1858
  } else {
1896
1859
  s1 = peg$FAILED;
1897
- if (peg$silentFails === 0) { peg$fail(peg$e29); }
1860
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
1898
1861
  }
1899
1862
  if (s1 !== peg$FAILED) {
1900
1863
  peg$savedPos = s0;
1901
- s1 = peg$f18();
1864
+ s1 = peg$f15();
1902
1865
  }
1903
1866
  s0 = s1;
1904
1867
  if (s0 === peg$FAILED) {
1905
1868
  s0 = peg$currPos;
1906
- if (input.substr(peg$currPos, 2) === peg$c21) {
1907
- s1 = peg$c21;
1869
+ if (input.substr(peg$currPos, 2) === peg$c20) {
1870
+ s1 = peg$c20;
1908
1871
  peg$currPos += 2;
1909
1872
  } else {
1910
1873
  s1 = peg$FAILED;
1911
- if (peg$silentFails === 0) { peg$fail(peg$e30); }
1874
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
1912
1875
  }
1913
1876
  if (s1 !== peg$FAILED) {
1914
1877
  peg$savedPos = s0;
1915
- s1 = peg$f19();
1878
+ s1 = peg$f16();
1916
1879
  }
1917
1880
  s0 = s1;
1918
1881
  if (s0 === peg$FAILED) {
1919
1882
  s0 = peg$currPos;
1920
- if (input.substr(peg$currPos, 2) === peg$c22) {
1921
- s1 = peg$c22;
1883
+ if (input.substr(peg$currPos, 2) === peg$c21) {
1884
+ s1 = peg$c21;
1922
1885
  peg$currPos += 2;
1923
1886
  } else {
1924
1887
  s1 = peg$FAILED;
1925
- if (peg$silentFails === 0) { peg$fail(peg$e31); }
1888
+ if (peg$silentFails === 0) { peg$fail(peg$e29); }
1926
1889
  }
1927
1890
  if (s1 !== peg$FAILED) {
1928
1891
  peg$savedPos = s0;
1929
- s1 = peg$f20();
1892
+ s1 = peg$f17();
1930
1893
  }
1931
1894
  s0 = s1;
1932
1895
  if (s0 === peg$FAILED) {
1933
1896
  s0 = peg$currPos;
1934
- if (input.substr(peg$currPos, 2) === peg$c23) {
1935
- s1 = peg$c23;
1897
+ if (input.substr(peg$currPos, 2) === peg$c22) {
1898
+ s1 = peg$c22;
1936
1899
  peg$currPos += 2;
1937
1900
  } else {
1938
1901
  s1 = peg$FAILED;
1939
- if (peg$silentFails === 0) { peg$fail(peg$e32); }
1902
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
1940
1903
  }
1941
1904
  if (s1 !== peg$FAILED) {
1942
1905
  peg$savedPos = s0;
1943
- s1 = peg$f21();
1906
+ s1 = peg$f18();
1944
1907
  }
1945
1908
  s0 = s1;
1946
1909
  if (s0 === peg$FAILED) {
1947
1910
  s0 = peg$currPos;
1948
- if (input.substr(peg$currPos, 2) === peg$c24) {
1949
- s1 = peg$c24;
1911
+ if (input.substr(peg$currPos, 2) === peg$c23) {
1912
+ s1 = peg$c23;
1950
1913
  peg$currPos += 2;
1951
1914
  } else {
1952
1915
  s1 = peg$FAILED;
1953
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
1916
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
1954
1917
  }
1955
1918
  if (s1 !== peg$FAILED) {
1956
1919
  peg$savedPos = s0;
1957
- s1 = peg$f22();
1920
+ s1 = peg$f19();
1958
1921
  }
1959
1922
  s0 = s1;
1960
1923
  if (s0 === peg$FAILED) {
1961
1924
  s0 = peg$currPos;
1962
- if (input.substr(peg$currPos, 2) === peg$c25) {
1963
- s1 = peg$c25;
1925
+ if (input.substr(peg$currPos, 2) === peg$c24) {
1926
+ s1 = peg$c24;
1964
1927
  peg$currPos += 2;
1965
1928
  } else {
1966
1929
  s1 = peg$FAILED;
1967
- if (peg$silentFails === 0) { peg$fail(peg$e34); }
1930
+ if (peg$silentFails === 0) { peg$fail(peg$e32); }
1968
1931
  }
1969
1932
  if (s1 !== peg$FAILED) {
1970
1933
  peg$savedPos = s0;
1971
- s1 = peg$f23();
1934
+ s1 = peg$f20();
1972
1935
  }
1973
1936
  s0 = s1;
1974
1937
  if (s0 === peg$FAILED) {
1975
1938
  s0 = peg$currPos;
1976
- if (input.substr(peg$currPos, 2) === peg$c26) {
1977
- s1 = peg$c26;
1939
+ if (input.substr(peg$currPos, 2) === peg$c25) {
1940
+ s1 = peg$c25;
1978
1941
  peg$currPos += 2;
1979
1942
  } else {
1980
1943
  s1 = peg$FAILED;
1981
- if (peg$silentFails === 0) { peg$fail(peg$e35); }
1944
+ if (peg$silentFails === 0) { peg$fail(peg$e33); }
1982
1945
  }
1983
1946
  if (s1 !== peg$FAILED) {
1984
1947
  peg$savedPos = s0;
1985
- s1 = peg$f24();
1948
+ s1 = peg$f21();
1986
1949
  }
1987
1950
  s0 = s1;
1988
1951
  if (s0 === peg$FAILED) {
1989
1952
  s0 = peg$currPos;
1990
1953
  if (input.charCodeAt(peg$currPos) === 92) {
1991
- s1 = peg$c27;
1954
+ s1 = peg$c26;
1992
1955
  peg$currPos++;
1993
1956
  } else {
1994
1957
  s1 = peg$FAILED;
1995
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
1958
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
1996
1959
  }
1997
1960
  if (s1 !== peg$FAILED) {
1998
1961
  if (input.length > peg$currPos) {
@@ -2000,7 +1963,7 @@ function peg$parse(input, options) {
2000
1963
  peg$currPos++;
2001
1964
  } else {
2002
1965
  s2 = peg$FAILED;
2003
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
1966
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2004
1967
  }
2005
1968
  if (s2 !== peg$FAILED) {
2006
1969
  s0 = s2;
@@ -2022,114 +1985,551 @@ function peg$parse(input, options) {
2022
1985
  peg$silentFails--;
2023
1986
  if (s0 === peg$FAILED) {
2024
1987
  s1 = peg$FAILED;
2025
- if (peg$silentFails === 0) { peg$fail(peg$e28); }
1988
+ if (peg$silentFails === 0) { peg$fail(peg$e26); }
2026
1989
  }
2027
1990
 
2028
1991
  return s0;
2029
1992
  }
2030
1993
 
2031
- function peg$parseexponentiationExpression() {
2032
- var s0, s1, s2, s3, s4, s5, s6;
1994
+ function peg$parseexpectBacktick() {
1995
+ var s0, s1;
2033
1996
 
2034
- s0 = peg$currPos;
2035
- s1 = peg$parseunaryExpression();
2036
- if (s1 !== peg$FAILED) {
2037
- s2 = peg$currPos;
2038
- s3 = peg$parse__();
2039
- if (input.substr(peg$currPos, 2) === peg$c28) {
2040
- s4 = peg$c28;
2041
- peg$currPos += 2;
2042
- } else {
2043
- s4 = peg$FAILED;
2044
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
2045
- }
2046
- if (s4 !== peg$FAILED) {
2047
- s5 = peg$parse__();
2048
- s6 = peg$parseexponentiationExpression();
2049
- if (s6 !== peg$FAILED) {
2050
- s2 = s6;
2051
- } else {
2052
- peg$currPos = s2;
2053
- s2 = peg$FAILED;
2054
- }
1997
+ if (input.charCodeAt(peg$currPos) === 96) {
1998
+ s0 = peg$c27;
1999
+ peg$currPos++;
2000
+ } else {
2001
+ s0 = peg$FAILED;
2002
+ if (peg$silentFails === 0) { peg$fail(peg$e36); }
2003
+ }
2004
+ if (s0 === peg$FAILED) {
2005
+ s0 = peg$currPos;
2006
+ if (input.length > peg$currPos) {
2007
+ s1 = input.charAt(peg$currPos);
2008
+ peg$currPos++;
2055
2009
  } else {
2056
- peg$currPos = s2;
2057
- s2 = peg$FAILED;
2010
+ s1 = peg$FAILED;
2011
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2058
2012
  }
2059
- if (s2 === peg$FAILED) {
2060
- s2 = null;
2013
+ if (s1 === peg$FAILED) {
2014
+ s1 = null;
2061
2015
  }
2062
2016
  peg$savedPos = s0;
2063
- s0 = peg$f25(s1, s2);
2064
- } else {
2065
- peg$currPos = s0;
2066
- s0 = peg$FAILED;
2017
+ s1 = peg$f22();
2018
+ s0 = s1;
2067
2019
  }
2068
2020
 
2069
2021
  return s0;
2070
2022
  }
2071
2023
 
2072
- function peg$parseexpression() {
2073
- var s0, s1, s2, s3;
2024
+ function peg$parseexpectClosingBrace() {
2025
+ var s0, s1;
2074
2026
 
2075
- s0 = peg$currPos;
2076
- s1 = peg$parse__();
2077
- s2 = peg$parsecommaExpression();
2078
- if (s2 !== peg$FAILED) {
2079
- s3 = peg$parse__();
2080
- s0 = s2;
2027
+ if (input.charCodeAt(peg$currPos) === 125) {
2028
+ s0 = peg$c28;
2029
+ peg$currPos++;
2081
2030
  } else {
2082
- peg$currPos = s0;
2083
2031
  s0 = peg$FAILED;
2032
+ if (peg$silentFails === 0) { peg$fail(peg$e37); }
2033
+ }
2034
+ if (s0 === peg$FAILED) {
2035
+ s0 = peg$currPos;
2036
+ if (input.length > peg$currPos) {
2037
+ s1 = input.charAt(peg$currPos);
2038
+ peg$currPos++;
2039
+ } else {
2040
+ s1 = peg$FAILED;
2041
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2042
+ }
2043
+ if (s1 === peg$FAILED) {
2044
+ s1 = null;
2045
+ }
2046
+ peg$savedPos = s0;
2047
+ s1 = peg$f23();
2048
+ s0 = s1;
2084
2049
  }
2085
2050
 
2086
2051
  return s0;
2087
2052
  }
2088
2053
 
2089
- function peg$parsefloatLiteral() {
2090
- var s0, s1, s2, s3;
2054
+ function peg$parseexpectClosingBracket() {
2055
+ var s0, s1;
2091
2056
 
2092
- peg$silentFails++;
2093
- s0 = peg$currPos;
2094
- s1 = peg$parsedigits();
2095
- if (s1 === peg$FAILED) {
2096
- s1 = null;
2097
- }
2098
- if (input.charCodeAt(peg$currPos) === 46) {
2099
- s2 = peg$c29;
2057
+ if (input.charCodeAt(peg$currPos) === 93) {
2058
+ s0 = peg$c1;
2100
2059
  peg$currPos++;
2101
2060
  } else {
2102
- s2 = peg$FAILED;
2103
- if (peg$silentFails === 0) { peg$fail(peg$e39); }
2104
- }
2105
- if (s2 !== peg$FAILED) {
2106
- s3 = peg$parsedigits();
2107
- if (s3 !== peg$FAILED) {
2108
- peg$savedPos = s0;
2109
- s0 = peg$f26();
2110
- } else {
2111
- peg$currPos = s0;
2112
- s0 = peg$FAILED;
2113
- }
2114
- } else {
2115
- peg$currPos = s0;
2116
2061
  s0 = peg$FAILED;
2062
+ if (peg$silentFails === 0) { peg$fail(peg$e4); }
2117
2063
  }
2118
- peg$silentFails--;
2119
2064
  if (s0 === peg$FAILED) {
2120
- s1 = peg$FAILED;
2121
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
2065
+ s0 = peg$currPos;
2066
+ if (input.length > peg$currPos) {
2067
+ s1 = input.charAt(peg$currPos);
2068
+ peg$currPos++;
2069
+ } else {
2070
+ s1 = peg$FAILED;
2071
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2072
+ }
2073
+ if (s1 === peg$FAILED) {
2074
+ s1 = null;
2075
+ }
2076
+ peg$savedPos = s0;
2077
+ s1 = peg$f24();
2078
+ s0 = s1;
2122
2079
  }
2123
2080
 
2124
2081
  return s0;
2125
2082
  }
2126
2083
 
2127
- function peg$parsegroup() {
2128
- var s0, s1, s2, s3;
2084
+ function peg$parseexpectClosingParenthesis() {
2085
+ var s0, s1;
2129
2086
 
2130
- peg$silentFails++;
2131
- s0 = peg$currPos;
2132
- if (input.charCodeAt(peg$currPos) === 40) {
2087
+ if (input.charCodeAt(peg$currPos) === 41) {
2088
+ s0 = peg$c3;
2089
+ peg$currPos++;
2090
+ } else {
2091
+ s0 = peg$FAILED;
2092
+ if (peg$silentFails === 0) { peg$fail(peg$e6); }
2093
+ }
2094
+ if (s0 === peg$FAILED) {
2095
+ s0 = peg$currPos;
2096
+ if (input.length > peg$currPos) {
2097
+ s1 = input.charAt(peg$currPos);
2098
+ peg$currPos++;
2099
+ } else {
2100
+ s1 = peg$FAILED;
2101
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2102
+ }
2103
+ if (s1 === peg$FAILED) {
2104
+ s1 = null;
2105
+ }
2106
+ peg$savedPos = s0;
2107
+ s1 = peg$f25();
2108
+ s0 = s1;
2109
+ }
2110
+
2111
+ return s0;
2112
+ }
2113
+
2114
+ function peg$parseexpectDoubleQuote() {
2115
+ var s0, s1;
2116
+
2117
+ if (input.charCodeAt(peg$currPos) === 34) {
2118
+ s0 = peg$c12;
2119
+ peg$currPos++;
2120
+ } else {
2121
+ s0 = peg$FAILED;
2122
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
2123
+ }
2124
+ if (s0 === peg$FAILED) {
2125
+ s0 = peg$currPos;
2126
+ if (input.length > peg$currPos) {
2127
+ s1 = input.charAt(peg$currPos);
2128
+ peg$currPos++;
2129
+ } else {
2130
+ s1 = peg$FAILED;
2131
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2132
+ }
2133
+ if (s1 === peg$FAILED) {
2134
+ s1 = null;
2135
+ }
2136
+ peg$savedPos = s0;
2137
+ s1 = peg$f26();
2138
+ s0 = s1;
2139
+ }
2140
+
2141
+ return s0;
2142
+ }
2143
+
2144
+ function peg$parseexpectExpression() {
2145
+ var s0, s1;
2146
+
2147
+ s0 = peg$parseexpression();
2148
+ if (s0 === peg$FAILED) {
2149
+ s0 = peg$currPos;
2150
+ if (input.length > peg$currPos) {
2151
+ s1 = input.charAt(peg$currPos);
2152
+ peg$currPos++;
2153
+ } else {
2154
+ s1 = peg$FAILED;
2155
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2156
+ }
2157
+ if (s1 === peg$FAILED) {
2158
+ s1 = null;
2159
+ }
2160
+ peg$savedPos = s0;
2161
+ s1 = peg$f27();
2162
+ s0 = s1;
2163
+ }
2164
+
2165
+ return s0;
2166
+ }
2167
+
2168
+ function peg$parseexpectFrontDelimiter() {
2169
+ var s0, s1;
2170
+
2171
+ s0 = peg$parsefrontDelimiter();
2172
+ if (s0 === peg$FAILED) {
2173
+ s0 = peg$currPos;
2174
+ if (input.length > peg$currPos) {
2175
+ s1 = input.charAt(peg$currPos);
2176
+ peg$currPos++;
2177
+ } else {
2178
+ s1 = peg$FAILED;
2179
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2180
+ }
2181
+ if (s1 === peg$FAILED) {
2182
+ s1 = null;
2183
+ }
2184
+ peg$savedPos = s0;
2185
+ s1 = peg$f28();
2186
+ s0 = s1;
2187
+ }
2188
+
2189
+ return s0;
2190
+ }
2191
+
2192
+ function peg$parseexpectGuillemet() {
2193
+ var s0, s1;
2194
+
2195
+ if (input.charCodeAt(peg$currPos) === 187) {
2196
+ s0 = peg$c29;
2197
+ peg$currPos++;
2198
+ } else {
2199
+ s0 = peg$FAILED;
2200
+ if (peg$silentFails === 0) { peg$fail(peg$e38); }
2201
+ }
2202
+ if (s0 === peg$FAILED) {
2203
+ s0 = peg$currPos;
2204
+ if (input.length > peg$currPos) {
2205
+ s1 = input.charAt(peg$currPos);
2206
+ peg$currPos++;
2207
+ } else {
2208
+ s1 = peg$FAILED;
2209
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2210
+ }
2211
+ if (s1 === peg$FAILED) {
2212
+ s1 = null;
2213
+ }
2214
+ peg$savedPos = s0;
2215
+ s1 = peg$f29();
2216
+ s0 = s1;
2217
+ }
2218
+
2219
+ return s0;
2220
+ }
2221
+
2222
+ function peg$parseexpectSingleQuote() {
2223
+ var s0, s1;
2224
+
2225
+ if (input.charCodeAt(peg$currPos) === 39) {
2226
+ s0 = peg$c30;
2227
+ peg$currPos++;
2228
+ } else {
2229
+ s0 = peg$FAILED;
2230
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
2231
+ }
2232
+ if (s0 === peg$FAILED) {
2233
+ s0 = peg$currPos;
2234
+ if (input.length > peg$currPos) {
2235
+ s1 = input.charAt(peg$currPos);
2236
+ peg$currPos++;
2237
+ } else {
2238
+ s1 = peg$FAILED;
2239
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2240
+ }
2241
+ if (s1 === peg$FAILED) {
2242
+ s1 = null;
2243
+ }
2244
+ peg$savedPos = s0;
2245
+ s1 = peg$f30();
2246
+ s0 = s1;
2247
+ }
2248
+
2249
+ return s0;
2250
+ }
2251
+
2252
+ function peg$parseexpectPipelineExpression() {
2253
+ var s0, s1;
2254
+
2255
+ s0 = peg$parsepipelineExpression();
2256
+ if (s0 === peg$FAILED) {
2257
+ s0 = peg$currPos;
2258
+ if (input.length > peg$currPos) {
2259
+ s1 = input.charAt(peg$currPos);
2260
+ peg$currPos++;
2261
+ } else {
2262
+ s1 = peg$FAILED;
2263
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2264
+ }
2265
+ if (s1 === peg$FAILED) {
2266
+ s1 = null;
2267
+ }
2268
+ peg$savedPos = s0;
2269
+ s1 = peg$f31();
2270
+ s0 = s1;
2271
+ }
2272
+
2273
+ return s0;
2274
+ }
2275
+
2276
+ function peg$parseexponentiationExpression() {
2277
+ var s0, s1, s2, s3, s4, s5, s6;
2278
+
2279
+ s0 = peg$currPos;
2280
+ s1 = peg$parseunaryExpression();
2281
+ if (s1 !== peg$FAILED) {
2282
+ s2 = peg$currPos;
2283
+ s3 = peg$parse__();
2284
+ if (input.substr(peg$currPos, 2) === peg$c31) {
2285
+ s4 = peg$c31;
2286
+ peg$currPos += 2;
2287
+ } else {
2288
+ s4 = peg$FAILED;
2289
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
2290
+ }
2291
+ if (s4 !== peg$FAILED) {
2292
+ s5 = peg$parse__();
2293
+ s6 = peg$parseexponentiationExpression();
2294
+ if (s6 !== peg$FAILED) {
2295
+ s2 = s6;
2296
+ } else {
2297
+ peg$currPos = s2;
2298
+ s2 = peg$FAILED;
2299
+ }
2300
+ } else {
2301
+ peg$currPos = s2;
2302
+ s2 = peg$FAILED;
2303
+ }
2304
+ if (s2 === peg$FAILED) {
2305
+ s2 = null;
2306
+ }
2307
+ peg$savedPos = s0;
2308
+ s0 = peg$f32(s1, s2);
2309
+ } else {
2310
+ peg$currPos = s0;
2311
+ s0 = peg$FAILED;
2312
+ }
2313
+
2314
+ return s0;
2315
+ }
2316
+
2317
+ function peg$parseexpression() {
2318
+ var s0, s1, s2, s3;
2319
+
2320
+ s0 = peg$currPos;
2321
+ s1 = peg$parse__();
2322
+ s2 = peg$parsecommaExpression();
2323
+ if (s2 !== peg$FAILED) {
2324
+ s3 = peg$parse__();
2325
+ s0 = s2;
2326
+ } else {
2327
+ peg$currPos = s0;
2328
+ s0 = peg$FAILED;
2329
+ }
2330
+
2331
+ return s0;
2332
+ }
2333
+
2334
+ function peg$parsefloatLiteral() {
2335
+ var s0, s1, s2, s3;
2336
+
2337
+ peg$silentFails++;
2338
+ s0 = peg$currPos;
2339
+ s1 = peg$parsedigits();
2340
+ if (s1 === peg$FAILED) {
2341
+ s1 = null;
2342
+ }
2343
+ if (input.charCodeAt(peg$currPos) === 46) {
2344
+ s2 = peg$c32;
2345
+ peg$currPos++;
2346
+ } else {
2347
+ s2 = peg$FAILED;
2348
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
2349
+ }
2350
+ if (s2 !== peg$FAILED) {
2351
+ s3 = peg$parsedigits();
2352
+ if (s3 !== peg$FAILED) {
2353
+ peg$savedPos = s0;
2354
+ s0 = peg$f33();
2355
+ } else {
2356
+ peg$currPos = s0;
2357
+ s0 = peg$FAILED;
2358
+ }
2359
+ } else {
2360
+ peg$currPos = s0;
2361
+ s0 = peg$FAILED;
2362
+ }
2363
+ peg$silentFails--;
2364
+ if (s0 === peg$FAILED) {
2365
+ s1 = peg$FAILED;
2366
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2367
+ }
2368
+
2369
+ return s0;
2370
+ }
2371
+
2372
+ function peg$parsefrontDelimiter() {
2373
+ var s0;
2374
+
2375
+ if (input.substr(peg$currPos, 4) === peg$c33) {
2376
+ s0 = peg$c33;
2377
+ peg$currPos += 4;
2378
+ } else {
2379
+ s0 = peg$FAILED;
2380
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
2381
+ }
2382
+
2383
+ return s0;
2384
+ }
2385
+
2386
+ function peg$parsefrontMatterExpression() {
2387
+ var s0, s1, s2, s3, s4;
2388
+
2389
+ s0 = peg$currPos;
2390
+ s1 = peg$parsefrontDelimiter();
2391
+ if (s1 !== peg$FAILED) {
2392
+ peg$savedPos = peg$currPos;
2393
+ s2 = peg$f34();
2394
+ if (s2) {
2395
+ s2 = undefined;
2396
+ } else {
2397
+ s2 = peg$FAILED;
2398
+ }
2399
+ if (s2 !== peg$FAILED) {
2400
+ s3 = peg$parseexpectExpression();
2401
+ if (s3 !== peg$FAILED) {
2402
+ s4 = peg$parseexpectFrontDelimiter();
2403
+ if (s4 !== peg$FAILED) {
2404
+ s0 = s3;
2405
+ } else {
2406
+ peg$currPos = s0;
2407
+ s0 = peg$FAILED;
2408
+ }
2409
+ } else {
2410
+ peg$currPos = s0;
2411
+ s0 = peg$FAILED;
2412
+ }
2413
+ } else {
2414
+ peg$currPos = s0;
2415
+ s0 = peg$FAILED;
2416
+ }
2417
+ } else {
2418
+ peg$currPos = s0;
2419
+ s0 = peg$FAILED;
2420
+ }
2421
+
2422
+ return s0;
2423
+ }
2424
+
2425
+ function peg$parsefrontMatterText() {
2426
+ var s0, s1, s2, s3, s4;
2427
+
2428
+ s0 = peg$currPos;
2429
+ s1 = [];
2430
+ s2 = peg$currPos;
2431
+ s3 = peg$currPos;
2432
+ peg$silentFails++;
2433
+ s4 = peg$parsefrontDelimiter();
2434
+ peg$silentFails--;
2435
+ if (s4 === peg$FAILED) {
2436
+ s3 = undefined;
2437
+ } else {
2438
+ peg$currPos = s3;
2439
+ s3 = peg$FAILED;
2440
+ }
2441
+ if (s3 !== peg$FAILED) {
2442
+ if (input.length > peg$currPos) {
2443
+ s4 = input.charAt(peg$currPos);
2444
+ peg$currPos++;
2445
+ } else {
2446
+ s4 = peg$FAILED;
2447
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2448
+ }
2449
+ if (s4 !== peg$FAILED) {
2450
+ s2 = s4;
2451
+ } else {
2452
+ peg$currPos = s2;
2453
+ s2 = peg$FAILED;
2454
+ }
2455
+ } else {
2456
+ peg$currPos = s2;
2457
+ s2 = peg$FAILED;
2458
+ }
2459
+ while (s2 !== peg$FAILED) {
2460
+ s1.push(s2);
2461
+ s2 = peg$currPos;
2462
+ s3 = peg$currPos;
2463
+ peg$silentFails++;
2464
+ s4 = peg$parsefrontDelimiter();
2465
+ peg$silentFails--;
2466
+ if (s4 === peg$FAILED) {
2467
+ s3 = undefined;
2468
+ } else {
2469
+ peg$currPos = s3;
2470
+ s3 = peg$FAILED;
2471
+ }
2472
+ if (s3 !== peg$FAILED) {
2473
+ if (input.length > peg$currPos) {
2474
+ s4 = input.charAt(peg$currPos);
2475
+ peg$currPos++;
2476
+ } else {
2477
+ s4 = peg$FAILED;
2478
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2479
+ }
2480
+ if (s4 !== peg$FAILED) {
2481
+ s2 = s4;
2482
+ } else {
2483
+ peg$currPos = s2;
2484
+ s2 = peg$FAILED;
2485
+ }
2486
+ } else {
2487
+ peg$currPos = s2;
2488
+ s2 = peg$FAILED;
2489
+ }
2490
+ }
2491
+ peg$savedPos = s0;
2492
+ s1 = peg$f35(s1);
2493
+ s0 = s1;
2494
+
2495
+ return s0;
2496
+ }
2497
+
2498
+ function peg$parsefrontMatterYaml() {
2499
+ var s0, s1, s2, s3;
2500
+
2501
+ peg$silentFails++;
2502
+ s0 = peg$currPos;
2503
+ s1 = peg$parsefrontDelimiter();
2504
+ if (s1 !== peg$FAILED) {
2505
+ s2 = peg$parsefrontMatterText();
2506
+ s3 = peg$parsefrontDelimiter();
2507
+ if (s3 !== peg$FAILED) {
2508
+ peg$savedPos = s0;
2509
+ s0 = peg$f36(s2);
2510
+ } else {
2511
+ peg$currPos = s0;
2512
+ s0 = peg$FAILED;
2513
+ }
2514
+ } else {
2515
+ peg$currPos = s0;
2516
+ s0 = peg$FAILED;
2517
+ }
2518
+ peg$silentFails--;
2519
+ if (s0 === peg$FAILED) {
2520
+ s1 = peg$FAILED;
2521
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
2522
+ }
2523
+
2524
+ return s0;
2525
+ }
2526
+
2527
+ function peg$parsegroup() {
2528
+ var s0, s1, s2, s3;
2529
+
2530
+ peg$silentFails++;
2531
+ s0 = peg$currPos;
2532
+ if (input.charCodeAt(peg$currPos) === 40) {
2133
2533
  s1 = peg$c2;
2134
2534
  peg$currPos++;
2135
2535
  } else {
@@ -2139,10 +2539,10 @@ function peg$parse(input, options) {
2139
2539
  if (s1 !== peg$FAILED) {
2140
2540
  s2 = peg$parseexpression();
2141
2541
  if (s2 !== peg$FAILED) {
2142
- s3 = peg$parseclosingParenthesis();
2542
+ s3 = peg$parseexpectClosingParenthesis();
2143
2543
  if (s3 !== peg$FAILED) {
2144
2544
  peg$savedPos = s0;
2145
- s0 = peg$f27(s2);
2545
+ s0 = peg$f37(s2);
2146
2546
  } else {
2147
2547
  peg$currPos = s0;
2148
2548
  s0 = peg$FAILED;
@@ -2158,7 +2558,7 @@ function peg$parse(input, options) {
2158
2558
  peg$silentFails--;
2159
2559
  if (s0 === peg$FAILED) {
2160
2560
  s1 = peg$FAILED;
2161
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
2561
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
2162
2562
  }
2163
2563
 
2164
2564
  return s0;
@@ -2170,11 +2570,11 @@ function peg$parse(input, options) {
2170
2570
  peg$silentFails++;
2171
2571
  s0 = peg$currPos;
2172
2572
  if (input.charCodeAt(peg$currPos) === 171) {
2173
- s1 = peg$c30;
2573
+ s1 = peg$c34;
2174
2574
  peg$currPos++;
2175
2575
  } else {
2176
2576
  s1 = peg$FAILED;
2177
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
2577
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
2178
2578
  }
2179
2579
  if (s1 !== peg$FAILED) {
2180
2580
  s2 = [];
@@ -2183,16 +2583,10 @@ function peg$parse(input, options) {
2183
2583
  s2.push(s3);
2184
2584
  s3 = peg$parseguillemetStringChar();
2185
2585
  }
2186
- if (input.charCodeAt(peg$currPos) === 187) {
2187
- s3 = peg$c31;
2188
- peg$currPos++;
2189
- } else {
2190
- s3 = peg$FAILED;
2191
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
2192
- }
2586
+ s3 = peg$parseexpectGuillemet();
2193
2587
  if (s3 !== peg$FAILED) {
2194
2588
  peg$savedPos = s0;
2195
- s0 = peg$f28(s2);
2589
+ s0 = peg$f38(s2);
2196
2590
  } else {
2197
2591
  peg$currPos = s0;
2198
2592
  s0 = peg$FAILED;
@@ -2204,7 +2598,7 @@ function peg$parse(input, options) {
2204
2598
  peg$silentFails--;
2205
2599
  if (s0 === peg$FAILED) {
2206
2600
  s1 = peg$FAILED;
2207
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
2601
+ if (peg$silentFails === 0) { peg$fail(peg$e46); }
2208
2602
  }
2209
2603
 
2210
2604
  return s0;
@@ -2217,11 +2611,11 @@ function peg$parse(input, options) {
2217
2611
  s1 = peg$currPos;
2218
2612
  peg$silentFails++;
2219
2613
  if (input.charCodeAt(peg$currPos) === 187) {
2220
- s2 = peg$c31;
2614
+ s2 = peg$c29;
2221
2615
  peg$currPos++;
2222
2616
  } else {
2223
2617
  s2 = peg$FAILED;
2224
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
2618
+ if (peg$silentFails === 0) { peg$fail(peg$e38); }
2225
2619
  }
2226
2620
  if (s2 === peg$FAILED) {
2227
2621
  s2 = peg$parsenewLine();
@@ -2254,15 +2648,15 @@ function peg$parse(input, options) {
2254
2648
 
2255
2649
  s0 = peg$currPos;
2256
2650
  if (input.charCodeAt(peg$currPos) === 126) {
2257
- s1 = peg$c32;
2651
+ s1 = peg$c35;
2258
2652
  peg$currPos++;
2259
2653
  } else {
2260
2654
  s1 = peg$FAILED;
2261
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
2655
+ if (peg$silentFails === 0) { peg$fail(peg$e48); }
2262
2656
  }
2263
2657
  if (s1 !== peg$FAILED) {
2264
2658
  peg$savedPos = s0;
2265
- s1 = peg$f29();
2659
+ s1 = peg$f39();
2266
2660
  }
2267
2661
  s0 = s1;
2268
2662
 
@@ -2278,11 +2672,11 @@ function peg$parse(input, options) {
2278
2672
  if (s1 !== peg$FAILED) {
2279
2673
  s2 = peg$currPos;
2280
2674
  if (input.charCodeAt(peg$currPos) === 58) {
2281
- s3 = peg$c10;
2675
+ s3 = peg$c9;
2282
2676
  peg$currPos++;
2283
2677
  } else {
2284
2678
  s3 = peg$FAILED;
2285
- if (peg$silentFails === 0) { peg$fail(peg$e16); }
2679
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
2286
2680
  }
2287
2681
  if (s3 !== peg$FAILED) {
2288
2682
  s4 = peg$parseintegerLiteral();
@@ -2304,7 +2698,7 @@ function peg$parse(input, options) {
2304
2698
  s3 = null;
2305
2699
  }
2306
2700
  peg$savedPos = s0;
2307
- s0 = peg$f30(s1, s2, s3);
2701
+ s0 = peg$f40(s1, s2, s3);
2308
2702
  } else {
2309
2703
  peg$currPos = s0;
2310
2704
  s0 = peg$FAILED;
@@ -2312,7 +2706,7 @@ function peg$parse(input, options) {
2312
2706
  peg$silentFails--;
2313
2707
  if (s0 === peg$FAILED) {
2314
2708
  s1 = peg$FAILED;
2315
- if (peg$silentFails === 0) { peg$fail(peg$e45); }
2709
+ if (peg$silentFails === 0) { peg$fail(peg$e49); }
2316
2710
  }
2317
2711
 
2318
2712
  return s0;
@@ -2335,13 +2729,13 @@ function peg$parse(input, options) {
2335
2729
  }
2336
2730
  if (s1 !== peg$FAILED) {
2337
2731
  peg$savedPos = s0;
2338
- s1 = peg$f31(s1);
2732
+ s1 = peg$f41(s1);
2339
2733
  }
2340
2734
  s0 = s1;
2341
2735
  peg$silentFails--;
2342
2736
  if (s0 === peg$FAILED) {
2343
2737
  s1 = peg$FAILED;
2344
- if (peg$silentFails === 0) { peg$fail(peg$e46); }
2738
+ if (peg$silentFails === 0) { peg$fail(peg$e50); }
2345
2739
  }
2346
2740
 
2347
2741
  return s0;
@@ -2355,26 +2749,26 @@ function peg$parse(input, options) {
2355
2749
  peg$currPos++;
2356
2750
  } else {
2357
2751
  s0 = peg$FAILED;
2358
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
2752
+ if (peg$silentFails === 0) { peg$fail(peg$e51); }
2359
2753
  }
2360
2754
  if (s0 === peg$FAILED) {
2361
2755
  s0 = peg$currPos;
2362
2756
  if (input.charCodeAt(peg$currPos) === 45) {
2363
- s1 = peg$c33;
2757
+ s1 = peg$c36;
2364
2758
  peg$currPos++;
2365
2759
  } else {
2366
2760
  s1 = peg$FAILED;
2367
- if (peg$silentFails === 0) { peg$fail(peg$e48); }
2761
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
2368
2762
  }
2369
2763
  if (s1 !== peg$FAILED) {
2370
2764
  s2 = peg$currPos;
2371
2765
  peg$silentFails++;
2372
2766
  if (input.charCodeAt(peg$currPos) === 62) {
2373
- s3 = peg$c34;
2767
+ s3 = peg$c37;
2374
2768
  peg$currPos++;
2375
2769
  } else {
2376
2770
  s3 = peg$FAILED;
2377
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
2771
+ if (peg$silentFails === 0) { peg$fail(peg$e53); }
2378
2772
  }
2379
2773
  peg$silentFails--;
2380
2774
  if (s3 === peg$FAILED) {
@@ -2401,50 +2795,6 @@ function peg$parse(input, options) {
2401
2795
  return s0;
2402
2796
  }
2403
2797
 
2404
- function peg$parseidentifierList() {
2405
- var s0, s1, s2, s3, s4;
2406
-
2407
- s0 = peg$currPos;
2408
- s1 = peg$currPos;
2409
- s2 = [];
2410
- s3 = peg$parseidentifier();
2411
- while (s3 !== peg$FAILED) {
2412
- s2.push(s3);
2413
- s3 = peg$currPos;
2414
- s4 = peg$parseseparator();
2415
- if (s4 !== peg$FAILED) {
2416
- s4 = peg$parseidentifier();
2417
- if (s4 === peg$FAILED) {
2418
- peg$currPos = s3;
2419
- s3 = peg$FAILED;
2420
- } else {
2421
- s3 = s4;
2422
- }
2423
- } else {
2424
- s3 = s4;
2425
- }
2426
- }
2427
- if (s2.length < 1) {
2428
- peg$currPos = s1;
2429
- s1 = peg$FAILED;
2430
- } else {
2431
- s1 = s2;
2432
- }
2433
- if (s1 !== peg$FAILED) {
2434
- s2 = peg$parseseparator();
2435
- if (s2 === peg$FAILED) {
2436
- s2 = null;
2437
- }
2438
- peg$savedPos = s0;
2439
- s0 = peg$f32(s1);
2440
- } else {
2441
- peg$currPos = s0;
2442
- s0 = peg$FAILED;
2443
- }
2444
-
2445
- return s0;
2446
- }
2447
-
2448
2798
  function peg$parseimplicitParenthesesCallExpression() {
2449
2799
  var s0, s1, s2, s3, s4;
2450
2800
 
@@ -2479,7 +2829,7 @@ function peg$parse(input, options) {
2479
2829
  s2 = null;
2480
2830
  }
2481
2831
  peg$savedPos = s0;
2482
- s0 = peg$f33(s1, s2);
2832
+ s0 = peg$f42(s1, s2);
2483
2833
  } else {
2484
2834
  peg$currPos = s0;
2485
2835
  s0 = peg$FAILED;
@@ -2487,7 +2837,7 @@ function peg$parse(input, options) {
2487
2837
  peg$silentFails--;
2488
2838
  if (s0 === peg$FAILED) {
2489
2839
  s1 = peg$FAILED;
2490
- if (peg$silentFails === 0) { peg$fail(peg$e50); }
2840
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
2491
2841
  }
2492
2842
 
2493
2843
  return s0;
@@ -2528,7 +2878,7 @@ function peg$parse(input, options) {
2528
2878
  s2 = null;
2529
2879
  }
2530
2880
  peg$savedPos = s0;
2531
- s0 = peg$f34(s1);
2881
+ s0 = peg$f43(s1);
2532
2882
  } else {
2533
2883
  peg$currPos = s0;
2534
2884
  s0 = peg$FAILED;
@@ -2545,7 +2895,7 @@ function peg$parse(input, options) {
2545
2895
  peg$currPos++;
2546
2896
  } else {
2547
2897
  s0 = peg$FAILED;
2548
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
2898
+ if (peg$silentFails === 0) { peg$fail(peg$e55); }
2549
2899
  }
2550
2900
 
2551
2901
  return s0;
@@ -2559,13 +2909,13 @@ function peg$parse(input, options) {
2559
2909
  s1 = peg$parsedigits();
2560
2910
  if (s1 !== peg$FAILED) {
2561
2911
  peg$savedPos = s0;
2562
- s1 = peg$f35();
2912
+ s1 = peg$f44();
2563
2913
  }
2564
2914
  s0 = s1;
2565
2915
  peg$silentFails--;
2566
2916
  if (s0 === peg$FAILED) {
2567
2917
  s1 = peg$FAILED;
2568
- if (peg$silentFails === 0) { peg$fail(peg$e52); }
2918
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
2569
2919
  }
2570
2920
 
2571
2921
  return s0;
@@ -2607,7 +2957,7 @@ function peg$parse(input, options) {
2607
2957
  s2 = null;
2608
2958
  }
2609
2959
  peg$savedPos = s0;
2610
- s0 = peg$f36(s1);
2960
+ s0 = peg$f45(s1);
2611
2961
  } else {
2612
2962
  peg$currPos = s0;
2613
2963
  s0 = peg$FAILED;
@@ -2615,7 +2965,7 @@ function peg$parse(input, options) {
2615
2965
  peg$silentFails--;
2616
2966
  if (s0 === peg$FAILED) {
2617
2967
  s1 = peg$FAILED;
2618
- if (peg$silentFails === 0) { peg$fail(peg$e53); }
2968
+ if (peg$silentFails === 0) { peg$fail(peg$e57); }
2619
2969
  }
2620
2970
 
2621
2971
  return s0;
@@ -2641,12 +2991,12 @@ function peg$parse(input, options) {
2641
2991
  s2 = [];
2642
2992
  s3 = peg$currPos;
2643
2993
  s4 = peg$parse__();
2644
- if (input.substr(peg$currPos, 2) === peg$c35) {
2645
- s5 = peg$c35;
2994
+ if (input.substr(peg$currPos, 2) === peg$c38) {
2995
+ s5 = peg$c38;
2646
2996
  peg$currPos += 2;
2647
2997
  } else {
2648
2998
  s5 = peg$FAILED;
2649
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
2999
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
2650
3000
  }
2651
3001
  if (s5 !== peg$FAILED) {
2652
3002
  s6 = peg$parse__();
@@ -2665,12 +3015,12 @@ function peg$parse(input, options) {
2665
3015
  s2.push(s3);
2666
3016
  s3 = peg$currPos;
2667
3017
  s4 = peg$parse__();
2668
- if (input.substr(peg$currPos, 2) === peg$c35) {
2669
- s5 = peg$c35;
3018
+ if (input.substr(peg$currPos, 2) === peg$c38) {
3019
+ s5 = peg$c38;
2670
3020
  peg$currPos += 2;
2671
3021
  } else {
2672
3022
  s5 = peg$FAILED;
2673
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
3023
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
2674
3024
  }
2675
3025
  if (s5 !== peg$FAILED) {
2676
3026
  s6 = peg$parse__();
@@ -2687,7 +3037,7 @@ function peg$parse(input, options) {
2687
3037
  }
2688
3038
  }
2689
3039
  peg$savedPos = s0;
2690
- s0 = peg$f37(s1, s2);
3040
+ s0 = peg$f46(s1, s2);
2691
3041
  } else {
2692
3042
  peg$currPos = s0;
2693
3043
  s0 = peg$FAILED;
@@ -2705,12 +3055,12 @@ function peg$parse(input, options) {
2705
3055
  s2 = [];
2706
3056
  s3 = peg$currPos;
2707
3057
  s4 = peg$parse__();
2708
- if (input.substr(peg$currPos, 2) === peg$c36) {
2709
- s5 = peg$c36;
3058
+ if (input.substr(peg$currPos, 2) === peg$c39) {
3059
+ s5 = peg$c39;
2710
3060
  peg$currPos += 2;
2711
3061
  } else {
2712
3062
  s5 = peg$FAILED;
2713
- if (peg$silentFails === 0) { peg$fail(peg$e55); }
3063
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
2714
3064
  }
2715
3065
  if (s5 !== peg$FAILED) {
2716
3066
  s6 = peg$parse__();
@@ -2729,12 +3079,12 @@ function peg$parse(input, options) {
2729
3079
  s2.push(s3);
2730
3080
  s3 = peg$currPos;
2731
3081
  s4 = peg$parse__();
2732
- if (input.substr(peg$currPos, 2) === peg$c36) {
2733
- s5 = peg$c36;
3082
+ if (input.substr(peg$currPos, 2) === peg$c39) {
3083
+ s5 = peg$c39;
2734
3084
  peg$currPos += 2;
2735
3085
  } else {
2736
3086
  s5 = peg$FAILED;
2737
- if (peg$silentFails === 0) { peg$fail(peg$e55); }
3087
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
2738
3088
  }
2739
3089
  if (s5 !== peg$FAILED) {
2740
3090
  s6 = peg$parse__();
@@ -2751,7 +3101,7 @@ function peg$parse(input, options) {
2751
3101
  }
2752
3102
  }
2753
3103
  peg$savedPos = s0;
2754
- s0 = peg$f38(s1, s2);
3104
+ s0 = peg$f47(s1, s2);
2755
3105
  } else {
2756
3106
  peg$currPos = s0;
2757
3107
  s0 = peg$FAILED;
@@ -2764,24 +3114,24 @@ function peg$parse(input, options) {
2764
3114
  var s0, s1, s2, s3, s4, s5;
2765
3115
 
2766
3116
  s0 = peg$currPos;
2767
- if (input.substr(peg$currPos, 2) === peg$c37) {
2768
- s1 = peg$c37;
3117
+ if (input.substr(peg$currPos, 2) === peg$c40) {
3118
+ s1 = peg$c40;
2769
3119
  peg$currPos += 2;
2770
3120
  } else {
2771
3121
  s1 = peg$FAILED;
2772
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
3122
+ if (peg$silentFails === 0) { peg$fail(peg$e60); }
2773
3123
  }
2774
3124
  if (s1 !== peg$FAILED) {
2775
3125
  s2 = [];
2776
3126
  s3 = peg$currPos;
2777
3127
  s4 = peg$currPos;
2778
3128
  peg$silentFails++;
2779
- if (input.substr(peg$currPos, 2) === peg$c38) {
2780
- s5 = peg$c38;
3129
+ if (input.substr(peg$currPos, 2) === peg$c41) {
3130
+ s5 = peg$c41;
2781
3131
  peg$currPos += 2;
2782
3132
  } else {
2783
3133
  s5 = peg$FAILED;
2784
- if (peg$silentFails === 0) { peg$fail(peg$e57); }
3134
+ if (peg$silentFails === 0) { peg$fail(peg$e61); }
2785
3135
  }
2786
3136
  peg$silentFails--;
2787
3137
  if (s5 === peg$FAILED) {
@@ -2796,7 +3146,7 @@ function peg$parse(input, options) {
2796
3146
  peg$currPos++;
2797
3147
  } else {
2798
3148
  s5 = peg$FAILED;
2799
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
3149
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2800
3150
  }
2801
3151
  if (s5 !== peg$FAILED) {
2802
3152
  s4 = [s4, s5];
@@ -2814,12 +3164,12 @@ function peg$parse(input, options) {
2814
3164
  s3 = peg$currPos;
2815
3165
  s4 = peg$currPos;
2816
3166
  peg$silentFails++;
2817
- if (input.substr(peg$currPos, 2) === peg$c38) {
2818
- s5 = peg$c38;
3167
+ if (input.substr(peg$currPos, 2) === peg$c41) {
3168
+ s5 = peg$c41;
2819
3169
  peg$currPos += 2;
2820
3170
  } else {
2821
3171
  s5 = peg$FAILED;
2822
- if (peg$silentFails === 0) { peg$fail(peg$e57); }
3172
+ if (peg$silentFails === 0) { peg$fail(peg$e61); }
2823
3173
  }
2824
3174
  peg$silentFails--;
2825
3175
  if (s5 === peg$FAILED) {
@@ -2834,7 +3184,7 @@ function peg$parse(input, options) {
2834
3184
  peg$currPos++;
2835
3185
  } else {
2836
3186
  s5 = peg$FAILED;
2837
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
3187
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2838
3188
  }
2839
3189
  if (s5 !== peg$FAILED) {
2840
3190
  s4 = [s4, s5];
@@ -2848,16 +3198,16 @@ function peg$parse(input, options) {
2848
3198
  s3 = peg$FAILED;
2849
3199
  }
2850
3200
  }
2851
- if (input.substr(peg$currPos, 2) === peg$c38) {
2852
- s3 = peg$c38;
3201
+ if (input.substr(peg$currPos, 2) === peg$c41) {
3202
+ s3 = peg$c41;
2853
3203
  peg$currPos += 2;
2854
3204
  } else {
2855
3205
  s3 = peg$FAILED;
2856
- if (peg$silentFails === 0) { peg$fail(peg$e57); }
3206
+ if (peg$silentFails === 0) { peg$fail(peg$e61); }
2857
3207
  }
2858
3208
  if (s3 !== peg$FAILED) {
2859
3209
  peg$savedPos = s0;
2860
- s0 = peg$f39();
3210
+ s0 = peg$f48();
2861
3211
  } else {
2862
3212
  peg$currPos = s0;
2863
3213
  s0 = peg$FAILED;
@@ -2933,7 +3283,7 @@ function peg$parse(input, options) {
2933
3283
  }
2934
3284
  }
2935
3285
  peg$savedPos = s0;
2936
- s0 = peg$f40(s1, s2);
3286
+ s0 = peg$f49(s1, s2);
2937
3287
  } else {
2938
3288
  peg$currPos = s0;
2939
3289
  s0 = peg$FAILED;
@@ -2950,7 +3300,7 @@ function peg$parse(input, options) {
2950
3300
  peg$currPos++;
2951
3301
  } else {
2952
3302
  s0 = peg$FAILED;
2953
- if (peg$silentFails === 0) { peg$fail(peg$e58); }
3303
+ if (peg$silentFails === 0) { peg$fail(peg$e62); }
2954
3304
  }
2955
3305
 
2956
3306
  return s0;
@@ -2966,7 +3316,7 @@ function peg$parse(input, options) {
2966
3316
  peg$currPos++;
2967
3317
  } else {
2968
3318
  s2 = peg$FAILED;
2969
- if (peg$silentFails === 0) { peg$fail(peg$e59); }
3319
+ if (peg$silentFails === 0) { peg$fail(peg$e63); }
2970
3320
  }
2971
3321
  if (s2 !== peg$FAILED) {
2972
3322
  while (s2 !== peg$FAILED) {
@@ -2976,7 +3326,7 @@ function peg$parse(input, options) {
2976
3326
  peg$currPos++;
2977
3327
  } else {
2978
3328
  s2 = peg$FAILED;
2979
- if (peg$silentFails === 0) { peg$fail(peg$e59); }
3329
+ if (peg$silentFails === 0) { peg$fail(peg$e63); }
2980
3330
  }
2981
3331
  }
2982
3332
  } else {
@@ -2984,15 +3334,15 @@ function peg$parse(input, options) {
2984
3334
  }
2985
3335
  if (s1 !== peg$FAILED) {
2986
3336
  if (input.charCodeAt(peg$currPos) === 58) {
2987
- s2 = peg$c10;
3337
+ s2 = peg$c9;
2988
3338
  peg$currPos++;
2989
3339
  } else {
2990
3340
  s2 = peg$FAILED;
2991
- if (peg$silentFails === 0) { peg$fail(peg$e16); }
3341
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
2992
3342
  }
2993
3343
  if (s2 !== peg$FAILED) {
2994
3344
  peg$savedPos = s0;
2995
- s0 = peg$f41(s1);
3345
+ s0 = peg$f50(s1);
2996
3346
  } else {
2997
3347
  peg$currPos = s0;
2998
3348
  s0 = peg$FAILED;
@@ -3009,27 +3359,27 @@ function peg$parse(input, options) {
3009
3359
  var s0;
3010
3360
 
3011
3361
  if (input.charCodeAt(peg$currPos) === 10) {
3012
- s0 = peg$c39;
3362
+ s0 = peg$c42;
3013
3363
  peg$currPos++;
3014
3364
  } else {
3015
3365
  s0 = peg$FAILED;
3016
- if (peg$silentFails === 0) { peg$fail(peg$e60); }
3366
+ if (peg$silentFails === 0) { peg$fail(peg$e64); }
3017
3367
  }
3018
3368
  if (s0 === peg$FAILED) {
3019
- if (input.substr(peg$currPos, 2) === peg$c40) {
3020
- s0 = peg$c40;
3369
+ if (input.substr(peg$currPos, 2) === peg$c43) {
3370
+ s0 = peg$c43;
3021
3371
  peg$currPos += 2;
3022
3372
  } else {
3023
3373
  s0 = peg$FAILED;
3024
- if (peg$silentFails === 0) { peg$fail(peg$e61); }
3374
+ if (peg$silentFails === 0) { peg$fail(peg$e65); }
3025
3375
  }
3026
3376
  if (s0 === peg$FAILED) {
3027
3377
  if (input.charCodeAt(peg$currPos) === 13) {
3028
- s0 = peg$c41;
3378
+ s0 = peg$c44;
3029
3379
  peg$currPos++;
3030
3380
  } else {
3031
3381
  s0 = peg$FAILED;
3032
- if (peg$silentFails === 0) { peg$fail(peg$e62); }
3382
+ if (peg$silentFails === 0) { peg$fail(peg$e66); }
3033
3383
  }
3034
3384
  }
3035
3385
  }
@@ -3048,7 +3398,7 @@ function peg$parse(input, options) {
3048
3398
  peg$silentFails--;
3049
3399
  if (s0 === peg$FAILED) {
3050
3400
  s1 = peg$FAILED;
3051
- if (peg$silentFails === 0) { peg$fail(peg$e63); }
3401
+ if (peg$silentFails === 0) { peg$fail(peg$e67); }
3052
3402
  }
3053
3403
 
3054
3404
  return s0;
@@ -3063,12 +3413,12 @@ function peg$parse(input, options) {
3063
3413
  s2 = [];
3064
3414
  s3 = peg$currPos;
3065
3415
  s4 = peg$parse__();
3066
- if (input.substr(peg$currPos, 2) === peg$c42) {
3067
- s5 = peg$c42;
3416
+ if (input.substr(peg$currPos, 2) === peg$c45) {
3417
+ s5 = peg$c45;
3068
3418
  peg$currPos += 2;
3069
3419
  } else {
3070
3420
  s5 = peg$FAILED;
3071
- if (peg$silentFails === 0) { peg$fail(peg$e64); }
3421
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
3072
3422
  }
3073
3423
  if (s5 !== peg$FAILED) {
3074
3424
  s6 = peg$parse__();
@@ -3087,12 +3437,12 @@ function peg$parse(input, options) {
3087
3437
  s2.push(s3);
3088
3438
  s3 = peg$currPos;
3089
3439
  s4 = peg$parse__();
3090
- if (input.substr(peg$currPos, 2) === peg$c42) {
3091
- s5 = peg$c42;
3440
+ if (input.substr(peg$currPos, 2) === peg$c45) {
3441
+ s5 = peg$c45;
3092
3442
  peg$currPos += 2;
3093
3443
  } else {
3094
3444
  s5 = peg$FAILED;
3095
- if (peg$silentFails === 0) { peg$fail(peg$e64); }
3445
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
3096
3446
  }
3097
3447
  if (s5 !== peg$FAILED) {
3098
3448
  s6 = peg$parse__();
@@ -3109,7 +3459,7 @@ function peg$parse(input, options) {
3109
3459
  }
3110
3460
  }
3111
3461
  peg$savedPos = s0;
3112
- s0 = peg$f42(s1, s2);
3462
+ s0 = peg$f51(s1, s2);
3113
3463
  } else {
3114
3464
  peg$currPos = s0;
3115
3465
  s0 = peg$FAILED;
@@ -3124,11 +3474,11 @@ function peg$parse(input, options) {
3124
3474
  peg$silentFails++;
3125
3475
  s0 = peg$currPos;
3126
3476
  if (input.charCodeAt(peg$currPos) === 123) {
3127
- s1 = peg$c43;
3477
+ s1 = peg$c46;
3128
3478
  peg$currPos++;
3129
3479
  } else {
3130
3480
  s1 = peg$FAILED;
3131
- if (peg$silentFails === 0) { peg$fail(peg$e66); }
3481
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3132
3482
  }
3133
3483
  if (s1 !== peg$FAILED) {
3134
3484
  s2 = peg$parse__();
@@ -3137,10 +3487,10 @@ function peg$parse(input, options) {
3137
3487
  s3 = null;
3138
3488
  }
3139
3489
  s4 = peg$parse__();
3140
- s5 = peg$parseclosingBrace();
3490
+ s5 = peg$parseexpectClosingBrace();
3141
3491
  if (s5 !== peg$FAILED) {
3142
3492
  peg$savedPos = s0;
3143
- s0 = peg$f43(s3);
3493
+ s0 = peg$f52(s3);
3144
3494
  } else {
3145
3495
  peg$currPos = s0;
3146
3496
  s0 = peg$FAILED;
@@ -3152,7 +3502,7 @@ function peg$parse(input, options) {
3152
3502
  peg$silentFails--;
3153
3503
  if (s0 === peg$FAILED) {
3154
3504
  s1 = peg$FAILED;
3155
- if (peg$silentFails === 0) { peg$fail(peg$e65); }
3505
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
3156
3506
  }
3157
3507
 
3158
3508
  return s0;
@@ -3193,7 +3543,7 @@ function peg$parse(input, options) {
3193
3543
  s2 = null;
3194
3544
  }
3195
3545
  peg$savedPos = s0;
3196
- s0 = peg$f44(s1);
3546
+ s0 = peg$f53(s1);
3197
3547
  } else {
3198
3548
  peg$currPos = s0;
3199
3549
  s0 = peg$FAILED;
@@ -3228,18 +3578,18 @@ function peg$parse(input, options) {
3228
3578
  if (s1 !== peg$FAILED) {
3229
3579
  s2 = peg$parse__();
3230
3580
  if (input.charCodeAt(peg$currPos) === 61) {
3231
- s3 = peg$c44;
3581
+ s3 = peg$c47;
3232
3582
  peg$currPos++;
3233
3583
  } else {
3234
3584
  s3 = peg$FAILED;
3235
- if (peg$silentFails === 0) { peg$fail(peg$e68); }
3585
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
3236
3586
  }
3237
3587
  if (s3 !== peg$FAILED) {
3238
3588
  s4 = peg$parse__();
3239
- s5 = peg$parsepipelineExpression();
3589
+ s5 = peg$parseexpectPipelineExpression();
3240
3590
  if (s5 !== peg$FAILED) {
3241
3591
  peg$savedPos = s0;
3242
- s0 = peg$f45(s1, s5);
3592
+ s0 = peg$f54(s1, s5);
3243
3593
  } else {
3244
3594
  peg$currPos = s0;
3245
3595
  s0 = peg$FAILED;
@@ -3255,7 +3605,7 @@ function peg$parse(input, options) {
3255
3605
  peg$silentFails--;
3256
3606
  if (s0 === peg$FAILED) {
3257
3607
  s1 = peg$FAILED;
3258
- if (peg$silentFails === 0) { peg$fail(peg$e67); }
3608
+ if (peg$silentFails === 0) { peg$fail(peg$e71); }
3259
3609
  }
3260
3610
 
3261
3611
  return s0;
@@ -3300,7 +3650,7 @@ function peg$parse(input, options) {
3300
3650
  }
3301
3651
  if (s1 !== peg$FAILED) {
3302
3652
  peg$savedPos = s0;
3303
- s1 = peg$f46(s1);
3653
+ s1 = peg$f55(s1);
3304
3654
  }
3305
3655
  s0 = s1;
3306
3656
 
@@ -3318,7 +3668,7 @@ function peg$parse(input, options) {
3318
3668
  peg$silentFails--;
3319
3669
  if (s0 === peg$FAILED) {
3320
3670
  s1 = peg$FAILED;
3321
- if (peg$silentFails === 0) { peg$fail(peg$e69); }
3671
+ if (peg$silentFails === 0) { peg$fail(peg$e73); }
3322
3672
  }
3323
3673
 
3324
3674
  return s0;
@@ -3333,18 +3683,18 @@ function peg$parse(input, options) {
3333
3683
  if (s1 !== peg$FAILED) {
3334
3684
  s2 = peg$parse__();
3335
3685
  if (input.charCodeAt(peg$currPos) === 58) {
3336
- s3 = peg$c10;
3686
+ s3 = peg$c9;
3337
3687
  peg$currPos++;
3338
3688
  } else {
3339
3689
  s3 = peg$FAILED;
3340
- if (peg$silentFails === 0) { peg$fail(peg$e16); }
3690
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
3341
3691
  }
3342
3692
  if (s3 !== peg$FAILED) {
3343
3693
  s4 = peg$parse__();
3344
- s5 = peg$parsepipelineExpression();
3694
+ s5 = peg$parseexpectPipelineExpression();
3345
3695
  if (s5 !== peg$FAILED) {
3346
3696
  peg$savedPos = s0;
3347
- s0 = peg$f47(s1, s5);
3697
+ s0 = peg$f56(s1, s5);
3348
3698
  } else {
3349
3699
  peg$currPos = s0;
3350
3700
  s0 = peg$FAILED;
@@ -3360,7 +3710,7 @@ function peg$parse(input, options) {
3360
3710
  peg$silentFails--;
3361
3711
  if (s0 === peg$FAILED) {
3362
3712
  s1 = peg$FAILED;
3363
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
3713
+ if (peg$silentFails === 0) { peg$fail(peg$e74); }
3364
3714
  }
3365
3715
 
3366
3716
  return s0;
@@ -3374,13 +3724,13 @@ function peg$parse(input, options) {
3374
3724
  s1 = peg$parseobjectPublicKey();
3375
3725
  if (s1 !== peg$FAILED) {
3376
3726
  peg$savedPos = s0;
3377
- s1 = peg$f48(s1);
3727
+ s1 = peg$f57(s1);
3378
3728
  }
3379
3729
  s0 = s1;
3380
3730
  peg$silentFails--;
3381
3731
  if (s0 === peg$FAILED) {
3382
3732
  s1 = peg$FAILED;
3383
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
3733
+ if (peg$silentFails === 0) { peg$fail(peg$e75); }
3384
3734
  }
3385
3735
 
3386
3736
  return s0;
@@ -3393,17 +3743,17 @@ function peg$parse(input, options) {
3393
3743
  s1 = peg$parseidentifier();
3394
3744
  if (s1 !== peg$FAILED) {
3395
3745
  if (input.charCodeAt(peg$currPos) === 47) {
3396
- s2 = peg$c45;
3746
+ s2 = peg$c48;
3397
3747
  peg$currPos++;
3398
3748
  } else {
3399
3749
  s2 = peg$FAILED;
3400
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3750
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
3401
3751
  }
3402
3752
  if (s2 === peg$FAILED) {
3403
3753
  s2 = null;
3404
3754
  }
3405
3755
  peg$savedPos = s0;
3406
- s0 = peg$f49(s1, s2);
3756
+ s0 = peg$f58(s1, s2);
3407
3757
  } else {
3408
3758
  peg$currPos = s0;
3409
3759
  s0 = peg$FAILED;
@@ -3413,7 +3763,7 @@ function peg$parse(input, options) {
3413
3763
  s1 = peg$parsestringLiteral();
3414
3764
  if (s1 !== peg$FAILED) {
3415
3765
  peg$savedPos = s0;
3416
- s1 = peg$f50(s1);
3766
+ s1 = peg$f59(s1);
3417
3767
  }
3418
3768
  s0 = s1;
3419
3769
  }
@@ -3421,6 +3771,78 @@ function peg$parse(input, options) {
3421
3771
  return s0;
3422
3772
  }
3423
3773
 
3774
+ function peg$parseparameter() {
3775
+ var s0, s1;
3776
+
3777
+ s0 = peg$currPos;
3778
+ s1 = peg$parseidentifier();
3779
+ if (s1 !== peg$FAILED) {
3780
+ peg$savedPos = s0;
3781
+ s1 = peg$f60(s1);
3782
+ }
3783
+ s0 = s1;
3784
+
3785
+ return s0;
3786
+ }
3787
+
3788
+ function peg$parseparameterList() {
3789
+ var s0, s1, s2, s3, s4;
3790
+
3791
+ s0 = peg$currPos;
3792
+ s1 = peg$currPos;
3793
+ s2 = [];
3794
+ s3 = peg$parseparameter();
3795
+ while (s3 !== peg$FAILED) {
3796
+ s2.push(s3);
3797
+ s3 = peg$currPos;
3798
+ s4 = peg$parseseparator();
3799
+ if (s4 !== peg$FAILED) {
3800
+ s4 = peg$parseparameter();
3801
+ if (s4 === peg$FAILED) {
3802
+ peg$currPos = s3;
3803
+ s3 = peg$FAILED;
3804
+ } else {
3805
+ s3 = s4;
3806
+ }
3807
+ } else {
3808
+ s3 = s4;
3809
+ }
3810
+ }
3811
+ if (s2.length < 1) {
3812
+ peg$currPos = s1;
3813
+ s1 = peg$FAILED;
3814
+ } else {
3815
+ s1 = s2;
3816
+ }
3817
+ if (s1 !== peg$FAILED) {
3818
+ s2 = peg$parseseparator();
3819
+ if (s2 === peg$FAILED) {
3820
+ s2 = null;
3821
+ }
3822
+ peg$savedPos = s0;
3823
+ s0 = peg$f61(s1);
3824
+ } else {
3825
+ peg$currPos = s0;
3826
+ s0 = peg$FAILED;
3827
+ }
3828
+
3829
+ return s0;
3830
+ }
3831
+
3832
+ function peg$parseparameterSingleton() {
3833
+ var s0, s1;
3834
+
3835
+ s0 = peg$currPos;
3836
+ s1 = peg$parseidentifier();
3837
+ if (s1 !== peg$FAILED) {
3838
+ peg$savedPos = s0;
3839
+ s1 = peg$f62(s1);
3840
+ }
3841
+ s0 = s1;
3842
+
3843
+ return s0;
3844
+ }
3845
+
3424
3846
  function peg$parseparenthesesArguments() {
3425
3847
  var s0, s1, s2, s3, s4, s5;
3426
3848
 
@@ -3440,16 +3862,10 @@ function peg$parse(input, options) {
3440
3862
  s3 = null;
3441
3863
  }
3442
3864
  s4 = peg$parse__();
3443
- if (input.charCodeAt(peg$currPos) === 41) {
3444
- s5 = peg$c3;
3445
- peg$currPos++;
3446
- } else {
3447
- s5 = peg$FAILED;
3448
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
3449
- }
3865
+ s5 = peg$parseexpectClosingParenthesis();
3450
3866
  if (s5 !== peg$FAILED) {
3451
3867
  peg$savedPos = s0;
3452
- s0 = peg$f51(s3);
3868
+ s0 = peg$f63(s3);
3453
3869
  } else {
3454
3870
  peg$currPos = s0;
3455
3871
  s0 = peg$FAILED;
@@ -3461,7 +3877,7 @@ function peg$parse(input, options) {
3461
3877
  peg$silentFails--;
3462
3878
  if (s0 === peg$FAILED) {
3463
3879
  s1 = peg$FAILED;
3464
- if (peg$silentFails === 0) { peg$fail(peg$e73); }
3880
+ if (peg$silentFails === 0) { peg$fail(peg$e77); }
3465
3881
  }
3466
3882
 
3467
3883
  return s0;
@@ -3487,13 +3903,13 @@ function peg$parse(input, options) {
3487
3903
  }
3488
3904
  if (s1 !== peg$FAILED) {
3489
3905
  peg$savedPos = s0;
3490
- s1 = peg$f52(s1);
3906
+ s1 = peg$f64(s1);
3491
3907
  }
3492
3908
  s0 = s1;
3493
3909
  peg$silentFails--;
3494
3910
  if (s0 === peg$FAILED) {
3495
3911
  s1 = peg$FAILED;
3496
- if (peg$silentFails === 0) { peg$fail(peg$e74); }
3912
+ if (peg$silentFails === 0) { peg$fail(peg$e78); }
3497
3913
  }
3498
3914
 
3499
3915
  return s0;
@@ -3506,7 +3922,7 @@ function peg$parse(input, options) {
3506
3922
  s1 = peg$parsepath();
3507
3923
  if (s1 !== peg$FAILED) {
3508
3924
  peg$savedPos = s0;
3509
- s1 = peg$f53(s1);
3925
+ s1 = peg$f65(s1);
3510
3926
  }
3511
3927
  s0 = s1;
3512
3928
 
@@ -3533,7 +3949,7 @@ function peg$parse(input, options) {
3533
3949
  s2 = null;
3534
3950
  }
3535
3951
  peg$savedPos = s0;
3536
- s0 = peg$f54(s1, s2);
3952
+ s0 = peg$f66(s1, s2);
3537
3953
  } else {
3538
3954
  peg$currPos = s0;
3539
3955
  s0 = peg$FAILED;
@@ -3547,11 +3963,11 @@ function peg$parse(input, options) {
3547
3963
 
3548
3964
  s0 = peg$currPos;
3549
3965
  if (input.charCodeAt(peg$currPos) === 47) {
3550
- s1 = peg$c45;
3966
+ s1 = peg$c48;
3551
3967
  peg$currPos++;
3552
3968
  } else {
3553
3969
  s1 = peg$FAILED;
3554
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3970
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
3555
3971
  }
3556
3972
  if (s1 !== peg$FAILED) {
3557
3973
  s2 = peg$parsepathKey();
@@ -3575,7 +3991,7 @@ function peg$parse(input, options) {
3575
3991
  peg$currPos++;
3576
3992
  } else {
3577
3993
  s0 = peg$FAILED;
3578
- if (peg$silentFails === 0) { peg$fail(peg$e75); }
3994
+ if (peg$silentFails === 0) { peg$fail(peg$e79); }
3579
3995
  }
3580
3996
  if (s0 === peg$FAILED) {
3581
3997
  s0 = peg$parseescapedChar();
@@ -3627,7 +4043,7 @@ function peg$parse(input, options) {
3627
4043
  }
3628
4044
  }
3629
4045
  peg$savedPos = s0;
3630
- s0 = peg$f55(s1, s2);
4046
+ s0 = peg$f67(s1, s2);
3631
4047
  } else {
3632
4048
  peg$currPos = s0;
3633
4049
  s0 = peg$FAILED;
@@ -3678,7 +4094,7 @@ function peg$parse(input, options) {
3678
4094
  peg$silentFails--;
3679
4095
  if (s0 === peg$FAILED) {
3680
4096
  s1 = peg$FAILED;
3681
- if (peg$silentFails === 0) { peg$fail(peg$e76); }
4097
+ if (peg$silentFails === 0) { peg$fail(peg$e80); }
3682
4098
  }
3683
4099
 
3684
4100
  return s0;
@@ -3690,12 +4106,12 @@ function peg$parse(input, options) {
3690
4106
  s0 = peg$currPos;
3691
4107
  s1 = peg$parsenamespace();
3692
4108
  if (s1 !== peg$FAILED) {
3693
- if (input.substr(peg$currPos, 2) === peg$c46) {
3694
- s2 = peg$c46;
4109
+ if (input.substr(peg$currPos, 2) === peg$c49) {
4110
+ s2 = peg$c49;
3695
4111
  peg$currPos += 2;
3696
4112
  } else {
3697
4113
  s2 = peg$FAILED;
3698
- if (peg$silentFails === 0) { peg$fail(peg$e77); }
4114
+ if (peg$silentFails === 0) { peg$fail(peg$e81); }
3699
4115
  }
3700
4116
  if (s2 !== peg$FAILED) {
3701
4117
  s3 = peg$parsehost();
@@ -3708,7 +4124,7 @@ function peg$parse(input, options) {
3708
4124
  s4 = null;
3709
4125
  }
3710
4126
  peg$savedPos = s0;
3711
- s0 = peg$f56(s1, s3, s4);
4127
+ s0 = peg$f68(s1, s3, s4);
3712
4128
  } else {
3713
4129
  peg$currPos = s0;
3714
4130
  s0 = peg$FAILED;
@@ -3737,7 +4153,7 @@ function peg$parse(input, options) {
3737
4153
  s2 = peg$parsescopeReference();
3738
4154
  if (s2 !== peg$FAILED) {
3739
4155
  peg$savedPos = s0;
3740
- s0 = peg$f57(s1, s2);
4156
+ s0 = peg$f69(s1, s2);
3741
4157
  } else {
3742
4158
  peg$currPos = s0;
3743
4159
  s0 = peg$FAILED;
@@ -3813,7 +4229,7 @@ function peg$parse(input, options) {
3813
4229
  }
3814
4230
  }
3815
4231
  peg$savedPos = s0;
3816
- s0 = peg$f58(s1, s2);
4232
+ s0 = peg$f70(s1, s2);
3817
4233
  } else {
3818
4234
  peg$currPos = s0;
3819
4235
  s0 = peg$FAILED;
@@ -3825,36 +4241,36 @@ function peg$parse(input, options) {
3825
4241
  function peg$parserelationalOperator() {
3826
4242
  var s0;
3827
4243
 
3828
- if (input.substr(peg$currPos, 2) === peg$c47) {
3829
- s0 = peg$c47;
4244
+ if (input.substr(peg$currPos, 2) === peg$c50) {
4245
+ s0 = peg$c50;
3830
4246
  peg$currPos += 2;
3831
4247
  } else {
3832
4248
  s0 = peg$FAILED;
3833
- if (peg$silentFails === 0) { peg$fail(peg$e78); }
4249
+ if (peg$silentFails === 0) { peg$fail(peg$e82); }
3834
4250
  }
3835
4251
  if (s0 === peg$FAILED) {
3836
4252
  if (input.charCodeAt(peg$currPos) === 60) {
3837
- s0 = peg$c48;
4253
+ s0 = peg$c51;
3838
4254
  peg$currPos++;
3839
4255
  } else {
3840
4256
  s0 = peg$FAILED;
3841
- if (peg$silentFails === 0) { peg$fail(peg$e79); }
4257
+ if (peg$silentFails === 0) { peg$fail(peg$e83); }
3842
4258
  }
3843
4259
  if (s0 === peg$FAILED) {
3844
- if (input.substr(peg$currPos, 2) === peg$c49) {
3845
- s0 = peg$c49;
4260
+ if (input.substr(peg$currPos, 2) === peg$c52) {
4261
+ s0 = peg$c52;
3846
4262
  peg$currPos += 2;
3847
4263
  } else {
3848
4264
  s0 = peg$FAILED;
3849
- if (peg$silentFails === 0) { peg$fail(peg$e80); }
4265
+ if (peg$silentFails === 0) { peg$fail(peg$e84); }
3850
4266
  }
3851
4267
  if (s0 === peg$FAILED) {
3852
4268
  if (input.charCodeAt(peg$currPos) === 62) {
3853
- s0 = peg$c34;
4269
+ s0 = peg$c37;
3854
4270
  peg$currPos++;
3855
4271
  } else {
3856
4272
  s0 = peg$FAILED;
3857
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4273
+ if (peg$silentFails === 0) { peg$fail(peg$e53); }
3858
4274
  }
3859
4275
  }
3860
4276
  }
@@ -3868,17 +4284,17 @@ function peg$parse(input, options) {
3868
4284
 
3869
4285
  s0 = peg$currPos;
3870
4286
  if (input.charCodeAt(peg$currPos) === 47) {
3871
- s1 = peg$c45;
4287
+ s1 = peg$c48;
3872
4288
  peg$currPos++;
3873
4289
  } else {
3874
4290
  s1 = peg$FAILED;
3875
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
4291
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
3876
4292
  }
3877
4293
  if (s1 !== peg$FAILED) {
3878
4294
  s2 = peg$parsepathKey();
3879
4295
  if (s2 !== peg$FAILED) {
3880
4296
  peg$savedPos = s0;
3881
- s0 = peg$f59(s2);
4297
+ s0 = peg$f71(s2);
3882
4298
  } else {
3883
4299
  peg$currPos = s0;
3884
4300
  s0 = peg$FAILED;
@@ -3890,21 +4306,21 @@ function peg$parse(input, options) {
3890
4306
  if (s0 === peg$FAILED) {
3891
4307
  s0 = peg$currPos;
3892
4308
  if (input.charCodeAt(peg$currPos) === 47) {
3893
- s1 = peg$c45;
4309
+ s1 = peg$c48;
3894
4310
  peg$currPos++;
3895
4311
  } else {
3896
4312
  s1 = peg$FAILED;
3897
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
4313
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
3898
4314
  }
3899
4315
  if (s1 !== peg$FAILED) {
3900
4316
  s2 = peg$currPos;
3901
4317
  peg$silentFails++;
3902
4318
  if (input.charCodeAt(peg$currPos) === 47) {
3903
- s3 = peg$c45;
4319
+ s3 = peg$c48;
3904
4320
  peg$currPos++;
3905
4321
  } else {
3906
4322
  s3 = peg$FAILED;
3907
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
4323
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
3908
4324
  }
3909
4325
  peg$silentFails--;
3910
4326
  if (s3 === peg$FAILED) {
@@ -3915,7 +4331,7 @@ function peg$parse(input, options) {
3915
4331
  }
3916
4332
  if (s2 !== peg$FAILED) {
3917
4333
  peg$savedPos = s0;
3918
- s0 = peg$f60();
4334
+ s0 = peg$f72();
3919
4335
  } else {
3920
4336
  peg$currPos = s0;
3921
4337
  s0 = peg$FAILED;
@@ -3941,7 +4357,7 @@ function peg$parse(input, options) {
3941
4357
  s2 = null;
3942
4358
  }
3943
4359
  peg$savedPos = s0;
3944
- s0 = peg$f61(s1, s2);
4360
+ s0 = peg$f73(s1, s2);
3945
4361
  } else {
3946
4362
  peg$currPos = s0;
3947
4363
  s0 = peg$FAILED;
@@ -3949,7 +4365,7 @@ function peg$parse(input, options) {
3949
4365
  peg$silentFails--;
3950
4366
  if (s0 === peg$FAILED) {
3951
4367
  s1 = peg$FAILED;
3952
- if (peg$silentFails === 0) { peg$fail(peg$e81); }
4368
+ if (peg$silentFails === 0) { peg$fail(peg$e85); }
3953
4369
  }
3954
4370
 
3955
4371
  return s0;
@@ -3961,11 +4377,11 @@ function peg$parse(input, options) {
3961
4377
  s0 = peg$currPos;
3962
4378
  s1 = peg$parse__();
3963
4379
  if (input.charCodeAt(peg$currPos) === 44) {
3964
- s2 = peg$c8;
4380
+ s2 = peg$c7;
3965
4381
  peg$currPos++;
3966
4382
  } else {
3967
4383
  s2 = peg$FAILED;
3968
- if (peg$silentFails === 0) { peg$fail(peg$e13); }
4384
+ if (peg$silentFails === 0) { peg$fail(peg$e11); }
3969
4385
  }
3970
4386
  if (s2 !== peg$FAILED) {
3971
4387
  s3 = peg$parse__();
@@ -3986,12 +4402,12 @@ function peg$parse(input, options) {
3986
4402
  var s0, s1, s2, s3;
3987
4403
 
3988
4404
  s0 = peg$currPos;
3989
- if (input.substr(peg$currPos, 2) === peg$c50) {
3990
- s1 = peg$c50;
4405
+ if (input.substr(peg$currPos, 2) === peg$c53) {
4406
+ s1 = peg$c53;
3991
4407
  peg$currPos += 2;
3992
4408
  } else {
3993
4409
  s1 = peg$FAILED;
3994
- if (peg$silentFails === 0) { peg$fail(peg$e82); }
4410
+ if (peg$silentFails === 0) { peg$fail(peg$e86); }
3995
4411
  }
3996
4412
  if (s1 !== peg$FAILED) {
3997
4413
  s2 = [];
@@ -4000,7 +4416,7 @@ function peg$parse(input, options) {
4000
4416
  peg$currPos++;
4001
4417
  } else {
4002
4418
  s3 = peg$FAILED;
4003
- if (peg$silentFails === 0) { peg$fail(peg$e83); }
4419
+ if (peg$silentFails === 0) { peg$fail(peg$e87); }
4004
4420
  }
4005
4421
  while (s3 !== peg$FAILED) {
4006
4422
  s2.push(s3);
@@ -4009,11 +4425,11 @@ function peg$parse(input, options) {
4009
4425
  peg$currPos++;
4010
4426
  } else {
4011
4427
  s3 = peg$FAILED;
4012
- if (peg$silentFails === 0) { peg$fail(peg$e83); }
4428
+ if (peg$silentFails === 0) { peg$fail(peg$e87); }
4013
4429
  }
4014
4430
  }
4015
4431
  peg$savedPos = s0;
4016
- s0 = peg$f62();
4432
+ s0 = peg$f74();
4017
4433
  } else {
4018
4434
  peg$currPos = s0;
4019
4435
  s0 = peg$FAILED;
@@ -4065,7 +4481,7 @@ function peg$parse(input, options) {
4065
4481
  }
4066
4482
  }
4067
4483
  peg$savedPos = s0;
4068
- s0 = peg$f63(s1, s2);
4484
+ s0 = peg$f75(s1, s2);
4069
4485
  } else {
4070
4486
  peg$currPos = s0;
4071
4487
  s0 = peg$FAILED;
@@ -4077,28 +4493,28 @@ function peg$parse(input, options) {
4077
4493
  function peg$parseshiftOperator() {
4078
4494
  var s0;
4079
4495
 
4080
- if (input.substr(peg$currPos, 2) === peg$c51) {
4081
- s0 = peg$c51;
4496
+ if (input.substr(peg$currPos, 2) === peg$c54) {
4497
+ s0 = peg$c54;
4082
4498
  peg$currPos += 2;
4083
4499
  } else {
4084
4500
  s0 = peg$FAILED;
4085
- if (peg$silentFails === 0) { peg$fail(peg$e84); }
4501
+ if (peg$silentFails === 0) { peg$fail(peg$e88); }
4086
4502
  }
4087
4503
  if (s0 === peg$FAILED) {
4088
- if (input.substr(peg$currPos, 3) === peg$c52) {
4089
- s0 = peg$c52;
4504
+ if (input.substr(peg$currPos, 3) === peg$c55) {
4505
+ s0 = peg$c55;
4090
4506
  peg$currPos += 3;
4091
4507
  } else {
4092
4508
  s0 = peg$FAILED;
4093
- if (peg$silentFails === 0) { peg$fail(peg$e85); }
4509
+ if (peg$silentFails === 0) { peg$fail(peg$e89); }
4094
4510
  }
4095
4511
  if (s0 === peg$FAILED) {
4096
- if (input.substr(peg$currPos, 2) === peg$c53) {
4097
- s0 = peg$c53;
4512
+ if (input.substr(peg$currPos, 2) === peg$c56) {
4513
+ s0 = peg$c56;
4098
4514
  peg$currPos += 2;
4099
4515
  } else {
4100
4516
  s0 = peg$FAILED;
4101
- if (peg$silentFails === 0) { peg$fail(peg$e86); }
4517
+ if (peg$silentFails === 0) { peg$fail(peg$e90); }
4102
4518
  }
4103
4519
  }
4104
4520
  }
@@ -4112,21 +4528,21 @@ function peg$parse(input, options) {
4112
4528
  peg$silentFails++;
4113
4529
  s0 = peg$currPos;
4114
4530
  if (input.charCodeAt(peg$currPos) === 61) {
4115
- s1 = peg$c44;
4531
+ s1 = peg$c47;
4116
4532
  peg$currPos++;
4117
4533
  } else {
4118
4534
  s1 = peg$FAILED;
4119
- if (peg$silentFails === 0) { peg$fail(peg$e68); }
4535
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
4120
4536
  }
4121
4537
  if (s1 !== peg$FAILED) {
4122
4538
  s2 = peg$currPos;
4123
4539
  peg$silentFails++;
4124
4540
  if (input.charCodeAt(peg$currPos) === 61) {
4125
- s3 = peg$c44;
4541
+ s3 = peg$c47;
4126
4542
  peg$currPos++;
4127
4543
  } else {
4128
4544
  s3 = peg$FAILED;
4129
- if (peg$silentFails === 0) { peg$fail(peg$e68); }
4545
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
4130
4546
  }
4131
4547
  peg$silentFails--;
4132
4548
  if (s3 === peg$FAILED) {
@@ -4140,7 +4556,7 @@ function peg$parse(input, options) {
4140
4556
  s4 = peg$parseimplicitParenthesesCallExpression();
4141
4557
  if (s4 !== peg$FAILED) {
4142
4558
  peg$savedPos = s0;
4143
- s0 = peg$f64(s4);
4559
+ s0 = peg$f76(s4);
4144
4560
  } else {
4145
4561
  peg$currPos = s0;
4146
4562
  s0 = peg$FAILED;
@@ -4159,7 +4575,7 @@ function peg$parse(input, options) {
4159
4575
  peg$silentFails--;
4160
4576
  if (s0 === peg$FAILED) {
4161
4577
  s1 = peg$FAILED;
4162
- if (peg$silentFails === 0) { peg$fail(peg$e87); }
4578
+ if (peg$silentFails === 0) { peg$fail(peg$e91); }
4163
4579
  }
4164
4580
 
4165
4581
  return s0;
@@ -4169,19 +4585,19 @@ function peg$parse(input, options) {
4169
4585
  var s0;
4170
4586
 
4171
4587
  if (input.charCodeAt(peg$currPos) === 8594) {
4172
- s0 = peg$c54;
4588
+ s0 = peg$c57;
4173
4589
  peg$currPos++;
4174
4590
  } else {
4175
4591
  s0 = peg$FAILED;
4176
- if (peg$silentFails === 0) { peg$fail(peg$e88); }
4592
+ if (peg$silentFails === 0) { peg$fail(peg$e92); }
4177
4593
  }
4178
4594
  if (s0 === peg$FAILED) {
4179
- if (input.substr(peg$currPos, 2) === peg$c55) {
4180
- s0 = peg$c55;
4595
+ if (input.substr(peg$currPos, 2) === peg$c58) {
4596
+ s0 = peg$c58;
4181
4597
  peg$currPos += 2;
4182
4598
  } else {
4183
4599
  s0 = peg$FAILED;
4184
- if (peg$silentFails === 0) { peg$fail(peg$e89); }
4600
+ if (peg$silentFails === 0) { peg$fail(peg$e93); }
4185
4601
  }
4186
4602
  }
4187
4603
 
@@ -4192,12 +4608,12 @@ function peg$parse(input, options) {
4192
4608
  var s0, s1, s2, s3;
4193
4609
 
4194
4610
  s0 = peg$currPos;
4195
- if (input.substr(peg$currPos, 2) === peg$c46) {
4196
- s1 = peg$c46;
4611
+ if (input.substr(peg$currPos, 2) === peg$c49) {
4612
+ s1 = peg$c49;
4197
4613
  peg$currPos += 2;
4198
4614
  } else {
4199
4615
  s1 = peg$FAILED;
4200
- if (peg$silentFails === 0) { peg$fail(peg$e77); }
4616
+ if (peg$silentFails === 0) { peg$fail(peg$e81); }
4201
4617
  }
4202
4618
  if (s1 !== peg$FAILED) {
4203
4619
  s2 = [];
@@ -4206,7 +4622,7 @@ function peg$parse(input, options) {
4206
4622
  peg$currPos++;
4207
4623
  } else {
4208
4624
  s3 = peg$FAILED;
4209
- if (peg$silentFails === 0) { peg$fail(peg$e83); }
4625
+ if (peg$silentFails === 0) { peg$fail(peg$e87); }
4210
4626
  }
4211
4627
  while (s3 !== peg$FAILED) {
4212
4628
  s2.push(s3);
@@ -4215,11 +4631,11 @@ function peg$parse(input, options) {
4215
4631
  peg$currPos++;
4216
4632
  } else {
4217
4633
  s3 = peg$FAILED;
4218
- if (peg$silentFails === 0) { peg$fail(peg$e83); }
4634
+ if (peg$silentFails === 0) { peg$fail(peg$e87); }
4219
4635
  }
4220
4636
  }
4221
4637
  peg$savedPos = s0;
4222
- s0 = peg$f65();
4638
+ s0 = peg$f77();
4223
4639
  } else {
4224
4640
  peg$currPos = s0;
4225
4641
  s0 = peg$FAILED;
@@ -4234,11 +4650,11 @@ function peg$parse(input, options) {
4234
4650
  peg$silentFails++;
4235
4651
  s0 = peg$currPos;
4236
4652
  if (input.charCodeAt(peg$currPos) === 39) {
4237
- s1 = peg$c56;
4653
+ s1 = peg$c30;
4238
4654
  peg$currPos++;
4239
4655
  } else {
4240
4656
  s1 = peg$FAILED;
4241
- if (peg$silentFails === 0) { peg$fail(peg$e91); }
4657
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
4242
4658
  }
4243
4659
  if (s1 !== peg$FAILED) {
4244
4660
  s2 = [];
@@ -4247,16 +4663,10 @@ function peg$parse(input, options) {
4247
4663
  s2.push(s3);
4248
4664
  s3 = peg$parsesingleQuoteStringChar();
4249
4665
  }
4250
- if (input.charCodeAt(peg$currPos) === 39) {
4251
- s3 = peg$c56;
4252
- peg$currPos++;
4253
- } else {
4254
- s3 = peg$FAILED;
4255
- if (peg$silentFails === 0) { peg$fail(peg$e91); }
4256
- }
4666
+ s3 = peg$parseexpectSingleQuote();
4257
4667
  if (s3 !== peg$FAILED) {
4258
4668
  peg$savedPos = s0;
4259
- s0 = peg$f66(s2);
4669
+ s0 = peg$f78(s2);
4260
4670
  } else {
4261
4671
  peg$currPos = s0;
4262
4672
  s0 = peg$FAILED;
@@ -4268,7 +4678,7 @@ function peg$parse(input, options) {
4268
4678
  peg$silentFails--;
4269
4679
  if (s0 === peg$FAILED) {
4270
4680
  s1 = peg$FAILED;
4271
- if (peg$silentFails === 0) { peg$fail(peg$e90); }
4681
+ if (peg$silentFails === 0) { peg$fail(peg$e94); }
4272
4682
  }
4273
4683
 
4274
4684
  return s0;
@@ -4281,11 +4691,11 @@ function peg$parse(input, options) {
4281
4691
  s1 = peg$currPos;
4282
4692
  peg$silentFails++;
4283
4693
  if (input.charCodeAt(peg$currPos) === 39) {
4284
- s2 = peg$c56;
4694
+ s2 = peg$c30;
4285
4695
  peg$currPos++;
4286
4696
  } else {
4287
4697
  s2 = peg$FAILED;
4288
- if (peg$silentFails === 0) { peg$fail(peg$e91); }
4698
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
4289
4699
  }
4290
4700
  if (s2 === peg$FAILED) {
4291
4701
  s2 = peg$parsenewLine();
@@ -4320,7 +4730,7 @@ function peg$parse(input, options) {
4320
4730
  s1 = peg$parseslashFollows();
4321
4731
  if (s1 !== peg$FAILED) {
4322
4732
  peg$savedPos = s0;
4323
- s1 = peg$f67();
4733
+ s1 = peg$f79();
4324
4734
  }
4325
4735
  s0 = s1;
4326
4736
 
@@ -4334,11 +4744,11 @@ function peg$parse(input, options) {
4334
4744
  s1 = peg$currPos;
4335
4745
  peg$silentFails++;
4336
4746
  if (input.charCodeAt(peg$currPos) === 47) {
4337
- s2 = peg$c45;
4747
+ s2 = peg$c48;
4338
4748
  peg$currPos++;
4339
4749
  } else {
4340
4750
  s2 = peg$FAILED;
4341
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
4751
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
4342
4752
  }
4343
4753
  peg$silentFails--;
4344
4754
  if (s2 !== peg$FAILED) {
@@ -4349,7 +4759,7 @@ function peg$parse(input, options) {
4349
4759
  }
4350
4760
  if (s1 !== peg$FAILED) {
4351
4761
  peg$savedPos = s0;
4352
- s1 = peg$f68();
4762
+ s1 = peg$f80();
4353
4763
  }
4354
4764
  s0 = s1;
4355
4765
 
@@ -4366,7 +4776,7 @@ function peg$parse(input, options) {
4366
4776
  s3 = peg$parsepipelineExpression();
4367
4777
  if (s3 !== peg$FAILED) {
4368
4778
  peg$savedPos = s0;
4369
- s0 = peg$f69(s3);
4779
+ s0 = peg$f81(s3);
4370
4780
  } else {
4371
4781
  peg$currPos = s0;
4372
4782
  s0 = peg$FAILED;
@@ -4393,23 +4803,23 @@ function peg$parse(input, options) {
4393
4803
  peg$silentFails--;
4394
4804
  if (s0 === peg$FAILED) {
4395
4805
  s1 = peg$FAILED;
4396
- if (peg$silentFails === 0) { peg$fail(peg$e92); }
4806
+ if (peg$silentFails === 0) { peg$fail(peg$e95); }
4397
4807
  }
4398
4808
 
4399
4809
  return s0;
4400
4810
  }
4401
4811
 
4402
- function peg$parsetemplateDocument() {
4812
+ function peg$parsetemplateBody() {
4403
4813
  var s0, s1, s2, s3, s4, s5;
4404
4814
 
4405
4815
  peg$silentFails++;
4406
4816
  s0 = peg$currPos;
4407
- s1 = peg$parsetemplateDocumentText();
4817
+ s1 = peg$parsetemplateBodyText();
4408
4818
  s2 = [];
4409
4819
  s3 = peg$currPos;
4410
4820
  s4 = peg$parsetemplateSubstitution();
4411
4821
  if (s4 !== peg$FAILED) {
4412
- s5 = peg$parsetemplateDocumentText();
4822
+ s5 = peg$parsetemplateBodyText();
4413
4823
  s4 = [s4, s5];
4414
4824
  s3 = s4;
4415
4825
  } else {
@@ -4421,7 +4831,7 @@ function peg$parse(input, options) {
4421
4831
  s3 = peg$currPos;
4422
4832
  s4 = peg$parsetemplateSubstitution();
4423
4833
  if (s4 !== peg$FAILED) {
4424
- s5 = peg$parsetemplateDocumentText();
4834
+ s5 = peg$parsetemplateBodyText();
4425
4835
  s4 = [s4, s5];
4426
4836
  s3 = s4;
4427
4837
  } else {
@@ -4430,26 +4840,26 @@ function peg$parse(input, options) {
4430
4840
  }
4431
4841
  }
4432
4842
  peg$savedPos = s0;
4433
- s0 = peg$f70(s1, s2);
4843
+ s0 = peg$f82(s1, s2);
4434
4844
  peg$silentFails--;
4435
4845
  s1 = peg$FAILED;
4436
- if (peg$silentFails === 0) { peg$fail(peg$e93); }
4846
+ if (peg$silentFails === 0) { peg$fail(peg$e96); }
4437
4847
 
4438
4848
  return s0;
4439
4849
  }
4440
4850
 
4441
- function peg$parsetemplateDocumentChar() {
4851
+ function peg$parsetemplateBodyChar() {
4442
4852
  var s0, s1, s2;
4443
4853
 
4444
4854
  s0 = peg$currPos;
4445
4855
  s1 = peg$currPos;
4446
4856
  peg$silentFails++;
4447
- if (input.substr(peg$currPos, 2) === peg$c57) {
4448
- s2 = peg$c57;
4857
+ if (input.substr(peg$currPos, 2) === peg$c59) {
4858
+ s2 = peg$c59;
4449
4859
  peg$currPos += 2;
4450
4860
  } else {
4451
4861
  s2 = peg$FAILED;
4452
- if (peg$silentFails === 0) { peg$fail(peg$e94); }
4862
+ if (peg$silentFails === 0) { peg$fail(peg$e97); }
4453
4863
  }
4454
4864
  peg$silentFails--;
4455
4865
  if (s2 === peg$FAILED) {
@@ -4474,23 +4884,57 @@ function peg$parse(input, options) {
4474
4884
  return s0;
4475
4885
  }
4476
4886
 
4477
- function peg$parsetemplateDocumentText() {
4887
+ function peg$parsetemplateBodyText() {
4478
4888
  var s0, s1, s2;
4479
4889
 
4480
4890
  peg$silentFails++;
4481
4891
  s0 = peg$currPos;
4482
4892
  s1 = [];
4483
- s2 = peg$parsetemplateDocumentChar();
4893
+ s2 = peg$parsetemplateBodyChar();
4484
4894
  while (s2 !== peg$FAILED) {
4485
4895
  s1.push(s2);
4486
- s2 = peg$parsetemplateDocumentChar();
4896
+ s2 = peg$parsetemplateBodyChar();
4487
4897
  }
4488
4898
  peg$savedPos = s0;
4489
- s1 = peg$f71(s1);
4899
+ s1 = peg$f83(s1);
4490
4900
  s0 = s1;
4491
4901
  peg$silentFails--;
4492
4902
  s1 = peg$FAILED;
4493
- if (peg$silentFails === 0) { peg$fail(peg$e95); }
4903
+ if (peg$silentFails === 0) { peg$fail(peg$e98); }
4904
+
4905
+ return s0;
4906
+ }
4907
+
4908
+ function peg$parsetemplateDocument() {
4909
+ var s0, s1, s2, s3;
4910
+
4911
+ peg$silentFails++;
4912
+ s0 = peg$currPos;
4913
+ s1 = peg$parsefrontMatterExpression();
4914
+ if (s1 !== peg$FAILED) {
4915
+ s2 = peg$parse__();
4916
+ s3 = peg$parsetemplateBody();
4917
+ peg$savedPos = s0;
4918
+ s0 = peg$f84(s1, s3);
4919
+ } else {
4920
+ peg$currPos = s0;
4921
+ s0 = peg$FAILED;
4922
+ }
4923
+ if (s0 === peg$FAILED) {
4924
+ s0 = peg$currPos;
4925
+ s1 = peg$parsefrontMatterYaml();
4926
+ if (s1 === peg$FAILED) {
4927
+ s1 = null;
4928
+ }
4929
+ s2 = peg$parsetemplateBody();
4930
+ peg$savedPos = s0;
4931
+ s0 = peg$f85(s1, s2);
4932
+ }
4933
+ peg$silentFails--;
4934
+ if (s0 === peg$FAILED) {
4935
+ s1 = peg$FAILED;
4936
+ if (peg$silentFails === 0) { peg$fail(peg$e99); }
4937
+ }
4494
4938
 
4495
4939
  return s0;
4496
4940
  }
@@ -4501,11 +4945,11 @@ function peg$parse(input, options) {
4501
4945
  peg$silentFails++;
4502
4946
  s0 = peg$currPos;
4503
4947
  if (input.charCodeAt(peg$currPos) === 96) {
4504
- s1 = peg$c58;
4948
+ s1 = peg$c27;
4505
4949
  peg$currPos++;
4506
4950
  } else {
4507
4951
  s1 = peg$FAILED;
4508
- if (peg$silentFails === 0) { peg$fail(peg$e97); }
4952
+ if (peg$silentFails === 0) { peg$fail(peg$e36); }
4509
4953
  }
4510
4954
  if (s1 !== peg$FAILED) {
4511
4955
  s2 = peg$parsetemplateLiteralText();
@@ -4533,16 +4977,10 @@ function peg$parse(input, options) {
4533
4977
  s4 = peg$FAILED;
4534
4978
  }
4535
4979
  }
4536
- if (input.charCodeAt(peg$currPos) === 96) {
4537
- s4 = peg$c58;
4538
- peg$currPos++;
4539
- } else {
4540
- s4 = peg$FAILED;
4541
- if (peg$silentFails === 0) { peg$fail(peg$e97); }
4542
- }
4980
+ s4 = peg$parseexpectBacktick();
4543
4981
  if (s4 !== peg$FAILED) {
4544
4982
  peg$savedPos = s0;
4545
- s0 = peg$f72(s2, s3);
4983
+ s0 = peg$f86(s2, s3);
4546
4984
  } else {
4547
4985
  peg$currPos = s0;
4548
4986
  s0 = peg$FAILED;
@@ -4554,7 +4992,7 @@ function peg$parse(input, options) {
4554
4992
  peg$silentFails--;
4555
4993
  if (s0 === peg$FAILED) {
4556
4994
  s1 = peg$FAILED;
4557
- if (peg$silentFails === 0) { peg$fail(peg$e96); }
4995
+ if (peg$silentFails === 0) { peg$fail(peg$e100); }
4558
4996
  }
4559
4997
 
4560
4998
  return s0;
@@ -4567,19 +5005,19 @@ function peg$parse(input, options) {
4567
5005
  s1 = peg$currPos;
4568
5006
  peg$silentFails++;
4569
5007
  if (input.charCodeAt(peg$currPos) === 96) {
4570
- s2 = peg$c58;
5008
+ s2 = peg$c27;
4571
5009
  peg$currPos++;
4572
5010
  } else {
4573
5011
  s2 = peg$FAILED;
4574
- if (peg$silentFails === 0) { peg$fail(peg$e97); }
5012
+ if (peg$silentFails === 0) { peg$fail(peg$e36); }
4575
5013
  }
4576
5014
  if (s2 === peg$FAILED) {
4577
- if (input.substr(peg$currPos, 2) === peg$c57) {
4578
- s2 = peg$c57;
5015
+ if (input.substr(peg$currPos, 2) === peg$c59) {
5016
+ s2 = peg$c59;
4579
5017
  peg$currPos += 2;
4580
5018
  } else {
4581
5019
  s2 = peg$FAILED;
4582
- if (peg$silentFails === 0) { peg$fail(peg$e94); }
5020
+ if (peg$silentFails === 0) { peg$fail(peg$e97); }
4583
5021
  }
4584
5022
  }
4585
5023
  peg$silentFails--;
@@ -4616,7 +5054,7 @@ function peg$parse(input, options) {
4616
5054
  s2 = peg$parsetemplateLiteralChar();
4617
5055
  }
4618
5056
  peg$savedPos = s0;
4619
- s1 = peg$f73(s1);
5057
+ s1 = peg$f87(s1);
4620
5058
  s0 = s1;
4621
5059
 
4622
5060
  return s0;
@@ -4627,26 +5065,26 @@ function peg$parse(input, options) {
4627
5065
 
4628
5066
  peg$silentFails++;
4629
5067
  s0 = peg$currPos;
4630
- if (input.substr(peg$currPos, 2) === peg$c57) {
4631
- s1 = peg$c57;
5068
+ if (input.substr(peg$currPos, 2) === peg$c59) {
5069
+ s1 = peg$c59;
4632
5070
  peg$currPos += 2;
4633
5071
  } else {
4634
5072
  s1 = peg$FAILED;
4635
- if (peg$silentFails === 0) { peg$fail(peg$e94); }
5073
+ if (peg$silentFails === 0) { peg$fail(peg$e97); }
4636
5074
  }
4637
5075
  if (s1 !== peg$FAILED) {
4638
- s2 = peg$parseexpression();
5076
+ s2 = peg$parseexpectExpression();
4639
5077
  if (s2 !== peg$FAILED) {
4640
5078
  if (input.charCodeAt(peg$currPos) === 125) {
4641
- s3 = peg$c7;
5079
+ s3 = peg$c28;
4642
5080
  peg$currPos++;
4643
5081
  } else {
4644
5082
  s3 = peg$FAILED;
4645
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
5083
+ if (peg$silentFails === 0) { peg$fail(peg$e37); }
4646
5084
  }
4647
5085
  if (s3 !== peg$FAILED) {
4648
5086
  peg$savedPos = s0;
4649
- s0 = peg$f74(s2);
5087
+ s0 = peg$f88(s2);
4650
5088
  } else {
4651
5089
  peg$currPos = s0;
4652
5090
  s0 = peg$FAILED;
@@ -4662,7 +5100,7 @@ function peg$parse(input, options) {
4662
5100
  peg$silentFails--;
4663
5101
  if (s0 === peg$FAILED) {
4664
5102
  s1 = peg$FAILED;
4665
- if (peg$silentFails === 0) { peg$fail(peg$e98); }
5103
+ if (peg$silentFails === 0) { peg$fail(peg$e101); }
4666
5104
  }
4667
5105
 
4668
5106
  return s0;
@@ -4678,7 +5116,7 @@ function peg$parse(input, options) {
4678
5116
  peg$currPos++;
4679
5117
  } else {
4680
5118
  s0 = peg$FAILED;
4681
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
5119
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
4682
5120
  }
4683
5121
  }
4684
5122
 
@@ -4695,7 +5133,7 @@ function peg$parse(input, options) {
4695
5133
  s3 = peg$parseunaryExpression();
4696
5134
  if (s3 !== peg$FAILED) {
4697
5135
  peg$savedPos = s0;
4698
- s0 = peg$f75(s1, s3);
5136
+ s0 = peg$f89(s1, s3);
4699
5137
  } else {
4700
5138
  peg$currPos = s0;
4701
5139
  s0 = peg$FAILED;
@@ -4719,7 +5157,7 @@ function peg$parse(input, options) {
4719
5157
  peg$currPos++;
4720
5158
  } else {
4721
5159
  s0 = peg$FAILED;
4722
- if (peg$silentFails === 0) { peg$fail(peg$e99); }
5160
+ if (peg$silentFails === 0) { peg$fail(peg$e102); }
4723
5161
  }
4724
5162
 
4725
5163
  return s0;
@@ -4810,9 +5248,6 @@ const peg$allowedStartRules = [
4810
5248
  "bitwiseXorExpression",
4811
5249
  "bitwiseXorOperator",
4812
5250
  "callExpression",
4813
- "closingBrace",
4814
- "closingBracket",
4815
- "closingParenthesis",
4816
5251
  "commaExpression",
4817
5252
  "comment",
4818
5253
  "conditionalExpression",
@@ -4824,9 +5259,23 @@ const peg$allowedStartRules = [
4824
5259
  "equalityExpression",
4825
5260
  "equalityOperator",
4826
5261
  "escapedChar",
5262
+ "expectBacktick",
5263
+ "expectClosingBrace",
5264
+ "expectClosingBracket",
5265
+ "expectClosingParenthesis",
5266
+ "expectDoubleQuote",
5267
+ "expectExpression",
5268
+ "expectFrontDelimiter",
5269
+ "expectGuillemet",
5270
+ "expectSingleQuote",
5271
+ "expectPipelineExpression",
4827
5272
  "exponentiationExpression",
4828
5273
  "expression",
4829
5274
  "floatLiteral",
5275
+ "frontDelimiter",
5276
+ "frontMatterExpression",
5277
+ "frontMatterText",
5278
+ "frontMatterYaml",
4830
5279
  "group",
4831
5280
  "guillemetString",
4832
5281
  "guillemetStringChar",
@@ -4834,7 +5283,6 @@ const peg$allowedStartRules = [
4834
5283
  "host",
4835
5284
  "identifier",
4836
5285
  "identifierChar",
4837
- "identifierList",
4838
5286
  "implicitParenthesesCallExpression",
4839
5287
  "implicitParensthesesArguments",
4840
5288
  "inlineSpace",
@@ -4859,6 +5307,9 @@ const peg$allowedStartRules = [
4859
5307
  "objectProperty",
4860
5308
  "objectShorthandProperty",
4861
5309
  "objectPublicKey",
5310
+ "parameter",
5311
+ "parameterList",
5312
+ "parameterSingleton",
4862
5313
  "parenthesesArguments",
4863
5314
  "path",
4864
5315
  "pathArguments",
@@ -4888,9 +5339,10 @@ const peg$allowedStartRules = [
4888
5339
  "slashFollows",
4889
5340
  "spreadElement",
4890
5341
  "stringLiteral",
5342
+ "templateBody",
5343
+ "templateBodyChar",
5344
+ "templateBodyText",
4891
5345
  "templateDocument",
4892
- "templateDocumentChar",
4893
- "templateDocumentText",
4894
5346
  "templateLiteral",
4895
5347
  "templateLiteralChar",
4896
5348
  "templateLiteralText",