@weborigami/language 0.6.3 → 0.6.4
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/package.json +2 -2
- package/src/compiler/optimize.js +16 -11
- package/src/compiler/origami.pegjs +54 -29
- package/src/compiler/parse.js +440 -255
- package/src/compiler/parserHelpers.js +116 -29
- package/src/project/jsGlobals.js +2 -2
- package/src/runtime/expressionObject.js +42 -6
- package/src/runtime/ops.js +14 -18
- package/test/compiler/compile.test.js +14 -0
- package/test/compiler/parse.test.js +202 -65
- package/test/runtime/expressionObject.test.js +11 -0
- package/test/runtime/ops.test.js +14 -4
package/src/compiler/parse.js
CHANGED
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
makeArray,
|
|
24
24
|
makeBinaryOperation,
|
|
25
25
|
makeCall,
|
|
26
|
+
makeCallChain,
|
|
26
27
|
makeDeferredArguments,
|
|
27
28
|
makeDocument,
|
|
28
29
|
makeObject,
|
|
@@ -252,14 +253,15 @@ function peg$parse(input, options) {
|
|
|
252
253
|
identifierLiteral: peg$parseidentifierLiteral,
|
|
253
254
|
identifierPart: peg$parseidentifierPart,
|
|
254
255
|
identifierStart: peg$parseidentifierStart,
|
|
256
|
+
implicitParenthesesArgument: peg$parseimplicitParenthesesArgument,
|
|
257
|
+
implicitParenthesesArgumentList: peg$parseimplicitParenthesesArgumentList,
|
|
258
|
+
implicitParenthesesArguments: peg$parseimplicitParenthesesArguments,
|
|
255
259
|
implicitParenthesesCallExpression: peg$parseimplicitParenthesesCallExpression,
|
|
256
|
-
implicitParensthesesArguments: peg$parseimplicitParensthesesArguments,
|
|
257
260
|
inlineSpace: peg$parseinlineSpace,
|
|
258
261
|
integerLiteral: peg$parseintegerLiteral,
|
|
259
262
|
key: peg$parsekey,
|
|
260
263
|
keyChar: peg$parsekeyChar,
|
|
261
264
|
keyCharStart: peg$parsekeyCharStart,
|
|
262
|
-
list: peg$parselist,
|
|
263
265
|
logicalAndExpression: peg$parselogicalAndExpression,
|
|
264
266
|
logicalOrExpression: peg$parselogicalOrExpression,
|
|
265
267
|
minus: peg$parseminus,
|
|
@@ -279,10 +281,12 @@ function peg$parse(input, options) {
|
|
|
279
281
|
objectProperty: peg$parseobjectProperty,
|
|
280
282
|
objectShorthandProperty: peg$parseobjectShorthandProperty,
|
|
281
283
|
objectPublicKey: peg$parseobjectPublicKey,
|
|
282
|
-
|
|
284
|
+
optional: peg$parseoptional,
|
|
283
285
|
parameter: peg$parseparameter,
|
|
284
286
|
parameterList: peg$parseparameterList,
|
|
285
287
|
parameterSingleton: peg$parseparameterSingleton,
|
|
288
|
+
parenthesesArgument: peg$parseparenthesesArgument,
|
|
289
|
+
parenthesesArgumentList: peg$parseparenthesesArgumentList,
|
|
286
290
|
parenthesesArguments: peg$parseparenthesesArguments,
|
|
287
291
|
pathArguments: peg$parsepathArguments,
|
|
288
292
|
pathKeys: peg$parsepathKeys,
|
|
@@ -483,12 +487,12 @@ function peg$parse(input, options) {
|
|
|
483
487
|
const peg$e54 = peg$otherExpectation("HTTP/HTTPS host");
|
|
484
488
|
const peg$e55 = peg$otherExpectation("JavaScript identifier continuation");
|
|
485
489
|
const peg$e56 = peg$otherExpectation("JavaScript identifier start");
|
|
486
|
-
const peg$e57 = peg$otherExpectation("
|
|
487
|
-
const peg$e58 = peg$
|
|
488
|
-
const peg$e59 = peg$
|
|
489
|
-
const peg$e60 = peg$
|
|
490
|
-
const peg$e61 = peg$classExpectation(["
|
|
491
|
-
const peg$e62 = peg$
|
|
490
|
+
const peg$e57 = peg$otherExpectation("list");
|
|
491
|
+
const peg$e58 = peg$otherExpectation("function call with implicit parentheses");
|
|
492
|
+
const peg$e59 = peg$classExpectation([" ", "\t"], false, false, false);
|
|
493
|
+
const peg$e60 = peg$otherExpectation("integer");
|
|
494
|
+
const peg$e61 = peg$classExpectation(["!", ["%", "&"], ["*", "+"], "^", "|"], false, false, false);
|
|
495
|
+
const peg$e62 = peg$classExpectation([".", "@", "~"], false, false, false);
|
|
492
496
|
const peg$e63 = peg$literalExpectation("&&", false);
|
|
493
497
|
const peg$e64 = peg$literalExpectation("||", false);
|
|
494
498
|
const peg$e65 = peg$literalExpectation("-", false);
|
|
@@ -594,10 +598,7 @@ function peg$parse(input, options) {
|
|
|
594
598
|
return tail.reduce(makeBinaryOperation, head);
|
|
595
599
|
}
|
|
596
600
|
function peg$f14(head, tail) {
|
|
597
|
-
return tail
|
|
598
|
-
(target, args) => makeCall(target, args, location()),
|
|
599
|
-
head
|
|
600
|
-
);
|
|
601
|
+
return makeCallChain(head, tail, location());
|
|
601
602
|
}
|
|
602
603
|
function peg$f15(list) {
|
|
603
604
|
return list.length === 1
|
|
@@ -703,22 +704,22 @@ function peg$parse(input, options) {
|
|
|
703
704
|
}
|
|
704
705
|
function peg$f49(char) { return char.match(/[$_\p{ID_Continue}]/u) }
|
|
705
706
|
function peg$f50(char) { return char.match(/[$_\p{ID_Start}]/u) }
|
|
706
|
-
function peg$f51(
|
|
707
|
-
return
|
|
707
|
+
function peg$f51(arg) {
|
|
708
|
+
return annotate([markers.spread, arg], location());
|
|
708
709
|
}
|
|
709
|
-
function peg$f52(
|
|
710
|
-
return annotate(
|
|
710
|
+
function peg$f52(args) {
|
|
711
|
+
return annotate(args, location());
|
|
711
712
|
}
|
|
712
|
-
function peg$f53() {
|
|
713
|
-
return
|
|
713
|
+
function peg$f53(head, args) {
|
|
714
|
+
return args ? makeCall(head, args, location()) : head;
|
|
714
715
|
}
|
|
715
716
|
function peg$f54() {
|
|
716
|
-
return text();
|
|
717
|
+
return annotate([ops.literal, parseInt(text())], location());
|
|
717
718
|
}
|
|
718
|
-
function peg$f55(
|
|
719
|
-
|
|
720
|
-
return annotate(values, location());
|
|
719
|
+
function peg$f55() {
|
|
720
|
+
return text();
|
|
721
721
|
}
|
|
722
|
+
function peg$f56(char) { return char.match(/[$_\p{ID_Continue}]/u) }
|
|
722
723
|
function peg$f57(head, tail) {
|
|
723
724
|
return tail.length === 0
|
|
724
725
|
? head
|
|
@@ -789,60 +790,73 @@ function peg$parse(input, options) {
|
|
|
789
790
|
// Remove `ops.literal` from the string code
|
|
790
791
|
return string[1];
|
|
791
792
|
}
|
|
792
|
-
function peg$f73(
|
|
793
|
-
return annotate([ops.
|
|
793
|
+
function peg$f73(args) {
|
|
794
|
+
return annotate([ops.optional, args], location());
|
|
794
795
|
}
|
|
795
|
-
function peg$f74(
|
|
796
|
+
function peg$f74(access) {
|
|
797
|
+
return annotate([ops.optional, access], location());
|
|
798
|
+
}
|
|
799
|
+
function peg$f75(property) {
|
|
800
|
+
const propertyAccess = annotate([markers.property, property], location());
|
|
801
|
+
return annotate([ops.optional, propertyAccess], location());
|
|
802
|
+
}
|
|
803
|
+
function peg$f76(key) {
|
|
796
804
|
return annotate([ops.literal, key], location());
|
|
797
805
|
}
|
|
798
|
-
function peg$
|
|
806
|
+
function peg$f77(list) {
|
|
799
807
|
return annotate(list, location());
|
|
800
808
|
}
|
|
801
|
-
function peg$
|
|
809
|
+
function peg$f78(param) {
|
|
802
810
|
return annotate([param], location());
|
|
803
811
|
}
|
|
804
|
-
function peg$
|
|
812
|
+
function peg$f79(arg) {
|
|
813
|
+
return annotate([markers.spread, arg], location());
|
|
814
|
+
}
|
|
815
|
+
function peg$f80(args) {
|
|
816
|
+
return annotate(args, location());
|
|
817
|
+
}
|
|
818
|
+
function peg$f81(list) {
|
|
805
819
|
return annotate(list ?? [undefined], location());
|
|
806
820
|
}
|
|
807
|
-
function peg$
|
|
821
|
+
function peg$f82(keys) {
|
|
808
822
|
const args = keys ?? [];
|
|
809
823
|
return annotate([markers.traverse, ...args], location());
|
|
810
824
|
}
|
|
811
|
-
function peg$
|
|
825
|
+
function peg$f83(keys) {
|
|
812
826
|
return makePath(keys);
|
|
813
827
|
}
|
|
814
|
-
function peg$
|
|
828
|
+
function peg$f84(key) {
|
|
815
829
|
return annotate([ops.literal, text()], location());
|
|
816
830
|
}
|
|
817
|
-
function peg$
|
|
831
|
+
function peg$f85() {
|
|
818
832
|
return annotate([ops.literal, text()], location());
|
|
819
833
|
}
|
|
820
|
-
function peg$
|
|
834
|
+
function peg$f86(head, tail) {
|
|
821
835
|
return annotate(
|
|
822
836
|
tail.reduce((arg, fn) => makePipeline(arg, fn, location()), head),
|
|
823
837
|
location()
|
|
824
838
|
);
|
|
825
839
|
}
|
|
826
|
-
function peg$
|
|
827
|
-
function peg$
|
|
840
|
+
function peg$f87() { return options.mode === "program" }
|
|
841
|
+
function peg$f88(property) {
|
|
828
842
|
return annotate([markers.property, property], location());
|
|
829
843
|
}
|
|
830
|
-
function peg$
|
|
844
|
+
function peg$f89(flags) {
|
|
831
845
|
return flags.join("");
|
|
832
846
|
}
|
|
833
|
-
function peg$
|
|
847
|
+
function peg$f90(chars, flags) {
|
|
834
848
|
const regex = new RegExp(chars.join(""), flags);
|
|
835
849
|
return annotate([ops.literal, regex], location());
|
|
836
850
|
}
|
|
837
|
-
function peg$
|
|
851
|
+
function peg$f91(head, tail) {
|
|
838
852
|
return tail.reduce(makeBinaryOperation, head);
|
|
839
853
|
}
|
|
840
|
-
function peg$
|
|
841
|
-
function peg$
|
|
842
|
-
function peg$
|
|
854
|
+
function peg$f92() { return null; }
|
|
855
|
+
function peg$f93() { return options.mode === "shell" }
|
|
856
|
+
function peg$f94(head, tail) {
|
|
843
857
|
return tail.reduce(makeBinaryOperation, head);
|
|
844
858
|
}
|
|
845
|
-
function peg$
|
|
859
|
+
function peg$f95(definition) {
|
|
846
860
|
if (options.mode === "program") {
|
|
847
861
|
throw new Error("Parse error: shorthand function syntax isn't allowed in Origami programs. Use arrow syntax instead.");
|
|
848
862
|
}
|
|
@@ -852,35 +866,35 @@ function peg$parse(input, options) {
|
|
|
852
866
|
);
|
|
853
867
|
return annotate([ops.lambda, lambdaParameters, definition], location());
|
|
854
868
|
}
|
|
855
|
-
function peg$
|
|
856
|
-
function peg$
|
|
869
|
+
function peg$f96() { return null; }
|
|
870
|
+
function peg$f97(chars) {
|
|
857
871
|
return annotate([ops.literal, chars.join("")], location());
|
|
858
872
|
}
|
|
859
|
-
function peg$
|
|
873
|
+
function peg$f98() {
|
|
860
874
|
return annotate([ops.literal, "/"], location());
|
|
861
875
|
}
|
|
862
|
-
function peg$
|
|
876
|
+
function peg$f99() {
|
|
863
877
|
return annotate([ops.literal, "/"], location());
|
|
864
878
|
}
|
|
865
|
-
function peg$
|
|
879
|
+
function peg$f100() {
|
|
866
880
|
return true;
|
|
867
881
|
}
|
|
868
|
-
function peg$
|
|
869
|
-
return annotate([
|
|
882
|
+
function peg$f101(value) {
|
|
883
|
+
return annotate([markers.spread, value], location());
|
|
870
884
|
}
|
|
871
|
-
function peg$
|
|
885
|
+
function peg$f102(head, tail) {
|
|
872
886
|
return makeTemplate(ops.templateIndent, head, tail, location());
|
|
873
887
|
}
|
|
874
|
-
function peg$
|
|
888
|
+
function peg$f103(chars) {
|
|
875
889
|
return annotate([ops.literal, chars.join("")], location());
|
|
876
890
|
}
|
|
877
|
-
function peg$
|
|
891
|
+
function peg$f104(front, body) {
|
|
878
892
|
return annotate(applyMacro(front, "_template", body), location());
|
|
879
893
|
}
|
|
880
|
-
function peg$
|
|
894
|
+
function peg$f105(front, body) {
|
|
881
895
|
return makeDocument(front, body, location());
|
|
882
896
|
}
|
|
883
|
-
function peg$
|
|
897
|
+
function peg$f106(body) {
|
|
884
898
|
if (options.front) {
|
|
885
899
|
return makeDocument(options.front, body, location());
|
|
886
900
|
}
|
|
@@ -890,43 +904,43 @@ function peg$parse(input, options) {
|
|
|
890
904
|
);
|
|
891
905
|
return annotate([ops.lambda, lambdaParameters, body], location());
|
|
892
906
|
}
|
|
893
|
-
function peg$
|
|
907
|
+
function peg$f107(head, tail) {
|
|
894
908
|
return makeTemplate(ops.templateText, head, tail, location());
|
|
895
909
|
}
|
|
896
|
-
function peg$
|
|
910
|
+
function peg$f108(chars) {
|
|
897
911
|
return annotate([ops.literal, chars.join("")], location());
|
|
898
912
|
}
|
|
899
|
-
function peg$
|
|
913
|
+
function peg$f109(expression) {
|
|
900
914
|
return annotate(expression, location());
|
|
901
915
|
}
|
|
902
|
-
function peg$
|
|
916
|
+
function peg$f110(operator, expression) {
|
|
903
917
|
return makeUnaryOperation(operator, expression, location());
|
|
904
918
|
}
|
|
905
|
-
function peg$
|
|
919
|
+
function peg$f111(scheme, host, path) {
|
|
906
920
|
const rest = path ? path[1] : [];
|
|
907
921
|
const keys = annotate([host, ...rest], location());
|
|
908
922
|
return makeCall(scheme, keys, location());
|
|
909
923
|
}
|
|
910
|
-
function peg$
|
|
924
|
+
function peg$f112(scheme, keys) {
|
|
911
925
|
return makeCall(scheme, keys, location());
|
|
912
926
|
}
|
|
913
|
-
function peg$
|
|
927
|
+
function peg$f113(chars) {
|
|
914
928
|
return annotate([ops.literal, text()], location());
|
|
915
929
|
}
|
|
916
|
-
function peg$
|
|
930
|
+
function peg$f114() {
|
|
917
931
|
// A single slash is a path key
|
|
918
932
|
return annotate([ops.literal, ""], location());
|
|
919
933
|
}
|
|
920
|
-
function peg$
|
|
921
|
-
function peg$
|
|
922
|
-
function peg$
|
|
934
|
+
function peg$f115(char) { return /\s/.test(char); }
|
|
935
|
+
function peg$f116(char) { return char; }
|
|
936
|
+
function peg$f117(keys) {
|
|
923
937
|
return annotate(keys, location());
|
|
924
938
|
}
|
|
925
|
-
function peg$
|
|
939
|
+
function peg$f118() {
|
|
926
940
|
return annotate([markers.global, text()], location());
|
|
927
941
|
}
|
|
928
|
-
function peg$
|
|
929
|
-
function peg$
|
|
942
|
+
function peg$f119(char) { return /\s/.test(char); }
|
|
943
|
+
function peg$f120(char) { return char; }
|
|
930
944
|
let peg$currPos = options.peg$currPos | 0;
|
|
931
945
|
let peg$savedPos = peg$currPos;
|
|
932
946
|
const peg$posDetailsCache = [{ line: 1, column: 1 }];
|
|
@@ -1415,7 +1429,10 @@ function peg$parse(input, options) {
|
|
|
1415
1429
|
if (s0 === peg$FAILED) {
|
|
1416
1430
|
s0 = peg$parsecomputedPropertyAccess();
|
|
1417
1431
|
if (s0 === peg$FAILED) {
|
|
1418
|
-
s0 = peg$
|
|
1432
|
+
s0 = peg$parseoptional();
|
|
1433
|
+
if (s0 === peg$FAILED) {
|
|
1434
|
+
s0 = peg$parsetemplateLiteral();
|
|
1435
|
+
}
|
|
1419
1436
|
}
|
|
1420
1437
|
}
|
|
1421
1438
|
}
|
|
@@ -3461,41 +3478,74 @@ function peg$parse(input, options) {
|
|
|
3461
3478
|
return s0;
|
|
3462
3479
|
}
|
|
3463
3480
|
|
|
3464
|
-
function peg$
|
|
3465
|
-
let s0, s1, s2
|
|
3481
|
+
function peg$parseimplicitParenthesesArgument() {
|
|
3482
|
+
let s0, s1, s2;
|
|
3466
3483
|
|
|
3467
|
-
peg$silentFails++;
|
|
3468
3484
|
s0 = peg$currPos;
|
|
3469
|
-
|
|
3485
|
+
if (input.substr(peg$currPos, 3) === peg$c20) {
|
|
3486
|
+
s1 = peg$c20;
|
|
3487
|
+
peg$currPos += 3;
|
|
3488
|
+
} else {
|
|
3489
|
+
s1 = peg$FAILED;
|
|
3490
|
+
if (peg$silentFails === 0) { peg$fail(peg$e27); }
|
|
3491
|
+
}
|
|
3470
3492
|
if (s1 !== peg$FAILED) {
|
|
3471
|
-
s2 = peg$
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
while (s4 !== peg$FAILED) {
|
|
3476
|
-
s3.push(s4);
|
|
3477
|
-
s4 = peg$parseinlineSpace();
|
|
3478
|
-
}
|
|
3493
|
+
s2 = peg$parseshorthandFunction();
|
|
3494
|
+
if (s2 !== peg$FAILED) {
|
|
3495
|
+
peg$savedPos = s0;
|
|
3496
|
+
s0 = peg$f51(s2);
|
|
3479
3497
|
} else {
|
|
3480
|
-
|
|
3498
|
+
peg$currPos = s0;
|
|
3499
|
+
s0 = peg$FAILED;
|
|
3481
3500
|
}
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3501
|
+
} else {
|
|
3502
|
+
peg$currPos = s0;
|
|
3503
|
+
s0 = peg$FAILED;
|
|
3504
|
+
}
|
|
3505
|
+
if (s0 === peg$FAILED) {
|
|
3506
|
+
s0 = peg$parseshorthandFunction();
|
|
3507
|
+
}
|
|
3508
|
+
|
|
3509
|
+
return s0;
|
|
3510
|
+
}
|
|
3511
|
+
|
|
3512
|
+
function peg$parseimplicitParenthesesArgumentList() {
|
|
3513
|
+
let s0, s1, s2, s3, s4;
|
|
3514
|
+
|
|
3515
|
+
peg$silentFails++;
|
|
3516
|
+
s0 = peg$currPos;
|
|
3517
|
+
s1 = peg$currPos;
|
|
3518
|
+
s2 = [];
|
|
3519
|
+
s3 = peg$parseimplicitParenthesesArgument();
|
|
3520
|
+
while (s3 !== peg$FAILED) {
|
|
3521
|
+
s2.push(s3);
|
|
3522
|
+
s3 = peg$currPos;
|
|
3523
|
+
s4 = peg$parseseparator();
|
|
3524
|
+
if (s4 !== peg$FAILED) {
|
|
3525
|
+
s4 = peg$parseimplicitParenthesesArgument();
|
|
3526
|
+
if (s4 === peg$FAILED) {
|
|
3527
|
+
peg$currPos = s3;
|
|
3528
|
+
s3 = peg$FAILED;
|
|
3486
3529
|
} else {
|
|
3487
|
-
|
|
3488
|
-
s2 = peg$FAILED;
|
|
3530
|
+
s3 = s4;
|
|
3489
3531
|
}
|
|
3490
3532
|
} else {
|
|
3491
|
-
|
|
3492
|
-
s2 = peg$FAILED;
|
|
3533
|
+
s3 = s4;
|
|
3493
3534
|
}
|
|
3535
|
+
}
|
|
3536
|
+
if (s2.length < 1) {
|
|
3537
|
+
peg$currPos = s1;
|
|
3538
|
+
s1 = peg$FAILED;
|
|
3539
|
+
} else {
|
|
3540
|
+
s1 = s2;
|
|
3541
|
+
}
|
|
3542
|
+
if (s1 !== peg$FAILED) {
|
|
3543
|
+
s2 = peg$parseseparator();
|
|
3494
3544
|
if (s2 === peg$FAILED) {
|
|
3495
3545
|
s2 = null;
|
|
3496
3546
|
}
|
|
3497
3547
|
peg$savedPos = s0;
|
|
3498
|
-
s0 = peg$
|
|
3548
|
+
s0 = peg$f52(s1);
|
|
3499
3549
|
} else {
|
|
3500
3550
|
peg$currPos = s0;
|
|
3501
3551
|
s0 = peg$FAILED;
|
|
@@ -3509,44 +3559,30 @@ function peg$parse(input, options) {
|
|
|
3509
3559
|
return s0;
|
|
3510
3560
|
}
|
|
3511
3561
|
|
|
3512
|
-
function peg$
|
|
3513
|
-
let s0, s1, s2, s3
|
|
3562
|
+
function peg$parseimplicitParenthesesArguments() {
|
|
3563
|
+
let s0, s1, s2, s3;
|
|
3514
3564
|
|
|
3515
3565
|
s0 = peg$currPos;
|
|
3516
3566
|
s1 = peg$parseshellMode();
|
|
3517
3567
|
if (s1 !== peg$FAILED) {
|
|
3518
|
-
s2 =
|
|
3519
|
-
s3 =
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
s5 = peg$parseseparator();
|
|
3525
|
-
if (s5 !== peg$FAILED) {
|
|
3526
|
-
s5 = peg$parseshorthandFunction();
|
|
3527
|
-
if (s5 === peg$FAILED) {
|
|
3528
|
-
peg$currPos = s4;
|
|
3529
|
-
s4 = peg$FAILED;
|
|
3530
|
-
} else {
|
|
3531
|
-
s4 = s5;
|
|
3532
|
-
}
|
|
3533
|
-
} else {
|
|
3534
|
-
s4 = s5;
|
|
3568
|
+
s2 = [];
|
|
3569
|
+
s3 = peg$parseinlineSpace();
|
|
3570
|
+
if (s3 !== peg$FAILED) {
|
|
3571
|
+
while (s3 !== peg$FAILED) {
|
|
3572
|
+
s2.push(s3);
|
|
3573
|
+
s3 = peg$parseinlineSpace();
|
|
3535
3574
|
}
|
|
3536
|
-
}
|
|
3537
|
-
if (s3.length < 1) {
|
|
3538
|
-
peg$currPos = s2;
|
|
3539
|
-
s2 = peg$FAILED;
|
|
3540
3575
|
} else {
|
|
3541
|
-
s2 =
|
|
3576
|
+
s2 = peg$FAILED;
|
|
3542
3577
|
}
|
|
3543
3578
|
if (s2 !== peg$FAILED) {
|
|
3544
|
-
s3 = peg$
|
|
3545
|
-
if (s3
|
|
3546
|
-
|
|
3579
|
+
s3 = peg$parseimplicitParenthesesArgumentList();
|
|
3580
|
+
if (s3 !== peg$FAILED) {
|
|
3581
|
+
s0 = s3;
|
|
3582
|
+
} else {
|
|
3583
|
+
peg$currPos = s0;
|
|
3584
|
+
s0 = peg$FAILED;
|
|
3547
3585
|
}
|
|
3548
|
-
peg$savedPos = s0;
|
|
3549
|
-
s0 = peg$f52(s2);
|
|
3550
3586
|
} else {
|
|
3551
3587
|
peg$currPos = s0;
|
|
3552
3588
|
s0 = peg$FAILED;
|
|
@@ -3559,6 +3595,32 @@ function peg$parse(input, options) {
|
|
|
3559
3595
|
return s0;
|
|
3560
3596
|
}
|
|
3561
3597
|
|
|
3598
|
+
function peg$parseimplicitParenthesesCallExpression() {
|
|
3599
|
+
let s0, s1, s2;
|
|
3600
|
+
|
|
3601
|
+
peg$silentFails++;
|
|
3602
|
+
s0 = peg$currPos;
|
|
3603
|
+
s1 = peg$parsearrowFunction();
|
|
3604
|
+
if (s1 !== peg$FAILED) {
|
|
3605
|
+
s2 = peg$parseimplicitParenthesesArguments();
|
|
3606
|
+
if (s2 === peg$FAILED) {
|
|
3607
|
+
s2 = null;
|
|
3608
|
+
}
|
|
3609
|
+
peg$savedPos = s0;
|
|
3610
|
+
s0 = peg$f53(s1, s2);
|
|
3611
|
+
} else {
|
|
3612
|
+
peg$currPos = s0;
|
|
3613
|
+
s0 = peg$FAILED;
|
|
3614
|
+
}
|
|
3615
|
+
peg$silentFails--;
|
|
3616
|
+
if (s0 === peg$FAILED) {
|
|
3617
|
+
s1 = peg$FAILED;
|
|
3618
|
+
if (peg$silentFails === 0) { peg$fail(peg$e58); }
|
|
3619
|
+
}
|
|
3620
|
+
|
|
3621
|
+
return s0;
|
|
3622
|
+
}
|
|
3623
|
+
|
|
3562
3624
|
function peg$parseinlineSpace() {
|
|
3563
3625
|
let s0;
|
|
3564
3626
|
|
|
@@ -3567,7 +3629,7 @@ function peg$parse(input, options) {
|
|
|
3567
3629
|
peg$currPos++;
|
|
3568
3630
|
} else {
|
|
3569
3631
|
s0 = peg$FAILED;
|
|
3570
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3632
|
+
if (peg$silentFails === 0) { peg$fail(peg$e59); }
|
|
3571
3633
|
}
|
|
3572
3634
|
|
|
3573
3635
|
return s0;
|
|
@@ -3581,13 +3643,13 @@ function peg$parse(input, options) {
|
|
|
3581
3643
|
s1 = peg$parsedigits();
|
|
3582
3644
|
if (s1 !== peg$FAILED) {
|
|
3583
3645
|
peg$savedPos = s0;
|
|
3584
|
-
s1 = peg$
|
|
3646
|
+
s1 = peg$f54();
|
|
3585
3647
|
}
|
|
3586
3648
|
s0 = s1;
|
|
3587
3649
|
peg$silentFails--;
|
|
3588
3650
|
if (s0 === peg$FAILED) {
|
|
3589
3651
|
s1 = peg$FAILED;
|
|
3590
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3652
|
+
if (peg$silentFails === 0) { peg$fail(peg$e60); }
|
|
3591
3653
|
}
|
|
3592
3654
|
|
|
3593
3655
|
return s0;
|
|
@@ -3606,7 +3668,7 @@ function peg$parse(input, options) {
|
|
|
3606
3668
|
s3 = peg$parsekeyChar();
|
|
3607
3669
|
}
|
|
3608
3670
|
peg$savedPos = s0;
|
|
3609
|
-
s0 = peg$
|
|
3671
|
+
s0 = peg$f55();
|
|
3610
3672
|
} else {
|
|
3611
3673
|
peg$currPos = s0;
|
|
3612
3674
|
s0 = peg$FAILED;
|
|
@@ -3625,7 +3687,7 @@ function peg$parse(input, options) {
|
|
|
3625
3687
|
peg$currPos++;
|
|
3626
3688
|
} else {
|
|
3627
3689
|
s0 = peg$FAILED;
|
|
3628
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3690
|
+
if (peg$silentFails === 0) { peg$fail(peg$e61); }
|
|
3629
3691
|
}
|
|
3630
3692
|
if (s0 === peg$FAILED) {
|
|
3631
3693
|
s0 = peg$parseminus();
|
|
@@ -3648,7 +3710,7 @@ function peg$parse(input, options) {
|
|
|
3648
3710
|
}
|
|
3649
3711
|
if (s1 !== peg$FAILED) {
|
|
3650
3712
|
peg$savedPos = peg$currPos;
|
|
3651
|
-
s2 = peg$
|
|
3713
|
+
s2 = peg$f56(s1);
|
|
3652
3714
|
if (s2) {
|
|
3653
3715
|
s2 = undefined;
|
|
3654
3716
|
} else {
|
|
@@ -3671,63 +3733,13 @@ function peg$parse(input, options) {
|
|
|
3671
3733
|
peg$currPos++;
|
|
3672
3734
|
} else {
|
|
3673
3735
|
s0 = peg$FAILED;
|
|
3674
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3736
|
+
if (peg$silentFails === 0) { peg$fail(peg$e62); }
|
|
3675
3737
|
}
|
|
3676
3738
|
}
|
|
3677
3739
|
|
|
3678
3740
|
return s0;
|
|
3679
3741
|
}
|
|
3680
3742
|
|
|
3681
|
-
function peg$parselist() {
|
|
3682
|
-
let s0, s1, s2, s3, s4;
|
|
3683
|
-
|
|
3684
|
-
peg$silentFails++;
|
|
3685
|
-
s0 = peg$currPos;
|
|
3686
|
-
s1 = peg$currPos;
|
|
3687
|
-
s2 = [];
|
|
3688
|
-
s3 = peg$parsepipelineExpression();
|
|
3689
|
-
while (s3 !== peg$FAILED) {
|
|
3690
|
-
s2.push(s3);
|
|
3691
|
-
s3 = peg$currPos;
|
|
3692
|
-
s4 = peg$parseseparator();
|
|
3693
|
-
if (s4 !== peg$FAILED) {
|
|
3694
|
-
s4 = peg$parsepipelineExpression();
|
|
3695
|
-
if (s4 === peg$FAILED) {
|
|
3696
|
-
peg$currPos = s3;
|
|
3697
|
-
s3 = peg$FAILED;
|
|
3698
|
-
} else {
|
|
3699
|
-
s3 = s4;
|
|
3700
|
-
}
|
|
3701
|
-
} else {
|
|
3702
|
-
s3 = s4;
|
|
3703
|
-
}
|
|
3704
|
-
}
|
|
3705
|
-
if (s2.length < 1) {
|
|
3706
|
-
peg$currPos = s1;
|
|
3707
|
-
s1 = peg$FAILED;
|
|
3708
|
-
} else {
|
|
3709
|
-
s1 = s2;
|
|
3710
|
-
}
|
|
3711
|
-
if (s1 !== peg$FAILED) {
|
|
3712
|
-
s2 = peg$parseseparator();
|
|
3713
|
-
if (s2 === peg$FAILED) {
|
|
3714
|
-
s2 = null;
|
|
3715
|
-
}
|
|
3716
|
-
peg$savedPos = s0;
|
|
3717
|
-
s0 = peg$f56(s1);
|
|
3718
|
-
} else {
|
|
3719
|
-
peg$currPos = s0;
|
|
3720
|
-
s0 = peg$FAILED;
|
|
3721
|
-
}
|
|
3722
|
-
peg$silentFails--;
|
|
3723
|
-
if (s0 === peg$FAILED) {
|
|
3724
|
-
s1 = peg$FAILED;
|
|
3725
|
-
if (peg$silentFails === 0) { peg$fail(peg$e62); }
|
|
3726
|
-
}
|
|
3727
|
-
|
|
3728
|
-
return s0;
|
|
3729
|
-
}
|
|
3730
|
-
|
|
3731
3743
|
function peg$parselogicalAndExpression() {
|
|
3732
3744
|
let s0, s1, s2, s3, s4, s5, s6, s7;
|
|
3733
3745
|
|
|
@@ -4568,41 +4580,71 @@ function peg$parse(input, options) {
|
|
|
4568
4580
|
}
|
|
4569
4581
|
|
|
4570
4582
|
function peg$parseobjectPublicKey() {
|
|
4571
|
-
let s0, s1, s2;
|
|
4583
|
+
let s0, s1, s2, s3, s4, s5;
|
|
4572
4584
|
|
|
4573
4585
|
s0 = peg$currPos;
|
|
4574
|
-
|
|
4586
|
+
if (input.charCodeAt(peg$currPos) === 91) {
|
|
4587
|
+
s1 = peg$c6;
|
|
4588
|
+
peg$currPos++;
|
|
4589
|
+
} else {
|
|
4590
|
+
s1 = peg$FAILED;
|
|
4591
|
+
if (peg$silentFails === 0) { peg$fail(peg$e9); }
|
|
4592
|
+
}
|
|
4575
4593
|
if (s1 !== peg$FAILED) {
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4594
|
+
s2 = peg$parse__();
|
|
4595
|
+
s3 = peg$parsepipelineExpression();
|
|
4596
|
+
if (s3 !== peg$FAILED) {
|
|
4597
|
+
s4 = peg$parse__();
|
|
4598
|
+
s5 = peg$parseexpectClosingBracket();
|
|
4599
|
+
if (s5 !== peg$FAILED) {
|
|
4600
|
+
s0 = s3;
|
|
4601
|
+
} else {
|
|
4602
|
+
peg$currPos = s0;
|
|
4603
|
+
s0 = peg$FAILED;
|
|
4604
|
+
}
|
|
4579
4605
|
} else {
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
}
|
|
4583
|
-
if (s2 === peg$FAILED) {
|
|
4584
|
-
s2 = null;
|
|
4606
|
+
peg$currPos = s0;
|
|
4607
|
+
s0 = peg$FAILED;
|
|
4585
4608
|
}
|
|
4586
|
-
peg$savedPos = s0;
|
|
4587
|
-
s0 = peg$f71(s1, s2);
|
|
4588
4609
|
} else {
|
|
4589
4610
|
peg$currPos = s0;
|
|
4590
4611
|
s0 = peg$FAILED;
|
|
4591
4612
|
}
|
|
4592
4613
|
if (s0 === peg$FAILED) {
|
|
4593
4614
|
s0 = peg$currPos;
|
|
4594
|
-
s1 = peg$
|
|
4615
|
+
s1 = peg$parsekey();
|
|
4595
4616
|
if (s1 !== peg$FAILED) {
|
|
4617
|
+
if (input.charCodeAt(peg$currPos) === 47) {
|
|
4618
|
+
s2 = peg$c5;
|
|
4619
|
+
peg$currPos++;
|
|
4620
|
+
} else {
|
|
4621
|
+
s2 = peg$FAILED;
|
|
4622
|
+
if (peg$silentFails === 0) { peg$fail(peg$e5); }
|
|
4623
|
+
}
|
|
4624
|
+
if (s2 === peg$FAILED) {
|
|
4625
|
+
s2 = null;
|
|
4626
|
+
}
|
|
4596
4627
|
peg$savedPos = s0;
|
|
4597
|
-
|
|
4628
|
+
s0 = peg$f71(s1, s2);
|
|
4629
|
+
} else {
|
|
4630
|
+
peg$currPos = s0;
|
|
4631
|
+
s0 = peg$FAILED;
|
|
4632
|
+
}
|
|
4633
|
+
if (s0 === peg$FAILED) {
|
|
4634
|
+
s0 = peg$currPos;
|
|
4635
|
+
s1 = peg$parsestringLiteral();
|
|
4636
|
+
if (s1 !== peg$FAILED) {
|
|
4637
|
+
peg$savedPos = s0;
|
|
4638
|
+
s1 = peg$f72(s1);
|
|
4639
|
+
}
|
|
4640
|
+
s0 = s1;
|
|
4598
4641
|
}
|
|
4599
|
-
s0 = s1;
|
|
4600
4642
|
}
|
|
4601
4643
|
|
|
4602
4644
|
return s0;
|
|
4603
4645
|
}
|
|
4604
4646
|
|
|
4605
|
-
function peg$
|
|
4647
|
+
function peg$parseoptional() {
|
|
4606
4648
|
let s0, s1, s2, s3, s4;
|
|
4607
4649
|
|
|
4608
4650
|
s0 = peg$currPos;
|
|
@@ -4615,11 +4657,10 @@ function peg$parse(input, options) {
|
|
|
4615
4657
|
if (peg$silentFails === 0) { peg$fail(peg$e84); }
|
|
4616
4658
|
}
|
|
4617
4659
|
if (s2 !== peg$FAILED) {
|
|
4618
|
-
s3 = peg$
|
|
4619
|
-
|
|
4620
|
-
if (s4 !== peg$FAILED) {
|
|
4660
|
+
s3 = peg$parseparenthesesArguments();
|
|
4661
|
+
if (s3 !== peg$FAILED) {
|
|
4621
4662
|
peg$savedPos = s0;
|
|
4622
|
-
s0 = peg$f73(
|
|
4663
|
+
s0 = peg$f73(s3);
|
|
4623
4664
|
} else {
|
|
4624
4665
|
peg$currPos = s0;
|
|
4625
4666
|
s0 = peg$FAILED;
|
|
@@ -4628,6 +4669,60 @@ function peg$parse(input, options) {
|
|
|
4628
4669
|
peg$currPos = s0;
|
|
4629
4670
|
s0 = peg$FAILED;
|
|
4630
4671
|
}
|
|
4672
|
+
if (s0 === peg$FAILED) {
|
|
4673
|
+
s0 = peg$currPos;
|
|
4674
|
+
s1 = peg$parse__();
|
|
4675
|
+
if (input.substr(peg$currPos, 2) === peg$c55) {
|
|
4676
|
+
s2 = peg$c55;
|
|
4677
|
+
peg$currPos += 2;
|
|
4678
|
+
} else {
|
|
4679
|
+
s2 = peg$FAILED;
|
|
4680
|
+
if (peg$silentFails === 0) { peg$fail(peg$e84); }
|
|
4681
|
+
}
|
|
4682
|
+
if (s2 !== peg$FAILED) {
|
|
4683
|
+
s3 = peg$parsecomputedPropertyAccess();
|
|
4684
|
+
if (s3 !== peg$FAILED) {
|
|
4685
|
+
peg$savedPos = s0;
|
|
4686
|
+
s0 = peg$f74(s3);
|
|
4687
|
+
} else {
|
|
4688
|
+
peg$currPos = s0;
|
|
4689
|
+
s0 = peg$FAILED;
|
|
4690
|
+
}
|
|
4691
|
+
} else {
|
|
4692
|
+
peg$currPos = s0;
|
|
4693
|
+
s0 = peg$FAILED;
|
|
4694
|
+
}
|
|
4695
|
+
if (s0 === peg$FAILED) {
|
|
4696
|
+
s0 = peg$currPos;
|
|
4697
|
+
s1 = peg$parse__();
|
|
4698
|
+
if (input.substr(peg$currPos, 2) === peg$c55) {
|
|
4699
|
+
s2 = peg$c55;
|
|
4700
|
+
peg$currPos += 2;
|
|
4701
|
+
} else {
|
|
4702
|
+
s2 = peg$FAILED;
|
|
4703
|
+
if (peg$silentFails === 0) { peg$fail(peg$e84); }
|
|
4704
|
+
}
|
|
4705
|
+
if (s2 !== peg$FAILED) {
|
|
4706
|
+
s3 = peg$parsewhitespaceOptionalForProgram();
|
|
4707
|
+
if (s3 !== peg$FAILED) {
|
|
4708
|
+
s4 = peg$parseidentifierLiteral();
|
|
4709
|
+
if (s4 !== peg$FAILED) {
|
|
4710
|
+
peg$savedPos = s0;
|
|
4711
|
+
s0 = peg$f75(s4);
|
|
4712
|
+
} else {
|
|
4713
|
+
peg$currPos = s0;
|
|
4714
|
+
s0 = peg$FAILED;
|
|
4715
|
+
}
|
|
4716
|
+
} else {
|
|
4717
|
+
peg$currPos = s0;
|
|
4718
|
+
s0 = peg$FAILED;
|
|
4719
|
+
}
|
|
4720
|
+
} else {
|
|
4721
|
+
peg$currPos = s0;
|
|
4722
|
+
s0 = peg$FAILED;
|
|
4723
|
+
}
|
|
4724
|
+
}
|
|
4725
|
+
}
|
|
4631
4726
|
|
|
4632
4727
|
return s0;
|
|
4633
4728
|
}
|
|
@@ -4639,7 +4734,7 @@ function peg$parse(input, options) {
|
|
|
4639
4734
|
s1 = peg$parsekey();
|
|
4640
4735
|
if (s1 !== peg$FAILED) {
|
|
4641
4736
|
peg$savedPos = s0;
|
|
4642
|
-
s1 = peg$
|
|
4737
|
+
s1 = peg$f76(s1);
|
|
4643
4738
|
}
|
|
4644
4739
|
s0 = s1;
|
|
4645
4740
|
|
|
@@ -4681,7 +4776,7 @@ function peg$parse(input, options) {
|
|
|
4681
4776
|
s2 = null;
|
|
4682
4777
|
}
|
|
4683
4778
|
peg$savedPos = s0;
|
|
4684
|
-
s0 = peg$
|
|
4779
|
+
s0 = peg$f77(s1);
|
|
4685
4780
|
} else {
|
|
4686
4781
|
peg$currPos = s0;
|
|
4687
4782
|
s0 = peg$FAILED;
|
|
@@ -4697,36 +4792,123 @@ function peg$parse(input, options) {
|
|
|
4697
4792
|
s1 = peg$parseparameter();
|
|
4698
4793
|
if (s1 !== peg$FAILED) {
|
|
4699
4794
|
peg$savedPos = s0;
|
|
4700
|
-
s1 = peg$
|
|
4795
|
+
s1 = peg$f78(s1);
|
|
4701
4796
|
}
|
|
4702
4797
|
s0 = s1;
|
|
4703
4798
|
|
|
4704
4799
|
return s0;
|
|
4705
4800
|
}
|
|
4706
4801
|
|
|
4802
|
+
function peg$parseparenthesesArgument() {
|
|
4803
|
+
let s0, s1, s2;
|
|
4804
|
+
|
|
4805
|
+
s0 = peg$currPos;
|
|
4806
|
+
if (input.substr(peg$currPos, 3) === peg$c20) {
|
|
4807
|
+
s1 = peg$c20;
|
|
4808
|
+
peg$currPos += 3;
|
|
4809
|
+
} else {
|
|
4810
|
+
s1 = peg$FAILED;
|
|
4811
|
+
if (peg$silentFails === 0) { peg$fail(peg$e27); }
|
|
4812
|
+
}
|
|
4813
|
+
if (s1 !== peg$FAILED) {
|
|
4814
|
+
s2 = peg$parsepipelineExpression();
|
|
4815
|
+
if (s2 !== peg$FAILED) {
|
|
4816
|
+
peg$savedPos = s0;
|
|
4817
|
+
s0 = peg$f79(s2);
|
|
4818
|
+
} else {
|
|
4819
|
+
peg$currPos = s0;
|
|
4820
|
+
s0 = peg$FAILED;
|
|
4821
|
+
}
|
|
4822
|
+
} else {
|
|
4823
|
+
peg$currPos = s0;
|
|
4824
|
+
s0 = peg$FAILED;
|
|
4825
|
+
}
|
|
4826
|
+
if (s0 === peg$FAILED) {
|
|
4827
|
+
s0 = peg$parsepipelineExpression();
|
|
4828
|
+
}
|
|
4829
|
+
|
|
4830
|
+
return s0;
|
|
4831
|
+
}
|
|
4832
|
+
|
|
4833
|
+
function peg$parseparenthesesArgumentList() {
|
|
4834
|
+
let s0, s1, s2, s3, s4;
|
|
4835
|
+
|
|
4836
|
+
peg$silentFails++;
|
|
4837
|
+
s0 = peg$currPos;
|
|
4838
|
+
s1 = peg$currPos;
|
|
4839
|
+
s2 = [];
|
|
4840
|
+
s3 = peg$parseparenthesesArgument();
|
|
4841
|
+
while (s3 !== peg$FAILED) {
|
|
4842
|
+
s2.push(s3);
|
|
4843
|
+
s3 = peg$currPos;
|
|
4844
|
+
s4 = peg$parseseparator();
|
|
4845
|
+
if (s4 !== peg$FAILED) {
|
|
4846
|
+
s4 = peg$parseparenthesesArgument();
|
|
4847
|
+
if (s4 === peg$FAILED) {
|
|
4848
|
+
peg$currPos = s3;
|
|
4849
|
+
s3 = peg$FAILED;
|
|
4850
|
+
} else {
|
|
4851
|
+
s3 = s4;
|
|
4852
|
+
}
|
|
4853
|
+
} else {
|
|
4854
|
+
s3 = s4;
|
|
4855
|
+
}
|
|
4856
|
+
}
|
|
4857
|
+
if (s2.length < 1) {
|
|
4858
|
+
peg$currPos = s1;
|
|
4859
|
+
s1 = peg$FAILED;
|
|
4860
|
+
} else {
|
|
4861
|
+
s1 = s2;
|
|
4862
|
+
}
|
|
4863
|
+
if (s1 !== peg$FAILED) {
|
|
4864
|
+
s2 = peg$parseseparator();
|
|
4865
|
+
if (s2 === peg$FAILED) {
|
|
4866
|
+
s2 = null;
|
|
4867
|
+
}
|
|
4868
|
+
peg$savedPos = s0;
|
|
4869
|
+
s0 = peg$f80(s1);
|
|
4870
|
+
} else {
|
|
4871
|
+
peg$currPos = s0;
|
|
4872
|
+
s0 = peg$FAILED;
|
|
4873
|
+
}
|
|
4874
|
+
peg$silentFails--;
|
|
4875
|
+
if (s0 === peg$FAILED) {
|
|
4876
|
+
s1 = peg$FAILED;
|
|
4877
|
+
if (peg$silentFails === 0) { peg$fail(peg$e57); }
|
|
4878
|
+
}
|
|
4879
|
+
|
|
4880
|
+
return s0;
|
|
4881
|
+
}
|
|
4882
|
+
|
|
4707
4883
|
function peg$parseparenthesesArguments() {
|
|
4708
|
-
let s0, s1, s2, s3, s4, s5;
|
|
4884
|
+
let s0, s1, s2, s3, s4, s5, s6;
|
|
4709
4885
|
|
|
4710
4886
|
peg$silentFails++;
|
|
4711
4887
|
s0 = peg$currPos;
|
|
4888
|
+
s1 = [];
|
|
4889
|
+
s2 = peg$parseinlineSpace();
|
|
4890
|
+
while (s2 !== peg$FAILED) {
|
|
4891
|
+
s1.push(s2);
|
|
4892
|
+
s2 = peg$parseinlineSpace();
|
|
4893
|
+
}
|
|
4712
4894
|
if (input.charCodeAt(peg$currPos) === 40) {
|
|
4713
|
-
|
|
4895
|
+
s2 = peg$c9;
|
|
4714
4896
|
peg$currPos++;
|
|
4715
4897
|
} else {
|
|
4716
|
-
|
|
4898
|
+
s2 = peg$FAILED;
|
|
4717
4899
|
if (peg$silentFails === 0) { peg$fail(peg$e12); }
|
|
4718
4900
|
}
|
|
4719
|
-
if (
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
if (
|
|
4723
|
-
|
|
4901
|
+
if (s2 !== peg$FAILED) {
|
|
4902
|
+
s3 = peg$parse__();
|
|
4903
|
+
s4 = peg$parseparenthesesArgumentList();
|
|
4904
|
+
if (s4 === peg$FAILED) {
|
|
4905
|
+
s4 = null;
|
|
4724
4906
|
}
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
if (
|
|
4907
|
+
s5 = peg$parse__();
|
|
4908
|
+
s6 = peg$parseexpectClosingParenthesis();
|
|
4909
|
+
if (s6 !== peg$FAILED) {
|
|
4728
4910
|
peg$savedPos = s0;
|
|
4729
|
-
s0 = peg$
|
|
4911
|
+
s0 = peg$f81(s4);
|
|
4730
4912
|
} else {
|
|
4731
4913
|
peg$currPos = s0;
|
|
4732
4914
|
s0 = peg$FAILED;
|
|
@@ -4761,7 +4943,7 @@ function peg$parse(input, options) {
|
|
|
4761
4943
|
s2 = null;
|
|
4762
4944
|
}
|
|
4763
4945
|
peg$savedPos = s0;
|
|
4764
|
-
s0 = peg$
|
|
4946
|
+
s0 = peg$f82(s2);
|
|
4765
4947
|
} else {
|
|
4766
4948
|
peg$currPos = s0;
|
|
4767
4949
|
s0 = peg$FAILED;
|
|
@@ -4797,7 +4979,7 @@ function peg$parse(input, options) {
|
|
|
4797
4979
|
s1 = peg$parsepathKeys();
|
|
4798
4980
|
if (s1 !== peg$FAILED) {
|
|
4799
4981
|
peg$savedPos = s0;
|
|
4800
|
-
s1 = peg$
|
|
4982
|
+
s1 = peg$f83(s1);
|
|
4801
4983
|
}
|
|
4802
4984
|
s0 = s1;
|
|
4803
4985
|
|
|
@@ -4821,7 +5003,7 @@ function peg$parse(input, options) {
|
|
|
4821
5003
|
s2 = null;
|
|
4822
5004
|
}
|
|
4823
5005
|
peg$savedPos = s0;
|
|
4824
|
-
s0 = peg$
|
|
5006
|
+
s0 = peg$f84(s1);
|
|
4825
5007
|
} else {
|
|
4826
5008
|
peg$currPos = s0;
|
|
4827
5009
|
s0 = peg$FAILED;
|
|
@@ -4837,7 +5019,7 @@ function peg$parse(input, options) {
|
|
|
4837
5019
|
}
|
|
4838
5020
|
if (s1 !== peg$FAILED) {
|
|
4839
5021
|
peg$savedPos = s0;
|
|
4840
|
-
s1 = peg$
|
|
5022
|
+
s1 = peg$f85();
|
|
4841
5023
|
}
|
|
4842
5024
|
s0 = s1;
|
|
4843
5025
|
}
|
|
@@ -4888,7 +5070,7 @@ function peg$parse(input, options) {
|
|
|
4888
5070
|
}
|
|
4889
5071
|
}
|
|
4890
5072
|
peg$savedPos = s0;
|
|
4891
|
-
s0 = peg$
|
|
5073
|
+
s0 = peg$f86(s1, s2);
|
|
4892
5074
|
} else {
|
|
4893
5075
|
peg$currPos = s0;
|
|
4894
5076
|
s0 = peg$FAILED;
|
|
@@ -4980,7 +5162,7 @@ function peg$parse(input, options) {
|
|
|
4980
5162
|
let s0;
|
|
4981
5163
|
|
|
4982
5164
|
peg$savedPos = peg$currPos;
|
|
4983
|
-
s0 = peg$
|
|
5165
|
+
s0 = peg$f87();
|
|
4984
5166
|
if (s0) {
|
|
4985
5167
|
s0 = undefined;
|
|
4986
5168
|
} else {
|
|
@@ -5009,7 +5191,7 @@ function peg$parse(input, options) {
|
|
|
5009
5191
|
s4 = peg$parseidentifierLiteral();
|
|
5010
5192
|
if (s4 !== peg$FAILED) {
|
|
5011
5193
|
peg$savedPos = s0;
|
|
5012
|
-
s0 = peg$
|
|
5194
|
+
s0 = peg$f88(s4);
|
|
5013
5195
|
} else {
|
|
5014
5196
|
peg$currPos = s0;
|
|
5015
5197
|
s0 = peg$FAILED;
|
|
@@ -5053,7 +5235,7 @@ function peg$parse(input, options) {
|
|
|
5053
5235
|
}
|
|
5054
5236
|
}
|
|
5055
5237
|
peg$savedPos = s0;
|
|
5056
|
-
s1 = peg$
|
|
5238
|
+
s1 = peg$f89(s1);
|
|
5057
5239
|
s0 = s1;
|
|
5058
5240
|
|
|
5059
5241
|
return s0;
|
|
@@ -5087,7 +5269,7 @@ function peg$parse(input, options) {
|
|
|
5087
5269
|
if (s3 !== peg$FAILED) {
|
|
5088
5270
|
s4 = peg$parseregexFlags();
|
|
5089
5271
|
peg$savedPos = s0;
|
|
5090
|
-
s0 = peg$
|
|
5272
|
+
s0 = peg$f90(s2, s4);
|
|
5091
5273
|
} else {
|
|
5092
5274
|
peg$currPos = s0;
|
|
5093
5275
|
s0 = peg$FAILED;
|
|
@@ -5170,7 +5352,7 @@ function peg$parse(input, options) {
|
|
|
5170
5352
|
}
|
|
5171
5353
|
}
|
|
5172
5354
|
peg$savedPos = s0;
|
|
5173
|
-
s0 = peg$
|
|
5355
|
+
s0 = peg$f91(s1, s2);
|
|
5174
5356
|
} else {
|
|
5175
5357
|
peg$currPos = s0;
|
|
5176
5358
|
s0 = peg$FAILED;
|
|
@@ -5303,7 +5485,7 @@ function peg$parse(input, options) {
|
|
|
5303
5485
|
}
|
|
5304
5486
|
}
|
|
5305
5487
|
peg$savedPos = s0;
|
|
5306
|
-
s0 = peg$
|
|
5488
|
+
s0 = peg$f92();
|
|
5307
5489
|
} else {
|
|
5308
5490
|
peg$currPos = s0;
|
|
5309
5491
|
s0 = peg$FAILED;
|
|
@@ -5316,7 +5498,7 @@ function peg$parse(input, options) {
|
|
|
5316
5498
|
let s0;
|
|
5317
5499
|
|
|
5318
5500
|
peg$savedPos = peg$currPos;
|
|
5319
|
-
s0 = peg$
|
|
5501
|
+
s0 = peg$f93();
|
|
5320
5502
|
if (s0) {
|
|
5321
5503
|
s0 = undefined;
|
|
5322
5504
|
} else {
|
|
@@ -5369,7 +5551,7 @@ function peg$parse(input, options) {
|
|
|
5369
5551
|
}
|
|
5370
5552
|
}
|
|
5371
5553
|
peg$savedPos = s0;
|
|
5372
|
-
s0 = peg$
|
|
5554
|
+
s0 = peg$f94(s1, s2);
|
|
5373
5555
|
} else {
|
|
5374
5556
|
peg$currPos = s0;
|
|
5375
5557
|
s0 = peg$FAILED;
|
|
@@ -5449,7 +5631,7 @@ function peg$parse(input, options) {
|
|
|
5449
5631
|
s5 = peg$parseimplicitParenthesesCallExpression();
|
|
5450
5632
|
if (s5 !== peg$FAILED) {
|
|
5451
5633
|
peg$savedPos = s0;
|
|
5452
|
-
s0 = peg$
|
|
5634
|
+
s0 = peg$f95(s5);
|
|
5453
5635
|
} else {
|
|
5454
5636
|
peg$currPos = s0;
|
|
5455
5637
|
s0 = peg$FAILED;
|
|
@@ -5532,7 +5714,7 @@ function peg$parse(input, options) {
|
|
|
5532
5714
|
}
|
|
5533
5715
|
}
|
|
5534
5716
|
peg$savedPos = s0;
|
|
5535
|
-
s0 = peg$
|
|
5717
|
+
s0 = peg$f96();
|
|
5536
5718
|
} else {
|
|
5537
5719
|
peg$currPos = s0;
|
|
5538
5720
|
s0 = peg$FAILED;
|
|
@@ -5563,7 +5745,7 @@ function peg$parse(input, options) {
|
|
|
5563
5745
|
s3 = peg$parseexpectSingleQuote();
|
|
5564
5746
|
if (s3 !== peg$FAILED) {
|
|
5565
5747
|
peg$savedPos = s0;
|
|
5566
|
-
s0 = peg$
|
|
5748
|
+
s0 = peg$f97(s2);
|
|
5567
5749
|
} else {
|
|
5568
5750
|
peg$currPos = s0;
|
|
5569
5751
|
s0 = peg$FAILED;
|
|
@@ -5627,7 +5809,7 @@ function peg$parse(input, options) {
|
|
|
5627
5809
|
s1 = peg$parseslashFollows();
|
|
5628
5810
|
if (s1 !== peg$FAILED) {
|
|
5629
5811
|
peg$savedPos = s0;
|
|
5630
|
-
s1 = peg$
|
|
5812
|
+
s1 = peg$f98();
|
|
5631
5813
|
}
|
|
5632
5814
|
s0 = s1;
|
|
5633
5815
|
|
|
@@ -5662,7 +5844,7 @@ function peg$parse(input, options) {
|
|
|
5662
5844
|
}
|
|
5663
5845
|
if (s1 !== peg$FAILED) {
|
|
5664
5846
|
peg$savedPos = s0;
|
|
5665
|
-
s1 = peg$
|
|
5847
|
+
s1 = peg$f99();
|
|
5666
5848
|
}
|
|
5667
5849
|
s0 = s1;
|
|
5668
5850
|
|
|
@@ -5691,7 +5873,7 @@ function peg$parse(input, options) {
|
|
|
5691
5873
|
}
|
|
5692
5874
|
if (s1 !== peg$FAILED) {
|
|
5693
5875
|
peg$savedPos = s0;
|
|
5694
|
-
s1 = peg$
|
|
5876
|
+
s1 = peg$f100();
|
|
5695
5877
|
}
|
|
5696
5878
|
s0 = s1;
|
|
5697
5879
|
|
|
@@ -5708,7 +5890,7 @@ function peg$parse(input, options) {
|
|
|
5708
5890
|
s3 = peg$parseexpectPipelineExpression();
|
|
5709
5891
|
if (s3 !== peg$FAILED) {
|
|
5710
5892
|
peg$savedPos = s0;
|
|
5711
|
-
s0 = peg$
|
|
5893
|
+
s0 = peg$f101(s3);
|
|
5712
5894
|
} else {
|
|
5713
5895
|
peg$currPos = s0;
|
|
5714
5896
|
s0 = peg$FAILED;
|
|
@@ -5785,7 +5967,7 @@ function peg$parse(input, options) {
|
|
|
5785
5967
|
}
|
|
5786
5968
|
}
|
|
5787
5969
|
peg$savedPos = s0;
|
|
5788
|
-
s0 = peg$
|
|
5970
|
+
s0 = peg$f102(s1, s2);
|
|
5789
5971
|
peg$silentFails--;
|
|
5790
5972
|
|
|
5791
5973
|
return s0;
|
|
@@ -5839,7 +6021,7 @@ function peg$parse(input, options) {
|
|
|
5839
6021
|
s2 = peg$parsetemplateBodyChar();
|
|
5840
6022
|
}
|
|
5841
6023
|
peg$savedPos = s0;
|
|
5842
|
-
s1 = peg$
|
|
6024
|
+
s1 = peg$f103(s1);
|
|
5843
6025
|
s0 = s1;
|
|
5844
6026
|
peg$silentFails--;
|
|
5845
6027
|
|
|
@@ -5856,7 +6038,7 @@ function peg$parse(input, options) {
|
|
|
5856
6038
|
s2 = peg$parse__();
|
|
5857
6039
|
s3 = peg$parsetemplateBody();
|
|
5858
6040
|
peg$savedPos = s0;
|
|
5859
|
-
s0 = peg$
|
|
6041
|
+
s0 = peg$f104(s1, s3);
|
|
5860
6042
|
} else {
|
|
5861
6043
|
peg$currPos = s0;
|
|
5862
6044
|
s0 = peg$FAILED;
|
|
@@ -5867,7 +6049,7 @@ function peg$parse(input, options) {
|
|
|
5867
6049
|
if (s1 !== peg$FAILED) {
|
|
5868
6050
|
s2 = peg$parsetemplateBody();
|
|
5869
6051
|
peg$savedPos = s0;
|
|
5870
|
-
s0 = peg$
|
|
6052
|
+
s0 = peg$f105(s1, s2);
|
|
5871
6053
|
} else {
|
|
5872
6054
|
peg$currPos = s0;
|
|
5873
6055
|
s0 = peg$FAILED;
|
|
@@ -5876,7 +6058,7 @@ function peg$parse(input, options) {
|
|
|
5876
6058
|
s0 = peg$currPos;
|
|
5877
6059
|
s1 = peg$parsetemplateBody();
|
|
5878
6060
|
peg$savedPos = s0;
|
|
5879
|
-
s1 = peg$
|
|
6061
|
+
s1 = peg$f106(s1);
|
|
5880
6062
|
s0 = s1;
|
|
5881
6063
|
}
|
|
5882
6064
|
}
|
|
@@ -5930,7 +6112,7 @@ function peg$parse(input, options) {
|
|
|
5930
6112
|
s4 = peg$parseexpectBacktick();
|
|
5931
6113
|
if (s4 !== peg$FAILED) {
|
|
5932
6114
|
peg$savedPos = s0;
|
|
5933
|
-
s0 = peg$
|
|
6115
|
+
s0 = peg$f107(s2, s3);
|
|
5934
6116
|
} else {
|
|
5935
6117
|
peg$currPos = s0;
|
|
5936
6118
|
s0 = peg$FAILED;
|
|
@@ -6004,7 +6186,7 @@ function peg$parse(input, options) {
|
|
|
6004
6186
|
s2 = peg$parsetemplateLiteralChar();
|
|
6005
6187
|
}
|
|
6006
6188
|
peg$savedPos = s0;
|
|
6007
|
-
s1 = peg$
|
|
6189
|
+
s1 = peg$f108(s1);
|
|
6008
6190
|
s0 = s1;
|
|
6009
6191
|
|
|
6010
6192
|
return s0;
|
|
@@ -6034,7 +6216,7 @@ function peg$parse(input, options) {
|
|
|
6034
6216
|
}
|
|
6035
6217
|
if (s3 !== peg$FAILED) {
|
|
6036
6218
|
peg$savedPos = s0;
|
|
6037
|
-
s0 = peg$
|
|
6219
|
+
s0 = peg$f109(s2);
|
|
6038
6220
|
} else {
|
|
6039
6221
|
peg$currPos = s0;
|
|
6040
6222
|
s0 = peg$FAILED;
|
|
@@ -6083,7 +6265,7 @@ function peg$parse(input, options) {
|
|
|
6083
6265
|
s3 = peg$parseexpectUnaryExpression();
|
|
6084
6266
|
if (s3 !== peg$FAILED) {
|
|
6085
6267
|
peg$savedPos = s0;
|
|
6086
|
-
s0 = peg$
|
|
6268
|
+
s0 = peg$f110(s1, s3);
|
|
6087
6269
|
} else {
|
|
6088
6270
|
peg$currPos = s0;
|
|
6089
6271
|
s0 = peg$FAILED;
|
|
@@ -6287,7 +6469,7 @@ function peg$parse(input, options) {
|
|
|
6287
6469
|
s4 = null;
|
|
6288
6470
|
}
|
|
6289
6471
|
peg$savedPos = s0;
|
|
6290
|
-
s0 = peg$
|
|
6472
|
+
s0 = peg$f111(s1, s3, s4);
|
|
6291
6473
|
} else {
|
|
6292
6474
|
peg$currPos = s0;
|
|
6293
6475
|
s0 = peg$FAILED;
|
|
@@ -6307,7 +6489,7 @@ function peg$parse(input, options) {
|
|
|
6307
6489
|
s2 = peg$parsepathKeys();
|
|
6308
6490
|
if (s2 !== peg$FAILED) {
|
|
6309
6491
|
peg$savedPos = s0;
|
|
6310
|
-
s0 = peg$
|
|
6492
|
+
s0 = peg$f112(s1, s2);
|
|
6311
6493
|
} else {
|
|
6312
6494
|
peg$currPos = s0;
|
|
6313
6495
|
s0 = peg$FAILED;
|
|
@@ -6361,7 +6543,7 @@ function peg$parse(input, options) {
|
|
|
6361
6543
|
s2 = null;
|
|
6362
6544
|
}
|
|
6363
6545
|
peg$savedPos = s0;
|
|
6364
|
-
s0 = peg$
|
|
6546
|
+
s0 = peg$f113(s1);
|
|
6365
6547
|
} else {
|
|
6366
6548
|
peg$currPos = s0;
|
|
6367
6549
|
s0 = peg$FAILED;
|
|
@@ -6377,7 +6559,7 @@ function peg$parse(input, options) {
|
|
|
6377
6559
|
}
|
|
6378
6560
|
if (s1 !== peg$FAILED) {
|
|
6379
6561
|
peg$savedPos = s0;
|
|
6380
|
-
s1 = peg$
|
|
6562
|
+
s1 = peg$f114();
|
|
6381
6563
|
}
|
|
6382
6564
|
s0 = s1;
|
|
6383
6565
|
}
|
|
@@ -6400,7 +6582,7 @@ function peg$parse(input, options) {
|
|
|
6400
6582
|
s2 = peg$currPos;
|
|
6401
6583
|
peg$silentFails++;
|
|
6402
6584
|
peg$savedPos = peg$currPos;
|
|
6403
|
-
s3 = peg$
|
|
6585
|
+
s3 = peg$f115(s1);
|
|
6404
6586
|
if (s3) {
|
|
6405
6587
|
s3 = undefined;
|
|
6406
6588
|
} else {
|
|
@@ -6415,7 +6597,7 @@ function peg$parse(input, options) {
|
|
|
6415
6597
|
}
|
|
6416
6598
|
if (s2 !== peg$FAILED) {
|
|
6417
6599
|
peg$savedPos = s0;
|
|
6418
|
-
s0 = peg$
|
|
6600
|
+
s0 = peg$f116(s1);
|
|
6419
6601
|
} else {
|
|
6420
6602
|
peg$currPos = s0;
|
|
6421
6603
|
s0 = peg$FAILED;
|
|
@@ -6451,7 +6633,7 @@ function peg$parse(input, options) {
|
|
|
6451
6633
|
}
|
|
6452
6634
|
if (s1 !== peg$FAILED) {
|
|
6453
6635
|
peg$savedPos = s0;
|
|
6454
|
-
s1 = peg$
|
|
6636
|
+
s1 = peg$f117(s1);
|
|
6455
6637
|
}
|
|
6456
6638
|
s0 = s1;
|
|
6457
6639
|
peg$silentFails--;
|
|
@@ -6502,7 +6684,7 @@ function peg$parse(input, options) {
|
|
|
6502
6684
|
}
|
|
6503
6685
|
if (s3 !== peg$FAILED) {
|
|
6504
6686
|
peg$savedPos = s0;
|
|
6505
|
-
s0 = peg$
|
|
6687
|
+
s0 = peg$f118();
|
|
6506
6688
|
} else {
|
|
6507
6689
|
peg$currPos = s0;
|
|
6508
6690
|
s0 = peg$FAILED;
|
|
@@ -6551,7 +6733,7 @@ function peg$parse(input, options) {
|
|
|
6551
6733
|
}
|
|
6552
6734
|
if (s1 !== peg$FAILED) {
|
|
6553
6735
|
peg$savedPos = peg$currPos;
|
|
6554
|
-
s2 = peg$
|
|
6736
|
+
s2 = peg$f119(s1);
|
|
6555
6737
|
if (s2) {
|
|
6556
6738
|
s2 = undefined;
|
|
6557
6739
|
} else {
|
|
@@ -6559,7 +6741,7 @@ function peg$parse(input, options) {
|
|
|
6559
6741
|
}
|
|
6560
6742
|
if (s2 !== peg$FAILED) {
|
|
6561
6743
|
peg$savedPos = s0;
|
|
6562
|
-
s0 = peg$
|
|
6744
|
+
s0 = peg$f120(s1);
|
|
6563
6745
|
} else {
|
|
6564
6746
|
peg$currPos = s0;
|
|
6565
6747
|
s0 = peg$FAILED;
|
|
@@ -6730,14 +6912,15 @@ const peg$allowedStartRules = [
|
|
|
6730
6912
|
"identifierLiteral",
|
|
6731
6913
|
"identifierPart",
|
|
6732
6914
|
"identifierStart",
|
|
6915
|
+
"implicitParenthesesArgument",
|
|
6916
|
+
"implicitParenthesesArgumentList",
|
|
6917
|
+
"implicitParenthesesArguments",
|
|
6733
6918
|
"implicitParenthesesCallExpression",
|
|
6734
|
-
"implicitParensthesesArguments",
|
|
6735
6919
|
"inlineSpace",
|
|
6736
6920
|
"integerLiteral",
|
|
6737
6921
|
"key",
|
|
6738
6922
|
"keyChar",
|
|
6739
6923
|
"keyCharStart",
|
|
6740
|
-
"list",
|
|
6741
6924
|
"logicalAndExpression",
|
|
6742
6925
|
"logicalOrExpression",
|
|
6743
6926
|
"minus",
|
|
@@ -6757,10 +6940,12 @@ const peg$allowedStartRules = [
|
|
|
6757
6940
|
"objectProperty",
|
|
6758
6941
|
"objectShorthandProperty",
|
|
6759
6942
|
"objectPublicKey",
|
|
6760
|
-
"
|
|
6943
|
+
"optional",
|
|
6761
6944
|
"parameter",
|
|
6762
6945
|
"parameterList",
|
|
6763
6946
|
"parameterSingleton",
|
|
6947
|
+
"parenthesesArgument",
|
|
6948
|
+
"parenthesesArgumentList",
|
|
6764
6949
|
"parenthesesArguments",
|
|
6765
6950
|
"pathArguments",
|
|
6766
6951
|
"pathKeys",
|