@weborigami/language 0.0.68 → 0.0.70
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 +2 -0
- package/package.json +3 -3
- package/src/compiler/compile.js +1 -40
- package/src/compiler/origami.pegjs +41 -28
- package/src/compiler/parse.js +287 -193
- package/src/compiler/parserHelpers.js +51 -28
- package/src/runtime/WatchFilesMixin.js +1 -0
- package/src/runtime/evaluate.js +15 -15
- package/src/runtime/ops.js +54 -38
- package/src/runtime/symbols.js +3 -0
- package/src/runtime/taggedTemplate.js +9 -0
- package/test/compiler/compile.test.js +21 -0
- package/test/compiler/parse.test.js +160 -171
- package/test/runtime/taggedTemplate.test.js +10 -0
package/src/compiler/parse.js
CHANGED
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
makeFunctionCall,
|
|
19
19
|
makeObject,
|
|
20
20
|
makePipeline,
|
|
21
|
+
makeProperty,
|
|
21
22
|
makeTemplate
|
|
22
23
|
} from "./parserHelpers.js";
|
|
23
24
|
|
|
@@ -191,7 +192,7 @@ function peg$parse(input, options) {
|
|
|
191
192
|
var peg$FAILED = {};
|
|
192
193
|
var peg$source = options.grammarSource;
|
|
193
194
|
|
|
194
|
-
var peg$startRuleFunctions = { __: peg$parse__, absoluteFilePath: peg$parseabsoluteFilePath, args: peg$parseargs, array: peg$parsearray, arrayEntries: peg$parsearrayEntries, arrayEntry: peg$parsearrayEntry, callTarget: peg$parsecallTarget, closingBrace: peg$parseclosingBrace, closingBracket: peg$parseclosingBracket, closingParen: peg$parseclosingParen, comment: peg$parsecomment, digits: peg$parsedigits, doubleArrow: peg$parsedoubleArrow, doubleQuoteString: peg$parsedoubleQuoteString, doubleQuoteStringChar: peg$parsedoubleQuoteStringChar, ellipsis: peg$parseellipsis, escapedChar: peg$parseescapedChar, expr: peg$parseexpr, expression: peg$parseexpression, float: peg$parsefloat, functionComposition: peg$parsefunctionComposition, group: peg$parsegroup, guillemetString: peg$parseguillemetString, guillemetStringChar: peg$parseguillemetStringChar, host: peg$parsehost, identifier: peg$parseidentifier, identifierChar: peg$parseidentifierChar, identifierList: peg$parseidentifierList, implicitParensArgs: peg$parseimplicitParensArgs, inlineSpace: peg$parseinlineSpace, integer: peg$parseinteger, lambda: peg$parselambda, leadingSlashPath: peg$parseleadingSlashPath, list: peg$parselist, multiLineComment: peg$parsemultiLineComment, newLine: peg$parsenewLine, number: peg$parsenumber, object: peg$parseobject, objectEntries: peg$parseobjectEntries, objectEntry: peg$parseobjectEntry, objectGetter: peg$parseobjectGetter, objectHiddenKey: peg$parseobjectHiddenKey, objectKey: peg$parseobjectKey, objectProperty: peg$parseobjectProperty, objectShorthandProperty: peg$parseobjectShorthandProperty, objectPublicKey: peg$parseobjectPublicKey, parameterizedLambda: peg$parseparameterizedLambda, parensArgs: peg$parseparensArgs, pipeline: peg$parsepipeline, path: peg$parsepath, pathElement: peg$parsepathElement, pathKeyChar: peg$parsepathKeyChar, pathTail: peg$parsepathTail, protocolCall: peg$parseprotocolCall, protocol: peg$parseprotocol, reservedProtocol: peg$parsereservedProtocol, scopeReference: peg$parsescopeReference, scopeTraverse: peg$parsescopeTraverse, separator: peg$parseseparator, shebang: peg$parseshebang, sign: peg$parsesign, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, spread: peg$parsespread, step: peg$parsestep, start: peg$parsestart, string: peg$parsestring, templateDocument: peg$parsetemplateDocument, templateDocumentChar: peg$parsetemplateDocumentChar, templateDocumentContents: peg$parsetemplateDocumentContents, templateDocumentText: peg$parsetemplateDocumentText, templateLiteral: peg$parsetemplateLiteral, templateLiteralChar: peg$parsetemplateLiteralChar, templateLiteralContents: peg$parsetemplateLiteralContents, templateLiteralText: peg$parsetemplateLiteralText, templateSubstitution: peg$parsetemplateSubstitution, textChar: peg$parsetextChar, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
|
|
195
|
+
var peg$startRuleFunctions = { __: peg$parse__, absoluteFilePath: peg$parseabsoluteFilePath, args: peg$parseargs, array: peg$parsearray, arrayEntries: peg$parsearrayEntries, arrayEntry: peg$parsearrayEntry, callTarget: peg$parsecallTarget, closingBrace: peg$parseclosingBrace, closingBracket: peg$parseclosingBracket, closingParen: peg$parseclosingParen, comment: peg$parsecomment, digits: peg$parsedigits, doubleArrow: peg$parsedoubleArrow, doubleQuoteString: peg$parsedoubleQuoteString, doubleQuoteStringChar: peg$parsedoubleQuoteStringChar, ellipsis: peg$parseellipsis, escapedChar: peg$parseescapedChar, expr: peg$parseexpr, expression: peg$parseexpression, float: peg$parsefloat, functionComposition: peg$parsefunctionComposition, group: peg$parsegroup, guillemetString: peg$parseguillemetString, guillemetStringChar: peg$parseguillemetStringChar, host: peg$parsehost, identifier: peg$parseidentifier, identifierChar: peg$parseidentifierChar, identifierList: peg$parseidentifierList, implicitParensArgs: peg$parseimplicitParensArgs, inlineSpace: peg$parseinlineSpace, integer: peg$parseinteger, lambda: peg$parselambda, leadingSlashPath: peg$parseleadingSlashPath, list: peg$parselist, multiLineComment: peg$parsemultiLineComment, newLine: peg$parsenewLine, number: peg$parsenumber, object: peg$parseobject, objectEntries: peg$parseobjectEntries, objectEntry: peg$parseobjectEntry, objectGetter: peg$parseobjectGetter, objectHiddenKey: peg$parseobjectHiddenKey, objectKey: peg$parseobjectKey, objectProperty: peg$parseobjectProperty, objectShorthandProperty: peg$parseobjectShorthandProperty, objectPublicKey: peg$parseobjectPublicKey, parameterizedLambda: peg$parseparameterizedLambda, parensArgs: peg$parseparensArgs, pipeline: peg$parsepipeline, path: peg$parsepath, pathElement: peg$parsepathElement, pathKeyChar: peg$parsepathKeyChar, pathTail: peg$parsepathTail, protocolCall: peg$parseprotocolCall, protocol: peg$parseprotocol, reservedProtocol: peg$parsereservedProtocol, scopeReference: peg$parsescopeReference, scopeTraverse: peg$parsescopeTraverse, separator: peg$parseseparator, shebang: peg$parseshebang, sign: peg$parsesign, singleArrow: peg$parsesingleArrow, singleLineComment: peg$parsesingleLineComment, singleQuoteString: peg$parsesingleQuoteString, singleQuoteStringChar: peg$parsesingleQuoteStringChar, spread: peg$parsespread, step: peg$parsestep, start: peg$parsestart, string: peg$parsestring, taggedTemplate: peg$parsetaggedTemplate, templateDocument: peg$parsetemplateDocument, templateDocumentChar: peg$parsetemplateDocumentChar, templateDocumentContents: peg$parsetemplateDocumentContents, templateDocumentText: peg$parsetemplateDocumentText, templateLiteral: peg$parsetemplateLiteral, templateLiteralChar: peg$parsetemplateLiteralChar, templateLiteralContents: peg$parsetemplateLiteralContents, templateLiteralText: peg$parsetemplateLiteralText, templateSubstitution: peg$parsetemplateSubstitution, textChar: peg$parsetextChar, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
|
|
195
196
|
var peg$startRuleFunction = peg$parse__;
|
|
196
197
|
|
|
197
198
|
var peg$c0 = "//";
|
|
@@ -240,8 +241,8 @@ function peg$parse(input, options) {
|
|
|
240
241
|
var peg$c43 = "\u2192";
|
|
241
242
|
var peg$c44 = "->";
|
|
242
243
|
var peg$c45 = "'";
|
|
243
|
-
var peg$c46 = "
|
|
244
|
-
var peg$c47 = "
|
|
244
|
+
var peg$c46 = "`";
|
|
245
|
+
var peg$c47 = "${";
|
|
245
246
|
|
|
246
247
|
var peg$r0 = /^[0-9]/;
|
|
247
248
|
var peg$r1 = /^[^(){}[\]<>\-=,\/:`"'\xAB\xBB\\ \u2192\u21D2\t\n\r]/;
|
|
@@ -336,11 +337,11 @@ function peg$parse(input, options) {
|
|
|
336
337
|
var peg$e83 = peg$otherExpectation("single quote string");
|
|
337
338
|
var peg$e84 = peg$literalExpectation("'", false);
|
|
338
339
|
var peg$e85 = peg$otherExpectation("string");
|
|
339
|
-
var peg$e86 = peg$
|
|
340
|
-
var peg$e87 = peg$
|
|
341
|
-
var peg$e88 = peg$
|
|
342
|
-
var peg$e89 = peg$otherExpectation("template
|
|
343
|
-
var peg$e90 = peg$
|
|
340
|
+
var peg$e86 = peg$literalExpectation("`", false);
|
|
341
|
+
var peg$e87 = peg$otherExpectation("template");
|
|
342
|
+
var peg$e88 = peg$literalExpectation("${", false);
|
|
343
|
+
var peg$e89 = peg$otherExpectation("template text");
|
|
344
|
+
var peg$e90 = peg$otherExpectation("template literal");
|
|
344
345
|
var peg$e91 = peg$otherExpectation("template substitution");
|
|
345
346
|
|
|
346
347
|
var peg$f0 = function() {
|
|
@@ -368,7 +369,7 @@ function peg$parse(input, options) {
|
|
|
368
369
|
error("Expected right parenthesis");
|
|
369
370
|
};
|
|
370
371
|
var peg$f8 = function(chars) {
|
|
371
|
-
return annotate([ops.
|
|
372
|
+
return annotate([ops.literal, chars.join("")], location());
|
|
372
373
|
};
|
|
373
374
|
var peg$f9 = function() { return "\0"; };
|
|
374
375
|
var peg$f10 = function() { return "\b"; };
|
|
@@ -378,7 +379,7 @@ function peg$parse(input, options) {
|
|
|
378
379
|
var peg$f14 = function() { return "\t"; };
|
|
379
380
|
var peg$f15 = function() { return "\v"; };
|
|
380
381
|
var peg$f16 = function() {
|
|
381
|
-
return annotate([ops.
|
|
382
|
+
return annotate([ops.literal, parseFloat(text())], location());
|
|
382
383
|
};
|
|
383
384
|
var peg$f17 = function(target, chain, end) {
|
|
384
385
|
if (end) {
|
|
@@ -386,128 +387,132 @@ function peg$parse(input, options) {
|
|
|
386
387
|
}
|
|
387
388
|
return annotate(makeFunctionCall(target, chain, location()), location());
|
|
388
389
|
};
|
|
389
|
-
var peg$f18 = function(
|
|
390
|
+
var peg$f18 = function(target, chain, end) {
|
|
391
|
+
if (end) {
|
|
392
|
+
chain.push(end);
|
|
393
|
+
}
|
|
394
|
+
return annotate(makeFunctionCall(target, chain, location()), location());
|
|
395
|
+
};
|
|
396
|
+
var peg$f19 = function(expr) {
|
|
390
397
|
return annotate(expr, location());
|
|
391
398
|
};
|
|
392
|
-
var peg$
|
|
393
|
-
return annotate([ops.
|
|
399
|
+
var peg$f20 = function(chars) {
|
|
400
|
+
return annotate([ops.literal, chars.join("")], location());
|
|
394
401
|
};
|
|
395
|
-
var peg$
|
|
402
|
+
var peg$f21 = function(identifier, port) {
|
|
396
403
|
const portText = port ? `:${port[1]}` : "";
|
|
397
404
|
const hostText = identifier + portText;
|
|
398
|
-
return annotate([ops.
|
|
405
|
+
return annotate([ops.literal, hostText], location());
|
|
399
406
|
};
|
|
400
|
-
var peg$
|
|
401
|
-
var peg$
|
|
407
|
+
var peg$f22 = function(chars) { return chars.join(""); };
|
|
408
|
+
var peg$f23 = function(list) {
|
|
402
409
|
return annotate(list, location());
|
|
403
410
|
};
|
|
404
|
-
var peg$
|
|
411
|
+
var peg$f24 = function(args) {
|
|
405
412
|
/* Stuff */
|
|
406
413
|
return annotate(args, location());
|
|
407
414
|
};
|
|
408
|
-
var peg$
|
|
409
|
-
return annotate([ops.
|
|
415
|
+
var peg$f25 = function() {
|
|
416
|
+
return annotate([ops.literal, parseInt(text())], location());
|
|
410
417
|
};
|
|
411
|
-
var peg$
|
|
418
|
+
var peg$f26 = function(expr) {
|
|
412
419
|
return annotate([ops.lambda, null, expr], location());
|
|
413
420
|
};
|
|
414
|
-
var peg$
|
|
421
|
+
var peg$f27 = function(path) {
|
|
415
422
|
return annotate(path ?? [], location());
|
|
416
423
|
};
|
|
417
|
-
var peg$
|
|
424
|
+
var peg$f28 = function(list) {
|
|
418
425
|
return annotate(list, location());
|
|
419
426
|
};
|
|
420
|
-
var peg$
|
|
421
|
-
var peg$
|
|
427
|
+
var peg$f29 = function() { return null; };
|
|
428
|
+
var peg$f30 = function(entries) {
|
|
422
429
|
return annotate(makeObject(entries ?? [], ops.object), location());
|
|
423
430
|
};
|
|
424
|
-
var peg$
|
|
431
|
+
var peg$f31 = function(entries) {
|
|
425
432
|
return annotate(entries, location());
|
|
426
433
|
};
|
|
427
|
-
var peg$
|
|
428
|
-
return annotate(
|
|
434
|
+
var peg$f32 = function(key, value) {
|
|
435
|
+
return annotate(makeProperty(key, [ops.getter, value]), location());
|
|
429
436
|
};
|
|
430
|
-
var peg$
|
|
431
|
-
var peg$
|
|
432
|
-
return annotate(
|
|
437
|
+
var peg$f33 = function(hiddenKey) { return hiddenKey.join(""); };
|
|
438
|
+
var peg$f34 = function(key, value) {
|
|
439
|
+
return annotate(makeProperty(key, value), location());
|
|
433
440
|
};
|
|
434
|
-
var peg$
|
|
441
|
+
var peg$f35 = function(key) {
|
|
435
442
|
return annotate([key, [ops.inherited, key]], location());
|
|
436
443
|
};
|
|
437
|
-
var peg$
|
|
444
|
+
var peg$f36 = function(identifier, slash) {
|
|
438
445
|
return identifier + (slash ?? "");
|
|
439
446
|
};
|
|
440
|
-
var peg$
|
|
441
|
-
// Remove `ops.
|
|
447
|
+
var peg$f37 = function(string) {
|
|
448
|
+
// Remove `ops.literal` from the string code
|
|
442
449
|
return string[1];
|
|
443
450
|
};
|
|
444
|
-
var peg$
|
|
451
|
+
var peg$f38 = function(parameters, expr) {
|
|
445
452
|
return annotate([ops.lambda, parameters ?? [], expr], location());
|
|
446
453
|
};
|
|
447
|
-
var peg$
|
|
454
|
+
var peg$f39 = function(list) {
|
|
448
455
|
return annotate(list ?? [undefined], location());
|
|
449
456
|
};
|
|
450
|
-
var peg$
|
|
457
|
+
var peg$f40 = function(steps) {
|
|
451
458
|
return annotate(makePipeline(steps), location());
|
|
452
459
|
};
|
|
453
|
-
var peg$
|
|
460
|
+
var peg$f41 = function(head, tail) {
|
|
454
461
|
let path = tail ? [...head, tail] : head;
|
|
455
462
|
// Remove parts for consecutive slashes
|
|
456
463
|
path = path.filter((part) => part[1] !== "/");
|
|
457
464
|
return annotate(path, location());
|
|
458
465
|
};
|
|
459
|
-
var peg$f41 = function(chars) {
|
|
460
|
-
return annotate([ops.primitive, chars.join("") + "/"], location());
|
|
461
|
-
};
|
|
462
466
|
var peg$f42 = function(chars) {
|
|
463
|
-
return annotate([ops.
|
|
467
|
+
return annotate([ops.literal, chars.join("") + "/"], location());
|
|
468
|
+
};
|
|
469
|
+
var peg$f43 = function(chars) {
|
|
470
|
+
return annotate([ops.literal, chars.join("")], location());
|
|
464
471
|
};
|
|
465
|
-
var peg$
|
|
472
|
+
var peg$f44 = function(protocol, host, path) {
|
|
466
473
|
return annotate([protocol, host, ...(path ?? [])], location());
|
|
467
474
|
};
|
|
468
|
-
var peg$
|
|
469
|
-
var peg$
|
|
470
|
-
var peg$
|
|
471
|
-
var peg$
|
|
472
|
-
var peg$
|
|
473
|
-
var peg$
|
|
474
|
-
var peg$
|
|
475
|
-
var peg$
|
|
476
|
-
var peg$
|
|
475
|
+
var peg$f45 = function() { return ops.explorableSite; };
|
|
476
|
+
var peg$f46 = function() { return ops.https; };
|
|
477
|
+
var peg$f47 = function() { return ops.http; };
|
|
478
|
+
var peg$f48 = function() { return ops.constructor; };
|
|
479
|
+
var peg$f49 = function() { return [ops.scope, "@package"] };
|
|
480
|
+
var peg$f50 = function() { return ops.treeHttps; };
|
|
481
|
+
var peg$f51 = function() { return ops.treeHttp; };
|
|
482
|
+
var peg$f52 = function() { return ops.treeHttps; };
|
|
483
|
+
var peg$f53 = function(key) {
|
|
477
484
|
return annotate([ops.scope, key], location());
|
|
478
485
|
};
|
|
479
|
-
var peg$
|
|
486
|
+
var peg$f54 = function(ref, path) {
|
|
480
487
|
const head = [ops.scope, `${ ref[1] }/`];
|
|
488
|
+
head.location = ref.location;
|
|
481
489
|
return annotate([ops.traverse, head, ...path], location());
|
|
482
490
|
};
|
|
483
|
-
var peg$f54 = function() { return null; };
|
|
484
491
|
var peg$f55 = function() { return null; };
|
|
485
|
-
var peg$f56 = function(
|
|
486
|
-
|
|
492
|
+
var peg$f56 = function() { return null; };
|
|
493
|
+
var peg$f57 = function(chars) {
|
|
494
|
+
return annotate([ops.literal, chars.join("")], location());
|
|
487
495
|
};
|
|
488
|
-
var peg$
|
|
496
|
+
var peg$f58 = function(expr) {
|
|
489
497
|
return annotate([ops.spread, expr], location());
|
|
490
498
|
};
|
|
491
|
-
var peg$
|
|
499
|
+
var peg$f59 = function(tag, contents) {
|
|
500
|
+
return annotate(makeTemplate(tag, contents[0], contents[1]), location());
|
|
501
|
+
};
|
|
502
|
+
var peg$f60 = function(contents) {
|
|
492
503
|
return annotate([ops.lambda, null, contents], location());
|
|
493
504
|
};
|
|
494
|
-
var peg$
|
|
495
|
-
return annotate(makeTemplate(
|
|
505
|
+
var peg$f61 = function(head, tail) {
|
|
506
|
+
return annotate(makeTemplate(ops.template, head, tail), location());
|
|
496
507
|
};
|
|
497
|
-
var peg$
|
|
498
|
-
|
|
499
|
-
};
|
|
500
|
-
var peg$f61 = function(contents) {
|
|
501
|
-
return annotate(contents, location());
|
|
508
|
+
var peg$f62 = function(chars) {
|
|
509
|
+
return chars.join("");
|
|
502
510
|
};
|
|
503
|
-
var peg$
|
|
504
|
-
return annotate(makeTemplate(
|
|
511
|
+
var peg$f63 = function(contents) {
|
|
512
|
+
return annotate(makeTemplate(ops.template, contents[0], contents[1]), location());
|
|
505
513
|
};
|
|
506
|
-
var peg$
|
|
507
|
-
|
|
508
|
-
};
|
|
509
|
-
var peg$f64 = function(expr) {
|
|
510
|
-
return annotate(expr, location());
|
|
514
|
+
var peg$f64 = function(chars) {
|
|
515
|
+
return chars.join("");
|
|
511
516
|
};
|
|
512
517
|
var peg$currPos = options.peg$currPos | 0;
|
|
513
518
|
var peg$savedPos = peg$currPos;
|
|
@@ -1403,20 +1408,52 @@ function peg$parse(input, options) {
|
|
|
1403
1408
|
if (s1 !== peg$FAILED) {
|
|
1404
1409
|
s2 = [];
|
|
1405
1410
|
s3 = peg$parseargs();
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1411
|
+
if (s3 !== peg$FAILED) {
|
|
1412
|
+
while (s3 !== peg$FAILED) {
|
|
1413
|
+
s2.push(s3);
|
|
1414
|
+
s3 = peg$parseargs();
|
|
1415
|
+
}
|
|
1416
|
+
} else {
|
|
1417
|
+
s2 = peg$FAILED;
|
|
1409
1418
|
}
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
s3
|
|
1419
|
+
if (s2 !== peg$FAILED) {
|
|
1420
|
+
s3 = peg$parseimplicitParensArgs();
|
|
1421
|
+
if (s3 === peg$FAILED) {
|
|
1422
|
+
s3 = null;
|
|
1423
|
+
}
|
|
1424
|
+
peg$savedPos = s0;
|
|
1425
|
+
s0 = peg$f17(s1, s2, s3);
|
|
1426
|
+
} else {
|
|
1427
|
+
peg$currPos = s0;
|
|
1428
|
+
s0 = peg$FAILED;
|
|
1413
1429
|
}
|
|
1414
|
-
peg$savedPos = s0;
|
|
1415
|
-
s0 = peg$f17(s1, s2, s3);
|
|
1416
1430
|
} else {
|
|
1417
1431
|
peg$currPos = s0;
|
|
1418
1432
|
s0 = peg$FAILED;
|
|
1419
1433
|
}
|
|
1434
|
+
if (s0 === peg$FAILED) {
|
|
1435
|
+
s0 = peg$currPos;
|
|
1436
|
+
s1 = peg$parsecallTarget();
|
|
1437
|
+
if (s1 !== peg$FAILED) {
|
|
1438
|
+
s2 = [];
|
|
1439
|
+
s3 = peg$parseargs();
|
|
1440
|
+
while (s3 !== peg$FAILED) {
|
|
1441
|
+
s2.push(s3);
|
|
1442
|
+
s3 = peg$parseargs();
|
|
1443
|
+
}
|
|
1444
|
+
s3 = peg$parseimplicitParensArgs();
|
|
1445
|
+
if (s3 !== peg$FAILED) {
|
|
1446
|
+
peg$savedPos = s0;
|
|
1447
|
+
s0 = peg$f18(s1, s2, s3);
|
|
1448
|
+
} else {
|
|
1449
|
+
peg$currPos = s0;
|
|
1450
|
+
s0 = peg$FAILED;
|
|
1451
|
+
}
|
|
1452
|
+
} else {
|
|
1453
|
+
peg$currPos = s0;
|
|
1454
|
+
s0 = peg$FAILED;
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1420
1457
|
peg$silentFails--;
|
|
1421
1458
|
if (s0 === peg$FAILED) {
|
|
1422
1459
|
s1 = peg$FAILED;
|
|
@@ -1446,7 +1483,7 @@ function peg$parse(input, options) {
|
|
|
1446
1483
|
s5 = peg$parseclosingParen();
|
|
1447
1484
|
if (s5 !== peg$FAILED) {
|
|
1448
1485
|
peg$savedPos = s0;
|
|
1449
|
-
s0 = peg$
|
|
1486
|
+
s0 = peg$f19(s3);
|
|
1450
1487
|
} else {
|
|
1451
1488
|
peg$currPos = s0;
|
|
1452
1489
|
s0 = peg$FAILED;
|
|
@@ -1496,7 +1533,7 @@ function peg$parse(input, options) {
|
|
|
1496
1533
|
}
|
|
1497
1534
|
if (s3 !== peg$FAILED) {
|
|
1498
1535
|
peg$savedPos = s0;
|
|
1499
|
-
s0 = peg$
|
|
1536
|
+
s0 = peg$f20(s2);
|
|
1500
1537
|
} else {
|
|
1501
1538
|
peg$currPos = s0;
|
|
1502
1539
|
s0 = peg$FAILED;
|
|
@@ -1584,7 +1621,7 @@ function peg$parse(input, options) {
|
|
|
1584
1621
|
s2 = null;
|
|
1585
1622
|
}
|
|
1586
1623
|
peg$savedPos = s0;
|
|
1587
|
-
s0 = peg$
|
|
1624
|
+
s0 = peg$f21(s1, s2);
|
|
1588
1625
|
} else {
|
|
1589
1626
|
peg$currPos = s0;
|
|
1590
1627
|
s0 = peg$FAILED;
|
|
@@ -1615,7 +1652,7 @@ function peg$parse(input, options) {
|
|
|
1615
1652
|
}
|
|
1616
1653
|
if (s1 !== peg$FAILED) {
|
|
1617
1654
|
peg$savedPos = s0;
|
|
1618
|
-
s1 = peg$
|
|
1655
|
+
s1 = peg$f22(s1);
|
|
1619
1656
|
}
|
|
1620
1657
|
s0 = s1;
|
|
1621
1658
|
peg$silentFails--;
|
|
@@ -1716,7 +1753,7 @@ function peg$parse(input, options) {
|
|
|
1716
1753
|
s2 = null;
|
|
1717
1754
|
}
|
|
1718
1755
|
peg$savedPos = s0;
|
|
1719
|
-
s0 = peg$
|
|
1756
|
+
s0 = peg$f23(s1);
|
|
1720
1757
|
} else {
|
|
1721
1758
|
peg$currPos = s0;
|
|
1722
1759
|
s0 = peg$FAILED;
|
|
@@ -1772,7 +1809,7 @@ function peg$parse(input, options) {
|
|
|
1772
1809
|
s3 = null;
|
|
1773
1810
|
}
|
|
1774
1811
|
peg$savedPos = s0;
|
|
1775
|
-
s0 = peg$
|
|
1812
|
+
s0 = peg$f24(s2);
|
|
1776
1813
|
} else {
|
|
1777
1814
|
peg$currPos = s0;
|
|
1778
1815
|
s0 = peg$FAILED;
|
|
@@ -1816,7 +1853,7 @@ function peg$parse(input, options) {
|
|
|
1816
1853
|
s2 = peg$parsedigits();
|
|
1817
1854
|
if (s2 !== peg$FAILED) {
|
|
1818
1855
|
peg$savedPos = s0;
|
|
1819
|
-
s0 = peg$
|
|
1856
|
+
s0 = peg$f25();
|
|
1820
1857
|
} else {
|
|
1821
1858
|
peg$currPos = s0;
|
|
1822
1859
|
s0 = peg$FAILED;
|
|
@@ -1847,7 +1884,7 @@ function peg$parse(input, options) {
|
|
|
1847
1884
|
s3 = peg$parsepipeline();
|
|
1848
1885
|
if (s3 !== peg$FAILED) {
|
|
1849
1886
|
peg$savedPos = s0;
|
|
1850
|
-
s0 = peg$
|
|
1887
|
+
s0 = peg$f26(s3);
|
|
1851
1888
|
} else {
|
|
1852
1889
|
peg$currPos = s0;
|
|
1853
1890
|
s0 = peg$FAILED;
|
|
@@ -1880,7 +1917,7 @@ function peg$parse(input, options) {
|
|
|
1880
1917
|
if (s1 !== peg$FAILED) {
|
|
1881
1918
|
s2 = peg$parsepath();
|
|
1882
1919
|
peg$savedPos = s0;
|
|
1883
|
-
s0 = peg$
|
|
1920
|
+
s0 = peg$f27(s2);
|
|
1884
1921
|
} else {
|
|
1885
1922
|
peg$currPos = s0;
|
|
1886
1923
|
s0 = peg$FAILED;
|
|
@@ -1930,7 +1967,7 @@ function peg$parse(input, options) {
|
|
|
1930
1967
|
s2 = null;
|
|
1931
1968
|
}
|
|
1932
1969
|
peg$savedPos = s0;
|
|
1933
|
-
s0 = peg$
|
|
1970
|
+
s0 = peg$f28(s1);
|
|
1934
1971
|
} else {
|
|
1935
1972
|
peg$currPos = s0;
|
|
1936
1973
|
s0 = peg$FAILED;
|
|
@@ -2041,7 +2078,7 @@ function peg$parse(input, options) {
|
|
|
2041
2078
|
}
|
|
2042
2079
|
if (s3 !== peg$FAILED) {
|
|
2043
2080
|
peg$savedPos = s0;
|
|
2044
|
-
s0 = peg$
|
|
2081
|
+
s0 = peg$f29();
|
|
2045
2082
|
} else {
|
|
2046
2083
|
peg$currPos = s0;
|
|
2047
2084
|
s0 = peg$FAILED;
|
|
@@ -2125,7 +2162,7 @@ function peg$parse(input, options) {
|
|
|
2125
2162
|
s5 = peg$parseclosingBrace();
|
|
2126
2163
|
if (s5 !== peg$FAILED) {
|
|
2127
2164
|
peg$savedPos = s0;
|
|
2128
|
-
s0 = peg$
|
|
2165
|
+
s0 = peg$f30(s3);
|
|
2129
2166
|
} else {
|
|
2130
2167
|
peg$currPos = s0;
|
|
2131
2168
|
s0 = peg$FAILED;
|
|
@@ -2178,7 +2215,7 @@ function peg$parse(input, options) {
|
|
|
2178
2215
|
s2 = null;
|
|
2179
2216
|
}
|
|
2180
2217
|
peg$savedPos = s0;
|
|
2181
|
-
s0 = peg$
|
|
2218
|
+
s0 = peg$f31(s1);
|
|
2182
2219
|
} else {
|
|
2183
2220
|
peg$currPos = s0;
|
|
2184
2221
|
s0 = peg$FAILED;
|
|
@@ -2224,7 +2261,7 @@ function peg$parse(input, options) {
|
|
|
2224
2261
|
s5 = peg$parsepipeline();
|
|
2225
2262
|
if (s5 !== peg$FAILED) {
|
|
2226
2263
|
peg$savedPos = s0;
|
|
2227
|
-
s0 = peg$
|
|
2264
|
+
s0 = peg$f32(s1, s5);
|
|
2228
2265
|
} else {
|
|
2229
2266
|
peg$currPos = s0;
|
|
2230
2267
|
s0 = peg$FAILED;
|
|
@@ -2285,7 +2322,7 @@ function peg$parse(input, options) {
|
|
|
2285
2322
|
}
|
|
2286
2323
|
if (s1 !== peg$FAILED) {
|
|
2287
2324
|
peg$savedPos = s0;
|
|
2288
|
-
s1 = peg$
|
|
2325
|
+
s1 = peg$f33(s1);
|
|
2289
2326
|
}
|
|
2290
2327
|
s0 = s1;
|
|
2291
2328
|
|
|
@@ -2329,7 +2366,7 @@ function peg$parse(input, options) {
|
|
|
2329
2366
|
s5 = peg$parsepipeline();
|
|
2330
2367
|
if (s5 !== peg$FAILED) {
|
|
2331
2368
|
peg$savedPos = s0;
|
|
2332
|
-
s0 = peg$
|
|
2369
|
+
s0 = peg$f34(s1, s5);
|
|
2333
2370
|
} else {
|
|
2334
2371
|
peg$currPos = s0;
|
|
2335
2372
|
s0 = peg$FAILED;
|
|
@@ -2359,7 +2396,7 @@ function peg$parse(input, options) {
|
|
|
2359
2396
|
s1 = peg$parseobjectPublicKey();
|
|
2360
2397
|
if (s1 !== peg$FAILED) {
|
|
2361
2398
|
peg$savedPos = s0;
|
|
2362
|
-
s1 = peg$
|
|
2399
|
+
s1 = peg$f35(s1);
|
|
2363
2400
|
}
|
|
2364
2401
|
s0 = s1;
|
|
2365
2402
|
peg$silentFails--;
|
|
@@ -2388,7 +2425,7 @@ function peg$parse(input, options) {
|
|
|
2388
2425
|
s2 = null;
|
|
2389
2426
|
}
|
|
2390
2427
|
peg$savedPos = s0;
|
|
2391
|
-
s0 = peg$
|
|
2428
|
+
s0 = peg$f36(s1, s2);
|
|
2392
2429
|
} else {
|
|
2393
2430
|
peg$currPos = s0;
|
|
2394
2431
|
s0 = peg$FAILED;
|
|
@@ -2398,7 +2435,7 @@ function peg$parse(input, options) {
|
|
|
2398
2435
|
s1 = peg$parsestring();
|
|
2399
2436
|
if (s1 !== peg$FAILED) {
|
|
2400
2437
|
peg$savedPos = s0;
|
|
2401
|
-
s1 = peg$
|
|
2438
|
+
s1 = peg$f37(s1);
|
|
2402
2439
|
}
|
|
2403
2440
|
s0 = s1;
|
|
2404
2441
|
}
|
|
@@ -2439,7 +2476,7 @@ function peg$parse(input, options) {
|
|
|
2439
2476
|
s9 = peg$parsepipeline();
|
|
2440
2477
|
if (s9 !== peg$FAILED) {
|
|
2441
2478
|
peg$savedPos = s0;
|
|
2442
|
-
s0 = peg$
|
|
2479
|
+
s0 = peg$f38(s3, s9);
|
|
2443
2480
|
} else {
|
|
2444
2481
|
peg$currPos = s0;
|
|
2445
2482
|
s0 = peg$FAILED;
|
|
@@ -2488,7 +2525,7 @@ function peg$parse(input, options) {
|
|
|
2488
2525
|
}
|
|
2489
2526
|
if (s5 !== peg$FAILED) {
|
|
2490
2527
|
peg$savedPos = s0;
|
|
2491
|
-
s0 = peg$
|
|
2528
|
+
s0 = peg$f39(s3);
|
|
2492
2529
|
} else {
|
|
2493
2530
|
peg$currPos = s0;
|
|
2494
2531
|
s0 = peg$FAILED;
|
|
@@ -2554,7 +2591,7 @@ function peg$parse(input, options) {
|
|
|
2554
2591
|
}
|
|
2555
2592
|
if (s1 !== peg$FAILED) {
|
|
2556
2593
|
peg$savedPos = s0;
|
|
2557
|
-
s1 = peg$
|
|
2594
|
+
s1 = peg$f40(s1);
|
|
2558
2595
|
}
|
|
2559
2596
|
s0 = s1;
|
|
2560
2597
|
|
|
@@ -2577,7 +2614,7 @@ function peg$parse(input, options) {
|
|
|
2577
2614
|
s2 = null;
|
|
2578
2615
|
}
|
|
2579
2616
|
peg$savedPos = s0;
|
|
2580
|
-
s0 = peg$
|
|
2617
|
+
s0 = peg$f41(s1, s2);
|
|
2581
2618
|
peg$silentFails--;
|
|
2582
2619
|
s1 = peg$FAILED;
|
|
2583
2620
|
if (peg$silentFails === 0) { peg$fail(peg$e63); }
|
|
@@ -2604,7 +2641,7 @@ function peg$parse(input, options) {
|
|
|
2604
2641
|
}
|
|
2605
2642
|
if (s2 !== peg$FAILED) {
|
|
2606
2643
|
peg$savedPos = s0;
|
|
2607
|
-
s0 = peg$
|
|
2644
|
+
s0 = peg$f42(s1);
|
|
2608
2645
|
} else {
|
|
2609
2646
|
peg$currPos = s0;
|
|
2610
2647
|
s0 = peg$FAILED;
|
|
@@ -2646,7 +2683,7 @@ function peg$parse(input, options) {
|
|
|
2646
2683
|
}
|
|
2647
2684
|
if (s1 !== peg$FAILED) {
|
|
2648
2685
|
peg$savedPos = s0;
|
|
2649
|
-
s1 = peg$
|
|
2686
|
+
s1 = peg$f43(s1);
|
|
2650
2687
|
}
|
|
2651
2688
|
s0 = s1;
|
|
2652
2689
|
|
|
@@ -2697,7 +2734,7 @@ function peg$parse(input, options) {
|
|
|
2697
2734
|
s5 = null;
|
|
2698
2735
|
}
|
|
2699
2736
|
peg$savedPos = s0;
|
|
2700
|
-
s0 = peg$
|
|
2737
|
+
s0 = peg$f44(s1, s4, s5);
|
|
2701
2738
|
} else {
|
|
2702
2739
|
peg$currPos = s0;
|
|
2703
2740
|
s0 = peg$FAILED;
|
|
@@ -2750,7 +2787,7 @@ function peg$parse(input, options) {
|
|
|
2750
2787
|
}
|
|
2751
2788
|
if (s1 !== peg$FAILED) {
|
|
2752
2789
|
peg$savedPos = s0;
|
|
2753
|
-
s1 = peg$
|
|
2790
|
+
s1 = peg$f45();
|
|
2754
2791
|
}
|
|
2755
2792
|
s0 = s1;
|
|
2756
2793
|
if (s0 === peg$FAILED) {
|
|
@@ -2764,7 +2801,7 @@ function peg$parse(input, options) {
|
|
|
2764
2801
|
}
|
|
2765
2802
|
if (s1 !== peg$FAILED) {
|
|
2766
2803
|
peg$savedPos = s0;
|
|
2767
|
-
s1 = peg$
|
|
2804
|
+
s1 = peg$f46();
|
|
2768
2805
|
}
|
|
2769
2806
|
s0 = s1;
|
|
2770
2807
|
if (s0 === peg$FAILED) {
|
|
@@ -2778,7 +2815,7 @@ function peg$parse(input, options) {
|
|
|
2778
2815
|
}
|
|
2779
2816
|
if (s1 !== peg$FAILED) {
|
|
2780
2817
|
peg$savedPos = s0;
|
|
2781
|
-
s1 = peg$
|
|
2818
|
+
s1 = peg$f47();
|
|
2782
2819
|
}
|
|
2783
2820
|
s0 = s1;
|
|
2784
2821
|
if (s0 === peg$FAILED) {
|
|
@@ -2792,7 +2829,7 @@ function peg$parse(input, options) {
|
|
|
2792
2829
|
}
|
|
2793
2830
|
if (s1 !== peg$FAILED) {
|
|
2794
2831
|
peg$savedPos = s0;
|
|
2795
|
-
s1 = peg$
|
|
2832
|
+
s1 = peg$f48();
|
|
2796
2833
|
}
|
|
2797
2834
|
s0 = s1;
|
|
2798
2835
|
if (s0 === peg$FAILED) {
|
|
@@ -2806,7 +2843,7 @@ function peg$parse(input, options) {
|
|
|
2806
2843
|
}
|
|
2807
2844
|
if (s1 !== peg$FAILED) {
|
|
2808
2845
|
peg$savedPos = s0;
|
|
2809
|
-
s1 = peg$
|
|
2846
|
+
s1 = peg$f49();
|
|
2810
2847
|
}
|
|
2811
2848
|
s0 = s1;
|
|
2812
2849
|
if (s0 === peg$FAILED) {
|
|
@@ -2820,7 +2857,7 @@ function peg$parse(input, options) {
|
|
|
2820
2857
|
}
|
|
2821
2858
|
if (s1 !== peg$FAILED) {
|
|
2822
2859
|
peg$savedPos = s0;
|
|
2823
|
-
s1 = peg$
|
|
2860
|
+
s1 = peg$f50();
|
|
2824
2861
|
}
|
|
2825
2862
|
s0 = s1;
|
|
2826
2863
|
if (s0 === peg$FAILED) {
|
|
@@ -2834,7 +2871,7 @@ function peg$parse(input, options) {
|
|
|
2834
2871
|
}
|
|
2835
2872
|
if (s1 !== peg$FAILED) {
|
|
2836
2873
|
peg$savedPos = s0;
|
|
2837
|
-
s1 = peg$
|
|
2874
|
+
s1 = peg$f51();
|
|
2838
2875
|
}
|
|
2839
2876
|
s0 = s1;
|
|
2840
2877
|
if (s0 === peg$FAILED) {
|
|
@@ -2848,7 +2885,7 @@ function peg$parse(input, options) {
|
|
|
2848
2885
|
}
|
|
2849
2886
|
if (s1 !== peg$FAILED) {
|
|
2850
2887
|
peg$savedPos = s0;
|
|
2851
|
-
s1 = peg$
|
|
2888
|
+
s1 = peg$f52();
|
|
2852
2889
|
}
|
|
2853
2890
|
s0 = s1;
|
|
2854
2891
|
}
|
|
@@ -2875,7 +2912,7 @@ function peg$parse(input, options) {
|
|
|
2875
2912
|
s1 = peg$parseidentifier();
|
|
2876
2913
|
if (s1 !== peg$FAILED) {
|
|
2877
2914
|
peg$savedPos = s0;
|
|
2878
|
-
s1 = peg$
|
|
2915
|
+
s1 = peg$f53(s1);
|
|
2879
2916
|
}
|
|
2880
2917
|
s0 = s1;
|
|
2881
2918
|
peg$silentFails--;
|
|
@@ -2903,7 +2940,7 @@ function peg$parse(input, options) {
|
|
|
2903
2940
|
if (s2 !== peg$FAILED) {
|
|
2904
2941
|
s3 = peg$parsepath();
|
|
2905
2942
|
peg$savedPos = s0;
|
|
2906
|
-
s0 = peg$
|
|
2943
|
+
s0 = peg$f54(s1, s3);
|
|
2907
2944
|
} else {
|
|
2908
2945
|
peg$currPos = s0;
|
|
2909
2946
|
s0 = peg$FAILED;
|
|
@@ -2974,7 +3011,7 @@ function peg$parse(input, options) {
|
|
|
2974
3011
|
}
|
|
2975
3012
|
}
|
|
2976
3013
|
peg$savedPos = s0;
|
|
2977
|
-
s0 = peg$
|
|
3014
|
+
s0 = peg$f55();
|
|
2978
3015
|
} else {
|
|
2979
3016
|
peg$currPos = s0;
|
|
2980
3017
|
s0 = peg$FAILED;
|
|
@@ -3051,7 +3088,7 @@ function peg$parse(input, options) {
|
|
|
3051
3088
|
}
|
|
3052
3089
|
}
|
|
3053
3090
|
peg$savedPos = s0;
|
|
3054
|
-
s0 = peg$
|
|
3091
|
+
s0 = peg$f56();
|
|
3055
3092
|
} else {
|
|
3056
3093
|
peg$currPos = s0;
|
|
3057
3094
|
s0 = peg$FAILED;
|
|
@@ -3088,7 +3125,7 @@ function peg$parse(input, options) {
|
|
|
3088
3125
|
}
|
|
3089
3126
|
if (s3 !== peg$FAILED) {
|
|
3090
3127
|
peg$savedPos = s0;
|
|
3091
|
-
s0 = peg$
|
|
3128
|
+
s0 = peg$f57(s2);
|
|
3092
3129
|
} else {
|
|
3093
3130
|
peg$currPos = s0;
|
|
3094
3131
|
s0 = peg$FAILED;
|
|
@@ -3154,7 +3191,7 @@ function peg$parse(input, options) {
|
|
|
3154
3191
|
s2 = peg$parsepipeline();
|
|
3155
3192
|
if (s2 !== peg$FAILED) {
|
|
3156
3193
|
peg$savedPos = s0;
|
|
3157
|
-
s0 = peg$
|
|
3194
|
+
s0 = peg$f58(s2);
|
|
3158
3195
|
} else {
|
|
3159
3196
|
peg$currPos = s0;
|
|
3160
3197
|
s0 = peg$FAILED;
|
|
@@ -3192,7 +3229,13 @@ function peg$parse(input, options) {
|
|
|
3192
3229
|
if (s0 === peg$FAILED) {
|
|
3193
3230
|
s0 = peg$parseprotocolCall();
|
|
3194
3231
|
if (s0 === peg$FAILED) {
|
|
3195
|
-
s0 = peg$
|
|
3232
|
+
s0 = peg$parsetaggedTemplate();
|
|
3233
|
+
if (s0 === peg$FAILED) {
|
|
3234
|
+
s0 = peg$parsescopeTraverse();
|
|
3235
|
+
if (s0 === peg$FAILED) {
|
|
3236
|
+
s0 = peg$parsescopeReference();
|
|
3237
|
+
}
|
|
3238
|
+
}
|
|
3196
3239
|
}
|
|
3197
3240
|
}
|
|
3198
3241
|
}
|
|
@@ -3236,6 +3279,47 @@ function peg$parse(input, options) {
|
|
|
3236
3279
|
return s0;
|
|
3237
3280
|
}
|
|
3238
3281
|
|
|
3282
|
+
function peg$parsetaggedTemplate() {
|
|
3283
|
+
var s0, s1, s2, s3, s4;
|
|
3284
|
+
|
|
3285
|
+
s0 = peg$currPos;
|
|
3286
|
+
s1 = peg$parsecallTarget();
|
|
3287
|
+
if (s1 !== peg$FAILED) {
|
|
3288
|
+
if (input.charCodeAt(peg$currPos) === 96) {
|
|
3289
|
+
s2 = peg$c46;
|
|
3290
|
+
peg$currPos++;
|
|
3291
|
+
} else {
|
|
3292
|
+
s2 = peg$FAILED;
|
|
3293
|
+
if (peg$silentFails === 0) { peg$fail(peg$e86); }
|
|
3294
|
+
}
|
|
3295
|
+
if (s2 !== peg$FAILED) {
|
|
3296
|
+
s3 = peg$parsetemplateLiteralContents();
|
|
3297
|
+
if (input.charCodeAt(peg$currPos) === 96) {
|
|
3298
|
+
s4 = peg$c46;
|
|
3299
|
+
peg$currPos++;
|
|
3300
|
+
} else {
|
|
3301
|
+
s4 = peg$FAILED;
|
|
3302
|
+
if (peg$silentFails === 0) { peg$fail(peg$e86); }
|
|
3303
|
+
}
|
|
3304
|
+
if (s4 !== peg$FAILED) {
|
|
3305
|
+
peg$savedPos = s0;
|
|
3306
|
+
s0 = peg$f59(s1, s3);
|
|
3307
|
+
} else {
|
|
3308
|
+
peg$currPos = s0;
|
|
3309
|
+
s0 = peg$FAILED;
|
|
3310
|
+
}
|
|
3311
|
+
} else {
|
|
3312
|
+
peg$currPos = s0;
|
|
3313
|
+
s0 = peg$FAILED;
|
|
3314
|
+
}
|
|
3315
|
+
} else {
|
|
3316
|
+
peg$currPos = s0;
|
|
3317
|
+
s0 = peg$FAILED;
|
|
3318
|
+
}
|
|
3319
|
+
|
|
3320
|
+
return s0;
|
|
3321
|
+
}
|
|
3322
|
+
|
|
3239
3323
|
function peg$parsetemplateDocument() {
|
|
3240
3324
|
var s0, s1;
|
|
3241
3325
|
|
|
@@ -3243,11 +3327,11 @@ function peg$parse(input, options) {
|
|
|
3243
3327
|
s0 = peg$currPos;
|
|
3244
3328
|
s1 = peg$parsetemplateDocumentContents();
|
|
3245
3329
|
peg$savedPos = s0;
|
|
3246
|
-
s1 = peg$
|
|
3330
|
+
s1 = peg$f60(s1);
|
|
3247
3331
|
s0 = s1;
|
|
3248
3332
|
peg$silentFails--;
|
|
3249
3333
|
s1 = peg$FAILED;
|
|
3250
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3334
|
+
if (peg$silentFails === 0) { peg$fail(peg$e87); }
|
|
3251
3335
|
|
|
3252
3336
|
return s0;
|
|
3253
3337
|
}
|
|
@@ -3258,12 +3342,12 @@ function peg$parse(input, options) {
|
|
|
3258
3342
|
s0 = peg$currPos;
|
|
3259
3343
|
s1 = peg$currPos;
|
|
3260
3344
|
peg$silentFails++;
|
|
3261
|
-
if (input.substr(peg$currPos, 2) === peg$
|
|
3262
|
-
s2 = peg$
|
|
3345
|
+
if (input.substr(peg$currPos, 2) === peg$c47) {
|
|
3346
|
+
s2 = peg$c47;
|
|
3263
3347
|
peg$currPos += 2;
|
|
3264
3348
|
} else {
|
|
3265
3349
|
s2 = peg$FAILED;
|
|
3266
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3350
|
+
if (peg$silentFails === 0) { peg$fail(peg$e88); }
|
|
3267
3351
|
}
|
|
3268
3352
|
peg$silentFails--;
|
|
3269
3353
|
if (s2 === peg$FAILED) {
|
|
@@ -3289,24 +3373,36 @@ function peg$parse(input, options) {
|
|
|
3289
3373
|
}
|
|
3290
3374
|
|
|
3291
3375
|
function peg$parsetemplateDocumentContents() {
|
|
3292
|
-
var s0, s1, s2;
|
|
3376
|
+
var s0, s1, s2, s3, s4, s5;
|
|
3293
3377
|
|
|
3294
3378
|
s0 = peg$currPos;
|
|
3295
|
-
s1 =
|
|
3296
|
-
s2 =
|
|
3297
|
-
|
|
3298
|
-
|
|
3379
|
+
s1 = peg$parsetemplateDocumentText();
|
|
3380
|
+
s2 = [];
|
|
3381
|
+
s3 = peg$currPos;
|
|
3382
|
+
s4 = peg$parsetemplateSubstitution();
|
|
3383
|
+
if (s4 !== peg$FAILED) {
|
|
3384
|
+
s5 = peg$parsetemplateDocumentText();
|
|
3385
|
+
s4 = [s4, s5];
|
|
3386
|
+
s3 = s4;
|
|
3387
|
+
} else {
|
|
3388
|
+
peg$currPos = s3;
|
|
3389
|
+
s3 = peg$FAILED;
|
|
3299
3390
|
}
|
|
3300
|
-
while (
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3391
|
+
while (s3 !== peg$FAILED) {
|
|
3392
|
+
s2.push(s3);
|
|
3393
|
+
s3 = peg$currPos;
|
|
3394
|
+
s4 = peg$parsetemplateSubstitution();
|
|
3395
|
+
if (s4 !== peg$FAILED) {
|
|
3396
|
+
s5 = peg$parsetemplateDocumentText();
|
|
3397
|
+
s4 = [s4, s5];
|
|
3398
|
+
s3 = s4;
|
|
3399
|
+
} else {
|
|
3400
|
+
peg$currPos = s3;
|
|
3401
|
+
s3 = peg$FAILED;
|
|
3305
3402
|
}
|
|
3306
3403
|
}
|
|
3307
3404
|
peg$savedPos = s0;
|
|
3308
|
-
|
|
3309
|
-
s0 = s1;
|
|
3405
|
+
s0 = peg$f61(s1, s2);
|
|
3310
3406
|
|
|
3311
3407
|
return s0;
|
|
3312
3408
|
}
|
|
@@ -3318,24 +3414,16 @@ function peg$parse(input, options) {
|
|
|
3318
3414
|
s0 = peg$currPos;
|
|
3319
3415
|
s1 = [];
|
|
3320
3416
|
s2 = peg$parsetemplateDocumentChar();
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
s2 = peg$parsetemplateDocumentChar();
|
|
3325
|
-
}
|
|
3326
|
-
} else {
|
|
3327
|
-
s1 = peg$FAILED;
|
|
3328
|
-
}
|
|
3329
|
-
if (s1 !== peg$FAILED) {
|
|
3330
|
-
peg$savedPos = s0;
|
|
3331
|
-
s1 = peg$f60(s1);
|
|
3417
|
+
while (s2 !== peg$FAILED) {
|
|
3418
|
+
s1.push(s2);
|
|
3419
|
+
s2 = peg$parsetemplateDocumentChar();
|
|
3332
3420
|
}
|
|
3421
|
+
peg$savedPos = s0;
|
|
3422
|
+
s1 = peg$f62(s1);
|
|
3333
3423
|
s0 = s1;
|
|
3334
3424
|
peg$silentFails--;
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
if (peg$silentFails === 0) { peg$fail(peg$e88); }
|
|
3338
|
-
}
|
|
3425
|
+
s1 = peg$FAILED;
|
|
3426
|
+
if (peg$silentFails === 0) { peg$fail(peg$e89); }
|
|
3339
3427
|
|
|
3340
3428
|
return s0;
|
|
3341
3429
|
}
|
|
@@ -3346,24 +3434,24 @@ function peg$parse(input, options) {
|
|
|
3346
3434
|
peg$silentFails++;
|
|
3347
3435
|
s0 = peg$currPos;
|
|
3348
3436
|
if (input.charCodeAt(peg$currPos) === 96) {
|
|
3349
|
-
s1 = peg$
|
|
3437
|
+
s1 = peg$c46;
|
|
3350
3438
|
peg$currPos++;
|
|
3351
3439
|
} else {
|
|
3352
3440
|
s1 = peg$FAILED;
|
|
3353
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3441
|
+
if (peg$silentFails === 0) { peg$fail(peg$e86); }
|
|
3354
3442
|
}
|
|
3355
3443
|
if (s1 !== peg$FAILED) {
|
|
3356
3444
|
s2 = peg$parsetemplateLiteralContents();
|
|
3357
3445
|
if (input.charCodeAt(peg$currPos) === 96) {
|
|
3358
|
-
s3 = peg$
|
|
3446
|
+
s3 = peg$c46;
|
|
3359
3447
|
peg$currPos++;
|
|
3360
3448
|
} else {
|
|
3361
3449
|
s3 = peg$FAILED;
|
|
3362
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3450
|
+
if (peg$silentFails === 0) { peg$fail(peg$e86); }
|
|
3363
3451
|
}
|
|
3364
3452
|
if (s3 !== peg$FAILED) {
|
|
3365
3453
|
peg$savedPos = s0;
|
|
3366
|
-
s0 = peg$
|
|
3454
|
+
s0 = peg$f63(s2);
|
|
3367
3455
|
} else {
|
|
3368
3456
|
peg$currPos = s0;
|
|
3369
3457
|
s0 = peg$FAILED;
|
|
@@ -3375,7 +3463,7 @@ function peg$parse(input, options) {
|
|
|
3375
3463
|
peg$silentFails--;
|
|
3376
3464
|
if (s0 === peg$FAILED) {
|
|
3377
3465
|
s1 = peg$FAILED;
|
|
3378
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3466
|
+
if (peg$silentFails === 0) { peg$fail(peg$e90); }
|
|
3379
3467
|
}
|
|
3380
3468
|
|
|
3381
3469
|
return s0;
|
|
@@ -3388,19 +3476,19 @@ function peg$parse(input, options) {
|
|
|
3388
3476
|
s1 = peg$currPos;
|
|
3389
3477
|
peg$silentFails++;
|
|
3390
3478
|
if (input.charCodeAt(peg$currPos) === 96) {
|
|
3391
|
-
s2 = peg$
|
|
3479
|
+
s2 = peg$c46;
|
|
3392
3480
|
peg$currPos++;
|
|
3393
3481
|
} else {
|
|
3394
3482
|
s2 = peg$FAILED;
|
|
3395
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3483
|
+
if (peg$silentFails === 0) { peg$fail(peg$e86); }
|
|
3396
3484
|
}
|
|
3397
3485
|
if (s2 === peg$FAILED) {
|
|
3398
|
-
if (input.substr(peg$currPos, 2) === peg$
|
|
3399
|
-
s2 = peg$
|
|
3486
|
+
if (input.substr(peg$currPos, 2) === peg$c47) {
|
|
3487
|
+
s2 = peg$c47;
|
|
3400
3488
|
peg$currPos += 2;
|
|
3401
3489
|
} else {
|
|
3402
3490
|
s2 = peg$FAILED;
|
|
3403
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3491
|
+
if (peg$silentFails === 0) { peg$fail(peg$e88); }
|
|
3404
3492
|
}
|
|
3405
3493
|
}
|
|
3406
3494
|
peg$silentFails--;
|
|
@@ -3427,23 +3515,35 @@ function peg$parse(input, options) {
|
|
|
3427
3515
|
}
|
|
3428
3516
|
|
|
3429
3517
|
function peg$parsetemplateLiteralContents() {
|
|
3430
|
-
var s0, s1, s2;
|
|
3518
|
+
var s0, s1, s2, s3, s4, s5;
|
|
3431
3519
|
|
|
3432
3520
|
s0 = peg$currPos;
|
|
3433
|
-
s1 =
|
|
3434
|
-
s2 =
|
|
3435
|
-
|
|
3436
|
-
|
|
3521
|
+
s1 = peg$parsetemplateLiteralText();
|
|
3522
|
+
s2 = [];
|
|
3523
|
+
s3 = peg$currPos;
|
|
3524
|
+
s4 = peg$parsetemplateSubstitution();
|
|
3525
|
+
if (s4 !== peg$FAILED) {
|
|
3526
|
+
s5 = peg$parsetemplateLiteralText();
|
|
3527
|
+
s4 = [s4, s5];
|
|
3528
|
+
s3 = s4;
|
|
3529
|
+
} else {
|
|
3530
|
+
peg$currPos = s3;
|
|
3531
|
+
s3 = peg$FAILED;
|
|
3437
3532
|
}
|
|
3438
|
-
while (
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3533
|
+
while (s3 !== peg$FAILED) {
|
|
3534
|
+
s2.push(s3);
|
|
3535
|
+
s3 = peg$currPos;
|
|
3536
|
+
s4 = peg$parsetemplateSubstitution();
|
|
3537
|
+
if (s4 !== peg$FAILED) {
|
|
3538
|
+
s5 = peg$parsetemplateLiteralText();
|
|
3539
|
+
s4 = [s4, s5];
|
|
3540
|
+
s3 = s4;
|
|
3541
|
+
} else {
|
|
3542
|
+
peg$currPos = s3;
|
|
3543
|
+
s3 = peg$FAILED;
|
|
3443
3544
|
}
|
|
3444
3545
|
}
|
|
3445
|
-
|
|
3446
|
-
s1 = peg$f62(s1);
|
|
3546
|
+
s1 = [s1, s2];
|
|
3447
3547
|
s0 = s1;
|
|
3448
3548
|
|
|
3449
3549
|
return s0;
|
|
@@ -3455,18 +3555,12 @@ function peg$parse(input, options) {
|
|
|
3455
3555
|
s0 = peg$currPos;
|
|
3456
3556
|
s1 = [];
|
|
3457
3557
|
s2 = peg$parsetemplateLiteralChar();
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
s2 = peg$parsetemplateLiteralChar();
|
|
3462
|
-
}
|
|
3463
|
-
} else {
|
|
3464
|
-
s1 = peg$FAILED;
|
|
3465
|
-
}
|
|
3466
|
-
if (s1 !== peg$FAILED) {
|
|
3467
|
-
peg$savedPos = s0;
|
|
3468
|
-
s1 = peg$f63(s1);
|
|
3558
|
+
while (s2 !== peg$FAILED) {
|
|
3559
|
+
s1.push(s2);
|
|
3560
|
+
s2 = peg$parsetemplateLiteralChar();
|
|
3469
3561
|
}
|
|
3562
|
+
peg$savedPos = s0;
|
|
3563
|
+
s1 = peg$f64(s1);
|
|
3470
3564
|
s0 = s1;
|
|
3471
3565
|
|
|
3472
3566
|
return s0;
|
|
@@ -3477,12 +3571,12 @@ function peg$parse(input, options) {
|
|
|
3477
3571
|
|
|
3478
3572
|
peg$silentFails++;
|
|
3479
3573
|
s0 = peg$currPos;
|
|
3480
|
-
if (input.substr(peg$currPos, 2) === peg$
|
|
3481
|
-
s1 = peg$
|
|
3574
|
+
if (input.substr(peg$currPos, 2) === peg$c47) {
|
|
3575
|
+
s1 = peg$c47;
|
|
3482
3576
|
peg$currPos += 2;
|
|
3483
3577
|
} else {
|
|
3484
3578
|
s1 = peg$FAILED;
|
|
3485
|
-
if (peg$silentFails === 0) { peg$fail(peg$
|
|
3579
|
+
if (peg$silentFails === 0) { peg$fail(peg$e88); }
|
|
3486
3580
|
}
|
|
3487
3581
|
if (s1 !== peg$FAILED) {
|
|
3488
3582
|
s2 = peg$parse__();
|
|
@@ -3497,8 +3591,7 @@ function peg$parse(input, options) {
|
|
|
3497
3591
|
if (peg$silentFails === 0) { peg$fail(peg$e6); }
|
|
3498
3592
|
}
|
|
3499
3593
|
if (s5 !== peg$FAILED) {
|
|
3500
|
-
|
|
3501
|
-
s0 = peg$f64(s3);
|
|
3594
|
+
s0 = s3;
|
|
3502
3595
|
} else {
|
|
3503
3596
|
peg$currPos = s0;
|
|
3504
3597
|
s0 = peg$FAILED;
|
|
@@ -3662,6 +3755,7 @@ const peg$allowedStartRules = [
|
|
|
3662
3755
|
"step",
|
|
3663
3756
|
"start",
|
|
3664
3757
|
"string",
|
|
3758
|
+
"taggedTemplate",
|
|
3665
3759
|
"templateDocument",
|
|
3666
3760
|
"templateDocumentChar",
|
|
3667
3761
|
"templateDocumentContents",
|