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.
package/parser/index.js CHANGED
@@ -262,30 +262,31 @@ function peg$parse(input, options) {
262
262
  var peg$c30 = "typeof";
263
263
  var peg$c31 = "mod";
264
264
  var peg$c32 = "let";
265
- var peg$c33 = ";";
266
- var peg$c34 = "}";
267
- var peg$c35 = "(";
268
- var peg$c36 = ")";
269
- var peg$c37 = "[";
270
- var peg$c38 = "]";
271
- var peg$c39 = ",";
272
- var peg$c40 = "{";
273
- var peg$c41 = ":";
274
- var peg$c42 = "::";
275
- var peg$c43 = "%";
276
- var peg$c44 = "^";
277
- var peg$c45 = "&";
278
- var peg$c46 = "<=";
279
- var peg$c47 = ">=";
280
- var peg$c48 = "==";
281
- var peg$c49 = "!=";
282
- var peg$c50 = "&&";
283
- var peg$c51 = "||";
284
- var peg$c52 = "??";
285
- var peg$c53 = "|?";
265
+ var peg$c33 = "(";
266
+ var peg$c34 = ")";
267
+ var peg$c35 = "[";
268
+ var peg$c36 = "]";
269
+ var peg$c37 = ",";
270
+ var peg$c38 = "{";
271
+ var peg$c39 = "}";
272
+ var peg$c40 = ":";
273
+ var peg$c41 = "::";
274
+ var peg$c42 = "#";
275
+ var peg$c43 = "^";
276
+ var peg$c44 = "&";
277
+ var peg$c45 = "<=";
278
+ var peg$c46 = ">=";
279
+ var peg$c47 = "==";
280
+ var peg$c48 = "!=";
281
+ var peg$c49 = "&&";
282
+ var peg$c50 = "||";
283
+ var peg$c51 = "??";
284
+ var peg$c52 = "|?";
285
+ var peg$c53 = "|>";
286
286
  var peg$c54 = "|";
287
- var peg$c55 = "=>";
288
- var peg$c56 = "=";
287
+ var peg$c55 = "%";
288
+ var peg$c56 = "=>";
289
+ var peg$c57 = "=";
289
290
 
290
291
  var peg$r0 = /^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/;
291
292
  var peg$r1 = /^[\n\r\u2028\u2029]/;
@@ -382,32 +383,33 @@ function peg$parse(input, options) {
382
383
  var peg$e63 = peg$literalExpectation("typeof", false);
383
384
  var peg$e64 = peg$literalExpectation("mod", false);
384
385
  var peg$e65 = peg$literalExpectation("let", false);
385
- var peg$e66 = peg$literalExpectation(";", false);
386
- var peg$e67 = peg$literalExpectation("}", false);
387
- var peg$e68 = peg$literalExpectation("(", false);
388
- var peg$e69 = peg$literalExpectation(")", false);
389
- var peg$e70 = peg$literalExpectation("[", false);
390
- var peg$e71 = peg$literalExpectation("]", false);
391
- var peg$e72 = peg$literalExpectation(",", false);
392
- var peg$e73 = peg$literalExpectation("{", false);
393
- var peg$e74 = peg$literalExpectation(":", false);
394
- var peg$e75 = peg$literalExpectation("::", false);
395
- var peg$e76 = peg$literalExpectation("%", false);
396
- var peg$e77 = peg$literalExpectation("^", false);
397
- var peg$e78 = peg$classExpectation(["*", "/"], false, false);
398
- var peg$e79 = peg$literalExpectation("&", false);
399
- var peg$e80 = peg$literalExpectation("<=", false);
400
- var peg$e81 = peg$literalExpectation(">=", false);
401
- var peg$e82 = peg$classExpectation(["<", ">"], false, false);
402
- var peg$e83 = peg$literalExpectation("==", false);
403
- var peg$e84 = peg$literalExpectation("!=", false);
404
- var peg$e85 = peg$literalExpectation("&&", false);
405
- var peg$e86 = peg$literalExpectation("||", false);
406
- var peg$e87 = peg$literalExpectation("??", false);
407
- var peg$e88 = peg$literalExpectation("|?", false);
386
+ var peg$e66 = peg$literalExpectation("(", false);
387
+ var peg$e67 = peg$literalExpectation(")", false);
388
+ var peg$e68 = peg$literalExpectation("[", false);
389
+ var peg$e69 = peg$literalExpectation("]", false);
390
+ var peg$e70 = peg$literalExpectation(",", false);
391
+ var peg$e71 = peg$literalExpectation("{", false);
392
+ var peg$e72 = peg$literalExpectation("}", false);
393
+ var peg$e73 = peg$literalExpectation(":", false);
394
+ var peg$e74 = peg$literalExpectation("::", false);
395
+ var peg$e75 = peg$literalExpectation("#", false);
396
+ var peg$e76 = peg$literalExpectation("^", false);
397
+ var peg$e77 = peg$classExpectation(["*", "/"], false, false);
398
+ var peg$e78 = peg$literalExpectation("&", false);
399
+ var peg$e79 = peg$literalExpectation("<=", false);
400
+ var peg$e80 = peg$literalExpectation(">=", false);
401
+ var peg$e81 = peg$classExpectation(["<", ">"], false, false);
402
+ var peg$e82 = peg$literalExpectation("==", false);
403
+ var peg$e83 = peg$literalExpectation("!=", false);
404
+ var peg$e84 = peg$literalExpectation("&&", false);
405
+ var peg$e85 = peg$literalExpectation("||", false);
406
+ var peg$e86 = peg$literalExpectation("??", false);
407
+ var peg$e87 = peg$literalExpectation("|?", false);
408
+ var peg$e88 = peg$literalExpectation("|>", false);
408
409
  var peg$e89 = peg$literalExpectation("|", false);
409
- var peg$e90 = peg$literalExpectation("=>", false);
410
- var peg$e91 = peg$literalExpectation("=", false);
410
+ var peg$e90 = peg$literalExpectation("%", false);
411
+ var peg$e91 = peg$literalExpectation("=>", false);
412
+ var peg$e92 = peg$literalExpectation("=", false);
411
413
 
412
414
  var peg$f0 = function(statement) { return statement; };
413
415
  var peg$f1 = function(name) { return name; };
@@ -694,7 +696,13 @@ function peg$parse(input, options) {
694
696
  ? { type: "PipeSequence", head, tail, location: getLocation(location()) }
695
697
  : head
696
698
  };
697
- var peg$f69 = function(params, body) {
699
+ var peg$f69 = function() {
700
+ return {
701
+ type: "TopicReference",
702
+ location: getLocation(location())
703
+ };
704
+ };
705
+ var peg$f70 = function(params, body) {
698
706
  return {
699
707
  type: "LambdaExpression",
700
708
  params: optionalList(extractOptional(params, 0)),
@@ -702,7 +710,7 @@ function peg$parse(input, options) {
702
710
  location: getLocation(location())
703
711
  };
704
712
  };
705
- var peg$f70 = function(param, body) {
713
+ var peg$f71 = function(param, body) {
706
714
  return {
707
715
  type: "LambdaExpression",
708
716
  params: [param],
@@ -710,10 +718,10 @@ function peg$parse(input, options) {
710
718
  location: getLocation(location())
711
719
  }
712
720
  };
713
- var peg$f71 = function(head, tail) {
721
+ var peg$f72 = function(head, tail) {
714
722
  return buildList(head, tail, 3);
715
723
  };
716
- var peg$f72 = function(declarations, body) {
724
+ var peg$f73 = function(declarations, body) {
717
725
  return {
718
726
  type: "LetExpression",
719
727
  declarations,
@@ -721,10 +729,10 @@ function peg$parse(input, options) {
721
729
  location: getLocation(location())
722
730
  }
723
731
  };
724
- var peg$f73 = function(head, tail) {
732
+ var peg$f74 = function(head, tail) {
725
733
  return buildList(head, tail, 3);
726
734
  };
727
- var peg$f74 = function(id, init) {
735
+ var peg$f75 = function(id, init) {
728
736
  return {
729
737
  type: "VariableDeclarator",
730
738
  id: id,
@@ -732,8 +740,8 @@ function peg$parse(input, options) {
732
740
  location: getLocation(location())
733
741
  };
734
742
  };
735
- var peg$f75 = function(expression) { return expression; };
736
- var peg$f76 = function(expression) {
743
+ var peg$f76 = function(expression) { return expression; };
744
+ var peg$f77 = function(expression) {
737
745
  return {
738
746
  type: "ExpressionStatement",
739
747
  expression: expression
@@ -3125,16 +3133,14 @@ function peg$parse(input, options) {
3125
3133
  var s0, s1, s2, s3;
3126
3134
 
3127
3135
  s0 = peg$currPos;
3128
- s1 = peg$parse__();
3129
- if (input.charCodeAt(peg$currPos) === 59) {
3130
- s2 = peg$c33;
3131
- peg$currPos++;
3132
- } else {
3133
- s2 = peg$FAILED;
3134
- if (peg$silentFails === 0) { peg$fail(peg$e66); }
3136
+ s1 = peg$parse_();
3137
+ s2 = peg$parseSingleLineComment();
3138
+ if (s2 === peg$FAILED) {
3139
+ s2 = null;
3135
3140
  }
3136
- if (s2 !== peg$FAILED) {
3137
- s1 = [s1, s2];
3141
+ s3 = peg$parseLineTerminatorSequence();
3142
+ if (s3 !== peg$FAILED) {
3143
+ s1 = [s1, s2, s3];
3138
3144
  s0 = s1;
3139
3145
  } else {
3140
3146
  peg$currPos = s0;
@@ -3142,58 +3148,15 @@ function peg$parse(input, options) {
3142
3148
  }
3143
3149
  if (s0 === peg$FAILED) {
3144
3150
  s0 = peg$currPos;
3145
- s1 = peg$parse_();
3146
- s2 = peg$parseSingleLineComment();
3147
- if (s2 === peg$FAILED) {
3148
- s2 = null;
3149
- }
3150
- s3 = peg$parseLineTerminatorSequence();
3151
- if (s3 !== peg$FAILED) {
3152
- s1 = [s1, s2, s3];
3151
+ s1 = peg$parse__();
3152
+ s2 = peg$parseEOF();
3153
+ if (s2 !== peg$FAILED) {
3154
+ s1 = [s1, s2];
3153
3155
  s0 = s1;
3154
3156
  } else {
3155
3157
  peg$currPos = s0;
3156
3158
  s0 = peg$FAILED;
3157
3159
  }
3158
- if (s0 === peg$FAILED) {
3159
- s0 = peg$currPos;
3160
- s1 = peg$parse_();
3161
- s2 = peg$currPos;
3162
- peg$silentFails++;
3163
- if (input.charCodeAt(peg$currPos) === 125) {
3164
- s3 = peg$c34;
3165
- peg$currPos++;
3166
- } else {
3167
- s3 = peg$FAILED;
3168
- if (peg$silentFails === 0) { peg$fail(peg$e67); }
3169
- }
3170
- peg$silentFails--;
3171
- if (s3 !== peg$FAILED) {
3172
- peg$currPos = s2;
3173
- s2 = undefined;
3174
- } else {
3175
- s2 = peg$FAILED;
3176
- }
3177
- if (s2 !== peg$FAILED) {
3178
- s1 = [s1, s2];
3179
- s0 = s1;
3180
- } else {
3181
- peg$currPos = s0;
3182
- s0 = peg$FAILED;
3183
- }
3184
- if (s0 === peg$FAILED) {
3185
- s0 = peg$currPos;
3186
- s1 = peg$parse__();
3187
- s2 = peg$parseEOF();
3188
- if (s2 !== peg$FAILED) {
3189
- s1 = [s1, s2];
3190
- s0 = s1;
3191
- } else {
3192
- peg$currPos = s0;
3193
- s0 = peg$FAILED;
3194
- }
3195
- }
3196
- }
3197
3160
  }
3198
3161
 
3199
3162
  return s0;
@@ -3229,33 +3192,39 @@ function peg$parse(input, options) {
3229
3192
  if (s0 === peg$FAILED) {
3230
3193
  s0 = peg$parseLiteral();
3231
3194
  if (s0 === peg$FAILED) {
3232
- s0 = peg$parseArrayLiteral();
3195
+ s0 = peg$parseTopicReference();
3233
3196
  if (s0 === peg$FAILED) {
3234
- s0 = peg$parseObjectLiteral();
3197
+ s0 = peg$parseArrayLiteral();
3235
3198
  if (s0 === peg$FAILED) {
3236
- s0 = peg$currPos;
3237
- if (input.charCodeAt(peg$currPos) === 40) {
3238
- s1 = peg$c35;
3239
- peg$currPos++;
3240
- } else {
3241
- s1 = peg$FAILED;
3242
- if (peg$silentFails === 0) { peg$fail(peg$e68); }
3243
- }
3244
- if (s1 !== peg$FAILED) {
3245
- s2 = peg$parse__();
3246
- s3 = peg$parseExpression();
3247
- if (s3 !== peg$FAILED) {
3248
- s4 = peg$parse__();
3249
- if (input.charCodeAt(peg$currPos) === 41) {
3250
- s5 = peg$c36;
3251
- peg$currPos++;
3252
- } else {
3253
- s5 = peg$FAILED;
3254
- if (peg$silentFails === 0) { peg$fail(peg$e69); }
3255
- }
3256
- if (s5 !== peg$FAILED) {
3257
- peg$savedPos = s0;
3258
- s0 = peg$f30(s3);
3199
+ s0 = peg$parseObjectLiteral();
3200
+ if (s0 === peg$FAILED) {
3201
+ s0 = peg$currPos;
3202
+ if (input.charCodeAt(peg$currPos) === 40) {
3203
+ s1 = peg$c33;
3204
+ peg$currPos++;
3205
+ } else {
3206
+ s1 = peg$FAILED;
3207
+ if (peg$silentFails === 0) { peg$fail(peg$e66); }
3208
+ }
3209
+ if (s1 !== peg$FAILED) {
3210
+ s2 = peg$parse__();
3211
+ s3 = peg$parseExpression();
3212
+ if (s3 !== peg$FAILED) {
3213
+ s4 = peg$parse__();
3214
+ if (input.charCodeAt(peg$currPos) === 41) {
3215
+ s5 = peg$c34;
3216
+ peg$currPos++;
3217
+ } else {
3218
+ s5 = peg$FAILED;
3219
+ if (peg$silentFails === 0) { peg$fail(peg$e67); }
3220
+ }
3221
+ if (s5 !== peg$FAILED) {
3222
+ peg$savedPos = s0;
3223
+ s0 = peg$f30(s3);
3224
+ } else {
3225
+ peg$currPos = s0;
3226
+ s0 = peg$FAILED;
3227
+ }
3259
3228
  } else {
3260
3229
  peg$currPos = s0;
3261
3230
  s0 = peg$FAILED;
@@ -3264,9 +3233,6 @@ function peg$parse(input, options) {
3264
3233
  peg$currPos = s0;
3265
3234
  s0 = peg$FAILED;
3266
3235
  }
3267
- } else {
3268
- peg$currPos = s0;
3269
- s0 = peg$FAILED;
3270
3236
  }
3271
3237
  }
3272
3238
  }
@@ -3281,11 +3247,11 @@ function peg$parse(input, options) {
3281
3247
 
3282
3248
  s0 = peg$currPos;
3283
3249
  if (input.charCodeAt(peg$currPos) === 91) {
3284
- s1 = peg$c37;
3250
+ s1 = peg$c35;
3285
3251
  peg$currPos++;
3286
3252
  } else {
3287
3253
  s1 = peg$FAILED;
3288
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
3254
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
3289
3255
  }
3290
3256
  if (s1 !== peg$FAILED) {
3291
3257
  s2 = peg$parse__();
@@ -3303,11 +3269,11 @@ function peg$parse(input, options) {
3303
3269
  s3 = null;
3304
3270
  }
3305
3271
  if (input.charCodeAt(peg$currPos) === 93) {
3306
- s4 = peg$c38;
3272
+ s4 = peg$c36;
3307
3273
  peg$currPos++;
3308
3274
  } else {
3309
3275
  s4 = peg$FAILED;
3310
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
3276
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
3311
3277
  }
3312
3278
  if (s4 !== peg$FAILED) {
3313
3279
  peg$savedPos = s0;
@@ -3323,11 +3289,11 @@ function peg$parse(input, options) {
3323
3289
  if (s0 === peg$FAILED) {
3324
3290
  s0 = peg$currPos;
3325
3291
  if (input.charCodeAt(peg$currPos) === 91) {
3326
- s1 = peg$c37;
3292
+ s1 = peg$c35;
3327
3293
  peg$currPos++;
3328
3294
  } else {
3329
3295
  s1 = peg$FAILED;
3330
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
3296
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
3331
3297
  }
3332
3298
  if (s1 !== peg$FAILED) {
3333
3299
  s2 = peg$parse__();
@@ -3335,11 +3301,11 @@ function peg$parse(input, options) {
3335
3301
  if (s3 !== peg$FAILED) {
3336
3302
  s4 = peg$parse__();
3337
3303
  if (input.charCodeAt(peg$currPos) === 93) {
3338
- s5 = peg$c38;
3304
+ s5 = peg$c36;
3339
3305
  peg$currPos++;
3340
3306
  } else {
3341
3307
  s5 = peg$FAILED;
3342
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
3308
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
3343
3309
  }
3344
3310
  if (s5 !== peg$FAILED) {
3345
3311
  peg$savedPos = s0;
@@ -3359,11 +3325,11 @@ function peg$parse(input, options) {
3359
3325
  if (s0 === peg$FAILED) {
3360
3326
  s0 = peg$currPos;
3361
3327
  if (input.charCodeAt(peg$currPos) === 91) {
3362
- s1 = peg$c37;
3328
+ s1 = peg$c35;
3363
3329
  peg$currPos++;
3364
3330
  } else {
3365
3331
  s1 = peg$FAILED;
3366
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
3332
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
3367
3333
  }
3368
3334
  if (s1 !== peg$FAILED) {
3369
3335
  s2 = peg$parse__();
@@ -3371,11 +3337,11 @@ function peg$parse(input, options) {
3371
3337
  if (s3 !== peg$FAILED) {
3372
3338
  s4 = peg$parse__();
3373
3339
  if (input.charCodeAt(peg$currPos) === 44) {
3374
- s5 = peg$c39;
3340
+ s5 = peg$c37;
3375
3341
  peg$currPos++;
3376
3342
  } else {
3377
3343
  s5 = peg$FAILED;
3378
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3344
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3379
3345
  }
3380
3346
  if (s5 !== peg$FAILED) {
3381
3347
  s6 = peg$parse__();
@@ -3393,11 +3359,11 @@ function peg$parse(input, options) {
3393
3359
  s7 = null;
3394
3360
  }
3395
3361
  if (input.charCodeAt(peg$currPos) === 93) {
3396
- s8 = peg$c38;
3362
+ s8 = peg$c36;
3397
3363
  peg$currPos++;
3398
3364
  } else {
3399
3365
  s8 = peg$FAILED;
3400
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
3366
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
3401
3367
  }
3402
3368
  if (s8 !== peg$FAILED) {
3403
3369
  peg$savedPos = s0;
@@ -3455,11 +3421,11 @@ function peg$parse(input, options) {
3455
3421
  s3 = peg$currPos;
3456
3422
  s4 = peg$parse__();
3457
3423
  if (input.charCodeAt(peg$currPos) === 44) {
3458
- s5 = peg$c39;
3424
+ s5 = peg$c37;
3459
3425
  peg$currPos++;
3460
3426
  } else {
3461
3427
  s5 = peg$FAILED;
3462
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3428
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3463
3429
  }
3464
3430
  if (s5 !== peg$FAILED) {
3465
3431
  s6 = peg$parse__();
@@ -3493,11 +3459,11 @@ function peg$parse(input, options) {
3493
3459
  s3 = peg$currPos;
3494
3460
  s4 = peg$parse__();
3495
3461
  if (input.charCodeAt(peg$currPos) === 44) {
3496
- s5 = peg$c39;
3462
+ s5 = peg$c37;
3497
3463
  peg$currPos++;
3498
3464
  } else {
3499
3465
  s5 = peg$FAILED;
3500
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3466
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3501
3467
  }
3502
3468
  if (s5 !== peg$FAILED) {
3503
3469
  s6 = peg$parse__();
@@ -3542,22 +3508,22 @@ function peg$parse(input, options) {
3542
3508
 
3543
3509
  s0 = peg$currPos;
3544
3510
  if (input.charCodeAt(peg$currPos) === 44) {
3545
- s1 = peg$c39;
3511
+ s1 = peg$c37;
3546
3512
  peg$currPos++;
3547
3513
  } else {
3548
3514
  s1 = peg$FAILED;
3549
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3515
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3550
3516
  }
3551
3517
  if (s1 !== peg$FAILED) {
3552
3518
  s2 = [];
3553
3519
  s3 = peg$currPos;
3554
3520
  s4 = peg$parse__();
3555
3521
  if (input.charCodeAt(peg$currPos) === 44) {
3556
- s5 = peg$c39;
3522
+ s5 = peg$c37;
3557
3523
  peg$currPos++;
3558
3524
  } else {
3559
3525
  s5 = peg$FAILED;
3560
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3526
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3561
3527
  }
3562
3528
  if (s5 !== peg$FAILED) {
3563
3529
  s4 = [s4, s5];
@@ -3571,11 +3537,11 @@ function peg$parse(input, options) {
3571
3537
  s3 = peg$currPos;
3572
3538
  s4 = peg$parse__();
3573
3539
  if (input.charCodeAt(peg$currPos) === 44) {
3574
- s5 = peg$c39;
3540
+ s5 = peg$c37;
3575
3541
  peg$currPos++;
3576
3542
  } else {
3577
3543
  s5 = peg$FAILED;
3578
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3544
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3579
3545
  }
3580
3546
  if (s5 !== peg$FAILED) {
3581
3547
  s4 = [s4, s5];
@@ -3600,20 +3566,20 @@ function peg$parse(input, options) {
3600
3566
 
3601
3567
  s0 = peg$currPos;
3602
3568
  if (input.charCodeAt(peg$currPos) === 123) {
3603
- s1 = peg$c40;
3569
+ s1 = peg$c38;
3604
3570
  peg$currPos++;
3605
3571
  } else {
3606
3572
  s1 = peg$FAILED;
3607
- if (peg$silentFails === 0) { peg$fail(peg$e73); }
3573
+ if (peg$silentFails === 0) { peg$fail(peg$e71); }
3608
3574
  }
3609
3575
  if (s1 !== peg$FAILED) {
3610
3576
  s2 = peg$parse__();
3611
3577
  if (input.charCodeAt(peg$currPos) === 125) {
3612
- s3 = peg$c34;
3578
+ s3 = peg$c39;
3613
3579
  peg$currPos++;
3614
3580
  } else {
3615
3581
  s3 = peg$FAILED;
3616
- if (peg$silentFails === 0) { peg$fail(peg$e67); }
3582
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
3617
3583
  }
3618
3584
  if (s3 !== peg$FAILED) {
3619
3585
  peg$savedPos = s0;
@@ -3629,11 +3595,11 @@ function peg$parse(input, options) {
3629
3595
  if (s0 === peg$FAILED) {
3630
3596
  s0 = peg$currPos;
3631
3597
  if (input.charCodeAt(peg$currPos) === 123) {
3632
- s1 = peg$c40;
3598
+ s1 = peg$c38;
3633
3599
  peg$currPos++;
3634
3600
  } else {
3635
3601
  s1 = peg$FAILED;
3636
- if (peg$silentFails === 0) { peg$fail(peg$e73); }
3602
+ if (peg$silentFails === 0) { peg$fail(peg$e71); }
3637
3603
  }
3638
3604
  if (s1 !== peg$FAILED) {
3639
3605
  s2 = peg$parse__();
@@ -3641,11 +3607,11 @@ function peg$parse(input, options) {
3641
3607
  if (s3 !== peg$FAILED) {
3642
3608
  s4 = peg$parse__();
3643
3609
  if (input.charCodeAt(peg$currPos) === 125) {
3644
- s5 = peg$c34;
3610
+ s5 = peg$c39;
3645
3611
  peg$currPos++;
3646
3612
  } else {
3647
3613
  s5 = peg$FAILED;
3648
- if (peg$silentFails === 0) { peg$fail(peg$e67); }
3614
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
3649
3615
  }
3650
3616
  if (s5 !== peg$FAILED) {
3651
3617
  peg$savedPos = s0;
@@ -3665,11 +3631,11 @@ function peg$parse(input, options) {
3665
3631
  if (s0 === peg$FAILED) {
3666
3632
  s0 = peg$currPos;
3667
3633
  if (input.charCodeAt(peg$currPos) === 123) {
3668
- s1 = peg$c40;
3634
+ s1 = peg$c38;
3669
3635
  peg$currPos++;
3670
3636
  } else {
3671
3637
  s1 = peg$FAILED;
3672
- if (peg$silentFails === 0) { peg$fail(peg$e73); }
3638
+ if (peg$silentFails === 0) { peg$fail(peg$e71); }
3673
3639
  }
3674
3640
  if (s1 !== peg$FAILED) {
3675
3641
  s2 = peg$parse__();
@@ -3677,20 +3643,20 @@ function peg$parse(input, options) {
3677
3643
  if (s3 !== peg$FAILED) {
3678
3644
  s4 = peg$parse__();
3679
3645
  if (input.charCodeAt(peg$currPos) === 44) {
3680
- s5 = peg$c39;
3646
+ s5 = peg$c37;
3681
3647
  peg$currPos++;
3682
3648
  } else {
3683
3649
  s5 = peg$FAILED;
3684
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3650
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3685
3651
  }
3686
3652
  if (s5 !== peg$FAILED) {
3687
3653
  s6 = peg$parse__();
3688
3654
  if (input.charCodeAt(peg$currPos) === 125) {
3689
- s7 = peg$c34;
3655
+ s7 = peg$c39;
3690
3656
  peg$currPos++;
3691
3657
  } else {
3692
3658
  s7 = peg$FAILED;
3693
- if (peg$silentFails === 0) { peg$fail(peg$e67); }
3659
+ if (peg$silentFails === 0) { peg$fail(peg$e72); }
3694
3660
  }
3695
3661
  if (s7 !== peg$FAILED) {
3696
3662
  peg$savedPos = s0;
@@ -3727,11 +3693,11 @@ function peg$parse(input, options) {
3727
3693
  s3 = peg$currPos;
3728
3694
  s4 = peg$parse__();
3729
3695
  if (input.charCodeAt(peg$currPos) === 44) {
3730
- s5 = peg$c39;
3696
+ s5 = peg$c37;
3731
3697
  peg$currPos++;
3732
3698
  } else {
3733
3699
  s5 = peg$FAILED;
3734
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3700
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3735
3701
  }
3736
3702
  if (s5 !== peg$FAILED) {
3737
3703
  s6 = peg$parse__();
@@ -3752,11 +3718,11 @@ function peg$parse(input, options) {
3752
3718
  s3 = peg$currPos;
3753
3719
  s4 = peg$parse__();
3754
3720
  if (input.charCodeAt(peg$currPos) === 44) {
3755
- s5 = peg$c39;
3721
+ s5 = peg$c37;
3756
3722
  peg$currPos++;
3757
3723
  } else {
3758
3724
  s5 = peg$FAILED;
3759
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
3725
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
3760
3726
  }
3761
3727
  if (s5 !== peg$FAILED) {
3762
3728
  s6 = peg$parse__();
@@ -3791,11 +3757,11 @@ function peg$parse(input, options) {
3791
3757
  if (s1 !== peg$FAILED) {
3792
3758
  s2 = peg$parse__();
3793
3759
  if (input.charCodeAt(peg$currPos) === 58) {
3794
- s3 = peg$c41;
3760
+ s3 = peg$c40;
3795
3761
  peg$currPos++;
3796
3762
  } else {
3797
3763
  s3 = peg$FAILED;
3798
- if (peg$silentFails === 0) { peg$fail(peg$e74); }
3764
+ if (peg$silentFails === 0) { peg$fail(peg$e73); }
3799
3765
  }
3800
3766
  if (s3 !== peg$FAILED) {
3801
3767
  s4 = peg$parse__();
@@ -3843,11 +3809,11 @@ function peg$parse(input, options) {
3843
3809
  s3 = peg$currPos;
3844
3810
  s4 = peg$parse__();
3845
3811
  if (input.charCodeAt(peg$currPos) === 91) {
3846
- s5 = peg$c37;
3812
+ s5 = peg$c35;
3847
3813
  peg$currPos++;
3848
3814
  } else {
3849
3815
  s5 = peg$FAILED;
3850
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
3816
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
3851
3817
  }
3852
3818
  if (s5 !== peg$FAILED) {
3853
3819
  s6 = peg$parse__();
@@ -3855,11 +3821,11 @@ function peg$parse(input, options) {
3855
3821
  if (s7 !== peg$FAILED) {
3856
3822
  s8 = peg$parse__();
3857
3823
  if (input.charCodeAt(peg$currPos) === 93) {
3858
- s9 = peg$c38;
3824
+ s9 = peg$c36;
3859
3825
  peg$currPos++;
3860
3826
  } else {
3861
3827
  s9 = peg$FAILED;
3862
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
3828
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
3863
3829
  }
3864
3830
  if (s9 !== peg$FAILED) {
3865
3831
  peg$savedPos = s3;
@@ -3903,12 +3869,12 @@ function peg$parse(input, options) {
3903
3869
  if (s3 === peg$FAILED) {
3904
3870
  s3 = peg$currPos;
3905
3871
  s4 = peg$parse__();
3906
- if (input.substr(peg$currPos, 2) === peg$c42) {
3907
- s5 = peg$c42;
3872
+ if (input.substr(peg$currPos, 2) === peg$c41) {
3873
+ s5 = peg$c41;
3908
3874
  peg$currPos += 2;
3909
3875
  } else {
3910
3876
  s5 = peg$FAILED;
3911
- if (peg$silentFails === 0) { peg$fail(peg$e75); }
3877
+ if (peg$silentFails === 0) { peg$fail(peg$e74); }
3912
3878
  }
3913
3879
  if (s5 !== peg$FAILED) {
3914
3880
  s6 = peg$parse__();
@@ -3931,11 +3897,11 @@ function peg$parse(input, options) {
3931
3897
  s3 = peg$currPos;
3932
3898
  s4 = peg$parse__();
3933
3899
  if (input.charCodeAt(peg$currPos) === 91) {
3934
- s5 = peg$c37;
3900
+ s5 = peg$c35;
3935
3901
  peg$currPos++;
3936
3902
  } else {
3937
3903
  s5 = peg$FAILED;
3938
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
3904
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
3939
3905
  }
3940
3906
  if (s5 !== peg$FAILED) {
3941
3907
  s6 = peg$parse__();
@@ -3943,11 +3909,11 @@ function peg$parse(input, options) {
3943
3909
  if (s7 !== peg$FAILED) {
3944
3910
  s8 = peg$parse__();
3945
3911
  if (input.charCodeAt(peg$currPos) === 93) {
3946
- s9 = peg$c38;
3912
+ s9 = peg$c36;
3947
3913
  peg$currPos++;
3948
3914
  } else {
3949
3915
  s9 = peg$FAILED;
3950
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
3916
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
3951
3917
  }
3952
3918
  if (s9 !== peg$FAILED) {
3953
3919
  peg$savedPos = s3;
@@ -3991,12 +3957,12 @@ function peg$parse(input, options) {
3991
3957
  if (s3 === peg$FAILED) {
3992
3958
  s3 = peg$currPos;
3993
3959
  s4 = peg$parse__();
3994
- if (input.substr(peg$currPos, 2) === peg$c42) {
3995
- s5 = peg$c42;
3960
+ if (input.substr(peg$currPos, 2) === peg$c41) {
3961
+ s5 = peg$c41;
3996
3962
  peg$currPos += 2;
3997
3963
  } else {
3998
3964
  s5 = peg$FAILED;
3999
- if (peg$silentFails === 0) { peg$fail(peg$e75); }
3965
+ if (peg$silentFails === 0) { peg$fail(peg$e74); }
4000
3966
  }
4001
3967
  if (s5 !== peg$FAILED) {
4002
3968
  s6 = peg$parse__();
@@ -4061,11 +4027,11 @@ function peg$parse(input, options) {
4061
4027
  s3 = peg$currPos;
4062
4028
  s4 = peg$parse__();
4063
4029
  if (input.charCodeAt(peg$currPos) === 91) {
4064
- s5 = peg$c37;
4030
+ s5 = peg$c35;
4065
4031
  peg$currPos++;
4066
4032
  } else {
4067
4033
  s5 = peg$FAILED;
4068
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
4034
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
4069
4035
  }
4070
4036
  if (s5 !== peg$FAILED) {
4071
4037
  s6 = peg$parse__();
@@ -4073,11 +4039,11 @@ function peg$parse(input, options) {
4073
4039
  if (s7 !== peg$FAILED) {
4074
4040
  s8 = peg$parse__();
4075
4041
  if (input.charCodeAt(peg$currPos) === 93) {
4076
- s9 = peg$c38;
4042
+ s9 = peg$c36;
4077
4043
  peg$currPos++;
4078
4044
  } else {
4079
4045
  s9 = peg$FAILED;
4080
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
4046
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
4081
4047
  }
4082
4048
  if (s9 !== peg$FAILED) {
4083
4049
  peg$savedPos = s3;
@@ -4136,11 +4102,11 @@ function peg$parse(input, options) {
4136
4102
  s3 = peg$currPos;
4137
4103
  s4 = peg$parse__();
4138
4104
  if (input.charCodeAt(peg$currPos) === 91) {
4139
- s5 = peg$c37;
4105
+ s5 = peg$c35;
4140
4106
  peg$currPos++;
4141
4107
  } else {
4142
4108
  s5 = peg$FAILED;
4143
- if (peg$silentFails === 0) { peg$fail(peg$e70); }
4109
+ if (peg$silentFails === 0) { peg$fail(peg$e68); }
4144
4110
  }
4145
4111
  if (s5 !== peg$FAILED) {
4146
4112
  s6 = peg$parse__();
@@ -4148,11 +4114,11 @@ function peg$parse(input, options) {
4148
4114
  if (s7 !== peg$FAILED) {
4149
4115
  s8 = peg$parse__();
4150
4116
  if (input.charCodeAt(peg$currPos) === 93) {
4151
- s9 = peg$c38;
4117
+ s9 = peg$c36;
4152
4118
  peg$currPos++;
4153
4119
  } else {
4154
4120
  s9 = peg$FAILED;
4155
- if (peg$silentFails === 0) { peg$fail(peg$e71); }
4121
+ if (peg$silentFails === 0) { peg$fail(peg$e69); }
4156
4122
  }
4157
4123
  if (s9 !== peg$FAILED) {
4158
4124
  peg$savedPos = s3;
@@ -4211,11 +4177,11 @@ function peg$parse(input, options) {
4211
4177
 
4212
4178
  s0 = peg$currPos;
4213
4179
  if (input.charCodeAt(peg$currPos) === 40) {
4214
- s1 = peg$c35;
4180
+ s1 = peg$c33;
4215
4181
  peg$currPos++;
4216
4182
  } else {
4217
4183
  s1 = peg$FAILED;
4218
- if (peg$silentFails === 0) { peg$fail(peg$e68); }
4184
+ if (peg$silentFails === 0) { peg$fail(peg$e66); }
4219
4185
  }
4220
4186
  if (s1 !== peg$FAILED) {
4221
4187
  s2 = peg$parse__();
@@ -4233,11 +4199,11 @@ function peg$parse(input, options) {
4233
4199
  s3 = null;
4234
4200
  }
4235
4201
  if (input.charCodeAt(peg$currPos) === 41) {
4236
- s4 = peg$c36;
4202
+ s4 = peg$c34;
4237
4203
  peg$currPos++;
4238
4204
  } else {
4239
4205
  s4 = peg$FAILED;
4240
- if (peg$silentFails === 0) { peg$fail(peg$e69); }
4206
+ if (peg$silentFails === 0) { peg$fail(peg$e67); }
4241
4207
  }
4242
4208
  if (s4 !== peg$FAILED) {
4243
4209
  peg$savedPos = s0;
@@ -4264,11 +4230,11 @@ function peg$parse(input, options) {
4264
4230
  s3 = peg$currPos;
4265
4231
  s4 = peg$parse__();
4266
4232
  if (input.charCodeAt(peg$currPos) === 44) {
4267
- s5 = peg$c39;
4233
+ s5 = peg$c37;
4268
4234
  peg$currPos++;
4269
4235
  } else {
4270
4236
  s5 = peg$FAILED;
4271
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
4237
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
4272
4238
  }
4273
4239
  if (s5 !== peg$FAILED) {
4274
4240
  s6 = peg$parse__();
@@ -4289,11 +4255,11 @@ function peg$parse(input, options) {
4289
4255
  s3 = peg$currPos;
4290
4256
  s4 = peg$parse__();
4291
4257
  if (input.charCodeAt(peg$currPos) === 44) {
4292
- s5 = peg$c39;
4258
+ s5 = peg$c37;
4293
4259
  peg$currPos++;
4294
4260
  } else {
4295
4261
  s5 = peg$FAILED;
4296
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
4262
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
4297
4263
  }
4298
4264
  if (s5 !== peg$FAILED) {
4299
4265
  s6 = peg$parse__();
@@ -4335,12 +4301,12 @@ function peg$parse(input, options) {
4335
4301
  var s0, s1;
4336
4302
 
4337
4303
  s0 = peg$currPos;
4338
- if (input.charCodeAt(peg$currPos) === 37) {
4339
- s1 = peg$c43;
4304
+ if (input.charCodeAt(peg$currPos) === 35) {
4305
+ s1 = peg$c42;
4340
4306
  peg$currPos++;
4341
4307
  } else {
4342
4308
  s1 = peg$FAILED;
4343
- if (peg$silentFails === 0) { peg$fail(peg$e76); }
4309
+ if (peg$silentFails === 0) { peg$fail(peg$e75); }
4344
4310
  }
4345
4311
  if (s1 !== peg$FAILED) {
4346
4312
  peg$savedPos = s0;
@@ -4420,11 +4386,11 @@ function peg$parse(input, options) {
4420
4386
  var s0;
4421
4387
 
4422
4388
  if (input.charCodeAt(peg$currPos) === 94) {
4423
- s0 = peg$c44;
4389
+ s0 = peg$c43;
4424
4390
  peg$currPos++;
4425
4391
  } else {
4426
4392
  s0 = peg$FAILED;
4427
- if (peg$silentFails === 0) { peg$fail(peg$e77); }
4393
+ if (peg$silentFails === 0) { peg$fail(peg$e76); }
4428
4394
  }
4429
4395
 
4430
4396
  return s0;
@@ -4550,7 +4516,7 @@ function peg$parse(input, options) {
4550
4516
  peg$currPos++;
4551
4517
  } else {
4552
4518
  s0 = peg$FAILED;
4553
- if (peg$silentFails === 0) { peg$fail(peg$e78); }
4519
+ if (peg$silentFails === 0) { peg$fail(peg$e77); }
4554
4520
  }
4555
4521
  if (s0 === peg$FAILED) {
4556
4522
  s0 = peg$currPos;
@@ -4691,11 +4657,11 @@ function peg$parse(input, options) {
4691
4657
  var s0;
4692
4658
 
4693
4659
  if (input.charCodeAt(peg$currPos) === 38) {
4694
- s0 = peg$c45;
4660
+ s0 = peg$c44;
4695
4661
  peg$currPos++;
4696
4662
  } else {
4697
4663
  s0 = peg$FAILED;
4698
- if (peg$silentFails === 0) { peg$fail(peg$e79); }
4664
+ if (peg$silentFails === 0) { peg$fail(peg$e78); }
4699
4665
  }
4700
4666
 
4701
4667
  return s0;
@@ -4758,20 +4724,20 @@ function peg$parse(input, options) {
4758
4724
  function peg$parseRelationalOperator() {
4759
4725
  var s0, s1;
4760
4726
 
4761
- if (input.substr(peg$currPos, 2) === peg$c46) {
4762
- s0 = peg$c46;
4727
+ if (input.substr(peg$currPos, 2) === peg$c45) {
4728
+ s0 = peg$c45;
4763
4729
  peg$currPos += 2;
4764
4730
  } else {
4765
4731
  s0 = peg$FAILED;
4766
- if (peg$silentFails === 0) { peg$fail(peg$e80); }
4732
+ if (peg$silentFails === 0) { peg$fail(peg$e79); }
4767
4733
  }
4768
4734
  if (s0 === peg$FAILED) {
4769
- if (input.substr(peg$currPos, 2) === peg$c47) {
4770
- s0 = peg$c47;
4735
+ if (input.substr(peg$currPos, 2) === peg$c46) {
4736
+ s0 = peg$c46;
4771
4737
  peg$currPos += 2;
4772
4738
  } else {
4773
4739
  s0 = peg$FAILED;
4774
- if (peg$silentFails === 0) { peg$fail(peg$e81); }
4740
+ if (peg$silentFails === 0) { peg$fail(peg$e80); }
4775
4741
  }
4776
4742
  if (s0 === peg$FAILED) {
4777
4743
  s0 = input.charAt(peg$currPos);
@@ -4779,7 +4745,7 @@ function peg$parse(input, options) {
4779
4745
  peg$currPos++;
4780
4746
  } else {
4781
4747
  s0 = peg$FAILED;
4782
- if (peg$silentFails === 0) { peg$fail(peg$e82); }
4748
+ if (peg$silentFails === 0) { peg$fail(peg$e81); }
4783
4749
  }
4784
4750
  if (s0 === peg$FAILED) {
4785
4751
  s0 = peg$currPos;
@@ -4853,20 +4819,20 @@ function peg$parse(input, options) {
4853
4819
  function peg$parseEqualityOperator() {
4854
4820
  var s0;
4855
4821
 
4856
- if (input.substr(peg$currPos, 2) === peg$c48) {
4857
- s0 = peg$c48;
4822
+ if (input.substr(peg$currPos, 2) === peg$c47) {
4823
+ s0 = peg$c47;
4858
4824
  peg$currPos += 2;
4859
4825
  } else {
4860
4826
  s0 = peg$FAILED;
4861
- if (peg$silentFails === 0) { peg$fail(peg$e83); }
4827
+ if (peg$silentFails === 0) { peg$fail(peg$e82); }
4862
4828
  }
4863
4829
  if (s0 === peg$FAILED) {
4864
- if (input.substr(peg$currPos, 2) === peg$c49) {
4865
- s0 = peg$c49;
4830
+ if (input.substr(peg$currPos, 2) === peg$c48) {
4831
+ s0 = peg$c48;
4866
4832
  peg$currPos += 2;
4867
4833
  } else {
4868
4834
  s0 = peg$FAILED;
4869
- if (peg$silentFails === 0) { peg$fail(peg$e84); }
4835
+ if (peg$silentFails === 0) { peg$fail(peg$e83); }
4870
4836
  }
4871
4837
  }
4872
4838
 
@@ -4938,12 +4904,12 @@ function peg$parse(input, options) {
4938
4904
  s0 = s1;
4939
4905
  }
4940
4906
  if (s0 === peg$FAILED) {
4941
- if (input.substr(peg$currPos, 2) === peg$c50) {
4942
- s0 = peg$c50;
4907
+ if (input.substr(peg$currPos, 2) === peg$c49) {
4908
+ s0 = peg$c49;
4943
4909
  peg$currPos += 2;
4944
4910
  } else {
4945
4911
  s0 = peg$FAILED;
4946
- if (peg$silentFails === 0) { peg$fail(peg$e85); }
4912
+ if (peg$silentFails === 0) { peg$fail(peg$e84); }
4947
4913
  }
4948
4914
  }
4949
4915
 
@@ -5015,12 +4981,12 @@ function peg$parse(input, options) {
5015
4981
  s0 = s1;
5016
4982
  }
5017
4983
  if (s0 === peg$FAILED) {
5018
- if (input.substr(peg$currPos, 2) === peg$c51) {
5019
- s0 = peg$c51;
4984
+ if (input.substr(peg$currPos, 2) === peg$c50) {
4985
+ s0 = peg$c50;
5020
4986
  peg$currPos += 2;
5021
4987
  } else {
5022
4988
  s0 = peg$FAILED;
5023
- if (peg$silentFails === 0) { peg$fail(peg$e86); }
4989
+ if (peg$silentFails === 0) { peg$fail(peg$e85); }
5024
4990
  }
5025
4991
  }
5026
4992
 
@@ -5170,12 +5136,12 @@ function peg$parse(input, options) {
5170
5136
  function peg$parseNullishCoalescingOperator() {
5171
5137
  var s0;
5172
5138
 
5173
- if (input.substr(peg$currPos, 2) === peg$c52) {
5174
- s0 = peg$c52;
5139
+ if (input.substr(peg$currPos, 2) === peg$c51) {
5140
+ s0 = peg$c51;
5175
5141
  peg$currPos += 2;
5176
5142
  } else {
5177
5143
  s0 = peg$FAILED;
5178
- if (peg$silentFails === 0) { peg$fail(peg$e87); }
5144
+ if (peg$silentFails === 0) { peg$fail(peg$e86); }
5179
5145
  }
5180
5146
 
5181
5147
  return s0;
@@ -5238,36 +5204,65 @@ function peg$parse(input, options) {
5238
5204
  function peg$parsePipeOperator() {
5239
5205
  var s0;
5240
5206
 
5241
- if (input.substr(peg$currPos, 2) === peg$c53) {
5242
- s0 = peg$c53;
5207
+ if (input.substr(peg$currPos, 2) === peg$c52) {
5208
+ s0 = peg$c52;
5243
5209
  peg$currPos += 2;
5244
5210
  } else {
5245
5211
  s0 = peg$FAILED;
5246
- if (peg$silentFails === 0) { peg$fail(peg$e88); }
5212
+ if (peg$silentFails === 0) { peg$fail(peg$e87); }
5247
5213
  }
5248
5214
  if (s0 === peg$FAILED) {
5249
- if (input.charCodeAt(peg$currPos) === 124) {
5250
- s0 = peg$c54;
5251
- peg$currPos++;
5215
+ if (input.substr(peg$currPos, 2) === peg$c53) {
5216
+ s0 = peg$c53;
5217
+ peg$currPos += 2;
5252
5218
  } else {
5253
5219
  s0 = peg$FAILED;
5254
- if (peg$silentFails === 0) { peg$fail(peg$e89); }
5220
+ if (peg$silentFails === 0) { peg$fail(peg$e88); }
5221
+ }
5222
+ if (s0 === peg$FAILED) {
5223
+ if (input.charCodeAt(peg$currPos) === 124) {
5224
+ s0 = peg$c54;
5225
+ peg$currPos++;
5226
+ } else {
5227
+ s0 = peg$FAILED;
5228
+ if (peg$silentFails === 0) { peg$fail(peg$e89); }
5229
+ }
5255
5230
  }
5256
5231
  }
5257
5232
 
5258
5233
  return s0;
5259
5234
  }
5260
5235
 
5236
+ function peg$parseTopicReference() {
5237
+ var s0, s1;
5238
+
5239
+ s0 = peg$currPos;
5240
+ if (input.charCodeAt(peg$currPos) === 37) {
5241
+ s1 = peg$c55;
5242
+ peg$currPos++;
5243
+ } else {
5244
+ s1 = peg$FAILED;
5245
+ if (peg$silentFails === 0) { peg$fail(peg$e90); }
5246
+ }
5247
+ if (s1 !== peg$FAILED) {
5248
+ peg$savedPos = s0;
5249
+ s1 = peg$f69();
5250
+ }
5251
+ s0 = s1;
5252
+
5253
+ return s0;
5254
+ }
5255
+
5261
5256
  function peg$parseLambdaExpression() {
5262
5257
  var s0, s1, s2, s3, s4, s5, s6, s7, s8;
5263
5258
 
5264
5259
  s0 = peg$currPos;
5265
5260
  if (input.charCodeAt(peg$currPos) === 40) {
5266
- s1 = peg$c35;
5261
+ s1 = peg$c33;
5267
5262
  peg$currPos++;
5268
5263
  } else {
5269
5264
  s1 = peg$FAILED;
5270
- if (peg$silentFails === 0) { peg$fail(peg$e68); }
5265
+ if (peg$silentFails === 0) { peg$fail(peg$e66); }
5271
5266
  }
5272
5267
  if (s1 !== peg$FAILED) {
5273
5268
  s2 = peg$parse__();
@@ -5285,11 +5280,11 @@ function peg$parse(input, options) {
5285
5280
  s3 = null;
5286
5281
  }
5287
5282
  if (input.charCodeAt(peg$currPos) === 41) {
5288
- s4 = peg$c36;
5283
+ s4 = peg$c34;
5289
5284
  peg$currPos++;
5290
5285
  } else {
5291
5286
  s4 = peg$FAILED;
5292
- if (peg$silentFails === 0) { peg$fail(peg$e69); }
5287
+ if (peg$silentFails === 0) { peg$fail(peg$e67); }
5293
5288
  }
5294
5289
  if (s4 !== peg$FAILED) {
5295
5290
  s5 = peg$parse__();
@@ -5299,7 +5294,7 @@ function peg$parse(input, options) {
5299
5294
  s8 = peg$parseExpression();
5300
5295
  if (s8 !== peg$FAILED) {
5301
5296
  peg$savedPos = s0;
5302
- s0 = peg$f69(s3, s8);
5297
+ s0 = peg$f70(s3, s8);
5303
5298
  } else {
5304
5299
  peg$currPos = s0;
5305
5300
  s0 = peg$FAILED;
@@ -5328,7 +5323,7 @@ function peg$parse(input, options) {
5328
5323
  s6 = peg$parseExpression();
5329
5324
  if (s6 !== peg$FAILED) {
5330
5325
  peg$savedPos = s0;
5331
- s0 = peg$f70(s2, s6);
5326
+ s0 = peg$f71(s2, s6);
5332
5327
  } else {
5333
5328
  peg$currPos = s0;
5334
5329
  s0 = peg$FAILED;
@@ -5349,12 +5344,12 @@ function peg$parse(input, options) {
5349
5344
  function peg$parseLambdaArrow() {
5350
5345
  var s0;
5351
5346
 
5352
- if (input.substr(peg$currPos, 2) === peg$c55) {
5353
- s0 = peg$c55;
5347
+ if (input.substr(peg$currPos, 2) === peg$c56) {
5348
+ s0 = peg$c56;
5354
5349
  peg$currPos += 2;
5355
5350
  } else {
5356
5351
  s0 = peg$FAILED;
5357
- if (peg$silentFails === 0) { peg$fail(peg$e90); }
5352
+ if (peg$silentFails === 0) { peg$fail(peg$e91); }
5358
5353
  }
5359
5354
 
5360
5355
  return s0;
@@ -5370,11 +5365,11 @@ function peg$parse(input, options) {
5370
5365
  s3 = peg$currPos;
5371
5366
  s4 = peg$parse__();
5372
5367
  if (input.charCodeAt(peg$currPos) === 44) {
5373
- s5 = peg$c39;
5368
+ s5 = peg$c37;
5374
5369
  peg$currPos++;
5375
5370
  } else {
5376
5371
  s5 = peg$FAILED;
5377
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
5372
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
5378
5373
  }
5379
5374
  if (s5 !== peg$FAILED) {
5380
5375
  s6 = peg$parse__();
@@ -5395,11 +5390,11 @@ function peg$parse(input, options) {
5395
5390
  s3 = peg$currPos;
5396
5391
  s4 = peg$parse__();
5397
5392
  if (input.charCodeAt(peg$currPos) === 44) {
5398
- s5 = peg$c39;
5393
+ s5 = peg$c37;
5399
5394
  peg$currPos++;
5400
5395
  } else {
5401
5396
  s5 = peg$FAILED;
5402
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
5397
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
5403
5398
  }
5404
5399
  if (s5 !== peg$FAILED) {
5405
5400
  s6 = peg$parse__();
@@ -5417,7 +5412,7 @@ function peg$parse(input, options) {
5417
5412
  }
5418
5413
  }
5419
5414
  peg$savedPos = s0;
5420
- s0 = peg$f71(s1, s2);
5415
+ s0 = peg$f72(s1, s2);
5421
5416
  } else {
5422
5417
  peg$currPos = s0;
5423
5418
  s0 = peg$FAILED;
@@ -5437,18 +5432,18 @@ function peg$parse(input, options) {
5437
5432
  if (s3 !== peg$FAILED) {
5438
5433
  s4 = peg$parse__();
5439
5434
  if (input.charCodeAt(peg$currPos) === 44) {
5440
- s5 = peg$c39;
5435
+ s5 = peg$c37;
5441
5436
  peg$currPos++;
5442
5437
  } else {
5443
5438
  s5 = peg$FAILED;
5444
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
5439
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
5445
5440
  }
5446
5441
  if (s5 !== peg$FAILED) {
5447
5442
  s6 = peg$parse__();
5448
5443
  s7 = peg$parseExpression();
5449
5444
  if (s7 !== peg$FAILED) {
5450
5445
  peg$savedPos = s0;
5451
- s0 = peg$f72(s3, s7);
5446
+ s0 = peg$f73(s3, s7);
5452
5447
  } else {
5453
5448
  peg$currPos = s0;
5454
5449
  s0 = peg$FAILED;
@@ -5479,11 +5474,11 @@ function peg$parse(input, options) {
5479
5474
  s3 = peg$currPos;
5480
5475
  s4 = peg$parse__();
5481
5476
  if (input.charCodeAt(peg$currPos) === 44) {
5482
- s5 = peg$c39;
5477
+ s5 = peg$c37;
5483
5478
  peg$currPos++;
5484
5479
  } else {
5485
5480
  s5 = peg$FAILED;
5486
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
5481
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
5487
5482
  }
5488
5483
  if (s5 !== peg$FAILED) {
5489
5484
  s6 = peg$parse__();
@@ -5504,11 +5499,11 @@ function peg$parse(input, options) {
5504
5499
  s3 = peg$currPos;
5505
5500
  s4 = peg$parse__();
5506
5501
  if (input.charCodeAt(peg$currPos) === 44) {
5507
- s5 = peg$c39;
5502
+ s5 = peg$c37;
5508
5503
  peg$currPos++;
5509
5504
  } else {
5510
5505
  s5 = peg$FAILED;
5511
- if (peg$silentFails === 0) { peg$fail(peg$e72); }
5506
+ if (peg$silentFails === 0) { peg$fail(peg$e70); }
5512
5507
  }
5513
5508
  if (s5 !== peg$FAILED) {
5514
5509
  s6 = peg$parse__();
@@ -5526,7 +5521,7 @@ function peg$parse(input, options) {
5526
5521
  }
5527
5522
  }
5528
5523
  peg$savedPos = s0;
5529
- s0 = peg$f73(s1, s2);
5524
+ s0 = peg$f74(s1, s2);
5530
5525
  } else {
5531
5526
  peg$currPos = s0;
5532
5527
  s0 = peg$FAILED;
@@ -5553,7 +5548,7 @@ function peg$parse(input, options) {
5553
5548
  }
5554
5549
  if (s2 !== peg$FAILED) {
5555
5550
  peg$savedPos = s0;
5556
- s0 = peg$f74(s1, s2);
5551
+ s0 = peg$f75(s1, s2);
5557
5552
  } else {
5558
5553
  peg$currPos = s0;
5559
5554
  s0 = peg$FAILED;
@@ -5576,7 +5571,7 @@ function peg$parse(input, options) {
5576
5571
  s3 = peg$parseExpression();
5577
5572
  if (s3 !== peg$FAILED) {
5578
5573
  peg$savedPos = s0;
5579
- s0 = peg$f75(s3);
5574
+ s0 = peg$f76(s3);
5580
5575
  } else {
5581
5576
  peg$currPos = s0;
5582
5577
  s0 = peg$FAILED;
@@ -5594,21 +5589,21 @@ function peg$parse(input, options) {
5594
5589
 
5595
5590
  s0 = peg$currPos;
5596
5591
  if (input.charCodeAt(peg$currPos) === 61) {
5597
- s1 = peg$c56;
5592
+ s1 = peg$c57;
5598
5593
  peg$currPos++;
5599
5594
  } else {
5600
5595
  s1 = peg$FAILED;
5601
- if (peg$silentFails === 0) { peg$fail(peg$e91); }
5596
+ if (peg$silentFails === 0) { peg$fail(peg$e92); }
5602
5597
  }
5603
5598
  if (s1 !== peg$FAILED) {
5604
5599
  s2 = peg$currPos;
5605
5600
  peg$silentFails++;
5606
5601
  if (input.charCodeAt(peg$currPos) === 61) {
5607
- s3 = peg$c56;
5602
+ s3 = peg$c57;
5608
5603
  peg$currPos++;
5609
5604
  } else {
5610
5605
  s3 = peg$FAILED;
5611
- if (peg$silentFails === 0) { peg$fail(peg$e91); }
5606
+ if (peg$silentFails === 0) { peg$fail(peg$e92); }
5612
5607
  }
5613
5608
  peg$silentFails--;
5614
5609
  if (s3 === peg$FAILED) {
@@ -5657,7 +5652,7 @@ function peg$parse(input, options) {
5657
5652
  s2 = peg$parseEOS();
5658
5653
  if (s2 !== peg$FAILED) {
5659
5654
  peg$savedPos = s0;
5660
- s0 = peg$f76(s1);
5655
+ s0 = peg$f77(s1);
5661
5656
  } else {
5662
5657
  peg$currPos = s0;
5663
5658
  s0 = peg$FAILED;