@weborigami/language 0.4.2 → 0.5.0
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.
- package/main.js +0 -1
- package/package.json +6 -6
- package/src/compiler/compile.js +2 -4
- package/src/compiler/optimize.js +7 -2
- package/src/compiler/origami.pegjs +13 -9
- package/src/compiler/parse.js +254 -220
- package/src/compiler/parserHelpers.js +10 -8
- package/src/runtime/errors.js +4 -0
- package/src/runtime/handlers.js +1 -0
- package/src/runtime/jsGlobals.js +3 -0
- package/src/runtime/ops.js +54 -10
- package/test/compiler/compile.test.js +4 -5
- package/test/compiler/optimize.test.js +4 -3
- package/test/compiler/parse.test.js +145 -147
- package/test/runtime/ops.test.js +8 -1
- package/src/runtime/templateIndent.js +0 -120
- package/test/runtime/taggedTemplateIndent.test.js +0 -44
package/src/compiler/parse.js
CHANGED
|
@@ -205,7 +205,7 @@ function peg$parse(input, options) {
|
|
|
205
205
|
var peg$FAILED = {};
|
|
206
206
|
var peg$source = options.grammarSource;
|
|
207
207
|
|
|
208
|
-
var peg$startRuleFunctions = { __: peg$parse__, additiveExpression: peg$parseadditiveExpression, additiveOperator: peg$parseadditiveOperator, angleBracketLiteral: peg$parseangleBracketLiteral, angleBracketPath: peg$parseangleBracketPath, angleBracketKey: peg$parseangleBracketKey, angleBracketPathChar: peg$parseangleBracketPathChar, 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, computedPropertyAccess: peg$parsecomputedPropertyAccess, computedPropertySpace: peg$parsecomputedPropertySpace, 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, expectUnaryExpression: peg$parseexpectUnaryExpression, 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, host: peg$parsehost, hostname: peg$parsehostname, identifier: peg$parseidentifier, identifierLiteral: peg$parseidentifierLiteral, identifierPart: peg$parseidentifierPart, identifierStart: peg$parseidentifierStart, implicitParenthesesCallExpression: peg$parseimplicitParenthesesCallExpression, implicitParensthesesArguments: peg$parseimplicitParensthesesArguments, inlineSpace: peg$parseinlineSpace, integerLiteral: peg$parseintegerLiteral, key: peg$parsekey, keyChar: peg$parsekeyChar, keyCharStart: peg$parsekeyCharStart, list: peg$parselist, logicalAndExpression: peg$parselogicalAndExpression, logicalOrExpression: peg$parselogicalOrExpression, minus: peg$parseminus, multiLineComment: peg$parsemultiLineComment, multiplicativeExpression: peg$parsemultiplicativeExpression, multiplicativeOperator: peg$parsemultiplicativeOperator, newExpression: peg$parsenewExpression, 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, optionalChaining: peg$parseoptionalChaining, parameter: peg$parseparameter, parameterList: peg$parseparameterList, parameterSingleton: peg$parseparameterSingleton, parenthesesArguments: peg$parseparenthesesArguments, pathArguments: peg$parsepathArguments, pathKeys: peg$parsepathKeys, pathLiteral: peg$parsepathLiteral, pathSegment: peg$parsepathSegment, pipelineExpression: peg$parsepipelineExpression, primary: peg$parseprimary, program: peg$parseprogram, programMode: peg$parseprogramMode, propertyAccess: peg$parsepropertyAccess, regexFlags: peg$parseregexFlags, regexLiteral: peg$parseregexLiteral, regexLiteralChar: peg$parseregexLiteralChar, relationalExpression: peg$parserelationalExpression, relationalOperator: peg$parserelationalOperator, separator: peg$parseseparator, shebang: peg$parseshebang, shellMode: peg$parseshellMode, shiftExpression: peg$parseshiftExpression, shiftOperator: peg$parseshiftOperator, shorthandFunction: peg$parseshorthandFunction, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, slash: peg$parseslash, slashes: peg$parseslashes, 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, uri: peg$parseuri, uriExpression: peg$parseuriExpression, uriKey: peg$parseuriKey, uriKeyChar: peg$parseuriKeyChar, uriPath: peg$parseuriPath, uriScheme: peg$parseuriScheme, unaryOperator: peg$parseunaryOperator, whitespace: peg$parsewhitespace, whitespaceChar: peg$parsewhitespaceChar, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
|
|
208
|
+
var peg$startRuleFunctions = { __: peg$parse__, additiveExpression: peg$parseadditiveExpression, additiveOperator: peg$parseadditiveOperator, angleBracketLiteral: peg$parseangleBracketLiteral, angleBracketPath: peg$parseangleBracketPath, angleBracketKey: peg$parseangleBracketKey, angleBracketPathChar: peg$parseangleBracketPathChar, 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, computedPropertyAccess: peg$parsecomputedPropertyAccess, computedPropertySpace: peg$parsecomputedPropertySpace, 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, expectUnaryExpression: peg$parseexpectUnaryExpression, 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, host: peg$parsehost, hostname: peg$parsehostname, identifier: peg$parseidentifier, identifierLiteral: peg$parseidentifierLiteral, identifierPart: peg$parseidentifierPart, identifierStart: peg$parseidentifierStart, implicitParenthesesCallExpression: peg$parseimplicitParenthesesCallExpression, implicitParensthesesArguments: peg$parseimplicitParensthesesArguments, inlineSpace: peg$parseinlineSpace, integerLiteral: peg$parseintegerLiteral, key: peg$parsekey, keyChar: peg$parsekeyChar, keyCharStart: peg$parsekeyCharStart, list: peg$parselist, logicalAndExpression: peg$parselogicalAndExpression, logicalOrExpression: peg$parselogicalOrExpression, minus: peg$parseminus, multiLineComment: peg$parsemultiLineComment, multiplicativeExpression: peg$parsemultiplicativeExpression, multiplicativeOperator: peg$parsemultiplicativeOperator, newExpression: peg$parsenewExpression, 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, optionalChaining: peg$parseoptionalChaining, parameter: peg$parseparameter, parameterList: peg$parseparameterList, parameterSingleton: peg$parseparameterSingleton, parenthesesArguments: peg$parseparenthesesArguments, pathArguments: peg$parsepathArguments, pathKeys: peg$parsepathKeys, pathLiteral: peg$parsepathLiteral, pathSegment: peg$parsepathSegment, pipelineExpression: peg$parsepipelineExpression, primary: peg$parseprimary, program: peg$parseprogram, programMode: peg$parseprogramMode, propertyAccess: peg$parsepropertyAccess, regexFlags: peg$parseregexFlags, regexLiteral: peg$parseregexLiteral, regexLiteralChar: peg$parseregexLiteralChar, relationalExpression: peg$parserelationalExpression, relationalOperator: peg$parserelationalOperator, separator: peg$parseseparator, shebang: peg$parseshebang, shellMode: peg$parseshellMode, shiftExpression: peg$parseshiftExpression, shiftOperator: peg$parseshiftOperator, shorthandFunction: peg$parseshorthandFunction, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, slash: peg$parseslash, slashes: peg$parseslashes, 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, uri: peg$parseuri, uriExpression: peg$parseuriExpression, uriKey: peg$parseuriKey, uriKeyChar: peg$parseuriKeyChar, uriPath: peg$parseuriPath, uriScheme: peg$parseuriScheme, unaryOperator: peg$parseunaryOperator, whitespace: peg$parsewhitespace, whitespaceChar: peg$parsewhitespaceChar, whitespaceOptionalForProgram: peg$parsewhitespaceOptionalForProgram, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
|
|
209
209
|
var peg$startRuleFunction = peg$parse__;
|
|
210
210
|
|
|
211
211
|
var peg$c0 = "+";
|
|
@@ -484,104 +484,107 @@ function peg$parse(input, options) {
|
|
|
484
484
|
var peg$f18 = function(chars) {
|
|
485
485
|
return annotate([ops.literal, chars.join("")], location());
|
|
486
486
|
};
|
|
487
|
-
var peg$f19 = function(
|
|
487
|
+
var peg$f19 = function() {
|
|
488
|
+
console.warn("The use of the Unicode ellipsis character for an object spread is deprecated; use `...` (three periods) instead.");
|
|
489
|
+
};
|
|
490
|
+
var peg$f20 = function(head, tail) {
|
|
488
491
|
return tail.reduce(makeBinaryOperation, head);
|
|
489
492
|
};
|
|
490
|
-
var peg$
|
|
491
|
-
var peg$
|
|
492
|
-
var peg$
|
|
493
|
-
var peg$
|
|
494
|
-
var peg$
|
|
495
|
-
var peg$
|
|
496
|
-
var peg$
|
|
497
|
-
var peg$
|
|
493
|
+
var peg$f21 = function() { return "\0"; };
|
|
494
|
+
var peg$f22 = function() { return "\b"; };
|
|
495
|
+
var peg$f23 = function() { return "\f"; };
|
|
496
|
+
var peg$f24 = function() { return "\n"; };
|
|
497
|
+
var peg$f25 = function() { return "\r"; };
|
|
498
|
+
var peg$f26 = function() { return "\t"; };
|
|
499
|
+
var peg$f27 = function() { return "\v"; };
|
|
500
|
+
var peg$f28 = function() {
|
|
498
501
|
error("Expected closing backtick");
|
|
499
502
|
};
|
|
500
|
-
var peg$
|
|
503
|
+
var peg$f29 = function() {
|
|
501
504
|
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").`);
|
|
502
505
|
};
|
|
503
|
-
var peg$
|
|
506
|
+
var peg$f30 = function() {
|
|
504
507
|
error("Expected right bracket");
|
|
505
508
|
};
|
|
506
|
-
var peg$
|
|
509
|
+
var peg$f31 = function() {
|
|
507
510
|
error("Expected right parenthesis");
|
|
508
511
|
};
|
|
509
|
-
var peg$
|
|
512
|
+
var peg$f32 = function() {
|
|
510
513
|
error("Expected closing quote");
|
|
511
514
|
};
|
|
512
|
-
var peg$
|
|
515
|
+
var peg$f33 = function() {
|
|
513
516
|
error("Expected an expression");
|
|
514
517
|
};
|
|
515
|
-
var peg$
|
|
518
|
+
var peg$f34 = function() {
|
|
516
519
|
error("Expected \"---\"");
|
|
517
520
|
};
|
|
518
|
-
var peg$
|
|
521
|
+
var peg$f35 = function() {
|
|
519
522
|
error("Expected closing guillemet");
|
|
520
523
|
};
|
|
521
|
-
var peg$
|
|
524
|
+
var peg$f36 = function() {
|
|
522
525
|
error("Expected closing quote");
|
|
523
526
|
};
|
|
524
|
-
var peg$
|
|
527
|
+
var peg$f37 = function() {
|
|
525
528
|
error("Expected an expression");
|
|
526
529
|
};
|
|
527
|
-
var peg$
|
|
530
|
+
var peg$f38 = function() {
|
|
528
531
|
error("Expected an expression");
|
|
529
532
|
};
|
|
530
|
-
var peg$
|
|
533
|
+
var peg$f39 = function(left, right) {
|
|
531
534
|
return right ? annotate([ops.exponentiation, left, right], location()) : left;
|
|
532
535
|
};
|
|
533
|
-
var peg$
|
|
536
|
+
var peg$f40 = function() {
|
|
534
537
|
return annotate([ops.literal, parseFloat(text())], location());
|
|
535
538
|
};
|
|
536
|
-
var peg$
|
|
539
|
+
var peg$f41 = function() {
|
|
537
540
|
return isOrigamiFrontMatter(input.slice(location().end.offset))
|
|
538
541
|
};
|
|
539
|
-
var peg$
|
|
542
|
+
var peg$f42 = function(chars) {
|
|
540
543
|
return chars.join("");
|
|
541
544
|
};
|
|
542
|
-
var peg$
|
|
545
|
+
var peg$f43 = function(yaml) {
|
|
543
546
|
return makeYamlObject(yaml, location());
|
|
544
547
|
};
|
|
545
|
-
var peg$
|
|
548
|
+
var peg$f44 = function(expression) {
|
|
546
549
|
return annotate(expression, location());
|
|
547
550
|
};
|
|
548
|
-
var peg$
|
|
551
|
+
var peg$f45 = function(chars) {
|
|
549
552
|
return annotate([ops.literal, chars.join("")], location());
|
|
550
553
|
};
|
|
551
|
-
var peg$
|
|
554
|
+
var peg$f46 = function(name, port, slashFollows) {
|
|
552
555
|
const portText = port ? `:${port[1]}` : "";
|
|
553
556
|
const slashText = slashFollows ? "/" : "";
|
|
554
557
|
const host = name + portText + slashText;
|
|
555
558
|
return annotate([ops.literal, host], location());
|
|
556
559
|
};
|
|
557
|
-
var peg$
|
|
560
|
+
var peg$f47 = function() {
|
|
558
561
|
return text();
|
|
559
562
|
};
|
|
560
|
-
var peg$
|
|
563
|
+
var peg$f48 = function(id) {
|
|
561
564
|
return id;
|
|
562
565
|
};
|
|
563
|
-
var peg$
|
|
566
|
+
var peg$f49 = function(id) {
|
|
564
567
|
return annotate([ops.literal, id], location());
|
|
565
568
|
};
|
|
566
|
-
var peg$
|
|
567
|
-
var peg$
|
|
568
|
-
var peg$
|
|
569
|
+
var peg$f50 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
|
|
570
|
+
var peg$f51 = function(char) { return char.match(/[$_\p{ID_Start}]/u) };
|
|
571
|
+
var peg$f52 = function(head, args) {
|
|
569
572
|
return args ? makeCall(head, args, location()) : head;
|
|
570
573
|
};
|
|
571
|
-
var peg$
|
|
574
|
+
var peg$f53 = function(values) {
|
|
572
575
|
return annotate(values, location());
|
|
573
576
|
};
|
|
574
|
-
var peg$
|
|
577
|
+
var peg$f54 = function() {
|
|
575
578
|
return annotate([ops.literal, parseInt(text())], location());
|
|
576
579
|
};
|
|
577
|
-
var peg$
|
|
580
|
+
var peg$f55 = function() {
|
|
578
581
|
return text();
|
|
579
582
|
};
|
|
580
|
-
var peg$
|
|
581
|
-
var peg$
|
|
583
|
+
var peg$f56 = function(char) { return char.match(/[$_\p{ID_Continue}]/u) };
|
|
584
|
+
var peg$f57 = function(values) {
|
|
582
585
|
return annotate(values, location());
|
|
583
586
|
};
|
|
584
|
-
var peg$
|
|
587
|
+
var peg$f58 = function(head, tail) {
|
|
585
588
|
return tail.length === 0
|
|
586
589
|
? head
|
|
587
590
|
: annotate(
|
|
@@ -589,7 +592,7 @@ function peg$parse(input, options) {
|
|
|
589
592
|
location()
|
|
590
593
|
);
|
|
591
594
|
};
|
|
592
|
-
var peg$
|
|
595
|
+
var peg$f59 = function(head, tail) {
|
|
593
596
|
return tail.length === 0
|
|
594
597
|
? head
|
|
595
598
|
: annotate(
|
|
@@ -597,19 +600,19 @@ function peg$parse(input, options) {
|
|
|
597
600
|
location()
|
|
598
601
|
);
|
|
599
602
|
};
|
|
600
|
-
var peg$
|
|
601
|
-
var peg$
|
|
603
|
+
var peg$f60 = function() { return null; };
|
|
604
|
+
var peg$f61 = function(head, tail) {
|
|
602
605
|
return tail.reduce(makeBinaryOperation, head);
|
|
603
606
|
};
|
|
604
|
-
var peg$
|
|
607
|
+
var peg$f62 = function(head, tail) {
|
|
605
608
|
const args = tail?.[0] !== undefined ? tail : [];
|
|
606
609
|
return annotate([ops.construct, head, ...args], location());
|
|
607
610
|
};
|
|
608
|
-
var peg$
|
|
611
|
+
var peg$f63 = function(head, tail) {
|
|
609
612
|
const args = tail?.[0] !== undefined ? tail : [];
|
|
610
613
|
return annotate([ops.construct, head, ...args], location());
|
|
611
614
|
};
|
|
612
|
-
var peg$
|
|
615
|
+
var peg$f64 = function(head, tail) {
|
|
613
616
|
return tail.length === 0
|
|
614
617
|
? head
|
|
615
618
|
: annotate(
|
|
@@ -617,93 +620,93 @@ function peg$parse(input, options) {
|
|
|
617
620
|
location()
|
|
618
621
|
);
|
|
619
622
|
};
|
|
620
|
-
var peg$
|
|
623
|
+
var peg$f65 = function(entries) {
|
|
621
624
|
return makeObject(entries ?? [], location());
|
|
622
625
|
};
|
|
623
|
-
var peg$
|
|
626
|
+
var peg$f66 = function(entries) {
|
|
624
627
|
return annotate(entries, location());
|
|
625
628
|
};
|
|
626
|
-
var peg$
|
|
629
|
+
var peg$f67 = function(key, pipeline) {
|
|
627
630
|
const getter = annotate([ops.getter, pipeline], location());
|
|
628
631
|
return annotate([key, getter], location());
|
|
629
632
|
};
|
|
630
|
-
var peg$
|
|
631
|
-
var peg$
|
|
633
|
+
var peg$f68 = function(hiddenKey) { return hiddenKey.join(""); };
|
|
634
|
+
var peg$f69 = function(key, pipeline) {
|
|
632
635
|
return annotate([key, pipeline], location());
|
|
633
636
|
};
|
|
634
|
-
var peg$
|
|
637
|
+
var peg$f70 = function(key) {
|
|
635
638
|
const reference = annotate([markers.reference, key], location());
|
|
636
639
|
const traverse = annotate([markers.traverse, reference], location());
|
|
637
640
|
return annotate([key, traverse], location());
|
|
638
641
|
};
|
|
639
|
-
var peg$
|
|
642
|
+
var peg$f71 = function(path) {
|
|
640
643
|
let lastKey = path.at(-1);
|
|
641
644
|
if (lastKey instanceof Array) {
|
|
642
645
|
lastKey = lastKey[1]; // get scope identifier or literal
|
|
643
646
|
}
|
|
644
647
|
return annotate([lastKey, path], location());
|
|
645
648
|
};
|
|
646
|
-
var peg$
|
|
649
|
+
var peg$f72 = function(key, slash) {
|
|
647
650
|
return text();
|
|
648
651
|
};
|
|
649
|
-
var peg$
|
|
652
|
+
var peg$f73 = function(string) {
|
|
650
653
|
// Remove `ops.literal` from the string code
|
|
651
654
|
return string[1];
|
|
652
655
|
};
|
|
653
|
-
var peg$
|
|
656
|
+
var peg$f74 = function(property) {
|
|
654
657
|
return annotate([ops.optionalTraverse, property], location());
|
|
655
658
|
};
|
|
656
|
-
var peg$
|
|
659
|
+
var peg$f75 = function(key) {
|
|
657
660
|
return annotate([ops.literal, key], location());
|
|
658
661
|
};
|
|
659
|
-
var peg$
|
|
662
|
+
var peg$f76 = function(list) {
|
|
660
663
|
return annotate(list, location());
|
|
661
664
|
};
|
|
662
|
-
var peg$
|
|
665
|
+
var peg$f77 = function(param) {
|
|
663
666
|
return annotate([param], location());
|
|
664
667
|
};
|
|
665
|
-
var peg$
|
|
668
|
+
var peg$f78 = function(list) {
|
|
666
669
|
return annotate(list ?? [undefined], location());
|
|
667
670
|
};
|
|
668
|
-
var peg$
|
|
671
|
+
var peg$f79 = function(keys) {
|
|
669
672
|
const args = keys ?? [];
|
|
670
673
|
return annotate([markers.traverse, ...args], location());
|
|
671
674
|
};
|
|
672
|
-
var peg$
|
|
675
|
+
var peg$f80 = function(keys) {
|
|
673
676
|
return makePath(keys);
|
|
674
677
|
};
|
|
675
|
-
var peg$
|
|
678
|
+
var peg$f81 = function(key) {
|
|
676
679
|
return annotate([ops.literal, text()], location());
|
|
677
680
|
};
|
|
678
|
-
var peg$
|
|
681
|
+
var peg$f82 = function() {
|
|
679
682
|
return annotate([ops.literal, text()], location());
|
|
680
683
|
};
|
|
681
|
-
var peg$
|
|
684
|
+
var peg$f83 = function(head, tail) {
|
|
682
685
|
return annotate(
|
|
683
686
|
tail.reduce((arg, fn) => makePipeline(arg, fn, location()), head),
|
|
684
687
|
location()
|
|
685
688
|
);
|
|
686
689
|
};
|
|
687
|
-
var peg$
|
|
688
|
-
var peg$
|
|
690
|
+
var peg$f84 = function() { return options.mode === "program" };
|
|
691
|
+
var peg$f85 = function(property) {
|
|
689
692
|
return annotate([markers.property, property], location());
|
|
690
693
|
};
|
|
691
|
-
var peg$
|
|
694
|
+
var peg$f86 = function(flags) {
|
|
692
695
|
return flags.join("");
|
|
693
696
|
};
|
|
694
|
-
var peg$
|
|
697
|
+
var peg$f87 = function(chars, flags) {
|
|
695
698
|
const regex = new RegExp(chars.join(""), flags);
|
|
696
699
|
return annotate([ops.literal, regex], location());
|
|
697
700
|
};
|
|
698
|
-
var peg$
|
|
701
|
+
var peg$f88 = function(head, tail) {
|
|
699
702
|
return tail.reduce(makeBinaryOperation, head);
|
|
700
703
|
};
|
|
701
|
-
var peg$
|
|
702
|
-
var peg$
|
|
703
|
-
var peg$
|
|
704
|
+
var peg$f89 = function() { return null; };
|
|
705
|
+
var peg$f90 = function() { return options.mode === "shell" };
|
|
706
|
+
var peg$f91 = function(head, tail) {
|
|
704
707
|
return tail.reduce(makeBinaryOperation, head);
|
|
705
708
|
};
|
|
706
|
-
var peg$
|
|
709
|
+
var peg$f92 = function(definition) {
|
|
707
710
|
if (options.mode === "program") {
|
|
708
711
|
console.warn("Warning: the shorthand function syntax is deprecated in Origami programs. Use arrow syntax instead.");
|
|
709
712
|
}
|
|
@@ -713,41 +716,35 @@ function peg$parse(input, options) {
|
|
|
713
716
|
);
|
|
714
717
|
return annotate([ops.lambda, lambdaParameters, definition], location());
|
|
715
718
|
};
|
|
716
|
-
var peg$
|
|
717
|
-
var peg$
|
|
719
|
+
var peg$f93 = function() { return null; };
|
|
720
|
+
var peg$f94 = function(chars) {
|
|
718
721
|
return annotate([ops.literal, chars.join("")], location());
|
|
719
722
|
};
|
|
720
|
-
var peg$
|
|
723
|
+
var peg$f95 = function() {
|
|
721
724
|
return annotate([ops.literal, "/"], location());
|
|
722
725
|
};
|
|
723
|
-
var peg$
|
|
726
|
+
var peg$f96 = function() {
|
|
724
727
|
return annotate([ops.literal, "/"], location());
|
|
725
728
|
};
|
|
726
|
-
var peg$
|
|
729
|
+
var peg$f97 = function() {
|
|
727
730
|
return true;
|
|
728
731
|
};
|
|
729
|
-
var peg$
|
|
732
|
+
var peg$f98 = function(value) {
|
|
730
733
|
return annotate([ops.spread, value], location());
|
|
731
734
|
};
|
|
732
|
-
var peg$
|
|
735
|
+
var peg$f99 = function(head, tail) {
|
|
733
736
|
return makeTemplate(ops.templateIndent, head, tail, location());
|
|
734
737
|
};
|
|
735
|
-
var peg$
|
|
738
|
+
var peg$f100 = function(chars) {
|
|
736
739
|
return annotate([ops.literal, chars.join("")], location());
|
|
737
740
|
};
|
|
738
|
-
var peg$f100 = function(front, body) {
|
|
739
|
-
// TODO: Deprecate @template
|
|
740
|
-
const macroName = text().includes("@template") ? "@template" : "_template";
|
|
741
|
-
if (macroName === "@template") {
|
|
742
|
-
// If the front matter is a macro, apply it to the body
|
|
743
|
-
console.warn("Warning: the @template() macro is deprecated. Use _template() instead.");
|
|
744
|
-
}
|
|
745
|
-
return annotate(applyMacro(front, macroName, body), location());
|
|
746
|
-
};
|
|
747
741
|
var peg$f101 = function(front, body) {
|
|
742
|
+
return annotate(applyMacro(front, "_template", body), location());
|
|
743
|
+
};
|
|
744
|
+
var peg$f102 = function(front, body) {
|
|
748
745
|
return makeDocument(front, body, location());
|
|
749
746
|
};
|
|
750
|
-
var peg$
|
|
747
|
+
var peg$f103 = function(body) {
|
|
751
748
|
if (options.front) {
|
|
752
749
|
return makeDocument(options.front, body, location());
|
|
753
750
|
}
|
|
@@ -757,43 +754,43 @@ function peg$parse(input, options) {
|
|
|
757
754
|
);
|
|
758
755
|
return annotate([ops.lambda, lambdaParameters, body], location());
|
|
759
756
|
};
|
|
760
|
-
var peg$
|
|
757
|
+
var peg$f104 = function(head, tail) {
|
|
761
758
|
return makeTemplate(ops.templateTree, head, tail, location());
|
|
762
759
|
};
|
|
763
|
-
var peg$
|
|
760
|
+
var peg$f105 = function(chars) {
|
|
764
761
|
return annotate([ops.literal, chars.join("")], location());
|
|
765
762
|
};
|
|
766
|
-
var peg$
|
|
763
|
+
var peg$f106 = function(expression) {
|
|
767
764
|
return annotate(expression, location());
|
|
768
765
|
};
|
|
769
|
-
var peg$
|
|
766
|
+
var peg$f107 = function(operator, expression) {
|
|
770
767
|
return makeUnaryOperation(operator, expression, location());
|
|
771
768
|
};
|
|
772
|
-
var peg$
|
|
769
|
+
var peg$f108 = function(scheme, host, path) {
|
|
773
770
|
const rest = path ? path[1] : [];
|
|
774
771
|
const keys = annotate([host, ...rest], location());
|
|
775
772
|
return makeCall(scheme, keys, location());
|
|
776
773
|
};
|
|
777
|
-
var peg$
|
|
774
|
+
var peg$f109 = function(scheme, keys) {
|
|
778
775
|
return makeCall(scheme, keys, location());
|
|
779
776
|
};
|
|
780
|
-
var peg$
|
|
777
|
+
var peg$f110 = function(chars) {
|
|
781
778
|
return annotate([ops.literal, text()], location());
|
|
782
779
|
};
|
|
783
|
-
var peg$
|
|
780
|
+
var peg$f111 = function() {
|
|
784
781
|
// A single slash is a path key
|
|
785
782
|
return annotate([ops.literal, ""], location());
|
|
786
783
|
};
|
|
787
|
-
var peg$
|
|
788
|
-
var peg$
|
|
789
|
-
var peg$
|
|
784
|
+
var peg$f112 = function(char) { return /\s/.test(char); };
|
|
785
|
+
var peg$f113 = function(char) { return char; };
|
|
786
|
+
var peg$f114 = function(keys) {
|
|
790
787
|
return annotate(keys, location());
|
|
791
788
|
};
|
|
792
|
-
var peg$
|
|
789
|
+
var peg$f115 = function() {
|
|
793
790
|
return annotate([markers.global, text()], location());
|
|
794
791
|
};
|
|
795
|
-
var peg$
|
|
796
|
-
var peg$
|
|
792
|
+
var peg$f116 = function(char) { return /\s/.test(char); };
|
|
793
|
+
var peg$f117 = function(char) { return char; };
|
|
797
794
|
var peg$currPos = options.peg$currPos | 0;
|
|
798
795
|
var peg$savedPos = peg$currPos;
|
|
799
796
|
var peg$posDetailsCache = [{ line: 1, column: 1 }];
|
|
@@ -2174,7 +2171,7 @@ function peg$parse(input, options) {
|
|
|
2174
2171
|
}
|
|
2175
2172
|
|
|
2176
2173
|
function peg$parseellipsis() {
|
|
2177
|
-
var s0;
|
|
2174
|
+
var s0, s1;
|
|
2178
2175
|
|
|
2179
2176
|
if (input.substr(peg$currPos, 3) === peg$c19) {
|
|
2180
2177
|
s0 = peg$c19;
|
|
@@ -2184,13 +2181,19 @@ function peg$parse(input, options) {
|
|
|
2184
2181
|
if (peg$silentFails === 0) { peg$fail(peg$e26); }
|
|
2185
2182
|
}
|
|
2186
2183
|
if (s0 === peg$FAILED) {
|
|
2184
|
+
s0 = peg$currPos;
|
|
2187
2185
|
if (input.charCodeAt(peg$currPos) === 8230) {
|
|
2188
|
-
|
|
2186
|
+
s1 = peg$c20;
|
|
2189
2187
|
peg$currPos++;
|
|
2190
2188
|
} else {
|
|
2191
|
-
|
|
2189
|
+
s1 = peg$FAILED;
|
|
2192
2190
|
if (peg$silentFails === 0) { peg$fail(peg$e27); }
|
|
2193
2191
|
}
|
|
2192
|
+
if (s1 !== peg$FAILED) {
|
|
2193
|
+
peg$savedPos = s0;
|
|
2194
|
+
s1 = peg$f19();
|
|
2195
|
+
}
|
|
2196
|
+
s0 = s1;
|
|
2194
2197
|
}
|
|
2195
2198
|
|
|
2196
2199
|
return s0;
|
|
@@ -2239,7 +2242,7 @@ function peg$parse(input, options) {
|
|
|
2239
2242
|
}
|
|
2240
2243
|
}
|
|
2241
2244
|
peg$savedPos = s0;
|
|
2242
|
-
s0 = peg$
|
|
2245
|
+
s0 = peg$f20(s1, s2);
|
|
2243
2246
|
} else {
|
|
2244
2247
|
peg$currPos = s0;
|
|
2245
2248
|
s0 = peg$FAILED;
|
|
@@ -2303,7 +2306,7 @@ function peg$parse(input, options) {
|
|
|
2303
2306
|
}
|
|
2304
2307
|
if (s1 !== peg$FAILED) {
|
|
2305
2308
|
peg$savedPos = s0;
|
|
2306
|
-
s1 = peg$
|
|
2309
|
+
s1 = peg$f21();
|
|
2307
2310
|
}
|
|
2308
2311
|
s0 = s1;
|
|
2309
2312
|
if (s0 === peg$FAILED) {
|
|
@@ -2317,7 +2320,7 @@ function peg$parse(input, options) {
|
|
|
2317
2320
|
}
|
|
2318
2321
|
if (s1 !== peg$FAILED) {
|
|
2319
2322
|
peg$savedPos = s0;
|
|
2320
|
-
s1 = peg$
|
|
2323
|
+
s1 = peg$f22();
|
|
2321
2324
|
}
|
|
2322
2325
|
s0 = s1;
|
|
2323
2326
|
if (s0 === peg$FAILED) {
|
|
@@ -2331,7 +2334,7 @@ function peg$parse(input, options) {
|
|
|
2331
2334
|
}
|
|
2332
2335
|
if (s1 !== peg$FAILED) {
|
|
2333
2336
|
peg$savedPos = s0;
|
|
2334
|
-
s1 = peg$
|
|
2337
|
+
s1 = peg$f23();
|
|
2335
2338
|
}
|
|
2336
2339
|
s0 = s1;
|
|
2337
2340
|
if (s0 === peg$FAILED) {
|
|
@@ -2345,7 +2348,7 @@ function peg$parse(input, options) {
|
|
|
2345
2348
|
}
|
|
2346
2349
|
if (s1 !== peg$FAILED) {
|
|
2347
2350
|
peg$savedPos = s0;
|
|
2348
|
-
s1 = peg$
|
|
2351
|
+
s1 = peg$f24();
|
|
2349
2352
|
}
|
|
2350
2353
|
s0 = s1;
|
|
2351
2354
|
if (s0 === peg$FAILED) {
|
|
@@ -2359,7 +2362,7 @@ function peg$parse(input, options) {
|
|
|
2359
2362
|
}
|
|
2360
2363
|
if (s1 !== peg$FAILED) {
|
|
2361
2364
|
peg$savedPos = s0;
|
|
2362
|
-
s1 = peg$
|
|
2365
|
+
s1 = peg$f25();
|
|
2363
2366
|
}
|
|
2364
2367
|
s0 = s1;
|
|
2365
2368
|
if (s0 === peg$FAILED) {
|
|
@@ -2373,7 +2376,7 @@ function peg$parse(input, options) {
|
|
|
2373
2376
|
}
|
|
2374
2377
|
if (s1 !== peg$FAILED) {
|
|
2375
2378
|
peg$savedPos = s0;
|
|
2376
|
-
s1 = peg$
|
|
2379
|
+
s1 = peg$f26();
|
|
2377
2380
|
}
|
|
2378
2381
|
s0 = s1;
|
|
2379
2382
|
if (s0 === peg$FAILED) {
|
|
@@ -2387,7 +2390,7 @@ function peg$parse(input, options) {
|
|
|
2387
2390
|
}
|
|
2388
2391
|
if (s1 !== peg$FAILED) {
|
|
2389
2392
|
peg$savedPos = s0;
|
|
2390
|
-
s1 = peg$
|
|
2393
|
+
s1 = peg$f27();
|
|
2391
2394
|
}
|
|
2392
2395
|
s0 = s1;
|
|
2393
2396
|
if (s0 === peg$FAILED) {
|
|
@@ -2456,7 +2459,7 @@ function peg$parse(input, options) {
|
|
|
2456
2459
|
s1 = null;
|
|
2457
2460
|
}
|
|
2458
2461
|
peg$savedPos = s0;
|
|
2459
|
-
s1 = peg$
|
|
2462
|
+
s1 = peg$f28();
|
|
2460
2463
|
s0 = s1;
|
|
2461
2464
|
}
|
|
2462
2465
|
|
|
@@ -2486,7 +2489,7 @@ function peg$parse(input, options) {
|
|
|
2486
2489
|
s1 = null;
|
|
2487
2490
|
}
|
|
2488
2491
|
peg$savedPos = s0;
|
|
2489
|
-
s1 = peg$
|
|
2492
|
+
s1 = peg$f29();
|
|
2490
2493
|
s0 = s1;
|
|
2491
2494
|
}
|
|
2492
2495
|
|
|
@@ -2516,7 +2519,7 @@ function peg$parse(input, options) {
|
|
|
2516
2519
|
s1 = null;
|
|
2517
2520
|
}
|
|
2518
2521
|
peg$savedPos = s0;
|
|
2519
|
-
s1 = peg$
|
|
2522
|
+
s1 = peg$f30();
|
|
2520
2523
|
s0 = s1;
|
|
2521
2524
|
}
|
|
2522
2525
|
|
|
@@ -2546,7 +2549,7 @@ function peg$parse(input, options) {
|
|
|
2546
2549
|
s1 = null;
|
|
2547
2550
|
}
|
|
2548
2551
|
peg$savedPos = s0;
|
|
2549
|
-
s1 = peg$
|
|
2552
|
+
s1 = peg$f31();
|
|
2550
2553
|
s0 = s1;
|
|
2551
2554
|
}
|
|
2552
2555
|
|
|
@@ -2576,7 +2579,7 @@ function peg$parse(input, options) {
|
|
|
2576
2579
|
s1 = null;
|
|
2577
2580
|
}
|
|
2578
2581
|
peg$savedPos = s0;
|
|
2579
|
-
s1 = peg$
|
|
2582
|
+
s1 = peg$f32();
|
|
2580
2583
|
s0 = s1;
|
|
2581
2584
|
}
|
|
2582
2585
|
|
|
@@ -2600,7 +2603,7 @@ function peg$parse(input, options) {
|
|
|
2600
2603
|
s1 = null;
|
|
2601
2604
|
}
|
|
2602
2605
|
peg$savedPos = s0;
|
|
2603
|
-
s1 = peg$
|
|
2606
|
+
s1 = peg$f33();
|
|
2604
2607
|
s0 = s1;
|
|
2605
2608
|
}
|
|
2606
2609
|
|
|
@@ -2624,7 +2627,7 @@ function peg$parse(input, options) {
|
|
|
2624
2627
|
s1 = null;
|
|
2625
2628
|
}
|
|
2626
2629
|
peg$savedPos = s0;
|
|
2627
|
-
s1 = peg$
|
|
2630
|
+
s1 = peg$f34();
|
|
2628
2631
|
s0 = s1;
|
|
2629
2632
|
}
|
|
2630
2633
|
|
|
@@ -2654,7 +2657,7 @@ function peg$parse(input, options) {
|
|
|
2654
2657
|
s1 = null;
|
|
2655
2658
|
}
|
|
2656
2659
|
peg$savedPos = s0;
|
|
2657
|
-
s1 = peg$
|
|
2660
|
+
s1 = peg$f35();
|
|
2658
2661
|
s0 = s1;
|
|
2659
2662
|
}
|
|
2660
2663
|
|
|
@@ -2684,7 +2687,7 @@ function peg$parse(input, options) {
|
|
|
2684
2687
|
s1 = null;
|
|
2685
2688
|
}
|
|
2686
2689
|
peg$savedPos = s0;
|
|
2687
|
-
s1 = peg$
|
|
2690
|
+
s1 = peg$f36();
|
|
2688
2691
|
s0 = s1;
|
|
2689
2692
|
}
|
|
2690
2693
|
|
|
@@ -2708,7 +2711,7 @@ function peg$parse(input, options) {
|
|
|
2708
2711
|
s1 = null;
|
|
2709
2712
|
}
|
|
2710
2713
|
peg$savedPos = s0;
|
|
2711
|
-
s1 = peg$
|
|
2714
|
+
s1 = peg$f37();
|
|
2712
2715
|
s0 = s1;
|
|
2713
2716
|
}
|
|
2714
2717
|
|
|
@@ -2732,7 +2735,7 @@ function peg$parse(input, options) {
|
|
|
2732
2735
|
s1 = null;
|
|
2733
2736
|
}
|
|
2734
2737
|
peg$savedPos = s0;
|
|
2735
|
-
s1 = peg$
|
|
2738
|
+
s1 = peg$f38();
|
|
2736
2739
|
s0 = s1;
|
|
2737
2740
|
}
|
|
2738
2741
|
|
|
@@ -2781,7 +2784,7 @@ function peg$parse(input, options) {
|
|
|
2781
2784
|
s2 = null;
|
|
2782
2785
|
}
|
|
2783
2786
|
peg$savedPos = s0;
|
|
2784
|
-
s0 = peg$
|
|
2787
|
+
s0 = peg$f39(s1, s2);
|
|
2785
2788
|
} else {
|
|
2786
2789
|
peg$currPos = s0;
|
|
2787
2790
|
s0 = peg$FAILED;
|
|
@@ -2827,7 +2830,7 @@ function peg$parse(input, options) {
|
|
|
2827
2830
|
s3 = peg$parsedigits();
|
|
2828
2831
|
if (s3 !== peg$FAILED) {
|
|
2829
2832
|
peg$savedPos = s0;
|
|
2830
|
-
s0 = peg$
|
|
2833
|
+
s0 = peg$f40();
|
|
2831
2834
|
} else {
|
|
2832
2835
|
peg$currPos = s0;
|
|
2833
2836
|
s0 = peg$FAILED;
|
|
@@ -2866,7 +2869,7 @@ function peg$parse(input, options) {
|
|
|
2866
2869
|
s1 = peg$parsefrontDelimiter();
|
|
2867
2870
|
if (s1 !== peg$FAILED) {
|
|
2868
2871
|
peg$savedPos = peg$currPos;
|
|
2869
|
-
s2 = peg$
|
|
2872
|
+
s2 = peg$f41();
|
|
2870
2873
|
if (s2) {
|
|
2871
2874
|
s2 = undefined;
|
|
2872
2875
|
} else {
|
|
@@ -2965,7 +2968,7 @@ function peg$parse(input, options) {
|
|
|
2965
2968
|
}
|
|
2966
2969
|
}
|
|
2967
2970
|
peg$savedPos = s0;
|
|
2968
|
-
s1 = peg$
|
|
2971
|
+
s1 = peg$f42(s1);
|
|
2969
2972
|
s0 = s1;
|
|
2970
2973
|
|
|
2971
2974
|
return s0;
|
|
@@ -2982,7 +2985,7 @@ function peg$parse(input, options) {
|
|
|
2982
2985
|
s3 = peg$parsefrontDelimiter();
|
|
2983
2986
|
if (s3 !== peg$FAILED) {
|
|
2984
2987
|
peg$savedPos = s0;
|
|
2985
|
-
s0 = peg$
|
|
2988
|
+
s0 = peg$f43(s2);
|
|
2986
2989
|
} else {
|
|
2987
2990
|
peg$currPos = s0;
|
|
2988
2991
|
s0 = peg$FAILED;
|
|
@@ -3018,7 +3021,7 @@ function peg$parse(input, options) {
|
|
|
3018
3021
|
s3 = peg$parseexpectClosingParenthesis();
|
|
3019
3022
|
if (s3 !== peg$FAILED) {
|
|
3020
3023
|
peg$savedPos = s0;
|
|
3021
|
-
s0 = peg$
|
|
3024
|
+
s0 = peg$f44(s2);
|
|
3022
3025
|
} else {
|
|
3023
3026
|
peg$currPos = s0;
|
|
3024
3027
|
s0 = peg$FAILED;
|
|
@@ -3062,7 +3065,7 @@ function peg$parse(input, options) {
|
|
|
3062
3065
|
s3 = peg$parseexpectGuillemet();
|
|
3063
3066
|
if (s3 !== peg$FAILED) {
|
|
3064
3067
|
peg$savedPos = s0;
|
|
3065
|
-
s0 = peg$
|
|
3068
|
+
s0 = peg$f45(s2);
|
|
3066
3069
|
} else {
|
|
3067
3070
|
peg$currPos = s0;
|
|
3068
3071
|
s0 = peg$FAILED;
|
|
@@ -3154,7 +3157,7 @@ function peg$parse(input, options) {
|
|
|
3154
3157
|
s3 = null;
|
|
3155
3158
|
}
|
|
3156
3159
|
peg$savedPos = s0;
|
|
3157
|
-
s0 = peg$
|
|
3160
|
+
s0 = peg$f46(s1, s2, s3);
|
|
3158
3161
|
} else {
|
|
3159
3162
|
peg$currPos = s0;
|
|
3160
3163
|
s0 = peg$FAILED;
|
|
@@ -3175,7 +3178,7 @@ function peg$parse(input, options) {
|
|
|
3175
3178
|
s1 = peg$parsekey();
|
|
3176
3179
|
if (s1 !== peg$FAILED) {
|
|
3177
3180
|
peg$savedPos = s0;
|
|
3178
|
-
s1 = peg$
|
|
3181
|
+
s1 = peg$f47();
|
|
3179
3182
|
}
|
|
3180
3183
|
s0 = s1;
|
|
3181
3184
|
|
|
@@ -3209,7 +3212,7 @@ function peg$parse(input, options) {
|
|
|
3209
3212
|
}
|
|
3210
3213
|
if (s1 !== peg$FAILED) {
|
|
3211
3214
|
peg$savedPos = s0;
|
|
3212
|
-
s1 = peg$
|
|
3215
|
+
s1 = peg$f48(s1);
|
|
3213
3216
|
}
|
|
3214
3217
|
s0 = s1;
|
|
3215
3218
|
|
|
@@ -3223,7 +3226,7 @@ function peg$parse(input, options) {
|
|
|
3223
3226
|
s1 = peg$parseidentifier();
|
|
3224
3227
|
if (s1 !== peg$FAILED) {
|
|
3225
3228
|
peg$savedPos = s0;
|
|
3226
|
-
s1 = peg$
|
|
3229
|
+
s1 = peg$f49(s1);
|
|
3227
3230
|
}
|
|
3228
3231
|
s0 = s1;
|
|
3229
3232
|
|
|
@@ -3244,7 +3247,7 @@ function peg$parse(input, options) {
|
|
|
3244
3247
|
}
|
|
3245
3248
|
if (s1 !== peg$FAILED) {
|
|
3246
3249
|
peg$savedPos = peg$currPos;
|
|
3247
|
-
s2 = peg$
|
|
3250
|
+
s2 = peg$f50(s1);
|
|
3248
3251
|
if (s2) {
|
|
3249
3252
|
s2 = undefined;
|
|
3250
3253
|
} else {
|
|
@@ -3284,7 +3287,7 @@ function peg$parse(input, options) {
|
|
|
3284
3287
|
}
|
|
3285
3288
|
if (s1 !== peg$FAILED) {
|
|
3286
3289
|
peg$savedPos = peg$currPos;
|
|
3287
|
-
s2 = peg$
|
|
3290
|
+
s2 = peg$f51(s1);
|
|
3288
3291
|
if (s2) {
|
|
3289
3292
|
s2 = undefined;
|
|
3290
3293
|
} else {
|
|
@@ -3344,7 +3347,7 @@ function peg$parse(input, options) {
|
|
|
3344
3347
|
s2 = null;
|
|
3345
3348
|
}
|
|
3346
3349
|
peg$savedPos = s0;
|
|
3347
|
-
s0 = peg$
|
|
3350
|
+
s0 = peg$f52(s1, s2);
|
|
3348
3351
|
} else {
|
|
3349
3352
|
peg$currPos = s0;
|
|
3350
3353
|
s0 = peg$FAILED;
|
|
@@ -3395,7 +3398,7 @@ function peg$parse(input, options) {
|
|
|
3395
3398
|
s3 = null;
|
|
3396
3399
|
}
|
|
3397
3400
|
peg$savedPos = s0;
|
|
3398
|
-
s0 = peg$
|
|
3401
|
+
s0 = peg$f53(s2);
|
|
3399
3402
|
} else {
|
|
3400
3403
|
peg$currPos = s0;
|
|
3401
3404
|
s0 = peg$FAILED;
|
|
@@ -3430,7 +3433,7 @@ function peg$parse(input, options) {
|
|
|
3430
3433
|
s1 = peg$parsedigits();
|
|
3431
3434
|
if (s1 !== peg$FAILED) {
|
|
3432
3435
|
peg$savedPos = s0;
|
|
3433
|
-
s1 = peg$
|
|
3436
|
+
s1 = peg$f54();
|
|
3434
3437
|
}
|
|
3435
3438
|
s0 = s1;
|
|
3436
3439
|
peg$silentFails--;
|
|
@@ -3455,7 +3458,7 @@ function peg$parse(input, options) {
|
|
|
3455
3458
|
s3 = peg$parsekeyChar();
|
|
3456
3459
|
}
|
|
3457
3460
|
peg$savedPos = s0;
|
|
3458
|
-
s0 = peg$
|
|
3461
|
+
s0 = peg$f55();
|
|
3459
3462
|
} else {
|
|
3460
3463
|
peg$currPos = s0;
|
|
3461
3464
|
s0 = peg$FAILED;
|
|
@@ -3506,7 +3509,7 @@ function peg$parse(input, options) {
|
|
|
3506
3509
|
}
|
|
3507
3510
|
if (s1 !== peg$FAILED) {
|
|
3508
3511
|
peg$savedPos = peg$currPos;
|
|
3509
|
-
s2 = peg$
|
|
3512
|
+
s2 = peg$f56(s1);
|
|
3510
3513
|
if (s2) {
|
|
3511
3514
|
s2 = undefined;
|
|
3512
3515
|
} else {
|
|
@@ -3572,7 +3575,7 @@ function peg$parse(input, options) {
|
|
|
3572
3575
|
s2 = null;
|
|
3573
3576
|
}
|
|
3574
3577
|
peg$savedPos = s0;
|
|
3575
|
-
s0 = peg$
|
|
3578
|
+
s0 = peg$f57(s1);
|
|
3576
3579
|
} else {
|
|
3577
3580
|
peg$currPos = s0;
|
|
3578
3581
|
s0 = peg$FAILED;
|
|
@@ -3641,7 +3644,7 @@ function peg$parse(input, options) {
|
|
|
3641
3644
|
}
|
|
3642
3645
|
}
|
|
3643
3646
|
peg$savedPos = s0;
|
|
3644
|
-
s0 = peg$
|
|
3647
|
+
s0 = peg$f58(s1, s2);
|
|
3645
3648
|
} else {
|
|
3646
3649
|
peg$currPos = s0;
|
|
3647
3650
|
s0 = peg$FAILED;
|
|
@@ -3705,7 +3708,7 @@ function peg$parse(input, options) {
|
|
|
3705
3708
|
}
|
|
3706
3709
|
}
|
|
3707
3710
|
peg$savedPos = s0;
|
|
3708
|
-
s0 = peg$
|
|
3711
|
+
s0 = peg$f59(s1, s2);
|
|
3709
3712
|
} else {
|
|
3710
3713
|
peg$currPos = s0;
|
|
3711
3714
|
s0 = peg$FAILED;
|
|
@@ -3874,7 +3877,7 @@ function peg$parse(input, options) {
|
|
|
3874
3877
|
}
|
|
3875
3878
|
if (s3 !== peg$FAILED) {
|
|
3876
3879
|
peg$savedPos = s0;
|
|
3877
|
-
s0 = peg$
|
|
3880
|
+
s0 = peg$f60();
|
|
3878
3881
|
} else {
|
|
3879
3882
|
peg$currPos = s0;
|
|
3880
3883
|
s0 = peg$FAILED;
|
|
@@ -3950,7 +3953,7 @@ function peg$parse(input, options) {
|
|
|
3950
3953
|
}
|
|
3951
3954
|
}
|
|
3952
3955
|
peg$savedPos = s0;
|
|
3953
|
-
s0 = peg$
|
|
3956
|
+
s0 = peg$f61(s1, s2);
|
|
3954
3957
|
} else {
|
|
3955
3958
|
peg$currPos = s0;
|
|
3956
3959
|
s0 = peg$FAILED;
|
|
@@ -3993,7 +3996,7 @@ function peg$parse(input, options) {
|
|
|
3993
3996
|
s4 = null;
|
|
3994
3997
|
}
|
|
3995
3998
|
peg$savedPos = s0;
|
|
3996
|
-
s0 = peg$
|
|
3999
|
+
s0 = peg$f62(s3, s4);
|
|
3997
4000
|
} else {
|
|
3998
4001
|
peg$currPos = s0;
|
|
3999
4002
|
s0 = peg$FAILED;
|
|
@@ -4017,7 +4020,7 @@ function peg$parse(input, options) {
|
|
|
4017
4020
|
s3 = peg$parseparenthesesArguments();
|
|
4018
4021
|
if (s3 !== peg$FAILED) {
|
|
4019
4022
|
peg$savedPos = s0;
|
|
4020
|
-
s0 = peg$
|
|
4023
|
+
s0 = peg$f63(s2, s3);
|
|
4021
4024
|
} else {
|
|
4022
4025
|
peg$currPos = s0;
|
|
4023
4026
|
s0 = peg$FAILED;
|
|
@@ -4139,7 +4142,7 @@ function peg$parse(input, options) {
|
|
|
4139
4142
|
}
|
|
4140
4143
|
}
|
|
4141
4144
|
peg$savedPos = s0;
|
|
4142
|
-
s0 = peg$
|
|
4145
|
+
s0 = peg$f64(s1, s2);
|
|
4143
4146
|
} else {
|
|
4144
4147
|
peg$currPos = s0;
|
|
4145
4148
|
s0 = peg$FAILED;
|
|
@@ -4170,7 +4173,7 @@ function peg$parse(input, options) {
|
|
|
4170
4173
|
s5 = peg$parseexpectClosingBrace();
|
|
4171
4174
|
if (s5 !== peg$FAILED) {
|
|
4172
4175
|
peg$savedPos = s0;
|
|
4173
|
-
s0 = peg$
|
|
4176
|
+
s0 = peg$f65(s3);
|
|
4174
4177
|
} else {
|
|
4175
4178
|
peg$currPos = s0;
|
|
4176
4179
|
s0 = peg$FAILED;
|
|
@@ -4223,7 +4226,7 @@ function peg$parse(input, options) {
|
|
|
4223
4226
|
s2 = null;
|
|
4224
4227
|
}
|
|
4225
4228
|
peg$savedPos = s0;
|
|
4226
|
-
s0 = peg$
|
|
4229
|
+
s0 = peg$f66(s1);
|
|
4227
4230
|
} else {
|
|
4228
4231
|
peg$currPos = s0;
|
|
4229
4232
|
s0 = peg$FAILED;
|
|
@@ -4269,7 +4272,7 @@ function peg$parse(input, options) {
|
|
|
4269
4272
|
s5 = peg$parseexpectPipelineExpression();
|
|
4270
4273
|
if (s5 !== peg$FAILED) {
|
|
4271
4274
|
peg$savedPos = s0;
|
|
4272
|
-
s0 = peg$
|
|
4275
|
+
s0 = peg$f67(s1, s5);
|
|
4273
4276
|
} else {
|
|
4274
4277
|
peg$currPos = s0;
|
|
4275
4278
|
s0 = peg$FAILED;
|
|
@@ -4330,7 +4333,7 @@ function peg$parse(input, options) {
|
|
|
4330
4333
|
}
|
|
4331
4334
|
if (s1 !== peg$FAILED) {
|
|
4332
4335
|
peg$savedPos = s0;
|
|
4333
|
-
s1 = peg$
|
|
4336
|
+
s1 = peg$f68(s1);
|
|
4334
4337
|
}
|
|
4335
4338
|
s0 = s1;
|
|
4336
4339
|
|
|
@@ -4374,7 +4377,7 @@ function peg$parse(input, options) {
|
|
|
4374
4377
|
s5 = peg$parseexpectPipelineExpression();
|
|
4375
4378
|
if (s5 !== peg$FAILED) {
|
|
4376
4379
|
peg$savedPos = s0;
|
|
4377
|
-
s0 = peg$
|
|
4380
|
+
s0 = peg$f69(s1, s5);
|
|
4378
4381
|
} else {
|
|
4379
4382
|
peg$currPos = s0;
|
|
4380
4383
|
s0 = peg$FAILED;
|
|
@@ -4404,7 +4407,7 @@ function peg$parse(input, options) {
|
|
|
4404
4407
|
s1 = peg$parseobjectPublicKey();
|
|
4405
4408
|
if (s1 !== peg$FAILED) {
|
|
4406
4409
|
peg$savedPos = s0;
|
|
4407
|
-
s1 = peg$
|
|
4410
|
+
s1 = peg$f70(s1);
|
|
4408
4411
|
}
|
|
4409
4412
|
s0 = s1;
|
|
4410
4413
|
if (s0 === peg$FAILED) {
|
|
@@ -4412,7 +4415,7 @@ function peg$parse(input, options) {
|
|
|
4412
4415
|
s1 = peg$parseangleBracketLiteral();
|
|
4413
4416
|
if (s1 !== peg$FAILED) {
|
|
4414
4417
|
peg$savedPos = s0;
|
|
4415
|
-
s1 = peg$
|
|
4418
|
+
s1 = peg$f71(s1);
|
|
4416
4419
|
}
|
|
4417
4420
|
s0 = s1;
|
|
4418
4421
|
}
|
|
@@ -4442,7 +4445,7 @@ function peg$parse(input, options) {
|
|
|
4442
4445
|
s2 = null;
|
|
4443
4446
|
}
|
|
4444
4447
|
peg$savedPos = s0;
|
|
4445
|
-
s0 = peg$
|
|
4448
|
+
s0 = peg$f72(s1, s2);
|
|
4446
4449
|
} else {
|
|
4447
4450
|
peg$currPos = s0;
|
|
4448
4451
|
s0 = peg$FAILED;
|
|
@@ -4452,7 +4455,7 @@ function peg$parse(input, options) {
|
|
|
4452
4455
|
s1 = peg$parsestringLiteral();
|
|
4453
4456
|
if (s1 !== peg$FAILED) {
|
|
4454
4457
|
peg$savedPos = s0;
|
|
4455
|
-
s1 = peg$
|
|
4458
|
+
s1 = peg$f73(s1);
|
|
4456
4459
|
}
|
|
4457
4460
|
s0 = s1;
|
|
4458
4461
|
}
|
|
@@ -4477,7 +4480,7 @@ function peg$parse(input, options) {
|
|
|
4477
4480
|
s4 = peg$parseidentifier();
|
|
4478
4481
|
if (s4 !== peg$FAILED) {
|
|
4479
4482
|
peg$savedPos = s0;
|
|
4480
|
-
s0 = peg$
|
|
4483
|
+
s0 = peg$f74(s4);
|
|
4481
4484
|
} else {
|
|
4482
4485
|
peg$currPos = s0;
|
|
4483
4486
|
s0 = peg$FAILED;
|
|
@@ -4497,7 +4500,7 @@ function peg$parse(input, options) {
|
|
|
4497
4500
|
s1 = peg$parsekey();
|
|
4498
4501
|
if (s1 !== peg$FAILED) {
|
|
4499
4502
|
peg$savedPos = s0;
|
|
4500
|
-
s1 = peg$
|
|
4503
|
+
s1 = peg$f75(s1);
|
|
4501
4504
|
}
|
|
4502
4505
|
s0 = s1;
|
|
4503
4506
|
|
|
@@ -4539,7 +4542,7 @@ function peg$parse(input, options) {
|
|
|
4539
4542
|
s2 = null;
|
|
4540
4543
|
}
|
|
4541
4544
|
peg$savedPos = s0;
|
|
4542
|
-
s0 = peg$
|
|
4545
|
+
s0 = peg$f76(s1);
|
|
4543
4546
|
} else {
|
|
4544
4547
|
peg$currPos = s0;
|
|
4545
4548
|
s0 = peg$FAILED;
|
|
@@ -4555,7 +4558,7 @@ function peg$parse(input, options) {
|
|
|
4555
4558
|
s1 = peg$parseparameter();
|
|
4556
4559
|
if (s1 !== peg$FAILED) {
|
|
4557
4560
|
peg$savedPos = s0;
|
|
4558
|
-
s1 = peg$
|
|
4561
|
+
s1 = peg$f77(s1);
|
|
4559
4562
|
}
|
|
4560
4563
|
s0 = s1;
|
|
4561
4564
|
|
|
@@ -4584,7 +4587,7 @@ function peg$parse(input, options) {
|
|
|
4584
4587
|
s5 = peg$parseexpectClosingParenthesis();
|
|
4585
4588
|
if (s5 !== peg$FAILED) {
|
|
4586
4589
|
peg$savedPos = s0;
|
|
4587
|
-
s0 = peg$
|
|
4590
|
+
s0 = peg$f78(s3);
|
|
4588
4591
|
} else {
|
|
4589
4592
|
peg$currPos = s0;
|
|
4590
4593
|
s0 = peg$FAILED;
|
|
@@ -4619,7 +4622,7 @@ function peg$parse(input, options) {
|
|
|
4619
4622
|
s2 = null;
|
|
4620
4623
|
}
|
|
4621
4624
|
peg$savedPos = s0;
|
|
4622
|
-
s0 = peg$
|
|
4625
|
+
s0 = peg$f79(s2);
|
|
4623
4626
|
} else {
|
|
4624
4627
|
peg$currPos = s0;
|
|
4625
4628
|
s0 = peg$FAILED;
|
|
@@ -4655,7 +4658,7 @@ function peg$parse(input, options) {
|
|
|
4655
4658
|
s1 = peg$parsepathKeys();
|
|
4656
4659
|
if (s1 !== peg$FAILED) {
|
|
4657
4660
|
peg$savedPos = s0;
|
|
4658
|
-
s1 = peg$
|
|
4661
|
+
s1 = peg$f80(s1);
|
|
4659
4662
|
}
|
|
4660
4663
|
s0 = s1;
|
|
4661
4664
|
|
|
@@ -4679,7 +4682,7 @@ function peg$parse(input, options) {
|
|
|
4679
4682
|
s2 = null;
|
|
4680
4683
|
}
|
|
4681
4684
|
peg$savedPos = s0;
|
|
4682
|
-
s0 = peg$
|
|
4685
|
+
s0 = peg$f81(s1);
|
|
4683
4686
|
} else {
|
|
4684
4687
|
peg$currPos = s0;
|
|
4685
4688
|
s0 = peg$FAILED;
|
|
@@ -4695,7 +4698,7 @@ function peg$parse(input, options) {
|
|
|
4695
4698
|
}
|
|
4696
4699
|
if (s1 !== peg$FAILED) {
|
|
4697
4700
|
peg$savedPos = s0;
|
|
4698
|
-
s1 = peg$
|
|
4701
|
+
s1 = peg$f82();
|
|
4699
4702
|
}
|
|
4700
4703
|
s0 = s1;
|
|
4701
4704
|
}
|
|
@@ -4746,7 +4749,7 @@ function peg$parse(input, options) {
|
|
|
4746
4749
|
}
|
|
4747
4750
|
}
|
|
4748
4751
|
peg$savedPos = s0;
|
|
4749
|
-
s0 = peg$
|
|
4752
|
+
s0 = peg$f83(s1, s2);
|
|
4750
4753
|
} else {
|
|
4751
4754
|
peg$currPos = s0;
|
|
4752
4755
|
s0 = peg$FAILED;
|
|
@@ -4838,7 +4841,7 @@ function peg$parse(input, options) {
|
|
|
4838
4841
|
var s0;
|
|
4839
4842
|
|
|
4840
4843
|
peg$savedPos = peg$currPos;
|
|
4841
|
-
s0 = peg$
|
|
4844
|
+
s0 = peg$f84();
|
|
4842
4845
|
if (s0) {
|
|
4843
4846
|
s0 = undefined;
|
|
4844
4847
|
} else {
|
|
@@ -4852,20 +4855,30 @@ function peg$parse(input, options) {
|
|
|
4852
4855
|
var s0, s1, s2, s3, s4;
|
|
4853
4856
|
|
|
4854
4857
|
s0 = peg$currPos;
|
|
4855
|
-
s1 = peg$
|
|
4856
|
-
if (
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4858
|
+
s1 = peg$parsewhitespaceOptionalForProgram();
|
|
4859
|
+
if (s1 !== peg$FAILED) {
|
|
4860
|
+
if (input.charCodeAt(peg$currPos) === 46) {
|
|
4861
|
+
s2 = peg$c38;
|
|
4862
|
+
peg$currPos++;
|
|
4863
|
+
} else {
|
|
4864
|
+
s2 = peg$FAILED;
|
|
4865
|
+
if (peg$silentFails === 0) { peg$fail(peg$e48); }
|
|
4866
|
+
}
|
|
4867
|
+
if (s2 !== peg$FAILED) {
|
|
4868
|
+
s3 = peg$parsewhitespaceOptionalForProgram();
|
|
4869
|
+
if (s3 !== peg$FAILED) {
|
|
4870
|
+
s4 = peg$parseidentifierLiteral();
|
|
4871
|
+
if (s4 !== peg$FAILED) {
|
|
4872
|
+
peg$savedPos = s0;
|
|
4873
|
+
s0 = peg$f85(s4);
|
|
4874
|
+
} else {
|
|
4875
|
+
peg$currPos = s0;
|
|
4876
|
+
s0 = peg$FAILED;
|
|
4877
|
+
}
|
|
4878
|
+
} else {
|
|
4879
|
+
peg$currPos = s0;
|
|
4880
|
+
s0 = peg$FAILED;
|
|
4881
|
+
}
|
|
4869
4882
|
} else {
|
|
4870
4883
|
peg$currPos = s0;
|
|
4871
4884
|
s0 = peg$FAILED;
|
|
@@ -4901,7 +4914,7 @@ function peg$parse(input, options) {
|
|
|
4901
4914
|
}
|
|
4902
4915
|
}
|
|
4903
4916
|
peg$savedPos = s0;
|
|
4904
|
-
s1 = peg$
|
|
4917
|
+
s1 = peg$f86(s1);
|
|
4905
4918
|
s0 = s1;
|
|
4906
4919
|
|
|
4907
4920
|
return s0;
|
|
@@ -4935,7 +4948,7 @@ function peg$parse(input, options) {
|
|
|
4935
4948
|
if (s3 !== peg$FAILED) {
|
|
4936
4949
|
s4 = peg$parseregexFlags();
|
|
4937
4950
|
peg$savedPos = s0;
|
|
4938
|
-
s0 = peg$
|
|
4951
|
+
s0 = peg$f87(s2, s4);
|
|
4939
4952
|
} else {
|
|
4940
4953
|
peg$currPos = s0;
|
|
4941
4954
|
s0 = peg$FAILED;
|
|
@@ -5018,7 +5031,7 @@ function peg$parse(input, options) {
|
|
|
5018
5031
|
}
|
|
5019
5032
|
}
|
|
5020
5033
|
peg$savedPos = s0;
|
|
5021
|
-
s0 = peg$
|
|
5034
|
+
s0 = peg$f88(s1, s2);
|
|
5022
5035
|
} else {
|
|
5023
5036
|
peg$currPos = s0;
|
|
5024
5037
|
s0 = peg$FAILED;
|
|
@@ -5133,7 +5146,7 @@ function peg$parse(input, options) {
|
|
|
5133
5146
|
}
|
|
5134
5147
|
}
|
|
5135
5148
|
peg$savedPos = s0;
|
|
5136
|
-
s0 = peg$
|
|
5149
|
+
s0 = peg$f89();
|
|
5137
5150
|
} else {
|
|
5138
5151
|
peg$currPos = s0;
|
|
5139
5152
|
s0 = peg$FAILED;
|
|
@@ -5146,7 +5159,7 @@ function peg$parse(input, options) {
|
|
|
5146
5159
|
var s0;
|
|
5147
5160
|
|
|
5148
5161
|
peg$savedPos = peg$currPos;
|
|
5149
|
-
s0 = peg$
|
|
5162
|
+
s0 = peg$f90();
|
|
5150
5163
|
if (s0) {
|
|
5151
5164
|
s0 = undefined;
|
|
5152
5165
|
} else {
|
|
@@ -5199,7 +5212,7 @@ function peg$parse(input, options) {
|
|
|
5199
5212
|
}
|
|
5200
5213
|
}
|
|
5201
5214
|
peg$savedPos = s0;
|
|
5202
|
-
s0 = peg$
|
|
5215
|
+
s0 = peg$f91(s1, s2);
|
|
5203
5216
|
} else {
|
|
5204
5217
|
peg$currPos = s0;
|
|
5205
5218
|
s0 = peg$FAILED;
|
|
@@ -5279,7 +5292,7 @@ function peg$parse(input, options) {
|
|
|
5279
5292
|
s5 = peg$parseimplicitParenthesesCallExpression();
|
|
5280
5293
|
if (s5 !== peg$FAILED) {
|
|
5281
5294
|
peg$savedPos = s0;
|
|
5282
|
-
s0 = peg$
|
|
5295
|
+
s0 = peg$f92(s5);
|
|
5283
5296
|
} else {
|
|
5284
5297
|
peg$currPos = s0;
|
|
5285
5298
|
s0 = peg$FAILED;
|
|
@@ -5362,7 +5375,7 @@ function peg$parse(input, options) {
|
|
|
5362
5375
|
}
|
|
5363
5376
|
}
|
|
5364
5377
|
peg$savedPos = s0;
|
|
5365
|
-
s0 = peg$
|
|
5378
|
+
s0 = peg$f93();
|
|
5366
5379
|
} else {
|
|
5367
5380
|
peg$currPos = s0;
|
|
5368
5381
|
s0 = peg$FAILED;
|
|
@@ -5393,7 +5406,7 @@ function peg$parse(input, options) {
|
|
|
5393
5406
|
s3 = peg$parseexpectSingleQuote();
|
|
5394
5407
|
if (s3 !== peg$FAILED) {
|
|
5395
5408
|
peg$savedPos = s0;
|
|
5396
|
-
s0 = peg$
|
|
5409
|
+
s0 = peg$f94(s2);
|
|
5397
5410
|
} else {
|
|
5398
5411
|
peg$currPos = s0;
|
|
5399
5412
|
s0 = peg$FAILED;
|
|
@@ -5457,7 +5470,7 @@ function peg$parse(input, options) {
|
|
|
5457
5470
|
s1 = peg$parseslashFollows();
|
|
5458
5471
|
if (s1 !== peg$FAILED) {
|
|
5459
5472
|
peg$savedPos = s0;
|
|
5460
|
-
s1 = peg$
|
|
5473
|
+
s1 = peg$f95();
|
|
5461
5474
|
}
|
|
5462
5475
|
s0 = s1;
|
|
5463
5476
|
|
|
@@ -5492,7 +5505,7 @@ function peg$parse(input, options) {
|
|
|
5492
5505
|
}
|
|
5493
5506
|
if (s1 !== peg$FAILED) {
|
|
5494
5507
|
peg$savedPos = s0;
|
|
5495
|
-
s1 = peg$
|
|
5508
|
+
s1 = peg$f96();
|
|
5496
5509
|
}
|
|
5497
5510
|
s0 = s1;
|
|
5498
5511
|
|
|
@@ -5521,7 +5534,7 @@ function peg$parse(input, options) {
|
|
|
5521
5534
|
}
|
|
5522
5535
|
if (s1 !== peg$FAILED) {
|
|
5523
5536
|
peg$savedPos = s0;
|
|
5524
|
-
s1 = peg$
|
|
5537
|
+
s1 = peg$f97();
|
|
5525
5538
|
}
|
|
5526
5539
|
s0 = s1;
|
|
5527
5540
|
|
|
@@ -5538,7 +5551,7 @@ function peg$parse(input, options) {
|
|
|
5538
5551
|
s3 = peg$parseexpectPipelineExpression();
|
|
5539
5552
|
if (s3 !== peg$FAILED) {
|
|
5540
5553
|
peg$savedPos = s0;
|
|
5541
|
-
s0 = peg$
|
|
5554
|
+
s0 = peg$f98(s3);
|
|
5542
5555
|
} else {
|
|
5543
5556
|
peg$currPos = s0;
|
|
5544
5557
|
s0 = peg$FAILED;
|
|
@@ -5615,7 +5628,7 @@ function peg$parse(input, options) {
|
|
|
5615
5628
|
}
|
|
5616
5629
|
}
|
|
5617
5630
|
peg$savedPos = s0;
|
|
5618
|
-
s0 = peg$
|
|
5631
|
+
s0 = peg$f99(s1, s2);
|
|
5619
5632
|
peg$silentFails--;
|
|
5620
5633
|
s1 = peg$FAILED;
|
|
5621
5634
|
if (peg$silentFails === 0) { peg$fail(peg$e102); }
|
|
@@ -5671,7 +5684,7 @@ function peg$parse(input, options) {
|
|
|
5671
5684
|
s2 = peg$parsetemplateBodyChar();
|
|
5672
5685
|
}
|
|
5673
5686
|
peg$savedPos = s0;
|
|
5674
|
-
s1 = peg$
|
|
5687
|
+
s1 = peg$f100(s1);
|
|
5675
5688
|
s0 = s1;
|
|
5676
5689
|
peg$silentFails--;
|
|
5677
5690
|
s1 = peg$FAILED;
|
|
@@ -5690,7 +5703,7 @@ function peg$parse(input, options) {
|
|
|
5690
5703
|
s2 = peg$parse__();
|
|
5691
5704
|
s3 = peg$parsetemplateBody();
|
|
5692
5705
|
peg$savedPos = s0;
|
|
5693
|
-
s0 = peg$
|
|
5706
|
+
s0 = peg$f101(s1, s3);
|
|
5694
5707
|
} else {
|
|
5695
5708
|
peg$currPos = s0;
|
|
5696
5709
|
s0 = peg$FAILED;
|
|
@@ -5701,7 +5714,7 @@ function peg$parse(input, options) {
|
|
|
5701
5714
|
if (s1 !== peg$FAILED) {
|
|
5702
5715
|
s2 = peg$parsetemplateBody();
|
|
5703
5716
|
peg$savedPos = s0;
|
|
5704
|
-
s0 = peg$
|
|
5717
|
+
s0 = peg$f102(s1, s2);
|
|
5705
5718
|
} else {
|
|
5706
5719
|
peg$currPos = s0;
|
|
5707
5720
|
s0 = peg$FAILED;
|
|
@@ -5710,7 +5723,7 @@ function peg$parse(input, options) {
|
|
|
5710
5723
|
s0 = peg$currPos;
|
|
5711
5724
|
s1 = peg$parsetemplateBody();
|
|
5712
5725
|
peg$savedPos = s0;
|
|
5713
|
-
s1 = peg$
|
|
5726
|
+
s1 = peg$f103(s1);
|
|
5714
5727
|
s0 = s1;
|
|
5715
5728
|
}
|
|
5716
5729
|
}
|
|
@@ -5764,7 +5777,7 @@ function peg$parse(input, options) {
|
|
|
5764
5777
|
s4 = peg$parseexpectBacktick();
|
|
5765
5778
|
if (s4 !== peg$FAILED) {
|
|
5766
5779
|
peg$savedPos = s0;
|
|
5767
|
-
s0 = peg$
|
|
5780
|
+
s0 = peg$f104(s2, s3);
|
|
5768
5781
|
} else {
|
|
5769
5782
|
peg$currPos = s0;
|
|
5770
5783
|
s0 = peg$FAILED;
|
|
@@ -5838,7 +5851,7 @@ function peg$parse(input, options) {
|
|
|
5838
5851
|
s2 = peg$parsetemplateLiteralChar();
|
|
5839
5852
|
}
|
|
5840
5853
|
peg$savedPos = s0;
|
|
5841
|
-
s1 = peg$
|
|
5854
|
+
s1 = peg$f105(s1);
|
|
5842
5855
|
s0 = s1;
|
|
5843
5856
|
|
|
5844
5857
|
return s0;
|
|
@@ -5868,7 +5881,7 @@ function peg$parse(input, options) {
|
|
|
5868
5881
|
}
|
|
5869
5882
|
if (s3 !== peg$FAILED) {
|
|
5870
5883
|
peg$savedPos = s0;
|
|
5871
|
-
s0 = peg$
|
|
5884
|
+
s0 = peg$f106(s2);
|
|
5872
5885
|
} else {
|
|
5873
5886
|
peg$currPos = s0;
|
|
5874
5887
|
s0 = peg$FAILED;
|
|
@@ -5917,7 +5930,7 @@ function peg$parse(input, options) {
|
|
|
5917
5930
|
s3 = peg$parseexpectUnaryExpression();
|
|
5918
5931
|
if (s3 !== peg$FAILED) {
|
|
5919
5932
|
peg$savedPos = s0;
|
|
5920
|
-
s0 = peg$
|
|
5933
|
+
s0 = peg$f107(s1, s3);
|
|
5921
5934
|
} else {
|
|
5922
5935
|
peg$currPos = s0;
|
|
5923
5936
|
s0 = peg$FAILED;
|
|
@@ -5974,7 +5987,7 @@ function peg$parse(input, options) {
|
|
|
5974
5987
|
s4 = null;
|
|
5975
5988
|
}
|
|
5976
5989
|
peg$savedPos = s0;
|
|
5977
|
-
s0 = peg$
|
|
5990
|
+
s0 = peg$f108(s1, s3, s4);
|
|
5978
5991
|
} else {
|
|
5979
5992
|
peg$currPos = s0;
|
|
5980
5993
|
s0 = peg$FAILED;
|
|
@@ -5994,7 +6007,7 @@ function peg$parse(input, options) {
|
|
|
5994
6007
|
s2 = peg$parsepathKeys();
|
|
5995
6008
|
if (s2 !== peg$FAILED) {
|
|
5996
6009
|
peg$savedPos = s0;
|
|
5997
|
-
s0 = peg$
|
|
6010
|
+
s0 = peg$f109(s1, s2);
|
|
5998
6011
|
} else {
|
|
5999
6012
|
peg$currPos = s0;
|
|
6000
6013
|
s0 = peg$FAILED;
|
|
@@ -6048,7 +6061,7 @@ function peg$parse(input, options) {
|
|
|
6048
6061
|
s2 = null;
|
|
6049
6062
|
}
|
|
6050
6063
|
peg$savedPos = s0;
|
|
6051
|
-
s0 = peg$
|
|
6064
|
+
s0 = peg$f110(s1);
|
|
6052
6065
|
} else {
|
|
6053
6066
|
peg$currPos = s0;
|
|
6054
6067
|
s0 = peg$FAILED;
|
|
@@ -6064,7 +6077,7 @@ function peg$parse(input, options) {
|
|
|
6064
6077
|
}
|
|
6065
6078
|
if (s1 !== peg$FAILED) {
|
|
6066
6079
|
peg$savedPos = s0;
|
|
6067
|
-
s1 = peg$
|
|
6080
|
+
s1 = peg$f111();
|
|
6068
6081
|
}
|
|
6069
6082
|
s0 = s1;
|
|
6070
6083
|
}
|
|
@@ -6087,7 +6100,7 @@ function peg$parse(input, options) {
|
|
|
6087
6100
|
s2 = peg$currPos;
|
|
6088
6101
|
peg$silentFails++;
|
|
6089
6102
|
peg$savedPos = peg$currPos;
|
|
6090
|
-
s3 = peg$
|
|
6103
|
+
s3 = peg$f112(s1);
|
|
6091
6104
|
if (s3) {
|
|
6092
6105
|
s3 = undefined;
|
|
6093
6106
|
} else {
|
|
@@ -6102,7 +6115,7 @@ function peg$parse(input, options) {
|
|
|
6102
6115
|
}
|
|
6103
6116
|
if (s2 !== peg$FAILED) {
|
|
6104
6117
|
peg$savedPos = s0;
|
|
6105
|
-
s0 = peg$
|
|
6118
|
+
s0 = peg$f113(s1);
|
|
6106
6119
|
} else {
|
|
6107
6120
|
peg$currPos = s0;
|
|
6108
6121
|
s0 = peg$FAILED;
|
|
@@ -6138,7 +6151,7 @@ function peg$parse(input, options) {
|
|
|
6138
6151
|
}
|
|
6139
6152
|
if (s1 !== peg$FAILED) {
|
|
6140
6153
|
peg$savedPos = s0;
|
|
6141
|
-
s1 = peg$
|
|
6154
|
+
s1 = peg$f114(s1);
|
|
6142
6155
|
}
|
|
6143
6156
|
s0 = s1;
|
|
6144
6157
|
peg$silentFails--;
|
|
@@ -6189,7 +6202,7 @@ function peg$parse(input, options) {
|
|
|
6189
6202
|
}
|
|
6190
6203
|
if (s3 !== peg$FAILED) {
|
|
6191
6204
|
peg$savedPos = s0;
|
|
6192
|
-
s0 = peg$
|
|
6205
|
+
s0 = peg$f115();
|
|
6193
6206
|
} else {
|
|
6194
6207
|
peg$currPos = s0;
|
|
6195
6208
|
s0 = peg$FAILED;
|
|
@@ -6292,7 +6305,7 @@ function peg$parse(input, options) {
|
|
|
6292
6305
|
}
|
|
6293
6306
|
if (s1 !== peg$FAILED) {
|
|
6294
6307
|
peg$savedPos = peg$currPos;
|
|
6295
|
-
s2 = peg$
|
|
6308
|
+
s2 = peg$f116(s1);
|
|
6296
6309
|
if (s2) {
|
|
6297
6310
|
s2 = undefined;
|
|
6298
6311
|
} else {
|
|
@@ -6300,7 +6313,7 @@ function peg$parse(input, options) {
|
|
|
6300
6313
|
}
|
|
6301
6314
|
if (s2 !== peg$FAILED) {
|
|
6302
6315
|
peg$savedPos = s0;
|
|
6303
|
-
s0 = peg$
|
|
6316
|
+
s0 = peg$f117(s1);
|
|
6304
6317
|
} else {
|
|
6305
6318
|
peg$currPos = s0;
|
|
6306
6319
|
s0 = peg$FAILED;
|
|
@@ -6313,6 +6326,26 @@ function peg$parse(input, options) {
|
|
|
6313
6326
|
return s0;
|
|
6314
6327
|
}
|
|
6315
6328
|
|
|
6329
|
+
function peg$parsewhitespaceOptionalForProgram() {
|
|
6330
|
+
var s0, s1, s2;
|
|
6331
|
+
|
|
6332
|
+
s0 = peg$currPos;
|
|
6333
|
+
s1 = peg$parseprogramMode();
|
|
6334
|
+
if (s1 !== peg$FAILED) {
|
|
6335
|
+
s2 = peg$parse__();
|
|
6336
|
+
s1 = [s1, s2];
|
|
6337
|
+
s0 = s1;
|
|
6338
|
+
} else {
|
|
6339
|
+
peg$currPos = s0;
|
|
6340
|
+
s0 = peg$FAILED;
|
|
6341
|
+
}
|
|
6342
|
+
if (s0 === peg$FAILED) {
|
|
6343
|
+
s0 = peg$parseshellMode();
|
|
6344
|
+
}
|
|
6345
|
+
|
|
6346
|
+
return s0;
|
|
6347
|
+
}
|
|
6348
|
+
|
|
6316
6349
|
function peg$parsewhitespaceWithNewLine() {
|
|
6317
6350
|
var s0, s1, s2, s3, s4;
|
|
6318
6351
|
|
|
@@ -6508,6 +6541,7 @@ const peg$allowedStartRules = [
|
|
|
6508
6541
|
"unaryOperator",
|
|
6509
6542
|
"whitespace",
|
|
6510
6543
|
"whitespaceChar",
|
|
6544
|
+
"whitespaceOptionalForProgram",
|
|
6511
6545
|
"whitespaceWithNewLine"
|
|
6512
6546
|
];
|
|
6513
6547
|
|