@weborigami/language 0.0.59 → 0.0.61

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.
@@ -193,7 +193,7 @@ function peg$parse(input, options) {
193
193
  var peg$FAILED = {};
194
194
  var peg$source = options.grammarSource;
195
195
 
196
- 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, host: peg$parsehost, identifier: peg$parseidentifier, identifierChar: peg$parseidentifierChar, identifierList: peg$parseidentifierList, identifierOrString: peg$parseidentifierOrString, 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, objectProperty: peg$parseobjectProperty, parameterizedLambda: peg$parseparameterizedLambda, parensArgs: peg$parseparensArgs, pipeline: peg$parsepipeline, path: peg$parsepath, pathKey: peg$parsepathKey, pathKeyChar: peg$parsepathKeyChar, protocolCall: peg$parseprotocolCall, protocol: peg$parseprotocol, reservedProtocol: peg$parsereservedProtocol, scopeReference: peg$parsescopeReference, 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, tree: peg$parsetree, treeAssignment: peg$parsetreeAssignment, treeEntries: peg$parsetreeEntries, treeEntry: peg$parsetreeEntry, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
196
+ 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, identifierOrString: peg$parseidentifierOrString, 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, objectProperty: peg$parseobjectProperty, parameterizedLambda: peg$parseparameterizedLambda, parensArgs: peg$parseparensArgs, pipeline: peg$parsepipeline, path: peg$parsepath, pathKey: peg$parsepathKey, pathKeyChar: peg$parsepathKeyChar, protocolCall: peg$parseprotocolCall, protocol: peg$parseprotocol, reservedProtocol: peg$parsereservedProtocol, scopeReference: peg$parsescopeReference, 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, tree: peg$parsetree, treeAssignment: peg$parsetreeAssignment, treeEntries: peg$parsetreeEntries, treeEntry: peg$parsetreeEntry, whitespaceWithNewLine: peg$parsewhitespaceWithNewLine };
197
197
  var peg$startRuleFunction = peg$parse__;
198
198
 
199
199
  var peg$c0 = "//";
