simplex-lang 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -226,30 +226,31 @@ function peg$parse(input, options) {
226
226
  var peg$c30 = "typeof";
227
227
  var peg$c31 = "mod";
228
228
  var peg$c32 = "let";
229
- var peg$c33 = ";";
230
- var peg$c34 = "}";
231
- var peg$c35 = "(";
232
- var peg$c36 = ")";
233
- var peg$c37 = "[";
234
- var peg$c38 = "]";
235
- var peg$c39 = ",";
236
- var peg$c40 = "{";
237
- var peg$c41 = ":";
238
- var peg$c42 = "::";
239
- var peg$c43 = "%";
240
- var peg$c44 = "^";
241
- var peg$c45 = "&";
242
- var peg$c46 = "<=";
243
- var peg$c47 = ">=";
244
- var peg$c48 = "==";
245
- var peg$c49 = "!=";
246
- var peg$c50 = "&&";
247
- var peg$c51 = "||";
248
- var peg$c52 = "??";
249
- var peg$c53 = "|?";
229
+ var peg$c33 = "(";
230
+ var peg$c34 = ")";
231
+ var peg$c35 = "[";
232
+ var peg$c36 = "]";
233
+ var peg$c37 = ",";
234
+ var peg$c38 = "{";
235
+ var peg$c39 = "}";
236
+ var peg$c40 = ":";
237
+ var peg$c41 = "::";
238
+ var peg$c42 = "#";
239
+ var peg$c43 = "^";
240
+ var peg$c44 = "&";
241
+ var peg$c45 = "<=";
242
+ var peg$c46 = ">=";
243
+ var peg$c47 = "==";
244
+ var peg$c48 = "!=";
245
+ var peg$c49 = "&&";
246
+ var peg$c50 = "||";
247
+ var peg$c51 = "??";
248
+ var peg$c52 = "|?";
249
+ var peg$c53 = "|>";
250
250
  var peg$c54 = "|";
251
- var peg$c55 = "=>";
252
- var peg$c56 = "=";
251
+ var peg$c55 = "%";
252
+ var peg$c56 = "=>";
253
+ var peg$c57 = "=";
253
254
  var peg$r0 = /^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/;
254
255
  var peg$r1 = /^[\n\r\u2028\u2029]/;
255
256
  var peg$r2 = /^[\r\u2028-\u2029]/;
@@ -344,32 +345,33 @@ function peg$parse(input, options) {
344
345
  var peg$e63 = peg$literalExpectation("typeof", false);
345
346
  var peg$e64 = peg$literalExpectation("mod", false);
346
347
  var peg$e65 = peg$literalExpectation("let", false);
347
- var peg$e66 = peg$literalExpectation(";", false);
348
- var peg$e67 = peg$literalExpectation("}", false);
349
- var peg$e68 = peg$literalExpectation("(", false);
350
- var peg$e69 = peg$literalExpectation(")", false);
351
- var peg$e70 = peg$literalExpectation("[", false);
352
- var peg$e71 = peg$literalExpectation("]", false);
353
- var peg$e72 = peg$literalExpectation(",", false);
354
- var peg$e73 = peg$literalExpectation("{", false);
355
- var peg$e74 = peg$literalExpectation(":", false);
356
- var peg$e75 = peg$literalExpectation("::", false);
357
- var peg$e76 = peg$literalExpectation("%", false);
358
- var peg$e77 = peg$literalExpectation("^", false);
359
- var peg$e78 = peg$classExpectation(["*", "/"], false, false);
360
- var peg$e79 = peg$literalExpectation("&", false);
361
- var peg$e80 = peg$literalExpectation("<=", false);
362
- var peg$e81 = peg$literalExpectation(">=", false);
363
- var peg$e82 = peg$classExpectation(["<", ">"], false, false);
364
- var peg$e83 = peg$literalExpectation("==", false);
365
- var peg$e84 = peg$literalExpectation("!=", false);
366
- var peg$e85 = peg$literalExpectation("&&", false);
367
- var peg$e86 = peg$literalExpectation("||", false);
368
- var peg$e87 = peg$literalExpectation("??", false);
369
- var peg$e88 = peg$literalExpectation("|?", false);
348
+ var peg$e66 = peg$literalExpectation("(", false);
349
+ var peg$e67 = peg$literalExpectation(")", false);
350
+ var peg$e68 = peg$literalExpectation("[", false);
351
+ var peg$e69 = peg$literalExpectation("]", false);
352
+ var peg$e70 = peg$literalExpectation(",", false);
353
+ var peg$e71 = peg$literalExpectation("{", false);
354
+ var peg$e72 = peg$literalExpectation("}", false);
355
+ var peg$e73 = peg$literalExpectation(":", false);
356
+ var peg$e74 = peg$literalExpectation("::", false);
357
+ var peg$e75 = peg$literalExpectation("#", false);
358
+ var peg$e76 = peg$literalExpectation("^", false);
359
+ var peg$e77 = peg$classExpectation(["*", "/"], false, false);
360
+ var peg$e78 = peg$literalExpectation("&", false);
361
+ var peg$e79 = peg$literalExpectation("<=", false);
362
+ var peg$e80 = peg$literalExpectation(">=", false);
363
+ var peg$e81 = peg$classExpectation(["<", ">"], false, false);
364
+ var peg$e82 = peg$literalExpectation("==", false);
365
+ var peg$e83 = peg$literalExpectation("!=", false);
366
+ var peg$e84 = peg$literalExpectation("&&", false);
367
+ var peg$e85 = peg$literalExpectation("||", false);
368
+ var peg$e86 = peg$literalExpectation("??", false);
369
+ var peg$e87 = peg$literalExpectation("|?", false);
370
+ var peg$e88 = peg$literalExpectation("|>", false);
370
371
  var peg$e89 = peg$literalExpectation("|", false);
371
- var peg$e90 = peg$literalExpectation("=>", false);
372
- var peg$e91 = peg$literalExpectation("=", false);
372
+ var peg$e90 = peg$literalExpectation("%", false);
373
+ var peg$e91 = peg$literalExpectation("=>", false);
374
+ var peg$e92 = peg$literalExpectation("=", false);
373
375
  var peg$f0 = function (statement) { return statement; };
374
376
  var peg$f1 = function (name) { return name; };
375
377
  var peg$f2 = function (head, tail) {
@@ -651,7 +653,13 @@ function peg$parse(input, options) {
651
653
  ? { type: "PipeSequence", head, tail, location: getLocation(location()) }
652
654
  : head;
653
655
  };
654
- var peg$f69 = function (params, body) {
656
+ var peg$f69 = function () {
657
+ return {
658
+ type: "TopicReference",
659
+ location: getLocation(location())
660
+ };
661
+ };
662
+ var peg$f70 = function (params, body) {
655
663
  return {
656
664
  type: "LambdaExpression",
657
665
  params: optionalList(extractOptional(params, 0)),
@@ -659,7 +667,7 @@ function peg$parse(input, options) {
659
667
  location: getLocation(location())
660
668
  };
661
669
  };
662
- var peg$f70 = function (param, body) {
670
+ var peg$f71 = function (param, body) {
663
671
  return {
664
672
  type: "LambdaExpression",
665
673
  params: [param],
@@ -667,10 +675,10 @@ function peg$parse(input, options) {
667
675
  location: getLocation(location())
668
676
  };
669
677
  };
670
- var peg$f71 = function (head, tail) {
678
+ var peg$f72 = function (head, tail) {
671
679
  return buildList(head, tail, 3);
672
680
  };
673
- var peg$f72 = function (declarations, body) {
681
+ var peg$f73 = function (declarations, body) {
674
682
  return {
675
683
  type: "LetExpression",
676
684
  declarations,
@@ -678,10 +686,10 @@ function peg$parse(input, options) {
678
686
  location: getLocation(location())
679
687
  };
680
688
  };
681
- var peg$f73 = function (head, tail) {
689
+ var peg$f74 = function (head, tail) {
682
690
  return buildList(head, tail, 3);
683
691
  };
684
- var peg$f74 = function (id, init) {
692
+ var peg$f75 = function (id, init) {
685
693
  return {
686
694
  type: "VariableDeclarator",
687
695
  id: id,
@@ -689,8 +697,8 @@ function peg$parse(input, options) {
689
697
  location: getLocation(location())
690
698
  };
691
699
  };
692
- var peg$f75 = function (expression) { return expression; };
693
- var peg$f76 = function (expression) {
700
+ var peg$f76 = function (expression) { return expression; };
701
+ var peg$f77 = function (expression) {
694
702
  return {
695
703
  type: "ExpressionStatement",
696
704
  expression: expression
@@ -3200,19 +3208,14 @@ function peg$parse(input, options) {
3200
3208
  function peg$parseEOS() {
3201
3209
  var s0, s1, s2, s3;
3202
3210
  s0 = peg$currPos;
3203
- s1 = peg$parse__();
3204
- if (input.charCodeAt(peg$currPos) === 59) {
3205
- s2 = peg$c33;
3206
- peg$currPos++;
3207
- }
3208
- else {
3209
- s2 = peg$FAILED;
3210
- if (peg$silentFails === 0) {
3211
- peg$fail(peg$e66);
3212
- }
3211
+ s1 = peg$parse_();
3212
+ s2 = peg$parseSingleLineComment();
3213
+ if (s2 === peg$FAILED) {
3214
+ s2 = null;
3213
3215
  }
3214
- if (s2 !== peg$FAILED) {
3215
- s1 = [s1, s2];
3216
+ s3 = peg$parseLineTerminatorSequence();
3217
+ if (s3 !== peg$FAILED) {
3218
+ s1 = [s1, s2, s3];
3216
3219
  s0 = s1;
3217
3220
  }
3218
3221
  else {
@@ -3221,65 +3224,16 @@ function peg$parse(input, options) {
3221
3224
  }
3222
3225
  if (s0 === peg$FAILED) {
3223
3226
  s0 = peg$currPos;
3224
- s1 = peg$parse_();
3225
- s2 = peg$parseSingleLineComment();
3226
- if (s2 === peg$FAILED) {
3227
- s2 = null;
3228
- }
3229
- s3 = peg$parseLineTerminatorSequence();
3230
- if (s3 !== peg$FAILED) {
3231
- s1 = [s1, s2, s3];
3227
+ s1 = peg$parse__();
3228
+ s2 = peg$parseEOF();
3229
+ if (s2 !== peg$FAILED) {
3230
+ s1 = [s1, s2];
3232
3231
  s0 = s1;
3233
3232
  }
3234
3233
  else {
3235
3234
  peg$currPos = s0;
3236
3235
  s0 = peg$FAILED;
3237
3236
  }
3238
- if (s0 === peg$FAILED) {
3239
- s0 = peg$currPos;
3240
- s1 = peg$parse_();
3241
- s2 = peg$currPos;
3242
- peg$silentFails++;
3243
- if (input.charCodeAt(peg$currPos) === 125) {
3244
- s3 = peg$c34;
3245
- peg$currPos++;
3246
- }
3247
- else {
3248
- s3 = peg$FAILED;
3249
- if (peg$silentFails === 0) {
3250
- peg$fail(peg$e67);
3251
- }
3252
- }
3253
- peg$silentFails--;
3254
- if (s3 !== peg$FAILED) {
3255
- peg$currPos = s2;
3256
- s2 = undefined;
3257
- }
3258
- else {
3259
- s2 = peg$FAILED;
3260
- }
3261
- if (s2 !== peg$FAILED) {
3262
- s1 = [s1, s2];
3263
- s0 = s1;
3264
- }
3265
- else {
3266
- peg$currPos = s0;
3267
- s0 = peg$FAILED;
3268
- }
3269
- if (s0 === peg$FAILED) {
3270
- s0 = peg$currPos;
3271
- s1 = peg$parse__();
3272
- s2 = peg$parseEOF();
3273
- if (s2 !== peg$FAILED) {
3274
- s1 = [s1, s2];
3275
- s0 = s1;
3276
- }
3277
- else {
3278
- peg$currPos = s0;
3279
- s0 = peg$FAILED;
3280
- }
3281
- }
3282
- }
3283
3237
  }
3284
3238
  return s0;
3285
3239
  }
@@ -3313,39 +3267,46 @@ function peg$parse(input, options) {
3313
3267
  if (s0 === peg$FAILED) {
3314
3268
  s0 = peg$parseLiteral();
3315
3269
  if (s0 === peg$FAILED) {
3316
- s0 = peg$parseArrayLiteral();
3270
+ s0 = peg$parseTopicReference();
3317
3271
  if (s0 === peg$FAILED) {
3318
- s0 = peg$parseObjectLiteral();
3272
+ s0 = peg$parseArrayLiteral();
3319
3273
  if (s0 === peg$FAILED) {
3320
- s0 = peg$currPos;
3321
- if (input.charCodeAt(peg$currPos) === 40) {
3322
- s1 = peg$c35;
3323
- peg$currPos++;
3324
- }
3325
- else {
3326
- s1 = peg$FAILED;
3327
- if (peg$silentFails === 0) {
3328
- peg$fail(peg$e68);
3274
+ s0 = peg$parseObjectLiteral();
3275
+ if (s0 === peg$FAILED) {
3276
+ s0 = peg$currPos;
3277
+ if (input.charCodeAt(peg$currPos) === 40) {
3278
+ s1 = peg$c33;
3279
+ peg$currPos++;
3329
3280
  }
3330
- }
3331
- if (s1 !== peg$FAILED) {
3332
- s2 = peg$parse__();
3333
- s3 = peg$parseExpression();
3334
- if (s3 !== peg$FAILED) {
3335
- s4 = peg$parse__();
3336
- if (input.charCodeAt(peg$currPos) === 41) {
3337
- s5 = peg$c36;
3338
- peg$currPos++;
3281
+ else {
3282
+ s1 = peg$FAILED;
3283
+ if (peg$silentFails === 0) {
3284
+ peg$fail(peg$e66);
3339
3285
  }
3340
- else {
3341
- s5 = peg$FAILED;
3342
- if (peg$silentFails === 0) {
3343
- peg$fail(peg$e69);
3286
+ }
3287
+ if (s1 !== peg$FAILED) {
3288
+ s2 = peg$parse__();
3289
+ s3 = peg$parseExpression();
3290
+ if (s3 !== peg$FAILED) {
3291
+ s4 = peg$parse__();
3292
+ if (input.charCodeAt(peg$currPos) === 41) {
3293
+ s5 = peg$c34;
3294
+ peg$currPos++;
3295
+ }
3296
+ else {
3297
+ s5 = peg$FAILED;
3298
+ if (peg$silentFails === 0) {
3299
+ peg$fail(peg$e67);
3300
+ }
3301
+ }
3302
+ if (s5 !== peg$FAILED) {
3303
+ peg$savedPos = s0;
3304
+ s0 = peg$f30(s3);
3305
+ }
3306
+ else {
3307
+ peg$currPos = s0;
3308
+ s0 = peg$FAILED;
3344
3309
  }
3345
- }
3346
- if (s5 !== peg$FAILED) {
3347
- peg$savedPos = s0;
3348
- s0 = peg$f30(s3);
3349
3310
  }
3350
3311
  else {
3351
3312
  peg$currPos = s0;
@@ -3357,10 +3318,6 @@ function peg$parse(input, options) {
3357
3318
  s0 = peg$FAILED;
3358
3319
  }
3359
3320
  }
3360
- else {
3361
- peg$currPos = s0;
3362
- s0 = peg$FAILED;
3363
- }
3364
3321
  }
3365
3322
  }
3366
3323
  }
@@ -3371,13 +3328,13 @@ function peg$parse(input, options) {
3371
3328
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
3372
3329
  s0 = peg$currPos;
3373
3330
  if (input.charCodeAt(peg$currPos) === 91) {
3374
- s1 = peg$c37;
3331
+ s1 = peg$c35;
3375
3332
  peg$currPos++;
3376
3333
  }
3377
3334
  else {
3378
3335
  s1 = peg$FAILED;
3379
3336
  if (peg$silentFails === 0) {
3380
- peg$fail(peg$e70);
3337
+ peg$fail(peg$e68);
3381
3338
  }
3382
3339
  }
3383
3340
  if (s1 !== peg$FAILED) {
@@ -3397,13 +3354,13 @@ function peg$parse(input, options) {
3397
3354
  s3 = null;
3398
3355
  }
3399
3356
  if (input.charCodeAt(peg$currPos) === 93) {
3400
- s4 = peg$c38;
3357
+ s4 = peg$c36;
3401
3358
  peg$currPos++;
3402
3359
  }
3403
3360
  else {
3404
3361
  s4 = peg$FAILED;
3405
3362
  if (peg$silentFails === 0) {
3406
- peg$fail(peg$e71);
3363
+ peg$fail(peg$e69);
3407
3364
  }
3408
3365
  }
3409
3366
  if (s4 !== peg$FAILED) {
@@ -3422,13 +3379,13 @@ function peg$parse(input, options) {
3422
3379
  if (s0 === peg$FAILED) {
3423
3380
  s0 = peg$currPos;
3424
3381
  if (input.charCodeAt(peg$currPos) === 91) {
3425
- s1 = peg$c37;
3382
+ s1 = peg$c35;
3426
3383
  peg$currPos++;
3427
3384
  }
3428
3385
  else {
3429
3386
  s1 = peg$FAILED;
3430
3387
  if (peg$silentFails === 0) {
3431
- peg$fail(peg$e70);
3388
+ peg$fail(peg$e68);
3432
3389
  }
3433
3390
  }
3434
3391
  if (s1 !== peg$FAILED) {
@@ -3437,13 +3394,13 @@ function peg$parse(input, options) {
3437
3394
  if (s3 !== peg$FAILED) {
3438
3395
  s4 = peg$parse__();
3439
3396
  if (input.charCodeAt(peg$currPos) === 93) {
3440
- s5 = peg$c38;
3397
+ s5 = peg$c36;
3441
3398
  peg$currPos++;
3442
3399
  }
3443
3400
  else {
3444
3401
  s5 = peg$FAILED;
3445
3402
  if (peg$silentFails === 0) {
3446
- peg$fail(peg$e71);
3403
+ peg$fail(peg$e69);
3447
3404
  }
3448
3405
  }
3449
3406
  if (s5 !== peg$FAILED) {
@@ -3467,13 +3424,13 @@ function peg$parse(input, options) {
3467
3424
  if (s0 === peg$FAILED) {
3468
3425
  s0 = peg$currPos;
3469
3426
  if (input.charCodeAt(peg$currPos) === 91) {
3470
- s1 = peg$c37;
3427
+ s1 = peg$c35;
3471
3428
  peg$currPos++;
3472
3429
  }
3473
3430
  else {
3474
3431
  s1 = peg$FAILED;
3475
3432
  if (peg$silentFails === 0) {
3476
- peg$fail(peg$e70);
3433
+ peg$fail(peg$e68);
3477
3434
  }
3478
3435
  }
3479
3436
  if (s1 !== peg$FAILED) {
@@ -3482,13 +3439,13 @@ function peg$parse(input, options) {
3482
3439
  if (s3 !== peg$FAILED) {
3483
3440
  s4 = peg$parse__();
3484
3441
  if (input.charCodeAt(peg$currPos) === 44) {
3485
- s5 = peg$c39;
3442
+ s5 = peg$c37;
3486
3443
  peg$currPos++;
3487
3444
  }
3488
3445
  else {
3489
3446
  s5 = peg$FAILED;
3490
3447
  if (peg$silentFails === 0) {
3491
- peg$fail(peg$e72);
3448
+ peg$fail(peg$e70);
3492
3449
  }
3493
3450
  }
3494
3451
  if (s5 !== peg$FAILED) {
@@ -3508,13 +3465,13 @@ function peg$parse(input, options) {
3508
3465
  s7 = null;
3509
3466
  }
3510
3467
  if (input.charCodeAt(peg$currPos) === 93) {
3511
- s8 = peg$c38;
3468
+ s8 = peg$c36;
3512
3469
  peg$currPos++;
3513
3470
  }
3514
3471
  else {
3515
3472
  s8 = peg$FAILED;
3516
3473
  if (peg$silentFails === 0) {
3517
- peg$fail(peg$e71);
3474
+ peg$fail(peg$e69);
3518
3475
  }
3519
3476
  }
3520
3477
  if (s8 !== peg$FAILED) {
@@ -3576,13 +3533,13 @@ function peg$parse(input, options) {
3576
3533
  s3 = peg$currPos;
3577
3534
  s4 = peg$parse__();
3578
3535
  if (input.charCodeAt(peg$currPos) === 44) {
3579
- s5 = peg$c39;
3536
+ s5 = peg$c37;
3580
3537
  peg$currPos++;
3581
3538
  }
3582
3539
  else {
3583
3540
  s5 = peg$FAILED;
3584
3541
  if (peg$silentFails === 0) {
3585
- peg$fail(peg$e72);
3542
+ peg$fail(peg$e70);
3586
3543
  }
3587
3544
  }
3588
3545
  if (s5 !== peg$FAILED) {
@@ -3620,13 +3577,13 @@ function peg$parse(input, options) {
3620
3577
  s3 = peg$currPos;
3621
3578
  s4 = peg$parse__();
3622
3579
  if (input.charCodeAt(peg$currPos) === 44) {
3623
- s5 = peg$c39;
3580
+ s5 = peg$c37;
3624
3581
  peg$currPos++;
3625
3582
  }
3626
3583
  else {
3627
3584
  s5 = peg$FAILED;
3628
3585
  if (peg$silentFails === 0) {
3629
- peg$fail(peg$e72);
3586
+ peg$fail(peg$e70);
3630
3587
  }
3631
3588
  }
3632
3589
  if (s5 !== peg$FAILED) {
@@ -3673,13 +3630,13 @@ function peg$parse(input, options) {
3673
3630
  var s0, s1, s2, s3, s4, s5;
3674
3631
  s0 = peg$currPos;
3675
3632
  if (input.charCodeAt(peg$currPos) === 44) {
3676
- s1 = peg$c39;
3633
+ s1 = peg$c37;
3677
3634
  peg$currPos++;
3678
3635
  }
3679
3636
  else {
3680
3637
  s1 = peg$FAILED;
3681
3638
  if (peg$silentFails === 0) {
3682
- peg$fail(peg$e72);
3639
+ peg$fail(peg$e70);
3683
3640
  }
3684
3641
  }
3685
3642
  if (s1 !== peg$FAILED) {
@@ -3687,13 +3644,13 @@ function peg$parse(input, options) {
3687
3644
  s3 = peg$currPos;
3688
3645
  s4 = peg$parse__();
3689
3646
  if (input.charCodeAt(peg$currPos) === 44) {
3690
- s5 = peg$c39;
3647
+ s5 = peg$c37;
3691
3648
  peg$currPos++;
3692
3649
  }
3693
3650
  else {
3694
3651
  s5 = peg$FAILED;
3695
3652
  if (peg$silentFails === 0) {
3696
- peg$fail(peg$e72);
3653
+ peg$fail(peg$e70);
3697
3654
  }
3698
3655
  }
3699
3656
  if (s5 !== peg$FAILED) {
@@ -3709,13 +3666,13 @@ function peg$parse(input, options) {
3709
3666
  s3 = peg$currPos;
3710
3667
  s4 = peg$parse__();
3711
3668
  if (input.charCodeAt(peg$currPos) === 44) {
3712
- s5 = peg$c39;
3669
+ s5 = peg$c37;
3713
3670
  peg$currPos++;
3714
3671
  }
3715
3672
  else {
3716
3673
  s5 = peg$FAILED;
3717
3674
  if (peg$silentFails === 0) {
3718
- peg$fail(peg$e72);
3675
+ peg$fail(peg$e70);
3719
3676
  }
3720
3677
  }
3721
3678
  if (s5 !== peg$FAILED) {
@@ -3740,25 +3697,25 @@ function peg$parse(input, options) {
3740
3697
  var s0, s1, s2, s3, s4, s5, s6, s7;
3741
3698
  s0 = peg$currPos;
3742
3699
  if (input.charCodeAt(peg$currPos) === 123) {
3743
- s1 = peg$c40;
3700
+ s1 = peg$c38;
3744
3701
  peg$currPos++;
3745
3702
  }
3746
3703
  else {
3747
3704
  s1 = peg$FAILED;
3748
3705
  if (peg$silentFails === 0) {
3749
- peg$fail(peg$e73);
3706
+ peg$fail(peg$e71);
3750
3707
  }
3751
3708
  }
3752
3709
  if (s1 !== peg$FAILED) {
3753
3710
  s2 = peg$parse__();
3754
3711
  if (input.charCodeAt(peg$currPos) === 125) {
3755
- s3 = peg$c34;
3712
+ s3 = peg$c39;
3756
3713
  peg$currPos++;
3757
3714
  }
3758
3715
  else {
3759
3716
  s3 = peg$FAILED;
3760
3717
  if (peg$silentFails === 0) {
3761
- peg$fail(peg$e67);
3718
+ peg$fail(peg$e72);
3762
3719
  }
3763
3720
  }
3764
3721
  if (s3 !== peg$FAILED) {
@@ -3777,13 +3734,13 @@ function peg$parse(input, options) {
3777
3734
  if (s0 === peg$FAILED) {
3778
3735
  s0 = peg$currPos;
3779
3736
  if (input.charCodeAt(peg$currPos) === 123) {
3780
- s1 = peg$c40;
3737
+ s1 = peg$c38;
3781
3738
  peg$currPos++;
3782
3739
  }
3783
3740
  else {
3784
3741
  s1 = peg$FAILED;
3785
3742
  if (peg$silentFails === 0) {
3786
- peg$fail(peg$e73);
3743
+ peg$fail(peg$e71);
3787
3744
  }
3788
3745
  }
3789
3746
  if (s1 !== peg$FAILED) {
@@ -3792,13 +3749,13 @@ function peg$parse(input, options) {
3792
3749
  if (s3 !== peg$FAILED) {
3793
3750
  s4 = peg$parse__();
3794
3751
  if (input.charCodeAt(peg$currPos) === 125) {
3795
- s5 = peg$c34;
3752
+ s5 = peg$c39;
3796
3753
  peg$currPos++;
3797
3754
  }
3798
3755
  else {
3799
3756
  s5 = peg$FAILED;
3800
3757
  if (peg$silentFails === 0) {
3801
- peg$fail(peg$e67);
3758
+ peg$fail(peg$e72);
3802
3759
  }
3803
3760
  }
3804
3761
  if (s5 !== peg$FAILED) {
@@ -3822,13 +3779,13 @@ function peg$parse(input, options) {
3822
3779
  if (s0 === peg$FAILED) {
3823
3780
  s0 = peg$currPos;
3824
3781
  if (input.charCodeAt(peg$currPos) === 123) {
3825
- s1 = peg$c40;
3782
+ s1 = peg$c38;
3826
3783
  peg$currPos++;
3827
3784
  }
3828
3785
  else {
3829
3786
  s1 = peg$FAILED;
3830
3787
  if (peg$silentFails === 0) {
3831
- peg$fail(peg$e73);
3788
+ peg$fail(peg$e71);
3832
3789
  }
3833
3790
  }
3834
3791
  if (s1 !== peg$FAILED) {
@@ -3837,25 +3794,25 @@ function peg$parse(input, options) {
3837
3794
  if (s3 !== peg$FAILED) {
3838
3795
  s4 = peg$parse__();
3839
3796
  if (input.charCodeAt(peg$currPos) === 44) {
3840
- s5 = peg$c39;
3797
+ s5 = peg$c37;
3841
3798
  peg$currPos++;
3842
3799
  }
3843
3800
  else {
3844
3801
  s5 = peg$FAILED;
3845
3802
  if (peg$silentFails === 0) {
3846
- peg$fail(peg$e72);
3803
+ peg$fail(peg$e70);
3847
3804
  }
3848
3805
  }
3849
3806
  if (s5 !== peg$FAILED) {
3850
3807
  s6 = peg$parse__();
3851
3808
  if (input.charCodeAt(peg$currPos) === 125) {
3852
- s7 = peg$c34;
3809
+ s7 = peg$c39;
3853
3810
  peg$currPos++;
3854
3811
  }
3855
3812
  else {
3856
3813
  s7 = peg$FAILED;
3857
3814
  if (peg$silentFails === 0) {
3858
- peg$fail(peg$e67);
3815
+ peg$fail(peg$e72);
3859
3816
  }
3860
3817
  }
3861
3818
  if (s7 !== peg$FAILED) {
@@ -3894,13 +3851,13 @@ function peg$parse(input, options) {
3894
3851
  s3 = peg$currPos;
3895
3852
  s4 = peg$parse__();
3896
3853
  if (input.charCodeAt(peg$currPos) === 44) {
3897
- s5 = peg$c39;
3854
+ s5 = peg$c37;
3898
3855
  peg$currPos++;
3899
3856
  }
3900
3857
  else {
3901
3858
  s5 = peg$FAILED;
3902
3859
  if (peg$silentFails === 0) {
3903
- peg$fail(peg$e72);
3860
+ peg$fail(peg$e70);
3904
3861
  }
3905
3862
  }
3906
3863
  if (s5 !== peg$FAILED) {
@@ -3924,13 +3881,13 @@ function peg$parse(input, options) {
3924
3881
  s3 = peg$currPos;
3925
3882
  s4 = peg$parse__();
3926
3883
  if (input.charCodeAt(peg$currPos) === 44) {
3927
- s5 = peg$c39;
3884
+ s5 = peg$c37;
3928
3885
  peg$currPos++;
3929
3886
  }
3930
3887
  else {
3931
3888
  s5 = peg$FAILED;
3932
3889
  if (peg$silentFails === 0) {
3933
- peg$fail(peg$e72);
3890
+ peg$fail(peg$e70);
3934
3891
  }
3935
3892
  }
3936
3893
  if (s5 !== peg$FAILED) {
@@ -3966,13 +3923,13 @@ function peg$parse(input, options) {
3966
3923
  if (s1 !== peg$FAILED) {
3967
3924
  s2 = peg$parse__();
3968
3925
  if (input.charCodeAt(peg$currPos) === 58) {
3969
- s3 = peg$c41;
3926
+ s3 = peg$c40;
3970
3927
  peg$currPos++;
3971
3928
  }
3972
3929
  else {
3973
3930
  s3 = peg$FAILED;
3974
3931
  if (peg$silentFails === 0) {
3975
- peg$fail(peg$e74);
3932
+ peg$fail(peg$e73);
3976
3933
  }
3977
3934
  }
3978
3935
  if (s3 !== peg$FAILED) {
@@ -4018,13 +3975,13 @@ function peg$parse(input, options) {
4018
3975
  s3 = peg$currPos;
4019
3976
  s4 = peg$parse__();
4020
3977
  if (input.charCodeAt(peg$currPos) === 91) {
4021
- s5 = peg$c37;
3978
+ s5 = peg$c35;
4022
3979
  peg$currPos++;
4023
3980
  }
4024
3981
  else {
4025
3982
  s5 = peg$FAILED;
4026
3983
  if (peg$silentFails === 0) {
4027
- peg$fail(peg$e70);
3984
+ peg$fail(peg$e68);
4028
3985
  }
4029
3986
  }
4030
3987
  if (s5 !== peg$FAILED) {
@@ -4033,13 +3990,13 @@ function peg$parse(input, options) {
4033
3990
  if (s7 !== peg$FAILED) {
4034
3991
  s8 = peg$parse__();
4035
3992
  if (input.charCodeAt(peg$currPos) === 93) {
4036
- s9 = peg$c38;
3993
+ s9 = peg$c36;
4037
3994
  peg$currPos++;
4038
3995
  }
4039
3996
  else {
4040
3997
  s9 = peg$FAILED;
4041
3998
  if (peg$silentFails === 0) {
4042
- peg$fail(peg$e71);
3999
+ peg$fail(peg$e69);
4043
4000
  }
4044
4001
  }
4045
4002
  if (s9 !== peg$FAILED) {
@@ -4092,14 +4049,14 @@ function peg$parse(input, options) {
4092
4049
  if (s3 === peg$FAILED) {
4093
4050
  s3 = peg$currPos;
4094
4051
  s4 = peg$parse__();
4095
- if (input.substr(peg$currPos, 2) === peg$c42) {
4096
- s5 = peg$c42;
4052
+ if (input.substr(peg$currPos, 2) === peg$c41) {
4053
+ s5 = peg$c41;
4097
4054
  peg$currPos += 2;
4098
4055
  }
4099
4056
  else {
4100
4057
  s5 = peg$FAILED;
4101
4058
  if (peg$silentFails === 0) {
4102
- peg$fail(peg$e75);
4059
+ peg$fail(peg$e74);
4103
4060
  }
4104
4061
  }
4105
4062
  if (s5 !== peg$FAILED) {
@@ -4125,13 +4082,13 @@ function peg$parse(input, options) {
4125
4082
  s3 = peg$currPos;
4126
4083
  s4 = peg$parse__();
4127
4084
  if (input.charCodeAt(peg$currPos) === 91) {
4128
- s5 = peg$c37;
4085
+ s5 = peg$c35;
4129
4086
  peg$currPos++;
4130
4087
  }
4131
4088
  else {
4132
4089
  s5 = peg$FAILED;
4133
4090
  if (peg$silentFails === 0) {
4134
- peg$fail(peg$e70);
4091
+ peg$fail(peg$e68);
4135
4092
  }
4136
4093
  }
4137
4094
  if (s5 !== peg$FAILED) {
@@ -4140,13 +4097,13 @@ function peg$parse(input, options) {
4140
4097
  if (s7 !== peg$FAILED) {
4141
4098
  s8 = peg$parse__();
4142
4099
  if (input.charCodeAt(peg$currPos) === 93) {
4143
- s9 = peg$c38;
4100
+ s9 = peg$c36;
4144
4101
  peg$currPos++;
4145
4102
  }
4146
4103
  else {
4147
4104
  s9 = peg$FAILED;
4148
4105
  if (peg$silentFails === 0) {
4149
- peg$fail(peg$e71);
4106
+ peg$fail(peg$e69);
4150
4107
  }
4151
4108
  }
4152
4109
  if (s9 !== peg$FAILED) {
@@ -4199,14 +4156,14 @@ function peg$parse(input, options) {
4199
4156
  if (s3 === peg$FAILED) {
4200
4157
  s3 = peg$currPos;
4201
4158
  s4 = peg$parse__();
4202
- if (input.substr(peg$currPos, 2) === peg$c42) {
4203
- s5 = peg$c42;
4159
+ if (input.substr(peg$currPos, 2) === peg$c41) {
4160
+ s5 = peg$c41;
4204
4161
  peg$currPos += 2;
4205
4162
  }
4206
4163
  else {
4207
4164
  s5 = peg$FAILED;
4208
4165
  if (peg$silentFails === 0) {
4209
- peg$fail(peg$e75);
4166
+ peg$fail(peg$e74);
4210
4167
  }
4211
4168
  }
4212
4169
  if (s5 !== peg$FAILED) {
@@ -4275,13 +4232,13 @@ function peg$parse(input, options) {
4275
4232
  s3 = peg$currPos;
4276
4233
  s4 = peg$parse__();
4277
4234
  if (input.charCodeAt(peg$currPos) === 91) {
4278
- s5 = peg$c37;
4235
+ s5 = peg$c35;
4279
4236
  peg$currPos++;
4280
4237
  }
4281
4238
  else {
4282
4239
  s5 = peg$FAILED;
4283
4240
  if (peg$silentFails === 0) {
4284
- peg$fail(peg$e70);
4241
+ peg$fail(peg$e68);
4285
4242
  }
4286
4243
  }
4287
4244
  if (s5 !== peg$FAILED) {
@@ -4290,13 +4247,13 @@ function peg$parse(input, options) {
4290
4247
  if (s7 !== peg$FAILED) {
4291
4248
  s8 = peg$parse__();
4292
4249
  if (input.charCodeAt(peg$currPos) === 93) {
4293
- s9 = peg$c38;
4250
+ s9 = peg$c36;
4294
4251
  peg$currPos++;
4295
4252
  }
4296
4253
  else {
4297
4254
  s9 = peg$FAILED;
4298
4255
  if (peg$silentFails === 0) {
4299
- peg$fail(peg$e71);
4256
+ peg$fail(peg$e69);
4300
4257
  }
4301
4258
  }
4302
4259
  if (s9 !== peg$FAILED) {
@@ -4365,13 +4322,13 @@ function peg$parse(input, options) {
4365
4322
  s3 = peg$currPos;
4366
4323
  s4 = peg$parse__();
4367
4324
  if (input.charCodeAt(peg$currPos) === 91) {
4368
- s5 = peg$c37;
4325
+ s5 = peg$c35;
4369
4326
  peg$currPos++;
4370
4327
  }
4371
4328
  else {
4372
4329
  s5 = peg$FAILED;
4373
4330
  if (peg$silentFails === 0) {
4374
- peg$fail(peg$e70);
4331
+ peg$fail(peg$e68);
4375
4332
  }
4376
4333
  }
4377
4334
  if (s5 !== peg$FAILED) {
@@ -4380,13 +4337,13 @@ function peg$parse(input, options) {
4380
4337
  if (s7 !== peg$FAILED) {
4381
4338
  s8 = peg$parse__();
4382
4339
  if (input.charCodeAt(peg$currPos) === 93) {
4383
- s9 = peg$c38;
4340
+ s9 = peg$c36;
4384
4341
  peg$currPos++;
4385
4342
  }
4386
4343
  else {
4387
4344
  s9 = peg$FAILED;
4388
4345
  if (peg$silentFails === 0) {
4389
- peg$fail(peg$e71);
4346
+ peg$fail(peg$e69);
4390
4347
  }
4391
4348
  }
4392
4349
  if (s9 !== peg$FAILED) {
@@ -4452,13 +4409,13 @@ function peg$parse(input, options) {
4452
4409
  var s0, s1, s2, s3, s4, s5;
4453
4410
  s0 = peg$currPos;
4454
4411
  if (input.charCodeAt(peg$currPos) === 40) {
4455
- s1 = peg$c35;
4412
+ s1 = peg$c33;
4456
4413
  peg$currPos++;
4457
4414
  }
4458
4415
  else {
4459
4416
  s1 = peg$FAILED;
4460
4417
  if (peg$silentFails === 0) {
4461
- peg$fail(peg$e68);
4418
+ peg$fail(peg$e66);
4462
4419
  }
4463
4420
  }
4464
4421
  if (s1 !== peg$FAILED) {
@@ -4478,13 +4435,13 @@ function peg$parse(input, options) {
4478
4435
  s3 = null;
4479
4436
  }
4480
4437
  if (input.charCodeAt(peg$currPos) === 41) {
4481
- s4 = peg$c36;
4438
+ s4 = peg$c34;
4482
4439
  peg$currPos++;
4483
4440
  }
4484
4441
  else {
4485
4442
  s4 = peg$FAILED;
4486
4443
  if (peg$silentFails === 0) {
4487
- peg$fail(peg$e69);
4444
+ peg$fail(peg$e67);
4488
4445
  }
4489
4446
  }
4490
4447
  if (s4 !== peg$FAILED) {
@@ -4511,13 +4468,13 @@ function peg$parse(input, options) {
4511
4468
  s3 = peg$currPos;
4512
4469
  s4 = peg$parse__();
4513
4470
  if (input.charCodeAt(peg$currPos) === 44) {
4514
- s5 = peg$c39;
4471
+ s5 = peg$c37;
4515
4472
  peg$currPos++;
4516
4473
  }
4517
4474
  else {
4518
4475
  s5 = peg$FAILED;
4519
4476
  if (peg$silentFails === 0) {
4520
- peg$fail(peg$e72);
4477
+ peg$fail(peg$e70);
4521
4478
  }
4522
4479
  }
4523
4480
  if (s5 !== peg$FAILED) {
@@ -4541,13 +4498,13 @@ function peg$parse(input, options) {
4541
4498
  s3 = peg$currPos;
4542
4499
  s4 = peg$parse__();
4543
4500
  if (input.charCodeAt(peg$currPos) === 44) {
4544
- s5 = peg$c39;
4501
+ s5 = peg$c37;
4545
4502
  peg$currPos++;
4546
4503
  }
4547
4504
  else {
4548
4505
  s5 = peg$FAILED;
4549
4506
  if (peg$silentFails === 0) {
4550
- peg$fail(peg$e72);
4507
+ peg$fail(peg$e70);
4551
4508
  }
4552
4509
  }
4553
4510
  if (s5 !== peg$FAILED) {
@@ -4587,14 +4544,14 @@ function peg$parse(input, options) {
4587
4544
  function peg$parseCurryPlaceholder() {
4588
4545
  var s0, s1;
4589
4546
  s0 = peg$currPos;
4590
- if (input.charCodeAt(peg$currPos) === 37) {
4591
- s1 = peg$c43;
4547
+ if (input.charCodeAt(peg$currPos) === 35) {
4548
+ s1 = peg$c42;
4592
4549
  peg$currPos++;
4593
4550
  }
4594
4551
  else {
4595
4552
  s1 = peg$FAILED;
4596
4553
  if (peg$silentFails === 0) {
4597
- peg$fail(peg$e76);
4554
+ peg$fail(peg$e75);
4598
4555
  }
4599
4556
  }
4600
4557
  if (s1 !== peg$FAILED) {
@@ -4671,13 +4628,13 @@ function peg$parse(input, options) {
4671
4628
  function peg$parseExponentiationOperator() {
4672
4629
  var s0;
4673
4630
  if (input.charCodeAt(peg$currPos) === 94) {
4674
- s0 = peg$c44;
4631
+ s0 = peg$c43;
4675
4632
  peg$currPos++;
4676
4633
  }
4677
4634
  else {
4678
4635
  s0 = peg$FAILED;
4679
4636
  if (peg$silentFails === 0) {
4680
- peg$fail(peg$e77);
4637
+ peg$fail(peg$e76);
4681
4638
  }
4682
4639
  }
4683
4640
  return s0;
@@ -4806,7 +4763,7 @@ function peg$parse(input, options) {
4806
4763
  else {
4807
4764
  s0 = peg$FAILED;
4808
4765
  if (peg$silentFails === 0) {
4809
- peg$fail(peg$e78);
4766
+ peg$fail(peg$e77);
4810
4767
  }
4811
4768
  }
4812
4769
  if (s0 === peg$FAILED) {
@@ -4950,13 +4907,13 @@ function peg$parse(input, options) {
4950
4907
  function peg$parseConcatenationOperator() {
4951
4908
  var s0;
4952
4909
  if (input.charCodeAt(peg$currPos) === 38) {
4953
- s0 = peg$c45;
4910
+ s0 = peg$c44;
4954
4911
  peg$currPos++;
4955
4912
  }
4956
4913
  else {
4957
4914
  s0 = peg$FAILED;
4958
4915
  if (peg$silentFails === 0) {
4959
- peg$fail(peg$e79);
4916
+ peg$fail(peg$e78);
4960
4917
  }
4961
4918
  }
4962
4919
  return s0;
@@ -5019,25 +4976,25 @@ function peg$parse(input, options) {
5019
4976
  }
5020
4977
  function peg$parseRelationalOperator() {
5021
4978
  var s0, s1;
5022
- if (input.substr(peg$currPos, 2) === peg$c46) {
5023
- s0 = peg$c46;
4979
+ if (input.substr(peg$currPos, 2) === peg$c45) {
4980
+ s0 = peg$c45;
5024
4981
  peg$currPos += 2;
5025
4982
  }
5026
4983
  else {
5027
4984
  s0 = peg$FAILED;
5028
4985
  if (peg$silentFails === 0) {
5029
- peg$fail(peg$e80);
4986
+ peg$fail(peg$e79);
5030
4987
  }
5031
4988
  }
5032
4989
  if (s0 === peg$FAILED) {
5033
- if (input.substr(peg$currPos, 2) === peg$c47) {
5034
- s0 = peg$c47;
4990
+ if (input.substr(peg$currPos, 2) === peg$c46) {
4991
+ s0 = peg$c46;
5035
4992
  peg$currPos += 2;
5036
4993
  }
5037
4994
  else {
5038
4995
  s0 = peg$FAILED;
5039
4996
  if (peg$silentFails === 0) {
5040
- peg$fail(peg$e81);
4997
+ peg$fail(peg$e80);
5041
4998
  }
5042
4999
  }
5043
5000
  if (s0 === peg$FAILED) {
@@ -5048,7 +5005,7 @@ function peg$parse(input, options) {
5048
5005
  else {
5049
5006
  s0 = peg$FAILED;
5050
5007
  if (peg$silentFails === 0) {
5051
- peg$fail(peg$e82);
5008
+ peg$fail(peg$e81);
5052
5009
  }
5053
5010
  }
5054
5011
  if (s0 === peg$FAILED) {
@@ -5123,25 +5080,25 @@ function peg$parse(input, options) {
5123
5080
  }
5124
5081
  function peg$parseEqualityOperator() {
5125
5082
  var s0;
5126
- if (input.substr(peg$currPos, 2) === peg$c48) {
5127
- s0 = peg$c48;
5083
+ if (input.substr(peg$currPos, 2) === peg$c47) {
5084
+ s0 = peg$c47;
5128
5085
  peg$currPos += 2;
5129
5086
  }
5130
5087
  else {
5131
5088
  s0 = peg$FAILED;
5132
5089
  if (peg$silentFails === 0) {
5133
- peg$fail(peg$e83);
5090
+ peg$fail(peg$e82);
5134
5091
  }
5135
5092
  }
5136
5093
  if (s0 === peg$FAILED) {
5137
- if (input.substr(peg$currPos, 2) === peg$c49) {
5138
- s0 = peg$c49;
5094
+ if (input.substr(peg$currPos, 2) === peg$c48) {
5095
+ s0 = peg$c48;
5139
5096
  peg$currPos += 2;
5140
5097
  }
5141
5098
  else {
5142
5099
  s0 = peg$FAILED;
5143
5100
  if (peg$silentFails === 0) {
5144
- peg$fail(peg$e84);
5101
+ peg$fail(peg$e83);
5145
5102
  }
5146
5103
  }
5147
5104
  }
@@ -5214,14 +5171,14 @@ function peg$parse(input, options) {
5214
5171
  s0 = s1;
5215
5172
  }
5216
5173
  if (s0 === peg$FAILED) {
5217
- if (input.substr(peg$currPos, 2) === peg$c50) {
5218
- s0 = peg$c50;
5174
+ if (input.substr(peg$currPos, 2) === peg$c49) {
5175
+ s0 = peg$c49;
5219
5176
  peg$currPos += 2;
5220
5177
  }
5221
5178
  else {
5222
5179
  s0 = peg$FAILED;
5223
5180
  if (peg$silentFails === 0) {
5224
- peg$fail(peg$e85);
5181
+ peg$fail(peg$e84);
5225
5182
  }
5226
5183
  }
5227
5184
  }
@@ -5294,14 +5251,14 @@ function peg$parse(input, options) {
5294
5251
  s0 = s1;
5295
5252
  }
5296
5253
  if (s0 === peg$FAILED) {
5297
- if (input.substr(peg$currPos, 2) === peg$c51) {
5298
- s0 = peg$c51;
5254
+ if (input.substr(peg$currPos, 2) === peg$c50) {
5255
+ s0 = peg$c50;
5299
5256
  peg$currPos += 2;
5300
5257
  }
5301
5258
  else {
5302
5259
  s0 = peg$FAILED;
5303
5260
  if (peg$silentFails === 0) {
5304
- peg$fail(peg$e86);
5261
+ peg$fail(peg$e85);
5305
5262
  }
5306
5263
  }
5307
5264
  }
@@ -5458,14 +5415,14 @@ function peg$parse(input, options) {
5458
5415
  }
5459
5416
  function peg$parseNullishCoalescingOperator() {
5460
5417
  var s0;
5461
- if (input.substr(peg$currPos, 2) === peg$c52) {
5462
- s0 = peg$c52;
5418
+ if (input.substr(peg$currPos, 2) === peg$c51) {
5419
+ s0 = peg$c51;
5463
5420
  peg$currPos += 2;
5464
5421
  }
5465
5422
  else {
5466
5423
  s0 = peg$FAILED;
5467
5424
  if (peg$silentFails === 0) {
5468
- peg$fail(peg$e87);
5425
+ peg$fail(peg$e86);
5469
5426
  }
5470
5427
  }
5471
5428
  return s0;
@@ -5528,41 +5485,73 @@ function peg$parse(input, options) {
5528
5485
  }
5529
5486
  function peg$parsePipeOperator() {
5530
5487
  var s0;
5531
- if (input.substr(peg$currPos, 2) === peg$c53) {
5532
- s0 = peg$c53;
5488
+ if (input.substr(peg$currPos, 2) === peg$c52) {
5489
+ s0 = peg$c52;
5533
5490
  peg$currPos += 2;
5534
5491
  }
5535
5492
  else {
5536
5493
  s0 = peg$FAILED;
5537
5494
  if (peg$silentFails === 0) {
5538
- peg$fail(peg$e88);
5495
+ peg$fail(peg$e87);
5539
5496
  }
5540
5497
  }
5541
5498
  if (s0 === peg$FAILED) {
5542
- if (input.charCodeAt(peg$currPos) === 124) {
5543
- s0 = peg$c54;
5544
- peg$currPos++;
5499
+ if (input.substr(peg$currPos, 2) === peg$c53) {
5500
+ s0 = peg$c53;
5501
+ peg$currPos += 2;
5545
5502
  }
5546
5503
  else {
5547
5504
  s0 = peg$FAILED;
5548
5505
  if (peg$silentFails === 0) {
5549
- peg$fail(peg$e89);
5506
+ peg$fail(peg$e88);
5550
5507
  }
5551
5508
  }
5509
+ if (s0 === peg$FAILED) {
5510
+ if (input.charCodeAt(peg$currPos) === 124) {
5511
+ s0 = peg$c54;
5512
+ peg$currPos++;
5513
+ }
5514
+ else {
5515
+ s0 = peg$FAILED;
5516
+ if (peg$silentFails === 0) {
5517
+ peg$fail(peg$e89);
5518
+ }
5519
+ }
5520
+ }
5521
+ }
5522
+ return s0;
5523
+ }
5524
+ function peg$parseTopicReference() {
5525
+ var s0, s1;
5526
+ s0 = peg$currPos;
5527
+ if (input.charCodeAt(peg$currPos) === 37) {
5528
+ s1 = peg$c55;
5529
+ peg$currPos++;
5530
+ }
5531
+ else {
5532
+ s1 = peg$FAILED;
5533
+ if (peg$silentFails === 0) {
5534
+ peg$fail(peg$e90);
5535
+ }
5552
5536
  }
5537
+ if (s1 !== peg$FAILED) {
5538
+ peg$savedPos = s0;
5539
+ s1 = peg$f69();
5540
+ }
5541
+ s0 = s1;
5553
5542
  return s0;
5554
5543
  }
5555
5544
  function peg$parseLambdaExpression() {
5556
5545
  var s0, s1, s2, s3, s4, s5, s6, s7, s8;
5557
5546
  s0 = peg$currPos;
5558
5547
  if (input.charCodeAt(peg$currPos) === 40) {
5559
- s1 = peg$c35;
5548
+ s1 = peg$c33;
5560
5549
  peg$currPos++;
5561
5550
  }
5562
5551
  else {
5563
5552
  s1 = peg$FAILED;
5564
5553
  if (peg$silentFails === 0) {
5565
- peg$fail(peg$e68);
5554
+ peg$fail(peg$e66);
5566
5555
  }
5567
5556
  }
5568
5557
  if (s1 !== peg$FAILED) {
@@ -5582,13 +5571,13 @@ function peg$parse(input, options) {
5582
5571
  s3 = null;
5583
5572
  }
5584
5573
  if (input.charCodeAt(peg$currPos) === 41) {
5585
- s4 = peg$c36;
5574
+ s4 = peg$c34;
5586
5575
  peg$currPos++;
5587
5576
  }
5588
5577
  else {
5589
5578
  s4 = peg$FAILED;
5590
5579
  if (peg$silentFails === 0) {
5591
- peg$fail(peg$e69);
5580
+ peg$fail(peg$e67);
5592
5581
  }
5593
5582
  }
5594
5583
  if (s4 !== peg$FAILED) {
@@ -5599,7 +5588,7 @@ function peg$parse(input, options) {
5599
5588
  s8 = peg$parseExpression();
5600
5589
  if (s8 !== peg$FAILED) {
5601
5590
  peg$savedPos = s0;
5602
- s0 = peg$f69(s3, s8);
5591
+ s0 = peg$f70(s3, s8);
5603
5592
  }
5604
5593
  else {
5605
5594
  peg$currPos = s0;
@@ -5632,7 +5621,7 @@ function peg$parse(input, options) {
5632
5621
  s6 = peg$parseExpression();
5633
5622
  if (s6 !== peg$FAILED) {
5634
5623
  peg$savedPos = s0;
5635
- s0 = peg$f70(s2, s6);
5624
+ s0 = peg$f71(s2, s6);
5636
5625
  }
5637
5626
  else {
5638
5627
  peg$currPos = s0;
@@ -5653,14 +5642,14 @@ function peg$parse(input, options) {
5653
5642
  }
5654
5643
  function peg$parseLambdaArrow() {
5655
5644
  var s0;
5656
- if (input.substr(peg$currPos, 2) === peg$c55) {
5657
- s0 = peg$c55;
5645
+ if (input.substr(peg$currPos, 2) === peg$c56) {
5646
+ s0 = peg$c56;
5658
5647
  peg$currPos += 2;
5659
5648
  }
5660
5649
  else {
5661
5650
  s0 = peg$FAILED;
5662
5651
  if (peg$silentFails === 0) {
5663
- peg$fail(peg$e90);
5652
+ peg$fail(peg$e91);
5664
5653
  }
5665
5654
  }
5666
5655
  return s0;
@@ -5674,13 +5663,13 @@ function peg$parse(input, options) {
5674
5663
  s3 = peg$currPos;
5675
5664
  s4 = peg$parse__();
5676
5665
  if (input.charCodeAt(peg$currPos) === 44) {
5677
- s5 = peg$c39;
5666
+ s5 = peg$c37;
5678
5667
  peg$currPos++;
5679
5668
  }
5680
5669
  else {
5681
5670
  s5 = peg$FAILED;
5682
5671
  if (peg$silentFails === 0) {
5683
- peg$fail(peg$e72);
5672
+ peg$fail(peg$e70);
5684
5673
  }
5685
5674
  }
5686
5675
  if (s5 !== peg$FAILED) {
@@ -5704,13 +5693,13 @@ function peg$parse(input, options) {
5704
5693
  s3 = peg$currPos;
5705
5694
  s4 = peg$parse__();
5706
5695
  if (input.charCodeAt(peg$currPos) === 44) {
5707
- s5 = peg$c39;
5696
+ s5 = peg$c37;
5708
5697
  peg$currPos++;
5709
5698
  }
5710
5699
  else {
5711
5700
  s5 = peg$FAILED;
5712
5701
  if (peg$silentFails === 0) {
5713
- peg$fail(peg$e72);
5702
+ peg$fail(peg$e70);
5714
5703
  }
5715
5704
  }
5716
5705
  if (s5 !== peg$FAILED) {
@@ -5731,7 +5720,7 @@ function peg$parse(input, options) {
5731
5720
  }
5732
5721
  }
5733
5722
  peg$savedPos = s0;
5734
- s0 = peg$f71(s1, s2);
5723
+ s0 = peg$f72(s1, s2);
5735
5724
  }
5736
5725
  else {
5737
5726
  peg$currPos = s0;
@@ -5749,13 +5738,13 @@ function peg$parse(input, options) {
5749
5738
  if (s3 !== peg$FAILED) {
5750
5739
  s4 = peg$parse__();
5751
5740
  if (input.charCodeAt(peg$currPos) === 44) {
5752
- s5 = peg$c39;
5741
+ s5 = peg$c37;
5753
5742
  peg$currPos++;
5754
5743
  }
5755
5744
  else {
5756
5745
  s5 = peg$FAILED;
5757
5746
  if (peg$silentFails === 0) {
5758
- peg$fail(peg$e72);
5747
+ peg$fail(peg$e70);
5759
5748
  }
5760
5749
  }
5761
5750
  if (s5 !== peg$FAILED) {
@@ -5763,7 +5752,7 @@ function peg$parse(input, options) {
5763
5752
  s7 = peg$parseExpression();
5764
5753
  if (s7 !== peg$FAILED) {
5765
5754
  peg$savedPos = s0;
5766
- s0 = peg$f72(s3, s7);
5755
+ s0 = peg$f73(s3, s7);
5767
5756
  }
5768
5757
  else {
5769
5758
  peg$currPos = s0;
@@ -5795,13 +5784,13 @@ function peg$parse(input, options) {
5795
5784
  s3 = peg$currPos;
5796
5785
  s4 = peg$parse__();
5797
5786
  if (input.charCodeAt(peg$currPos) === 44) {
5798
- s5 = peg$c39;
5787
+ s5 = peg$c37;
5799
5788
  peg$currPos++;
5800
5789
  }
5801
5790
  else {
5802
5791
  s5 = peg$FAILED;
5803
5792
  if (peg$silentFails === 0) {
5804
- peg$fail(peg$e72);
5793
+ peg$fail(peg$e70);
5805
5794
  }
5806
5795
  }
5807
5796
  if (s5 !== peg$FAILED) {
@@ -5825,13 +5814,13 @@ function peg$parse(input, options) {
5825
5814
  s3 = peg$currPos;
5826
5815
  s4 = peg$parse__();
5827
5816
  if (input.charCodeAt(peg$currPos) === 44) {
5828
- s5 = peg$c39;
5817
+ s5 = peg$c37;
5829
5818
  peg$currPos++;
5830
5819
  }
5831
5820
  else {
5832
5821
  s5 = peg$FAILED;
5833
5822
  if (peg$silentFails === 0) {
5834
- peg$fail(peg$e72);
5823
+ peg$fail(peg$e70);
5835
5824
  }
5836
5825
  }
5837
5826
  if (s5 !== peg$FAILED) {
@@ -5852,7 +5841,7 @@ function peg$parse(input, options) {
5852
5841
  }
5853
5842
  }
5854
5843
  peg$savedPos = s0;
5855
- s0 = peg$f73(s1, s2);
5844
+ s0 = peg$f74(s1, s2);
5856
5845
  }
5857
5846
  else {
5858
5847
  peg$currPos = s0;
@@ -5878,7 +5867,7 @@ function peg$parse(input, options) {
5878
5867
  }
5879
5868
  if (s2 !== peg$FAILED) {
5880
5869
  peg$savedPos = s0;
5881
- s0 = peg$f74(s1, s2);
5870
+ s0 = peg$f75(s1, s2);
5882
5871
  }
5883
5872
  else {
5884
5873
  peg$currPos = s0;
@@ -5900,7 +5889,7 @@ function peg$parse(input, options) {
5900
5889
  s3 = peg$parseExpression();
5901
5890
  if (s3 !== peg$FAILED) {
5902
5891
  peg$savedPos = s0;
5903
- s0 = peg$f75(s3);
5892
+ s0 = peg$f76(s3);
5904
5893
  }
5905
5894
  else {
5906
5895
  peg$currPos = s0;
@@ -5917,26 +5906,26 @@ function peg$parse(input, options) {
5917
5906
  var s0, s1, s2, s3;
5918
5907
  s0 = peg$currPos;
5919
5908
  if (input.charCodeAt(peg$currPos) === 61) {
5920
- s1 = peg$c56;
5909
+ s1 = peg$c57;
5921
5910
  peg$currPos++;
5922
5911
  }
5923
5912
  else {
5924
5913
  s1 = peg$FAILED;
5925
5914
  if (peg$silentFails === 0) {
5926
- peg$fail(peg$e91);
5915
+ peg$fail(peg$e92);
5927
5916
  }
5928
5917
  }
5929
5918
  if (s1 !== peg$FAILED) {
5930
5919
  s2 = peg$currPos;
5931
5920
  peg$silentFails++;
5932
5921
  if (input.charCodeAt(peg$currPos) === 61) {
5933
- s3 = peg$c56;
5922
+ s3 = peg$c57;
5934
5923
  peg$currPos++;
5935
5924
  }
5936
5925
  else {
5937
5926
  s3 = peg$FAILED;
5938
5927
  if (peg$silentFails === 0) {
5939
- peg$fail(peg$e91);
5928
+ peg$fail(peg$e92);
5940
5929
  }
5941
5930
  }
5942
5931
  peg$silentFails--;
@@ -5983,7 +5972,7 @@ function peg$parse(input, options) {
5983
5972
  s2 = peg$parseEOS();
5984
5973
  if (s2 !== peg$FAILED) {
5985
5974
  peg$savedPos = s0;
5986
- s0 = peg$f76(s1);
5975
+ s0 = peg$f77(s1);
5987
5976
  }
5988
5977
  else {
5989
5978
  peg$currPos = s0;