@@ -209,34 +209,36 @@ function peg$parse(input, options) {
209
209
  var peg$c10 = "\\";
210
210
  var peg$c11 = ".";
211
211
  var peg$c12 = "(";
212
- var peg$c13 = ":";
213
- var peg$c14 = "-";
214
- var peg$c15 = ">";
215
- var peg$c16 = "=";
216
- var peg$c17 = "/";
217
- var peg$c18 = "/*";
218
- var peg$c19 = "*/";
219
- var peg$c20 = "\n";
220
- var peg$c21 = "\r\n";
221
- var peg$c22 = "\r";
222
- var peg$c23 = "{";
223
- var peg$c24 = "https";
224
- var peg$c25 = "http";
225
- var peg$c26 = "new";
226
- var peg$c27 = "package";
227
- var peg$c28 = "treehttps";
228
- var peg$c29 = "treehttp";
229
- var peg$c30 = "tree";
230
- var peg$c31 = ",";
231
- var peg$c32 = "#!";
232
- var peg$c33 = "\u2192";
233
- var peg$c34 = "->";
234
- var peg$c35 = "'";
235
- var peg$c36 = "${";
236
- var peg$c37 = "`";
212
+ var peg$c13 = "\xAB";
213
+ var peg$c14 = "\xBB";
214
+ var peg$c15 = ":";
215
+ var peg$c16 = "-";
216
+ var peg$c17 = ">";
217
+ var peg$c18 = "=";
218
+ var peg$c19 = "/";
219
+ var peg$c20 = "/*";
220
+ var peg$c21 = "*/";
221
+ var peg$c22 = "\n";
222
+ var peg$c23 = "\r\n";
223
+ var peg$c24 = "\r";
224
+ var peg$c25 = "{";
225
+ var peg$c26 = "https";
226
+ var peg$c27 = "http";
227
+ var peg$c28 = "new";
228
+ var peg$c29 = "package";
229
+ var peg$c30 = "treehttps";
230
+ var peg$c31 = "treehttp";
231
+ var peg$c32 = "tree";
232
+ var peg$c33 = ",";
233
+ var peg$c34 = "#!";
234
+ var peg$c35 = "\u2192";
235
+ var peg$c36 = "->";
236
+ var peg$c37 = "'";
237
+ var peg$c38 = "${";
238
+ var peg$c39 = "`";
237
239
 
238
240
  var peg$r0 = /^[0-9]/;
239
- var peg$r1 = /^[^(){}[\]<>\-=,\/:`"'\\ \u2192\u21D2\t\n\r]/;
241
+ var peg$r1 = /^[^(){}[\]<>\-=,\/:`"'\xAB\xBB\\ \u2192\u21D2\t\n\r]/;
240
242
  var peg$r2 = /^[ \t]/;
241
243
  var peg$r3 = /^[^(){}[\],:\/\\ \t\n\r]/;
242
244
  var peg$r4 = /^[^\n\r]/;
@@ -268,61 +270,64 @@ function peg$parse(input, options) {
268
270
  var peg$e23 = peg$otherExpectation("function composition");
269
271
  var peg$e24 = peg$otherExpectation("parenthetical group");
270
272
  var peg$e25 = peg$literalExpectation("(", false);
271
- var peg$e26 = peg$otherExpectation("HTTP/HTTPS host");
272
- var peg$e27 = peg$literalExpectation(":", false);
273
- var peg$e28 = peg$otherExpectation("identifier");
274
- var peg$e29 = peg$classExpectation(["(", ")", "{", "}", "[", "]", "<", ">", "-", "=", ",", "/", ":", "`", "\"", "'", "\\", " ", "\u2192", "\u21D2", "\t", "\n", "\r"], true, false);
275
- var peg$e30 = peg$literalExpectation("-", false);
276
- var peg$e31 = peg$literalExpectation(">", false);
277
- var peg$e32 = peg$otherExpectation("arguments with implicit parentheses");
278
- var peg$e33 = peg$classExpectation([" ", "\t"], false, false);
279
- var peg$e34 = peg$otherExpectation("integer");
280
- var peg$e35 = peg$otherExpectation("lambda function");
281
- var peg$e36 = peg$literalExpectation("=", false);
282
- var peg$e37 = peg$otherExpectation("path with a leading slash");
283
- var peg$e38 = peg$literalExpectation("/", false);
284
- var peg$e39 = peg$otherExpectation("list");
285
- var peg$e40 = peg$literalExpectation("/*", false);
286
- var peg$e41 = peg$literalExpectation("*/", false);
287
- var peg$e42 = peg$literalExpectation("\n", false);
288
- var peg$e43 = peg$literalExpectation("\r\n", false);
289
- var peg$e44 = peg$literalExpectation("\r", false);
290
- var peg$e45 = peg$otherExpectation("number");
291
- var peg$e46 = peg$otherExpectation("object literal");
292
- var peg$e47 = peg$literalExpectation("{", false);
293
- var peg$e48 = peg$otherExpectation("object property");
294
- var peg$e49 = peg$otherExpectation("function arguments in parentheses");
295
- var peg$e50 = peg$otherExpectation("slash-separated path");
296
- var peg$e51 = peg$otherExpectation("path element");
297
- var peg$e52 = peg$classExpectation(["(", ")", "{", "}", "[", "]", ",", ":", "/", "\\", " ", "\t", "\n", "\r"], true, false);
298
- var peg$e53 = peg$otherExpectation("function call using protocol: syntax");
299
- var peg$e54 = peg$otherExpectation("protocol");
300
- var peg$e55 = peg$otherExpectation("reserved protocol");
301
- var peg$e56 = peg$literalExpectation("https", false);
302
- var peg$e57 = peg$literalExpectation("http", false);
303
- var peg$e58 = peg$literalExpectation("new", false);
304
- var peg$e59 = peg$literalExpectation("package", false);
305
- var peg$e60 = peg$literalExpectation("treehttps", false);
306
- var peg$e61 = peg$literalExpectation("treehttp", false);
307
- var peg$e62 = peg$literalExpectation("tree", false);
308
- var peg$e63 = peg$otherExpectation("scope reference");
309
- var peg$e64 = peg$literalExpectation(",", false);
310
- var peg$e65 = peg$literalExpectation("#!", false);
311
- var peg$e66 = peg$classExpectation(["\n", "\r"], true, false);
312
- var peg$e67 = peg$classExpectation(["+", "-"], false, false);
313
- var peg$e68 = peg$literalExpectation("\u2192", false);
314
- var peg$e69 = peg$literalExpectation("->", false);
315
- var peg$e70 = peg$otherExpectation("single quote string");
316
- var peg$e71 = peg$literalExpectation("'", false);
317
- var peg$e72 = peg$otherExpectation("string");
318
- var peg$e73 = peg$otherExpectation("template");
319
- var peg$e74 = peg$literalExpectation("${", false);
320
- var peg$e75 = peg$otherExpectation("template text");
321
- var peg$e76 = peg$otherExpectation("template literal");
322
- var peg$e77 = peg$literalExpectation("`", false);
323
- var peg$e78 = peg$otherExpectation("template substitution");
324
- var peg$e79 = peg$otherExpectation("tree literal");
325
- var peg$e80 = peg$otherExpectation("tree assignment");
273
+ var peg$e26 = peg$otherExpectation("guillemet string");
274
+ var peg$e27 = peg$literalExpectation("\xAB", false);
275
+ var peg$e28 = peg$literalExpectation("\xBB", false);
276
+ var peg$e29 = peg$otherExpectation("HTTP/HTTPS host");
277
+ var peg$e30 = peg$literalExpectation(":", false);
278
+ var peg$e31 = peg$otherExpectation("identifier");
279
+ var peg$e32 = peg$classExpectation(["(", ")", "{", "}", "[", "]", "<", ">", "-", "=", ",", "/", ":", "`", "\"", "'", "\xAB", "\xBB", "\\", " ", "\u2192", "\u21D2", "\t", "\n", "\r"], true, false);
280
+ var peg$e33 = peg$literalExpectation("-", false);
281
+ var peg$e34 = peg$literalExpectation(">", false);
282
+ var peg$e35 = peg$otherExpectation("arguments with implicit parentheses");
283
+ var peg$e36 = peg$classExpectation([" ", "\t"], false, false);
284
+ var peg$e37 = peg$otherExpectation("integer");
285
+ var peg$e38 = peg$otherExpectation("lambda function");
286
+ var peg$e39 = peg$literalExpectation("=", false);
287
+ var peg$e40 = peg$otherExpectation("path with a leading slash");
288
+ var peg$e41 = peg$literalExpectation("/", false);
289
+ var peg$e42 = peg$otherExpectation("list");
290
+ var peg$e43 = peg$literalExpectation("/*", false);
291
+ var peg$e44 = peg$literalExpectation("*/", false);
292
+ var peg$e45 = peg$literalExpectation("\n", false);
293
+ var peg$e46 = peg$literalExpectation("\r\n", false);
294
+ var peg$e47 = peg$literalExpectation("\r", false);
295
+ var peg$e48 = peg$otherExpectation("number");
296
+ var peg$e49 = peg$otherExpectation("object literal");
297
+ var peg$e50 = peg$literalExpectation("{", false);
298
+ var peg$e51 = peg$otherExpectation("object property");
299
+ var peg$e52 = peg$otherExpectation("function arguments in parentheses");
300
+ var peg$e53 = peg$otherExpectation("slash-separated path");
301
+ var peg$e54 = peg$otherExpectation("path element");
302
+ var peg$e55 = peg$classExpectation(["(", ")", "{", "}", "[", "]", ",", ":", "/", "\\", " ", "\t", "\n", "\r"], true, false);
303
+ var peg$e56 = peg$otherExpectation("function call using protocol: syntax");
304
+ var peg$e57 = peg$otherExpectation("protocol");
305
+ var peg$e58 = peg$otherExpectation("reserved protocol");
306
+ var peg$e59 = peg$literalExpectation("https", false);
307
+ var peg$e60 = peg$literalExpectation("http", false);
308
+ var peg$e61 = peg$literalExpectation("new", false);
309
+ var peg$e62 = peg$literalExpectation("package", false);
310
+ var peg$e63 = peg$literalExpectation("treehttps", false);
311
+ var peg$e64 = peg$literalExpectation("treehttp", false);
312
+ var peg$e65 = peg$literalExpectation("tree", false);
313
+ var peg$e66 = peg$otherExpectation("scope reference");
314
+ var peg$e67 = peg$literalExpectation(",", false);
315
+ var peg$e68 = peg$literalExpectation("#!", false);
316
+ var peg$e69 = peg$classExpectation(["\n", "\r"], true, false);
317
+ var peg$e70 = peg$classExpectation(["+", "-"], false, false);
318
+ var peg$e71 = peg$literalExpectation("\u2192", false);
319
+ var peg$e72 = peg$literalExpectation("->", false);
320
+ var peg$e73 = peg$otherExpectation("single quote string");
321
+ var peg$e74 = peg$literalExpectation("'", false);
322
+ var peg$e75 = peg$otherExpectation("string");
323
+ var peg$e76 = peg$otherExpectation("template");
324
+ var peg$e77 = peg$literalExpectation("${", false);
325
+ var peg$e78 = peg$otherExpectation("template text");
326
+ var peg$e79 = peg$otherExpectation("template literal");
327
+ var peg$e80 = peg$literalExpectation("`", false);
328
+ var peg$e81 = peg$otherExpectation("template substitution");
329
+ var peg$e82 = peg$otherExpectation("tree literal");
330
+ var peg$e83 = peg$otherExpectation("tree assignment");
326
331
 
327
332
  var peg$f0 = function() { return ""; };
328
333
  var peg$f1 = function(path) {
@@ -353,64 +358,65 @@ function peg$parse(input, options) {
353
358
  }
354
359
  return annotate(makeFunctionCall(target, chain), location());
355
360
  };
356
- var peg$f10 = function() { return text(); };
357
- var peg$f11 = function(chars) { return chars.join(""); };
358
- var peg$f12 = function() {
361
+ var peg$f10 = function(chars) { return chars.join(""); };
362
+ var peg$f11 = function() { return text(); };
363
+ var peg$f12 = function(chars) { return chars.join(""); };
364
+ var peg$f13 = function() {
359
365
  return parseInt(text());
360
366
  };
361
- var peg$f13 = function(expr) {
367
+ var peg$f14 = function(expr) {
362
368
  return annotate([ops.lambda, null, expr], location());
363
369
  };
364
- var peg$f14 = function() { return annotate([""], location()); };
365
- var peg$f15 = function() { return null; };
366
- var peg$f16 = function(entries) {
370
+ var peg$f15 = function() { return annotate([""], location()); };
371
+ var peg$f16 = function() { return null; };
372
+ var peg$f17 = function(entries) {
367
373
  return annotate(makeObject(entries ?? [], ops.object), location());
368
374
  };
369
- var peg$f17 = function(key) {
375
+ var peg$f18 = function(key) {
370
376
  return annotate([key, [ops.scope, key]], location());
371
377
  };
372
- var peg$f18 = function(parameters, expr) {
378
+ var peg$f19 = function(parameters, expr) {
373
379
  return annotate([ops.lambda, parameters ?? [], expr], location());
374
380
  };
375
- var peg$f19 = function(list) {
381
+ var peg$f20 = function(list) {
376
382
  return list ?? annotate([undefined], location());
377
383
  };
378
- var peg$f20 = function(steps) {
384
+ var peg$f21 = function(steps) {
379
385
  return annotate(makePipeline(steps), location());
380
386
  };
381
- var peg$f21 = function(chars) { return chars.join(""); };
382
- var peg$f22 = function(protocol, host, path) {
387
+ var peg$f22 = function(chars) { return chars.join(""); };
388
+ var peg$f23 = function(protocol, host, path) {
383
389
  return annotate([protocol, host, ...(path ?? [])], location());
384
390
  };
385
- var peg$f23 = function() { return ops.https; };
386
- var peg$f24 = function() { return ops.http; };
387
- var peg$f25 = function() { return ops.constructor; };
388
- var peg$f26 = function() { return [ops.scope, "@package"] };
389
- var peg$f27 = function() { return ops.treeHttps; };
390
- var peg$f28 = function() { return ops.treeHttp; };
391
- var peg$f29 = function() { return ops.treeHttps; };
392
- var peg$f30 = function(key) {
391
+ var peg$f24 = function() { return ops.https; };
392
+ var peg$f25 = function() { return ops.http; };
393
+ var peg$f26 = function() { return ops.constructor; };
394
+ var peg$f27 = function() { return [ops.scope, "@package"] };
395
+ var peg$f28 = function() { return ops.treeHttps; };
396
+ var peg$f29 = function() { return ops.treeHttp; };
397
+ var peg$f30 = function() { return ops.treeHttps; };
398
+ var peg$f31 = function(key) {
393
399
  return annotate([ops.scope, key], location());
394
400
  };
395
- var peg$f31 = function() { return null; };
396
401
  var peg$f32 = function() { return null; };
397
- var peg$f33 = function(chars) { return chars.join(""); };
398
- var peg$f34 = function(expr) { return [ops.spread, expr]; };
399
- var peg$f35 = function(contents) {
402
+ var peg$f33 = function() { return null; };
403
+ var peg$f34 = function(chars) { return chars.join(""); };
404
+ var peg$f35 = function(expr) { return [ops.spread, expr]; };
405
+ var peg$f36 = function(contents) {
400
406
  return annotate([ops.lambda, null, contents], location());
401
407
  };
402
- var peg$f36 = function(parts) {
408
+ var peg$f37 = function(parts) {
403
409
  return annotate(makeTemplate(parts), location());
404
410
  };
405
- var peg$f37 = function(chars) { return chars.join(""); };
406
- var peg$f38 = function(parts) {
411
+ var peg$f38 = function(chars) { return chars.join(""); };
412
+ var peg$f39 = function(parts) {
407
413
  return annotate(makeTemplate(parts), location());
408
414
  };
409
- var peg$f39 = function(chars) { return chars.join(""); };
410
- var peg$f40 = function(entries) {
415
+ var peg$f40 = function(chars) { return chars.join(""); };
416
+ var peg$f41 = function(entries) {
411
417
  return annotate(makeObject(entries ?? [], ops.tree), location());
412
418
  };
413
- var peg$f41 = function(key) {
419
+ var peg$f42 = function(key) {
414
420
  return annotate([key, [ops.inherited, key]], location());
415
421
  };
416
422
  var peg$currPos = options.peg$currPos | 0;
@@ -1265,6 +1271,91 @@ function peg$parse(input, options) {
1265
1271
  return s0;
1266
1272
  }
1267
1273
 
1274
+ function peg$parseguillemetString() {
1275
+ var s0, s1, s2, s3;
1276
+
1277
+ peg$silentFails++;
1278
+ s0 = peg$currPos;
1279
+ if (input.charCodeAt(peg$currPos) === 171) {
1280
+ s1 = peg$c13;
1281
+ peg$currPos++;
1282
+ } else {
1283
+ s1 = peg$FAILED;
1284
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
1285
+ }
1286
+ if (s1 !== peg$FAILED) {
1287
+ s2 = [];
1288
+ s3 = peg$parseguillemetStringChar();
1289
+ while (s3 !== peg$FAILED) {
1290
+ s2.push(s3);
1291
+ s3 = peg$parseguillemetStringChar();
1292
+ }
1293
+ if (input.charCodeAt(peg$currPos) === 187) {
1294
+ s3 = peg$c14;
1295
+ peg$currPos++;
1296
+ } else {
1297
+ s3 = peg$FAILED;
1298
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
1299
+ }
1300
+ if (s3 !== peg$FAILED) {
1301
+ peg$savedPos = s0;
1302
+ s0 = peg$f10(s2);
1303
+ } else {
1304
+ peg$currPos = s0;
1305
+ s0 = peg$FAILED;
1306
+ }
1307
+ } else {
1308
+ peg$currPos = s0;
1309
+ s0 = peg$FAILED;
1310
+ }
1311
+ peg$silentFails--;
1312
+ if (s0 === peg$FAILED) {
1313
+ s1 = peg$FAILED;
1314
+ if (peg$silentFails === 0) { peg$fail(peg$e26); }
1315
+ }
1316
+
1317
+ return s0;
1318
+ }
1319
+
1320
+ function peg$parseguillemetStringChar() {
1321
+ var s0, s1, s2;
1322
+
1323
+ s0 = peg$currPos;
1324
+ s1 = peg$currPos;
1325
+ peg$silentFails++;
1326
+ if (input.charCodeAt(peg$currPos) === 187) {
1327
+ s2 = peg$c14;
1328
+ peg$currPos++;
1329
+ } else {
1330
+ s2 = peg$FAILED;
1331
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
1332
+ }
1333
+ if (s2 === peg$FAILED) {
1334
+ s2 = peg$parsenewLine();
1335
+ }
1336
+ peg$silentFails--;
1337
+ if (s2 === peg$FAILED) {
1338
+ s1 = undefined;
1339
+ } else {
1340
+ peg$currPos = s1;
1341
+ s1 = peg$FAILED;
1342
+ }
1343
+ if (s1 !== peg$FAILED) {
1344
+ s2 = peg$parsetextChar();
1345
+ if (s2 !== peg$FAILED) {
1346
+ s0 = s2;
1347
+ } else {
1348
+ peg$currPos = s0;
1349
+ s0 = peg$FAILED;
1350
+ }
1351
+ } else {
1352
+ peg$currPos = s0;
1353
+ s0 = peg$FAILED;
1354
+ }
1355
+
1356
+ return s0;
1357
+ }
1358
+
1268
1359
  function peg$parsehost() {
1269
1360
  var s0, s1, s2, s3, s4;
1270
1361
 
@@ -1274,11 +1365,11 @@ function peg$parse(input, options) {
1274
1365
  if (s1 !== peg$FAILED) {
1275
1366
  s2 = peg$currPos;
1276
1367
  if (input.charCodeAt(peg$currPos) === 58) {
1277
- s3 = peg$c13;
1368
+ s3 = peg$c15;
1278
1369
  peg$currPos++;
1279
1370
  } else {
1280
1371
  s3 = peg$FAILED;
1281
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
1372
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
1282
1373
  }
1283
1374
  if (s3 !== peg$FAILED) {
1284
1375
  s4 = peg$parsenumber();
@@ -1297,7 +1388,7 @@ function peg$parse(input, options) {
1297
1388
  s2 = null;
1298
1389
  }
1299
1390
  peg$savedPos = s0;
1300
- s0 = peg$f10();
1391
+ s0 = peg$f11();
1301
1392
  } else {
1302
1393
  peg$currPos = s0;
1303
1394
  s0 = peg$FAILED;
@@ -1305,7 +1396,7 @@ function peg$parse(input, options) {
1305
1396
  peg$silentFails--;
1306
1397
  if (s0 === peg$FAILED) {
1307
1398
  s1 = peg$FAILED;
1308
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
1399
+ if (peg$silentFails === 0) { peg$fail(peg$e29); }
1309
1400
  }
1310
1401
 
1311
1402
  return s0;
@@ -1328,13 +1419,13 @@ function peg$parse(input, options) {
1328
1419
  }
1329
1420
  if (s1 !== peg$FAILED) {
1330
1421
  peg$savedPos = s0;
1331
- s1 = peg$f11(s1);
1422
+ s1 = peg$f12(s1);
1332
1423
  }
1333
1424
  s0 = s1;
1334
1425
  peg$silentFails--;
1335
1426
  if (s0 === peg$FAILED) {
1336
1427
  s1 = peg$FAILED;
1337
- if (peg$silentFails === 0) { peg$fail(peg$e28); }
1428
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
1338
1429
  }
1339
1430
 
1340
1431
  return s0;
@@ -1348,26 +1439,26 @@ function peg$parse(input, options) {
1348
1439
  peg$currPos++;
1349
1440
  } else {
1350
1441
  s0 = peg$FAILED;
1351
- if (peg$silentFails === 0) { peg$fail(peg$e29); }
1442
+ if (peg$silentFails === 0) { peg$fail(peg$e32); }
1352
1443
  }
1353
1444
  if (s0 === peg$FAILED) {
1354
1445
  s0 = peg$currPos;
1355
1446
  if (input.charCodeAt(peg$currPos) === 45) {
1356
- s1 = peg$c14;
1447
+ s1 = peg$c16;
1357
1448
  peg$currPos++;
1358
1449
  } else {
1359
1450
  s1 = peg$FAILED;
1360
- if (peg$silentFails === 0) { peg$fail(peg$e30); }
1451
+ if (peg$silentFails === 0) { peg$fail(peg$e33); }
1361
1452
  }
1362
1453
  if (s1 !== peg$FAILED) {
1363
1454
  s2 = peg$currPos;
1364
1455
  peg$silentFails++;
1365
1456
  if (input.charCodeAt(peg$currPos) === 62) {
1366
- s3 = peg$c15;
1457
+ s3 = peg$c17;
1367
1458
  peg$currPos++;
1368
1459
  } else {
1369
1460
  s3 = peg$FAILED;
1370
- if (peg$silentFails === 0) { peg$fail(peg$e31); }
1461
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
1371
1462
  }
1372
1463
  peg$silentFails--;
1373
1464
  if (s3 === peg$FAILED) {
@@ -1506,7 +1597,7 @@ function peg$parse(input, options) {
1506
1597
  peg$silentFails--;
1507
1598
  if (s0 === peg$FAILED) {
1508
1599
  s1 = peg$FAILED;
1509
- if (peg$silentFails === 0) { peg$fail(peg$e32); }
1600
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
1510
1601
  }
1511
1602
 
1512
1603
  return s0;
@@ -1520,7 +1611,7 @@ function peg$parse(input, options) {
1520
1611
  peg$currPos++;
1521
1612
  } else {
1522
1613
  s0 = peg$FAILED;
1523
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
1614
+ if (peg$silentFails === 0) { peg$fail(peg$e36); }
1524
1615
  }
1525
1616
 
1526
1617
  return s0;
@@ -1538,7 +1629,7 @@ function peg$parse(input, options) {
1538
1629
  s2 = peg$parsedigits();
1539
1630
  if (s2 !== peg$FAILED) {
1540
1631
  peg$savedPos = s0;
1541
- s0 = peg$f12();
1632
+ s0 = peg$f13();
1542
1633
  } else {
1543
1634
  peg$currPos = s0;
1544
1635
  s0 = peg$FAILED;
@@ -1546,7 +1637,7 @@ function peg$parse(input, options) {
1546
1637
  peg$silentFails--;
1547
1638
  if (s0 === peg$FAILED) {
1548
1639
  s1 = peg$FAILED;
1549
- if (peg$silentFails === 0) { peg$fail(peg$e34); }
1640
+ if (peg$silentFails === 0) { peg$fail(peg$e37); }
1550
1641
  }
1551
1642
 
1552
1643
  return s0;
@@ -1558,18 +1649,18 @@ function peg$parse(input, options) {
1558
1649
  peg$silentFails++;
1559
1650
  s0 = peg$currPos;
1560
1651
  if (input.charCodeAt(peg$currPos) === 61) {
1561
- s1 = peg$c16;
1652
+ s1 = peg$c18;
1562
1653
  peg$currPos++;
1563
1654
  } else {
1564
1655
  s1 = peg$FAILED;
1565
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
1656
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
1566
1657
  }
1567
1658
  if (s1 !== peg$FAILED) {
1568
1659
  s2 = peg$parse__();
1569
1660
  s3 = peg$parsepipeline();
1570
1661
  if (s3 !== peg$FAILED) {
1571
1662
  peg$savedPos = s0;
1572
- s0 = peg$f13(s3);
1663
+ s0 = peg$f14(s3);
1573
1664
  } else {
1574
1665
  peg$currPos = s0;
1575
1666
  s0 = peg$FAILED;
@@ -1581,7 +1672,7 @@ function peg$parse(input, options) {
1581
1672
  peg$silentFails--;
1582
1673
  if (s0 === peg$FAILED) {
1583
1674
  s1 = peg$FAILED;
1584
- if (peg$silentFails === 0) { peg$fail(peg$e35); }
1675
+ if (peg$silentFails === 0) { peg$fail(peg$e38); }
1585
1676
  }
1586
1677
 
1587
1678
  return s0;
@@ -1593,11 +1684,11 @@ function peg$parse(input, options) {
1593
1684
  peg$silentFails++;
1594
1685
  s0 = peg$currPos;
1595
1686
  if (input.charCodeAt(peg$currPos) === 47) {
1596
- s1 = peg$c17;
1687
+ s1 = peg$c19;
1597
1688
  peg$currPos++;
1598
1689
  } else {
1599
1690
  s1 = peg$FAILED;
1600
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
1691
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
1601
1692
  }
1602
1693
  if (s1 !== peg$FAILED) {
1603
1694
  s2 = peg$parsepath();
@@ -1609,22 +1700,22 @@ function peg$parse(input, options) {
1609
1700
  if (s0 === peg$FAILED) {
1610
1701
  s0 = peg$currPos;
1611
1702
  if (input.charCodeAt(peg$currPos) === 47) {
1612
- s1 = peg$c17;
1703
+ s1 = peg$c19;
1613
1704
  peg$currPos++;
1614
1705
  } else {
1615
1706
  s1 = peg$FAILED;
1616
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
1707
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
1617
1708
  }
1618
1709
  if (s1 !== peg$FAILED) {
1619
1710
  peg$savedPos = s0;
1620
- s1 = peg$f14();
1711
+ s1 = peg$f15();
1621
1712
  }
1622
1713
  s0 = s1;
1623
1714
  }
1624
1715
  peg$silentFails--;
1625
1716
  if (s0 === peg$FAILED) {
1626
1717
  s1 = peg$FAILED;
1627
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
1718
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
1628
1719
  }
1629
1720
 
1630
1721
  return s0;
@@ -1673,7 +1764,7 @@ function peg$parse(input, options) {
1673
1764
  peg$silentFails--;
1674
1765
  if (s0 === peg$FAILED) {
1675
1766
  s1 = peg$FAILED;
1676
- if (peg$silentFails === 0) { peg$fail(peg$e39); }
1767
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
1677
1768
  }
1678
1769
 
1679
1770
  return s0;
@@ -1683,24 +1774,24 @@ function peg$parse(input, options) {
1683
1774
  var s0, s1, s2, s3, s4, s5;
1684
1775
 
1685
1776
  s0 = peg$currPos;
1686
- if (input.substr(peg$currPos, 2) === peg$c18) {
1687
- s1 = peg$c18;
1777
+ if (input.substr(peg$currPos, 2) === peg$c20) {
1778
+ s1 = peg$c20;
1688
1779
  peg$currPos += 2;
1689
1780
  } else {
1690
1781
  s1 = peg$FAILED;
1691
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
1782
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
1692
1783
  }
1693
1784
  if (s1 !== peg$FAILED) {
1694
1785
  s2 = [];
1695
1786
  s3 = peg$currPos;
1696
1787
  s4 = peg$currPos;
1697
1788
  peg$silentFails++;
1698
- if (input.substr(peg$currPos, 2) === peg$c19) {
1699
- s5 = peg$c19;
1789
+ if (input.substr(peg$currPos, 2) === peg$c21) {
1790
+ s5 = peg$c21;
1700
1791
  peg$currPos += 2;
1701
1792
  } else {
1702
1793
  s5 = peg$FAILED;
1703
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
1794
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
1704
1795
  }
1705
1796
  peg$silentFails--;
1706
1797
  if (s5 === peg$FAILED) {
@@ -1733,12 +1824,12 @@ function peg$parse(input, options) {
1733
1824
  s3 = peg$currPos;
1734
1825
  s4 = peg$currPos;
1735
1826
  peg$silentFails++;
1736
- if (input.substr(peg$currPos, 2) === peg$c19) {
1737
- s5 = peg$c19;
1827
+ if (input.substr(peg$currPos, 2) === peg$c21) {
1828
+ s5 = peg$c21;
1738
1829
  peg$currPos += 2;
1739
1830
  } else {
1740
1831
  s5 = peg$FAILED;
1741
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
1832
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
1742
1833
  }
1743
1834
  peg$silentFails--;
1744
1835
  if (s5 === peg$FAILED) {
@@ -1767,16 +1858,16 @@ function peg$parse(input, options) {
1767
1858
  s3 = peg$FAILED;
1768
1859
  }
1769
1860
  }
1770
- if (input.substr(peg$currPos, 2) === peg$c19) {
1771
- s3 = peg$c19;
1861
+ if (input.substr(peg$currPos, 2) === peg$c21) {
1862
+ s3 = peg$c21;
1772
1863
  peg$currPos += 2;
1773
1864
  } else {
1774
1865
  s3 = peg$FAILED;
1775
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
1866
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
1776
1867
  }
1777
1868
  if (s3 !== peg$FAILED) {
1778
1869
  peg$savedPos = s0;
1779
- s0 = peg$f15();
1870
+ s0 = peg$f16();
1780
1871
  } else {
1781
1872
  peg$currPos = s0;
1782
1873
  s0 = peg$FAILED;
@@ -1793,27 +1884,27 @@ function peg$parse(input, options) {
1793
1884
  var s0;
1794
1885
 
1795
1886
  if (input.charCodeAt(peg$currPos) === 10) {
1796
- s0 = peg$c20;
1887
+ s0 = peg$c22;
1797
1888
  peg$currPos++;
1798
1889
  } else {
1799
1890
  s0 = peg$FAILED;
1800
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
1891
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
1801
1892
  }
1802
1893
  if (s0 === peg$FAILED) {
1803
- if (input.substr(peg$currPos, 2) === peg$c21) {
1804
- s0 = peg$c21;
1894
+ if (input.substr(peg$currPos, 2) === peg$c23) {
1895
+ s0 = peg$c23;
1805
1896
  peg$currPos += 2;
1806
1897
  } else {
1807
1898
  s0 = peg$FAILED;
1808
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
1899
+ if (peg$silentFails === 0) { peg$fail(peg$e46); }
1809
1900
  }
1810
1901
  if (s0 === peg$FAILED) {
1811
1902
  if (input.charCodeAt(peg$currPos) === 13) {
1812
- s0 = peg$c22;
1903
+ s0 = peg$c24;
1813
1904
  peg$currPos++;
1814
1905
  } else {
1815
1906
  s0 = peg$FAILED;
1816
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
1907
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
1817
1908
  }
1818
1909
  }
1819
1910
  }
@@ -1832,7 +1923,7 @@ function peg$parse(input, options) {
1832
1923
  peg$silentFails--;
1833
1924
  if (s0 === peg$FAILED) {
1834
1925
  s1 = peg$FAILED;
1835
- if (peg$silentFails === 0) { peg$fail(peg$e45); }
1926
+ if (peg$silentFails === 0) { peg$fail(peg$e48); }
1836
1927
  }
1837
1928
 
1838
1929
  return s0;
@@ -1844,11 +1935,11 @@ function peg$parse(input, options) {
1844
1935
  peg$silentFails++;
1845
1936
  s0 = peg$currPos;
1846
1937
  if (input.charCodeAt(peg$currPos) === 123) {
1847
- s1 = peg$c23;
1938
+ s1 = peg$c25;
1848
1939
  peg$currPos++;
1849
1940
  } else {
1850
1941
  s1 = peg$FAILED;
1851
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
1942
+ if (peg$silentFails === 0) { peg$fail(peg$e50); }
1852
1943
  }
1853
1944
  if (s1 !== peg$FAILED) {
1854
1945
  s2 = peg$parse__();
@@ -1866,7 +1957,7 @@ function peg$parse(input, options) {
1866
1957
  }
1867
1958
  if (s5 !== peg$FAILED) {
1868
1959
  peg$savedPos = s0;
1869
- s0 = peg$f16(s3);
1960
+ s0 = peg$f17(s3);
1870
1961
  } else {
1871
1962
  peg$currPos = s0;
1872
1963
  s0 = peg$FAILED;
@@ -1878,7 +1969,7 @@ function peg$parse(input, options) {
1878
1969
  peg$silentFails--;
1879
1970
  if (s0 === peg$FAILED) {
1880
1971
  s1 = peg$FAILED;
1881
- if (peg$silentFails === 0) { peg$fail(peg$e46); }
1972
+ if (peg$silentFails === 0) { peg$fail(peg$e49); }
1882
1973
  }
1883
1974
 
1884
1975
  return s0;
@@ -1938,7 +2029,7 @@ function peg$parse(input, options) {
1938
2029
  s1 = peg$parseidentifierOrString();
1939
2030
  if (s1 !== peg$FAILED) {
1940
2031
  peg$savedPos = s0;
1941
- s1 = peg$f17(s1);
2032
+ s1 = peg$f18(s1);
1942
2033
  }
1943
2034
  s0 = s1;
1944
2035
  }
@@ -1956,11 +2047,11 @@ function peg$parse(input, options) {
1956
2047
  if (s1 !== peg$FAILED) {
1957
2048
  s2 = peg$parse__();
1958
2049
  if (input.charCodeAt(peg$currPos) === 58) {
1959
- s3 = peg$c13;
2050
+ s3 = peg$c15;
1960
2051
  peg$currPos++;
1961
2052
  } else {
1962
2053
  s3 = peg$FAILED;
1963
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
2054
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
1964
2055
  }
1965
2056
  if (s3 !== peg$FAILED) {
1966
2057
  s4 = peg$parse__();
@@ -1982,7 +2073,7 @@ function peg$parse(input, options) {
1982
2073
  peg$silentFails--;
1983
2074
  if (s0 === peg$FAILED) {
1984
2075
  s1 = peg$FAILED;
1985
- if (peg$silentFails === 0) { peg$fail(peg$e48); }
2076
+ if (peg$silentFails === 0) { peg$fail(peg$e51); }
1986
2077
  }
1987
2078
 
1988
2079
  return s0;
@@ -2021,7 +2112,7 @@ function peg$parse(input, options) {
2021
2112
  s9 = peg$parsepipeline();
2022
2113
  if (s9 !== peg$FAILED) {
2023
2114
  peg$savedPos = s0;
2024
- s0 = peg$f18(s3, s9);
2115
+ s0 = peg$f19(s3, s9);
2025
2116
  } else {
2026
2117
  peg$currPos = s0;
2027
2118
  s0 = peg$FAILED;
@@ -2070,7 +2161,7 @@ function peg$parse(input, options) {
2070
2161
  }
2071
2162
  if (s5 !== peg$FAILED) {
2072
2163
  peg$savedPos = s0;
2073
- s0 = peg$f19(s3);
2164
+ s0 = peg$f20(s3);
2074
2165
  } else {
2075
2166
  peg$currPos = s0;
2076
2167
  s0 = peg$FAILED;
@@ -2082,7 +2173,7 @@ function peg$parse(input, options) {
2082
2173
  peg$silentFails--;
2083
2174
  if (s0 === peg$FAILED) {
2084
2175
  s1 = peg$FAILED;
2085
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
2176
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
2086
2177
  }
2087
2178
 
2088
2179
  return s0;
@@ -2136,7 +2227,7 @@ function peg$parse(input, options) {
2136
2227
  }
2137
2228
  if (s1 !== peg$FAILED) {
2138
2229
  peg$savedPos = s0;
2139
- s1 = peg$f20(s1);
2230
+ s1 = peg$f21(s1);
2140
2231
  }
2141
2232
  s0 = s1;
2142
2233
 
@@ -2154,11 +2245,11 @@ function peg$parse(input, options) {
2154
2245
  s1.push(s2);
2155
2246
  s2 = peg$currPos;
2156
2247
  if (input.charCodeAt(peg$currPos) === 47) {
2157
- s3 = peg$c17;
2248
+ s3 = peg$c19;
2158
2249
  peg$currPos++;
2159
2250
  } else {
2160
2251
  s3 = peg$FAILED;
2161
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
2252
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2162
2253
  }
2163
2254
  if (s3 !== peg$FAILED) {
2164
2255
  s3 = peg$parsepathKey();
@@ -2175,7 +2266,7 @@ function peg$parse(input, options) {
2175
2266
  }
2176
2267
  peg$silentFails--;
2177
2268
  s1 = peg$FAILED;
2178
- if (peg$silentFails === 0) { peg$fail(peg$e50); }
2269
+ if (peg$silentFails === 0) { peg$fail(peg$e53); }
2179
2270
 
2180
2271
  return s0;
2181
2272
  }
@@ -2192,11 +2283,11 @@ function peg$parse(input, options) {
2192
2283
  s2 = peg$parsepathKeyChar();
2193
2284
  }
2194
2285
  peg$savedPos = s0;
2195
- s1 = peg$f21(s1);
2286
+ s1 = peg$f22(s1);
2196
2287
  s0 = s1;
2197
2288
  peg$silentFails--;
2198
2289
  s1 = peg$FAILED;
2199
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
2290
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
2200
2291
 
2201
2292
  return s0;
2202
2293
  }
@@ -2209,7 +2300,7 @@ function peg$parse(input, options) {
2209
2300
  peg$currPos++;
2210
2301
  } else {
2211
2302
  s0 = peg$FAILED;
2212
- if (peg$silentFails === 0) { peg$fail(peg$e52); }
2303
+ if (peg$silentFails === 0) { peg$fail(peg$e55); }
2213
2304
  }
2214
2305
  if (s0 === peg$FAILED) {
2215
2306
  s0 = peg$parseescapedChar();
@@ -2226,20 +2317,20 @@ function peg$parse(input, options) {
2226
2317
  s1 = peg$parseprotocol();
2227
2318
  if (s1 !== peg$FAILED) {
2228
2319
  if (input.charCodeAt(peg$currPos) === 58) {
2229
- s2 = peg$c13;
2320
+ s2 = peg$c15;
2230
2321
  peg$currPos++;
2231
2322
  } else {
2232
2323
  s2 = peg$FAILED;
2233
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
2324
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
2234
2325
  }
2235
2326
  if (s2 !== peg$FAILED) {
2236
2327
  s3 = [];
2237
2328
  if (input.charCodeAt(peg$currPos) === 47) {
2238
- s4 = peg$c17;
2329
+ s4 = peg$c19;
2239
2330
  peg$currPos++;
2240
2331
  } else {
2241
2332
  s4 = peg$FAILED;
2242
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
2333
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2243
2334
  }
2244
2335
  while (s4 !== peg$FAILED) {
2245
2336
  s3.push(s4);
@@ -2247,11 +2338,11 @@ function peg$parse(input, options) {
2247
2338
  s4 = peg$FAILED;
2248
2339
  } else {
2249
2340
  if (input.charCodeAt(peg$currPos) === 47) {
2250
- s4 = peg$c17;
2341
+ s4 = peg$c19;
2251
2342
  peg$currPos++;
2252
2343
  } else {
2253
2344
  s4 = peg$FAILED;
2254
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
2345
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
2255
2346
  }
2256
2347
  }
2257
2348
  }
@@ -2262,7 +2353,7 @@ function peg$parse(input, options) {
2262
2353
  s5 = null;
2263
2354
  }
2264
2355
  peg$savedPos = s0;
2265
- s0 = peg$f22(s1, s4, s5);
2356
+ s0 = peg$f23(s1, s4, s5);
2266
2357
  } else {
2267
2358
  peg$currPos = s0;
2268
2359
  s0 = peg$FAILED;
@@ -2278,7 +2369,7 @@ function peg$parse(input, options) {
2278
2369
  peg$silentFails--;
2279
2370
  if (s0 === peg$FAILED) {
2280
2371
  s1 = peg$FAILED;
2281
- if (peg$silentFails === 0) { peg$fail(peg$e53); }
2372
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
2282
2373
  }
2283
2374
 
2284
2375
  return s0;
@@ -2295,7 +2386,7 @@ function peg$parse(input, options) {
2295
2386
  peg$silentFails--;
2296
2387
  if (s0 === peg$FAILED) {
2297
2388
  s1 = peg$FAILED;
2298
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
2389
+ if (peg$silentFails === 0) { peg$fail(peg$e57); }
2299
2390
  }
2300
2391
 
2301
2392
  return s0;
@@ -2306,100 +2397,100 @@ function peg$parse(input, options) {
2306
2397
 
2307
2398
  peg$silentFails++;
2308
2399
  s0 = peg$currPos;
2309
- if (input.substr(peg$currPos, 5) === peg$c24) {
2310
- s1 = peg$c24;
2400
+ if (input.substr(peg$currPos, 5) === peg$c26) {
2401
+ s1 = peg$c26;
2311
2402
  peg$currPos += 5;
2312
2403
  } else {
2313
2404
  s1 = peg$FAILED;
2314
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
2405
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
2315
2406
  }
2316
2407
  if (s1 !== peg$FAILED) {
2317
2408
  peg$savedPos = s0;
2318
- s1 = peg$f23();
2409
+ s1 = peg$f24();
2319
2410
  }
2320
2411
  s0 = s1;
2321
2412
  if (s0 === peg$FAILED) {
2322
2413
  s0 = peg$currPos;
2323
- if (input.substr(peg$currPos, 4) === peg$c25) {
2324
- s1 = peg$c25;
2414
+ if (input.substr(peg$currPos, 4) === peg$c27) {
2415
+ s1 = peg$c27;
2325
2416
  peg$currPos += 4;
2326
2417
  } else {
2327
2418
  s1 = peg$FAILED;
2328
- if (peg$silentFails === 0) { peg$fail(peg$e57); }
2419
+ if (peg$silentFails === 0) { peg$fail(peg$e60); }
2329
2420
  }
2330
2421
  if (s1 !== peg$FAILED) {
2331
2422
  peg$savedPos = s0;
2332
- s1 = peg$f24();
2423
+ s1 = peg$f25();
2333
2424
  }
2334
2425
  s0 = s1;
2335
2426
  if (s0 === peg$FAILED) {
2336
2427
  s0 = peg$currPos;
2337
- if (input.substr(peg$currPos, 3) === peg$c26) {
2338
- s1 = peg$c26;
2428
+ if (input.substr(peg$currPos, 3) === peg$c28) {
2429
+ s1 = peg$c28;
2339
2430
  peg$currPos += 3;
2340
2431
  } else {
2341
2432
  s1 = peg$FAILED;
2342
- if (peg$silentFails === 0) { peg$fail(peg$e58); }
2433
+ if (peg$silentFails === 0) { peg$fail(peg$e61); }
2343
2434
  }
2344
2435
  if (s1 !== peg$FAILED) {
2345
2436
  peg$savedPos = s0;
2346
- s1 = peg$f25();
2437
+ s1 = peg$f26();
2347
2438
  }
2348
2439
  s0 = s1;
2349
2440
  if (s0 === peg$FAILED) {
2350
2441
  s0 = peg$currPos;
2351
- if (input.substr(peg$currPos, 7) === peg$c27) {
2352
- s1 = peg$c27;
2442
+ if (input.substr(peg$currPos, 7) === peg$c29) {
2443
+ s1 = peg$c29;
2353
2444
  peg$currPos += 7;
2354
2445
  } else {
2355
2446
  s1 = peg$FAILED;
2356
- if (peg$silentFails === 0) { peg$fail(peg$e59); }
2447
+ if (peg$silentFails === 0) { peg$fail(peg$e62); }
2357
2448
  }
2358
2449
  if (s1 !== peg$FAILED) {
2359
2450
  peg$savedPos = s0;
2360
- s1 = peg$f26();
2451
+ s1 = peg$f27();
2361
2452
  }
2362
2453
  s0 = s1;
2363
2454
  if (s0 === peg$FAILED) {
2364
2455
  s0 = peg$currPos;
2365
- if (input.substr(peg$currPos, 9) === peg$c28) {
2366
- s1 = peg$c28;
2456
+ if (input.substr(peg$currPos, 9) === peg$c30) {
2457
+ s1 = peg$c30;
2367
2458
  peg$currPos += 9;
2368
2459
  } else {
2369
2460
  s1 = peg$FAILED;
2370
- if (peg$silentFails === 0) { peg$fail(peg$e60); }
2461
+ if (peg$silentFails === 0) { peg$fail(peg$e63); }
2371
2462
  }
2372
2463
  if (s1 !== peg$FAILED) {
2373
2464
  peg$savedPos = s0;
2374
- s1 = peg$f27();
2465
+ s1 = peg$f28();
2375
2466
  }
2376
2467
  s0 = s1;
2377
2468
  if (s0 === peg$FAILED) {
2378
2469
  s0 = peg$currPos;
2379
- if (input.substr(peg$currPos, 8) === peg$c29) {
2380
- s1 = peg$c29;
2470
+ if (input.substr(peg$currPos, 8) === peg$c31) {
2471
+ s1 = peg$c31;
2381
2472
  peg$currPos += 8;
2382
2473
  } else {
2383
2474
  s1 = peg$FAILED;
2384
- if (peg$silentFails === 0) { peg$fail(peg$e61); }
2475
+ if (peg$silentFails === 0) { peg$fail(peg$e64); }
2385
2476
  }
2386
2477
  if (s1 !== peg$FAILED) {
2387
2478
  peg$savedPos = s0;
2388
- s1 = peg$f28();
2479
+ s1 = peg$f29();
2389
2480
  }
2390
2481
  s0 = s1;
2391
2482
  if (s0 === peg$FAILED) {
2392
2483
  s0 = peg$currPos;
2393
- if (input.substr(peg$currPos, 4) === peg$c30) {
2394
- s1 = peg$c30;
2484
+ if (input.substr(peg$currPos, 4) === peg$c32) {
2485
+ s1 = peg$c32;
2395
2486
  peg$currPos += 4;
2396
2487
  } else {
2397
2488
  s1 = peg$FAILED;
2398
- if (peg$silentFails === 0) { peg$fail(peg$e62); }
2489
+ if (peg$silentFails === 0) { peg$fail(peg$e65); }
2399
2490
  }
2400
2491
  if (s1 !== peg$FAILED) {
2401
2492
  peg$savedPos = s0;
2402
- s1 = peg$f29();
2493
+ s1 = peg$f30();
2403
2494
  }
2404
2495
  s0 = s1;
2405
2496
  }
@@ -2411,7 +2502,7 @@ function peg$parse(input, options) {
2411
2502
  peg$silentFails--;
2412
2503
  if (s0 === peg$FAILED) {
2413
2504
  s1 = peg$FAILED;
2414
- if (peg$silentFails === 0) { peg$fail(peg$e55); }
2505
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
2415
2506
  }
2416
2507
 
2417
2508
  return s0;
@@ -2425,13 +2516,13 @@ function peg$parse(input, options) {
2425
2516
  s1 = peg$parseidentifier();
2426
2517
  if (s1 !== peg$FAILED) {
2427
2518
  peg$savedPos = s0;
2428
- s1 = peg$f30(s1);
2519
+ s1 = peg$f31(s1);
2429
2520
  }
2430
2521
  s0 = s1;
2431
2522
  peg$silentFails--;
2432
2523
  if (s0 === peg$FAILED) {
2433
2524
  s1 = peg$FAILED;
2434
- if (peg$silentFails === 0) { peg$fail(peg$e63); }
2525
+ if (peg$silentFails === 0) { peg$fail(peg$e66); }
2435
2526
  }
2436
2527
 
2437
2528
  return s0;
@@ -2443,11 +2534,11 @@ function peg$parse(input, options) {
2443
2534
  s0 = peg$currPos;
2444
2535
  s1 = peg$parse__();
2445
2536
  if (input.charCodeAt(peg$currPos) === 44) {
2446
- s2 = peg$c31;
2537
+ s2 = peg$c33;
2447
2538
  peg$currPos++;
2448
2539
  } else {
2449
2540
  s2 = peg$FAILED;
2450
- if (peg$silentFails === 0) { peg$fail(peg$e64); }
2541
+ if (peg$silentFails === 0) { peg$fail(peg$e67); }
2451
2542
  }
2452
2543
  if (s2 !== peg$FAILED) {
2453
2544
  s3 = peg$parse__();
@@ -2468,12 +2559,12 @@ function peg$parse(input, options) {
2468
2559
  var s0, s1, s2, s3;
2469
2560
 
2470
2561
  s0 = peg$currPos;
2471
- if (input.substr(peg$currPos, 2) === peg$c32) {
2472
- s1 = peg$c32;
2562
+ if (input.substr(peg$currPos, 2) === peg$c34) {
2563
+ s1 = peg$c34;
2473
2564
  peg$currPos += 2;
2474
2565
  } else {
2475
2566
  s1 = peg$FAILED;
2476
- if (peg$silentFails === 0) { peg$fail(peg$e65); }
2567
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
2477
2568
  }
2478
2569
  if (s1 !== peg$FAILED) {
2479
2570
  s2 = [];
@@ -2482,7 +2573,7 @@ function peg$parse(input, options) {
2482
2573
  peg$currPos++;
2483
2574
  } else {
2484
2575
  s3 = peg$FAILED;
2485
- if (peg$silentFails === 0) { peg$fail(peg$e66); }
2576
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
2486
2577
  }
2487
2578
  while (s3 !== peg$FAILED) {
2488
2579
  s2.push(s3);
@@ -2491,11 +2582,11 @@ function peg$parse(input, options) {
2491
2582
  peg$currPos++;
2492
2583
  } else {
2493
2584
  s3 = peg$FAILED;
2494
- if (peg$silentFails === 0) { peg$fail(peg$e66); }
2585
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
2495
2586
  }
2496
2587
  }
2497
2588
  peg$savedPos = s0;
2498
- s0 = peg$f31();
2589
+ s0 = peg$f32();
2499
2590
  } else {
2500
2591
  peg$currPos = s0;
2501
2592
  s0 = peg$FAILED;
@@ -2512,7 +2603,7 @@ function peg$parse(input, options) {
2512
2603
  peg$currPos++;
2513
2604
  } else {
2514
2605
  s0 = peg$FAILED;
2515
- if (peg$silentFails === 0) { peg$fail(peg$e67); }
2606
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
2516
2607
  }
2517
2608
 
2518
2609
  return s0;
@@ -2522,19 +2613,19 @@ function peg$parse(input, options) {
2522
2613
  var s0;
2523
2614
 
2524
2615
  if (input.charCodeAt(peg$currPos) === 8594) {
2525
- s0 = peg$c33;
2616
+ s0 = peg$c35;
2526
2617
  peg$currPos++;
2527
2618
  } else {
2528
2619
  s0 = peg$FAILED;
2529
- if (peg$silentFails === 0) { peg$fail(peg$e68); }
2620
+ if (peg$silentFails === 0) { peg$fail(peg$e71); }
2530
2621
  }
2531
2622
  if (s0 === peg$FAILED) {
2532
- if (input.substr(peg$currPos, 2) === peg$c34) {
2533
- s0 = peg$c34;
2623
+ if (input.substr(peg$currPos, 2) === peg$c36) {
2624
+ s0 = peg$c36;
2534
2625
  peg$currPos += 2;
2535
2626
  } else {
2536
2627
  s0 = peg$FAILED;
2537
- if (peg$silentFails === 0) { peg$fail(peg$e69); }
2628
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
2538
2629
  }
2539
2630
  }
2540
2631
 
@@ -2559,7 +2650,7 @@ function peg$parse(input, options) {
2559
2650
  peg$currPos++;
2560
2651
  } else {
2561
2652
  s3 = peg$FAILED;
2562
- if (peg$silentFails === 0) { peg$fail(peg$e66); }
2653
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
2563
2654
  }
2564
2655
  while (s3 !== peg$FAILED) {
2565
2656
  s2.push(s3);
@@ -2568,11 +2659,11 @@ function peg$parse(input, options) {
2568
2659
  peg$currPos++;
2569
2660
  } else {
2570
2661
  s3 = peg$FAILED;
2571
- if (peg$silentFails === 0) { peg$fail(peg$e66); }
2662
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
2572
2663
  }
2573
2664
  }
2574
2665
  peg$savedPos = s0;
2575
- s0 = peg$f32();
2666
+ s0 = peg$f33();
2576
2667
  } else {
2577
2668
  peg$currPos = s0;
2578
2669
  s0 = peg$FAILED;
@@ -2587,11 +2678,11 @@ function peg$parse(input, options) {
2587
2678
  peg$silentFails++;
2588
2679
  s0 = peg$currPos;
2589
2680
  if (input.charCodeAt(peg$currPos) === 39) {
2590
- s1 = peg$c35;
2681
+ s1 = peg$c37;
2591
2682
  peg$currPos++;
2592
2683
  } else {
2593
2684
  s1 = peg$FAILED;
2594
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
2685
+ if (peg$silentFails === 0) { peg$fail(peg$e74); }
2595
2686
  }
2596
2687
  if (s1 !== peg$FAILED) {
2597
2688
  s2 = [];
@@ -2601,15 +2692,15 @@ function peg$parse(input, options) {
2601
2692
  s3 = peg$parsesingleQuoteStringChar();
2602
2693
  }
2603
2694
  if (input.charCodeAt(peg$currPos) === 39) {
2604
- s3 = peg$c35;
2695
+ s3 = peg$c37;
2605
2696
  peg$currPos++;
2606
2697
  } else {
2607
2698
  s3 = peg$FAILED;
2608
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
2699
+ if (peg$silentFails === 0) { peg$fail(peg$e74); }
2609
2700
  }
2610
2701
  if (s3 !== peg$FAILED) {
2611
2702
  peg$savedPos = s0;
2612
- s0 = peg$f33(s2);
2703
+ s0 = peg$f34(s2);
2613
2704
  } else {
2614
2705
  peg$currPos = s0;
2615
2706
  s0 = peg$FAILED;
@@ -2621,7 +2712,7 @@ function peg$parse(input, options) {
2621
2712
  peg$silentFails--;
2622
2713
  if (s0 === peg$FAILED) {
2623
2714
  s1 = peg$FAILED;
2624
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
2715
+ if (peg$silentFails === 0) { peg$fail(peg$e73); }
2625
2716
  }
2626
2717
 
2627
2718
  return s0;
@@ -2634,11 +2725,11 @@ function peg$parse(input, options) {
2634
2725
  s1 = peg$currPos;
2635
2726
  peg$silentFails++;
2636
2727
  if (input.charCodeAt(peg$currPos) === 39) {
2637
- s2 = peg$c35;
2728
+ s2 = peg$c37;
2638
2729
  peg$currPos++;
2639
2730
  } else {
2640
2731
  s2 = peg$FAILED;
2641
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
2732
+ if (peg$silentFails === 0) { peg$fail(peg$e74); }
2642
2733
  }
2643
2734
  if (s2 === peg$FAILED) {
2644
2735
  s2 = peg$parsenewLine();
@@ -2675,7 +2766,7 @@ function peg$parse(input, options) {
2675
2766
  s2 = peg$parsepipeline();
2676
2767
  if (s2 !== peg$FAILED) {
2677
2768
  peg$savedPos = s0;
2678
- s0 = peg$f34(s2);
2769
+ s0 = peg$f35(s2);
2679
2770
  } else {
2680
2771
  peg$currPos = s0;
2681
2772
  s0 = peg$FAILED;
@@ -2747,11 +2838,14 @@ function peg$parse(input, options) {
2747
2838
  s0 = peg$parsedoubleQuoteString();
2748
2839
  if (s0 === peg$FAILED) {
2749
2840
  s0 = peg$parsesingleQuoteString();
2841
+ if (s0 === peg$FAILED) {
2842
+ s0 = peg$parseguillemetString();
2843
+ }
2750
2844
  }
2751
2845
  peg$silentFails--;
2752
2846
  if (s0 === peg$FAILED) {
2753
2847
  s1 = peg$FAILED;
2754
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
2848
+ if (peg$silentFails === 0) { peg$fail(peg$e75); }
2755
2849
  }
2756
2850
 
2757
2851
  return s0;
@@ -2764,11 +2858,11 @@ function peg$parse(input, options) {
2764
2858
  s0 = peg$currPos;
2765
2859
  s1 = peg$parsetemplateDocumentContents();
2766
2860
  peg$savedPos = s0;
2767
- s1 = peg$f35(s1);
2861
+ s1 = peg$f36(s1);
2768
2862
  s0 = s1;
2769
2863
  peg$silentFails--;
2770
2864
  s1 = peg$FAILED;
2771
- if (peg$silentFails === 0) { peg$fail(peg$e73); }
2865
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
2772
2866
 
2773
2867
  return s0;
2774
2868
  }
@@ -2779,12 +2873,12 @@ function peg$parse(input, options) {
2779
2873
  s0 = peg$currPos;
2780
2874
  s1 = peg$currPos;
2781
2875
  peg$silentFails++;
2782
- if (input.substr(peg$currPos, 2) === peg$c36) {
2783
- s2 = peg$c36;
2876
+ if (input.substr(peg$currPos, 2) === peg$c38) {
2877
+ s2 = peg$c38;
2784
2878
  peg$currPos += 2;
2785
2879
  } else {
2786
2880
  s2 = peg$FAILED;
2787
- if (peg$silentFails === 0) { peg$fail(peg$e74); }
2881
+ if (peg$silentFails === 0) { peg$fail(peg$e77); }
2788
2882
  }
2789
2883
  peg$silentFails--;
2790
2884
  if (s2 === peg$FAILED) {
@@ -2826,7 +2920,7 @@ function peg$parse(input, options) {
2826
2920
  }
2827
2921
  }
2828
2922
  peg$savedPos = s0;
2829
- s1 = peg$f36(s1);
2923
+ s1 = peg$f37(s1);
2830
2924
  s0 = s1;
2831
2925
 
2832
2926
  return s0;
@@ -2849,13 +2943,13 @@ function peg$parse(input, options) {
2849
2943
  }
2850
2944
  if (s1 !== peg$FAILED) {
2851
2945
  peg$savedPos = s0;
2852
- s1 = peg$f37(s1);
2946
+ s1 = peg$f38(s1);
2853
2947
  }
2854
2948
  s0 = s1;
2855
2949
  peg$silentFails--;
2856
2950
  if (s0 === peg$FAILED) {
2857
2951
  s1 = peg$FAILED;
2858
- if (peg$silentFails === 0) { peg$fail(peg$e75); }
2952
+ if (peg$silentFails === 0) { peg$fail(peg$e78); }
2859
2953
  }
2860
2954
 
2861
2955
  return s0;
@@ -2867,20 +2961,20 @@ function peg$parse(input, options) {
2867
2961
  peg$silentFails++;
2868
2962
  s0 = peg$currPos;
2869
2963
  if (input.charCodeAt(peg$currPos) === 96) {
2870
- s1 = peg$c37;
2964
+ s1 = peg$c39;
2871
2965
  peg$currPos++;
2872
2966
  } else {
2873
2967
  s1 = peg$FAILED;
2874
- if (peg$silentFails === 0) { peg$fail(peg$e77); }
2968
+ if (peg$silentFails === 0) { peg$fail(peg$e80); }
2875
2969
  }
2876
2970
  if (s1 !== peg$FAILED) {
2877
2971
  s2 = peg$parsetemplateLiteralContents();
2878
2972
  if (input.charCodeAt(peg$currPos) === 96) {
2879
- s3 = peg$c37;
2973
+ s3 = peg$c39;
2880
2974
  peg$currPos++;
2881
2975
  } else {
2882
2976
  s3 = peg$FAILED;
2883
- if (peg$silentFails === 0) { peg$fail(peg$e77); }
2977
+ if (peg$silentFails === 0) { peg$fail(peg$e80); }
2884
2978
  }
2885
2979
  if (s3 !== peg$FAILED) {
2886
2980
  s0 = s2;
@@ -2895,7 +2989,7 @@ function peg$parse(input, options) {
2895
2989
  peg$silentFails--;
2896
2990
  if (s0 === peg$FAILED) {
2897
2991
  s1 = peg$FAILED;
2898
- if (peg$silentFails === 0) { peg$fail(peg$e76); }
2992
+ if (peg$silentFails === 0) { peg$fail(peg$e79); }
2899
2993
  }
2900
2994
 
2901
2995
  return s0;
@@ -2908,19 +3002,19 @@ function peg$parse(input, options) {
2908
3002
  s1 = peg$currPos;
2909
3003
  peg$silentFails++;
2910
3004
  if (input.charCodeAt(peg$currPos) === 96) {
2911
- s2 = peg$c37;
3005
+ s2 = peg$c39;
2912
3006
  peg$currPos++;
2913
3007
  } else {
2914
3008
  s2 = peg$FAILED;
2915
- if (peg$silentFails === 0) { peg$fail(peg$e77); }
3009
+ if (peg$silentFails === 0) { peg$fail(peg$e80); }
2916
3010
  }
2917
3011
  if (s2 === peg$FAILED) {
2918
- if (input.substr(peg$currPos, 2) === peg$c36) {
2919
- s2 = peg$c36;
3012
+ if (input.substr(peg$currPos, 2) === peg$c38) {
3013
+ s2 = peg$c38;
2920
3014
  peg$currPos += 2;
2921
3015
  } else {
2922
3016
  s2 = peg$FAILED;
2923
- if (peg$silentFails === 0) { peg$fail(peg$e74); }
3017
+ if (peg$silentFails === 0) { peg$fail(peg$e77); }
2924
3018
  }
2925
3019
  }
2926
3020
  peg$silentFails--;
@@ -2963,7 +3057,7 @@ function peg$parse(input, options) {
2963
3057
  }
2964
3058
  }
2965
3059
  peg$savedPos = s0;
2966
- s1 = peg$f38(s1);
3060
+ s1 = peg$f39(s1);
2967
3061
  s0 = s1;
2968
3062
 
2969
3063
  return s0;
@@ -2985,7 +3079,7 @@ function peg$parse(input, options) {
2985
3079
  }
2986
3080
  if (s1 !== peg$FAILED) {
2987
3081
  peg$savedPos = s0;
2988
- s1 = peg$f39(s1);
3082
+ s1 = peg$f40(s1);
2989
3083
  }
2990
3084
  s0 = s1;
2991
3085
 
@@ -2997,12 +3091,12 @@ function peg$parse(input, options) {
2997
3091
 
2998
3092
  peg$silentFails++;
2999
3093
  s0 = peg$currPos;
3000
- if (input.substr(peg$currPos, 2) === peg$c36) {
3001
- s1 = peg$c36;
3094
+ if (input.substr(peg$currPos, 2) === peg$c38) {
3095
+ s1 = peg$c38;
3002
3096
  peg$currPos += 2;
3003
3097
  } else {
3004
3098
  s1 = peg$FAILED;
3005
- if (peg$silentFails === 0) { peg$fail(peg$e74); }
3099
+ if (peg$silentFails === 0) { peg$fail(peg$e77); }
3006
3100
  }
3007
3101
  if (s1 !== peg$FAILED) {
3008
3102
  s2 = peg$parse__();
@@ -3033,7 +3127,7 @@ function peg$parse(input, options) {
3033
3127
  peg$silentFails--;
3034
3128
  if (s0 === peg$FAILED) {
3035
3129
  s1 = peg$FAILED;
3036
- if (peg$silentFails === 0) { peg$fail(peg$e78); }
3130
+ if (peg$silentFails === 0) { peg$fail(peg$e81); }
3037
3131
  }
3038
3132
 
3039
3133
  return s0;
@@ -3062,11 +3156,11 @@ function peg$parse(input, options) {
3062
3156
  peg$silentFails++;
3063
3157
  s0 = peg$currPos;
3064
3158
  if (input.charCodeAt(peg$currPos) === 123) {
3065
- s1 = peg$c23;
3159
+ s1 = peg$c25;
3066
3160
  peg$currPos++;
3067
3161
  } else {
3068
3162
  s1 = peg$FAILED;
3069
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
3163
+ if (peg$silentFails === 0) { peg$fail(peg$e50); }
3070
3164
  }
3071
3165
  if (s1 !== peg$FAILED) {
3072
3166
  s2 = peg$parse__();
@@ -3078,7 +3172,7 @@ function peg$parse(input, options) {
3078
3172
  s5 = peg$parseclosingBrace();
3079
3173
  if (s5 !== peg$FAILED) {
3080
3174
  peg$savedPos = s0;
3081
- s0 = peg$f40(s3);
3175
+ s0 = peg$f41(s3);
3082
3176
  } else {
3083
3177
  peg$currPos = s0;
3084
3178
  s0 = peg$FAILED;
@@ -3090,7 +3184,7 @@ function peg$parse(input, options) {
3090
3184
  peg$silentFails--;
3091
3185
  if (s0 === peg$FAILED) {
3092
3186
  s1 = peg$FAILED;
3093
- if (peg$silentFails === 0) { peg$fail(peg$e79); }
3187
+ if (peg$silentFails === 0) { peg$fail(peg$e82); }
3094
3188
  }
3095
3189
 
3096
3190
  return s0;
@@ -3105,11 +3199,11 @@ function peg$parse(input, options) {
3105
3199
  if (s1 !== peg$FAILED) {
3106
3200
  s2 = peg$parse__();
3107
3201
  if (input.charCodeAt(peg$currPos) === 61) {
3108
- s3 = peg$c16;
3202
+ s3 = peg$c18;
3109
3203
  peg$currPos++;
3110
3204
  } else {
3111
3205
  s3 = peg$FAILED;
3112
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
3206
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
3113
3207
  }
3114
3208
  if (s3 !== peg$FAILED) {
3115
3209
  s4 = peg$parse__();
@@ -3131,7 +3225,7 @@ function peg$parse(input, options) {
3131
3225
  peg$silentFails--;
3132
3226
  if (s0 === peg$FAILED) {
3133
3227
  s1 = peg$FAILED;
3134
- if (peg$silentFails === 0) { peg$fail(peg$e80); }
3228
+ if (peg$silentFails === 0) { peg$fail(peg$e83); }
3135
3229
  }
3136
3230
 
3137
3231
  return s0;
@@ -3191,7 +3285,7 @@ function peg$parse(input, options) {
3191
3285
  s1 = peg$parseidentifierOrString();
3192
3286
  if (s1 !== peg$FAILED) {
3193
3287
  peg$savedPos = s0;
3194
- s1 = peg$f41(s1);
3288
+ s1 = peg$f42(s1);
3195
3289
  }
3196
3290
  s0 = s1;
3197
3291
  }
@@ -3278,6 +3372,8 @@ const peg$allowedStartRules = [
3278
3372
  "float",
3279
3373
  "functionComposition",
3280
3374
  "group",
3375
+ "guillemetString",
3376
+ "guillemetStringChar",
3281
3377
  "host",
3282
3378
  "identifier",
3283
3379
  "identifierChar",