@malloydata/malloy-filter 0.0.422 → 0.0.424

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.
@@ -165,9 +165,10 @@ function peg$parse(input, options) {
165
165
  var peg$c10 = ".";
166
166
  var peg$c11 = "not";
167
167
  var peg$c12 = "null";
168
- var peg$c13 = "and";
169
- var peg$c14 = "or";
170
- var peg$c15 = "to";
168
+ var peg$c13 = "none";
169
+ var peg$c14 = "and";
170
+ var peg$c15 = "or";
171
+ var peg$c16 = "to";
171
172
  var peg$r0 = /^[<>]/;
172
173
  var peg$r1 = /^[0-9]/;
173
174
  var peg$r2 = /^[Ee]/;
@@ -191,32 +192,34 @@ function peg$parse(input, options) {
191
192
  var peg$e14 = peg$classExpectation(["+", "-"], false, false);
192
193
  var peg$e15 = peg$literalExpectation("not", true);
193
194
  var peg$e16 = peg$literalExpectation("null", true);
194
- var peg$e17 = peg$literalExpectation("and", true);
195
- var peg$e18 = peg$literalExpectation("or", true);
196
- var peg$e19 = peg$literalExpectation("to", true);
197
- var peg$e20 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false);
198
- var peg$e21 = peg$otherExpectation("whitespace");
199
- var peg$e22 = peg$classExpectation([" ", "\t"], false, false);
195
+ var peg$e17 = peg$literalExpectation("none", true);
196
+ var peg$e18 = peg$literalExpectation("and", true);
197
+ var peg$e19 = peg$literalExpectation("or", true);
198
+ var peg$e20 = peg$literalExpectation("to", true);
199
+ var peg$e21 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false);
200
+ var peg$e22 = peg$otherExpectation("whitespace");
201
+ var peg$e23 = peg$classExpectation([" ", "\t"], false, false);
200
202
  var peg$f0 = function (head, tail) {
201
203
  return tail.reduce((left, [, cop, , right]) => joinNumbers(left, cop, right), head);
202
204
  };
203
205
  var peg$f1 = function (not, clause) { return numNot(clause, not); };
204
206
  var peg$f2 = function (clause) { return clause; };
205
207
  var peg$f3 = function () { return { operator: 'null' }; };
206
- var peg$f4 = function (expr) { return { operator: "()", expr }; };
207
- var peg$f5 = function (open, b, e, close) { return mkRange(open, b, e, close); };
208
- var peg$f6 = function (n, nList) { return { operator: '!=', ...mkValues(n, nList.map(x => x[3])) }; };
209
- var peg$f7 = function (n, nList) { return { operator: '=', ...mkValues(n, nList.map(x => x[3])) }; };
210
- var peg$f8 = function (op, n) { return { operator: op, values: [n] }; };
211
- var peg$f9 = function (n, nList) { return { operator: '=', ...mkValues(n, nList.map(x => x[3])) }; };
212
- var peg$f10 = function () { return "["; };
213
- var peg$f11 = function () { return "("; };
214
- var peg$f12 = function () { return "]"; };
215
- var peg$f13 = function () { return ")"; };
216
- var peg$f14 = function (n) { return n; };
217
- var peg$f15 = function () { return "or"; };
218
- var peg$f16 = function () { return "and"; };
219
- var peg$f17 = function () { return "not"; };
208
+ var peg$f4 = function () { return { operator: 'none' }; };
209
+ var peg$f5 = function (expr) { return { operator: "()", expr }; };
210
+ var peg$f6 = function (open, b, e, close) { return mkRange(open, b, e, close); };
211
+ var peg$f7 = function (n, nList) { return { operator: '!=', ...mkValues(n, nList.map(x => x[3])) }; };
212
+ var peg$f8 = function (n, nList) { return { operator: '=', ...mkValues(n, nList.map(x => x[3])) }; };
213
+ var peg$f9 = function (op, n) { return { operator: op, values: [n] }; };
214
+ var peg$f10 = function (n, nList) { return { operator: '=', ...mkValues(n, nList.map(x => x[3])) }; };
215
+ var peg$f11 = function () { return "["; };
216
+ var peg$f12 = function () { return "("; };
217
+ var peg$f13 = function () { return "]"; };
218
+ var peg$f14 = function () { return ")"; };
219
+ var peg$f15 = function (n) { return n; };
220
+ var peg$f16 = function () { return "or"; };
221
+ var peg$f17 = function () { return "and"; };
222
+ var peg$f18 = function () { return "not"; };
220
223
  var peg$currPos = options.peg$currPos | 0;
221
224
  var peg$savedPos = peg$currPos;
222
225
  var peg$posDetailsCache = [{ line: 1, column: 1 }];
@@ -442,78 +445,43 @@ function peg$parse(input, options) {
442
445
  s0 = s1;
443
446
  if (s0 === peg$FAILED) {
444
447
  s0 = peg$currPos;
445
- if (input.charCodeAt(peg$currPos) === 40) {
446
- s1 = peg$c0;
447
- peg$currPos++;
448
- }
449
- else {
450
- s1 = peg$FAILED;
451
- if (peg$silentFails === 0) {
452
- peg$fail(peg$e0);
453
- }
454
- }
448
+ s1 = peg$parseNONE();
455
449
  if (s1 !== peg$FAILED) {
456
- s2 = peg$parse_();
457
- s3 = peg$parsenumberFilter();
458
- if (s3 !== peg$FAILED) {
459
- s4 = peg$parse_();
460
- if (input.charCodeAt(peg$currPos) === 41) {
461
- s5 = peg$c1;
462
- peg$currPos++;
463
- }
464
- else {
465
- s5 = peg$FAILED;
466
- if (peg$silentFails === 0) {
467
- peg$fail(peg$e1);
468
- }
469
- }
470
- if (s5 !== peg$FAILED) {
471
- peg$savedPos = s0;
472
- s0 = peg$f4(s3);
473
- }
474
- else {
475
- peg$currPos = s0;
476
- s0 = peg$FAILED;
477
- }
478
- }
479
- else {
480
- peg$currPos = s0;
481
- s0 = peg$FAILED;
482
- }
483
- }
484
- else {
485
- peg$currPos = s0;
486
- s0 = peg$FAILED;
450
+ peg$savedPos = s0;
451
+ s1 = peg$f4();
487
452
  }
453
+ s0 = s1;
488
454
  if (s0 === peg$FAILED) {
489
455
  s0 = peg$currPos;
490
- s1 = peg$parseopenInterval();
456
+ if (input.charCodeAt(peg$currPos) === 40) {
457
+ s1 = peg$c0;
458
+ peg$currPos++;
459
+ }
460
+ else {
461
+ s1 = peg$FAILED;
462
+ if (peg$silentFails === 0) {
463
+ peg$fail(peg$e0);
464
+ }
465
+ }
491
466
  if (s1 !== peg$FAILED) {
492
467
  s2 = peg$parse_();
493
- s3 = peg$parseN();
468
+ s3 = peg$parsenumberFilter();
494
469
  if (s3 !== peg$FAILED) {
495
470
  s4 = peg$parse_();
496
- s5 = peg$parseTO();
497
- if (s5 !== peg$FAILED) {
498
- s6 = peg$parse_();
499
- s7 = peg$parseN();
500
- if (s7 !== peg$FAILED) {
501
- s8 = peg$parse_();
502
- s9 = peg$parsecloseInterval();
503
- if (s9 !== peg$FAILED) {
504
- peg$savedPos = s0;
505
- s0 = peg$f5(s1, s3, s7, s9);
506
- }
507
- else {
508
- peg$currPos = s0;
509
- s0 = peg$FAILED;
510
- }
511
- }
512
- else {
513
- peg$currPos = s0;
514
- s0 = peg$FAILED;
471
+ if (input.charCodeAt(peg$currPos) === 41) {
472
+ s5 = peg$c1;
473
+ peg$currPos++;
474
+ }
475
+ else {
476
+ s5 = peg$FAILED;
477
+ if (peg$silentFails === 0) {
478
+ peg$fail(peg$e1);
515
479
  }
516
480
  }
481
+ if (s5 !== peg$FAILED) {
482
+ peg$savedPos = s0;
483
+ s0 = peg$f5(s3);
484
+ }
517
485
  else {
518
486
  peg$currPos = s0;
519
487
  s0 = peg$FAILED;
@@ -530,82 +498,37 @@ function peg$parse(input, options) {
530
498
  }
531
499
  if (s0 === peg$FAILED) {
532
500
  s0 = peg$currPos;
533
- if (input.substr(peg$currPos, 2) === peg$c2) {
534
- s1 = peg$c2;
535
- peg$currPos += 2;
536
- }
537
- else {
538
- s1 = peg$FAILED;
539
- if (peg$silentFails === 0) {
540
- peg$fail(peg$e2);
541
- }
542
- }
501
+ s1 = peg$parseopenInterval();
543
502
  if (s1 !== peg$FAILED) {
544
503
  s2 = peg$parse_();
545
504
  s3 = peg$parseN();
546
505
  if (s3 !== peg$FAILED) {
547
- s4 = [];
548
- s5 = peg$currPos;
549
- s6 = peg$parse_();
550
- if (input.charCodeAt(peg$currPos) === 44) {
551
- s7 = peg$c3;
552
- peg$currPos++;
553
- }
554
- else {
555
- s7 = peg$FAILED;
556
- if (peg$silentFails === 0) {
557
- peg$fail(peg$e3);
558
- }
559
- }
560
- if (s7 !== peg$FAILED) {
561
- s8 = peg$parse_();
562
- s9 = peg$parseN();
563
- if (s9 !== peg$FAILED) {
564
- s6 = [s6, s7, s8, s9];
565
- s5 = s6;
566
- }
567
- else {
568
- peg$currPos = s5;
569
- s5 = peg$FAILED;
570
- }
571
- }
572
- else {
573
- peg$currPos = s5;
574
- s5 = peg$FAILED;
575
- }
576
- while (s5 !== peg$FAILED) {
577
- s4.push(s5);
578
- s5 = peg$currPos;
506
+ s4 = peg$parse_();
507
+ s5 = peg$parseTO();
508
+ if (s5 !== peg$FAILED) {
579
509
  s6 = peg$parse_();
580
- if (input.charCodeAt(peg$currPos) === 44) {
581
- s7 = peg$c3;
582
- peg$currPos++;
583
- }
584
- else {
585
- s7 = peg$FAILED;
586
- if (peg$silentFails === 0) {
587
- peg$fail(peg$e3);
588
- }
589
- }
510
+ s7 = peg$parseN();
590
511
  if (s7 !== peg$FAILED) {
591
512
  s8 = peg$parse_();
592
- s9 = peg$parseN();
513
+ s9 = peg$parsecloseInterval();
593
514
  if (s9 !== peg$FAILED) {
594
- s6 = [s6, s7, s8, s9];
595
- s5 = s6;
515
+ peg$savedPos = s0;
516
+ s0 = peg$f6(s1, s3, s7, s9);
596
517
  }
597
518
  else {
598
- peg$currPos = s5;
599
- s5 = peg$FAILED;
519
+ peg$currPos = s0;
520
+ s0 = peg$FAILED;
600
521
  }
601
522
  }
602
523
  else {
603
- peg$currPos = s5;
604
- s5 = peg$FAILED;
524
+ peg$currPos = s0;
525
+ s0 = peg$FAILED;
605
526
  }
606
527
  }
607
- peg$savedPos = s0;
608
- s0 = peg$f6(s3, s4);
528
+ else {
529
+ peg$currPos = s0;
530
+ s0 = peg$FAILED;
531
+ }
609
532
  }
610
533
  else {
611
534
  peg$currPos = s0;
@@ -618,14 +541,14 @@ function peg$parse(input, options) {
618
541
  }
619
542
  if (s0 === peg$FAILED) {
620
543
  s0 = peg$currPos;
621
- if (input.charCodeAt(peg$currPos) === 61) {
622
- s1 = peg$c4;
623
- peg$currPos++;
544
+ if (input.substr(peg$currPos, 2) === peg$c2) {
545
+ s1 = peg$c2;
546
+ peg$currPos += 2;
624
547
  }
625
548
  else {
626
549
  s1 = peg$FAILED;
627
550
  if (peg$silentFails === 0) {
628
- peg$fail(peg$e4);
551
+ peg$fail(peg$e2);
629
552
  }
630
553
  }
631
554
  if (s1 !== peg$FAILED) {
@@ -706,53 +629,82 @@ function peg$parse(input, options) {
706
629
  }
707
630
  if (s0 === peg$FAILED) {
708
631
  s0 = peg$currPos;
709
- s1 = peg$currPos;
710
- if (input.substr(peg$currPos, 2) === peg$c5) {
711
- s2 = peg$c5;
712
- peg$currPos += 2;
632
+ if (input.charCodeAt(peg$currPos) === 61) {
633
+ s1 = peg$c4;
634
+ peg$currPos++;
713
635
  }
714
636
  else {
715
- s2 = peg$FAILED;
637
+ s1 = peg$FAILED;
716
638
  if (peg$silentFails === 0) {
717
- peg$fail(peg$e5);
639
+ peg$fail(peg$e4);
718
640
  }
719
641
  }
720
- if (s2 === peg$FAILED) {
721
- if (input.substr(peg$currPos, 2) === peg$c6) {
722
- s2 = peg$c6;
723
- peg$currPos += 2;
724
- }
725
- else {
726
- s2 = peg$FAILED;
727
- if (peg$silentFails === 0) {
728
- peg$fail(peg$e6);
729
- }
730
- }
731
- if (s2 === peg$FAILED) {
732
- s2 = input.charAt(peg$currPos);
733
- if (peg$r0.test(s2)) {
642
+ if (s1 !== peg$FAILED) {
643
+ s2 = peg$parse_();
644
+ s3 = peg$parseN();
645
+ if (s3 !== peg$FAILED) {
646
+ s4 = [];
647
+ s5 = peg$currPos;
648
+ s6 = peg$parse_();
649
+ if (input.charCodeAt(peg$currPos) === 44) {
650
+ s7 = peg$c3;
734
651
  peg$currPos++;
735
652
  }
736
653
  else {
737
- s2 = peg$FAILED;
654
+ s7 = peg$FAILED;
738
655
  if (peg$silentFails === 0) {
739
- peg$fail(peg$e7);
656
+ peg$fail(peg$e3);
657
+ }
658
+ }
659
+ if (s7 !== peg$FAILED) {
660
+ s8 = peg$parse_();
661
+ s9 = peg$parseN();
662
+ if (s9 !== peg$FAILED) {
663
+ s6 = [s6, s7, s8, s9];
664
+ s5 = s6;
665
+ }
666
+ else {
667
+ peg$currPos = s5;
668
+ s5 = peg$FAILED;
669
+ }
670
+ }
671
+ else {
672
+ peg$currPos = s5;
673
+ s5 = peg$FAILED;
674
+ }
675
+ while (s5 !== peg$FAILED) {
676
+ s4.push(s5);
677
+ s5 = peg$currPos;
678
+ s6 = peg$parse_();
679
+ if (input.charCodeAt(peg$currPos) === 44) {
680
+ s7 = peg$c3;
681
+ peg$currPos++;
682
+ }
683
+ else {
684
+ s7 = peg$FAILED;
685
+ if (peg$silentFails === 0) {
686
+ peg$fail(peg$e3);
687
+ }
688
+ }
689
+ if (s7 !== peg$FAILED) {
690
+ s8 = peg$parse_();
691
+ s9 = peg$parseN();
692
+ if (s9 !== peg$FAILED) {
693
+ s6 = [s6, s7, s8, s9];
694
+ s5 = s6;
695
+ }
696
+ else {
697
+ peg$currPos = s5;
698
+ s5 = peg$FAILED;
699
+ }
700
+ }
701
+ else {
702
+ peg$currPos = s5;
703
+ s5 = peg$FAILED;
740
704
  }
741
705
  }
742
- }
743
- }
744
- if (s2 !== peg$FAILED) {
745
- s1 = input.substring(s1, peg$currPos);
746
- }
747
- else {
748
- s1 = s2;
749
- }
750
- if (s1 !== peg$FAILED) {
751
- s2 = peg$parse_();
752
- s3 = peg$parseN();
753
- if (s3 !== peg$FAILED) {
754
706
  peg$savedPos = s0;
755
- s0 = peg$f8(s1, s3);
707
+ s0 = peg$f8(s3, s4);
756
708
  }
757
709
  else {
758
710
  peg$currPos = s0;
@@ -765,39 +717,68 @@ function peg$parse(input, options) {
765
717
  }
766
718
  if (s0 === peg$FAILED) {
767
719
  s0 = peg$currPos;
768
- s1 = peg$parseN();
769
- if (s1 !== peg$FAILED) {
770
- s2 = [];
771
- s3 = peg$currPos;
772
- s4 = peg$parse_();
773
- if (input.charCodeAt(peg$currPos) === 44) {
774
- s5 = peg$c3;
775
- peg$currPos++;
720
+ s1 = peg$currPos;
721
+ if (input.substr(peg$currPos, 2) === peg$c5) {
722
+ s2 = peg$c5;
723
+ peg$currPos += 2;
724
+ }
725
+ else {
726
+ s2 = peg$FAILED;
727
+ if (peg$silentFails === 0) {
728
+ peg$fail(peg$e5);
729
+ }
730
+ }
731
+ if (s2 === peg$FAILED) {
732
+ if (input.substr(peg$currPos, 2) === peg$c6) {
733
+ s2 = peg$c6;
734
+ peg$currPos += 2;
776
735
  }
777
736
  else {
778
- s5 = peg$FAILED;
737
+ s2 = peg$FAILED;
779
738
  if (peg$silentFails === 0) {
780
- peg$fail(peg$e3);
739
+ peg$fail(peg$e6);
781
740
  }
782
741
  }
783
- if (s5 !== peg$FAILED) {
784
- s6 = peg$parse_();
785
- s7 = peg$parseN();
786
- if (s7 !== peg$FAILED) {
787
- s4 = [s4, s5, s6, s7];
788
- s3 = s4;
742
+ if (s2 === peg$FAILED) {
743
+ s2 = input.charAt(peg$currPos);
744
+ if (peg$r0.test(s2)) {
745
+ peg$currPos++;
789
746
  }
790
747
  else {
791
- peg$currPos = s3;
792
- s3 = peg$FAILED;
748
+ s2 = peg$FAILED;
749
+ if (peg$silentFails === 0) {
750
+ peg$fail(peg$e7);
751
+ }
793
752
  }
794
753
  }
754
+ }
755
+ if (s2 !== peg$FAILED) {
756
+ s1 = input.substring(s1, peg$currPos);
757
+ }
758
+ else {
759
+ s1 = s2;
760
+ }
761
+ if (s1 !== peg$FAILED) {
762
+ s2 = peg$parse_();
763
+ s3 = peg$parseN();
764
+ if (s3 !== peg$FAILED) {
765
+ peg$savedPos = s0;
766
+ s0 = peg$f9(s1, s3);
767
+ }
795
768
  else {
796
- peg$currPos = s3;
797
- s3 = peg$FAILED;
769
+ peg$currPos = s0;
770
+ s0 = peg$FAILED;
798
771
  }
799
- while (s3 !== peg$FAILED) {
800
- s2.push(s3);
772
+ }
773
+ else {
774
+ peg$currPos = s0;
775
+ s0 = peg$FAILED;
776
+ }
777
+ if (s0 === peg$FAILED) {
778
+ s0 = peg$currPos;
779
+ s1 = peg$parseN();
780
+ if (s1 !== peg$FAILED) {
781
+ s2 = [];
801
782
  s3 = peg$currPos;
802
783
  s4 = peg$parse_();
803
784
  if (input.charCodeAt(peg$currPos) === 44) {
@@ -826,13 +807,44 @@ function peg$parse(input, options) {
826
807
  peg$currPos = s3;
827
808
  s3 = peg$FAILED;
828
809
  }
810
+ while (s3 !== peg$FAILED) {
811
+ s2.push(s3);
812
+ s3 = peg$currPos;
813
+ s4 = peg$parse_();
814
+ if (input.charCodeAt(peg$currPos) === 44) {
815
+ s5 = peg$c3;
816
+ peg$currPos++;
817
+ }
818
+ else {
819
+ s5 = peg$FAILED;
820
+ if (peg$silentFails === 0) {
821
+ peg$fail(peg$e3);
822
+ }
823
+ }
824
+ if (s5 !== peg$FAILED) {
825
+ s6 = peg$parse_();
826
+ s7 = peg$parseN();
827
+ if (s7 !== peg$FAILED) {
828
+ s4 = [s4, s5, s6, s7];
829
+ s3 = s4;
830
+ }
831
+ else {
832
+ peg$currPos = s3;
833
+ s3 = peg$FAILED;
834
+ }
835
+ }
836
+ else {
837
+ peg$currPos = s3;
838
+ s3 = peg$FAILED;
839
+ }
840
+ }
841
+ peg$savedPos = s0;
842
+ s0 = peg$f10(s1, s2);
843
+ }
844
+ else {
845
+ peg$currPos = s0;
846
+ s0 = peg$FAILED;
829
847
  }
830
- peg$savedPos = s0;
831
- s0 = peg$f9(s1, s2);
832
- }
833
- else {
834
- peg$currPos = s0;
835
- s0 = peg$FAILED;
836
848
  }
837
849
  }
838
850
  }
@@ -857,7 +869,7 @@ function peg$parse(input, options) {
857
869
  }
858
870
  if (s1 !== peg$FAILED) {
859
871
  peg$savedPos = s0;
860
- s1 = peg$f10();
872
+ s1 = peg$f11();
861
873
  }
862
874
  s0 = s1;
863
875
  if (s0 === peg$FAILED) {
@@ -874,7 +886,7 @@ function peg$parse(input, options) {
874
886
  }
875
887
  if (s1 !== peg$FAILED) {
876
888
  peg$savedPos = s0;
877
- s1 = peg$f11();
889
+ s1 = peg$f12();
878
890
  }
879
891
  s0 = s1;
880
892
  }
@@ -895,7 +907,7 @@ function peg$parse(input, options) {
895
907
  }
896
908
  if (s1 !== peg$FAILED) {
897
909
  peg$savedPos = s0;
898
- s1 = peg$f12();
910
+ s1 = peg$f13();
899
911
  }
900
912
  s0 = s1;
901
913
  if (s0 === peg$FAILED) {
@@ -912,7 +924,7 @@ function peg$parse(input, options) {
912
924
  }
913
925
  if (s1 !== peg$FAILED) {
914
926
  peg$savedPos = s0;
915
- s1 = peg$f13();
927
+ s1 = peg$f14();
916
928
  }
917
929
  s0 = s1;
918
930
  }
@@ -1177,7 +1189,7 @@ function peg$parse(input, options) {
1177
1189
  }
1178
1190
  if (s1 !== peg$FAILED) {
1179
1191
  peg$savedPos = s0;
1180
- s1 = peg$f14(s1);
1192
+ s1 = peg$f15(s1);
1181
1193
  }
1182
1194
  s0 = s1;
1183
1195
  return s0;
@@ -1188,7 +1200,7 @@ function peg$parse(input, options) {
1188
1200
  s1 = peg$parseOR();
1189
1201
  if (s1 !== peg$FAILED) {
1190
1202
  peg$savedPos = s0;
1191
- s1 = peg$f15();
1203
+ s1 = peg$f16();
1192
1204
  }
1193
1205
  s0 = s1;
1194
1206
  if (s0 === peg$FAILED) {
@@ -1196,7 +1208,7 @@ function peg$parse(input, options) {
1196
1208
  s1 = peg$parseAND();
1197
1209
  if (s1 !== peg$FAILED) {
1198
1210
  peg$savedPos = s0;
1199
- s1 = peg$f16();
1211
+ s1 = peg$f17();
1200
1212
  }
1201
1213
  s0 = s1;
1202
1214
  }
@@ -1229,7 +1241,7 @@ function peg$parse(input, options) {
1229
1241
  }
1230
1242
  if (s2 !== peg$FAILED) {
1231
1243
  peg$savedPos = s0;
1232
- s0 = peg$f17();
1244
+ s0 = peg$f18();
1233
1245
  }
1234
1246
  else {
1235
1247
  peg$currPos = s0;
@@ -1282,17 +1294,57 @@ function peg$parse(input, options) {
1282
1294
  }
1283
1295
  return s0;
1284
1296
  }
1297
+ function peg$parseNONE() {
1298
+ var s0, s1, s2, s3;
1299
+ s0 = peg$currPos;
1300
+ s1 = input.substr(peg$currPos, 4);
1301
+ if (s1.toLowerCase() === peg$c13) {
1302
+ peg$currPos += 4;
1303
+ }
1304
+ else {
1305
+ s1 = peg$FAILED;
1306
+ if (peg$silentFails === 0) {
1307
+ peg$fail(peg$e17);
1308
+ }
1309
+ }
1310
+ if (s1 !== peg$FAILED) {
1311
+ s2 = peg$currPos;
1312
+ peg$silentFails++;
1313
+ s3 = peg$parseidChar();
1314
+ peg$silentFails--;
1315
+ if (s3 === peg$FAILED) {
1316
+ s2 = undefined;
1317
+ }
1318
+ else {
1319
+ peg$currPos = s2;
1320
+ s2 = peg$FAILED;
1321
+ }
1322
+ if (s2 !== peg$FAILED) {
1323
+ s1 = [s1, s2];
1324
+ s0 = s1;
1325
+ }
1326
+ else {
1327
+ peg$currPos = s0;
1328
+ s0 = peg$FAILED;
1329
+ }
1330
+ }
1331
+ else {
1332
+ peg$currPos = s0;
1333
+ s0 = peg$FAILED;
1334
+ }
1335
+ return s0;
1336
+ }
1285
1337
  function peg$parseAND() {
1286
1338
  var s0, s1, s2, s3;
1287
1339
  s0 = peg$currPos;
1288
1340
  s1 = input.substr(peg$currPos, 3);
1289
- if (s1.toLowerCase() === peg$c13) {
1341
+ if (s1.toLowerCase() === peg$c14) {
1290
1342
  peg$currPos += 3;
1291
1343
  }
1292
1344
  else {
1293
1345
  s1 = peg$FAILED;
1294
1346
  if (peg$silentFails === 0) {
1295
- peg$fail(peg$e17);
1347
+ peg$fail(peg$e18);
1296
1348
  }
1297
1349
  }
1298
1350
  if (s1 !== peg$FAILED) {
@@ -1326,13 +1378,13 @@ function peg$parse(input, options) {
1326
1378
  var s0, s1, s2, s3;
1327
1379
  s0 = peg$currPos;
1328
1380
  s1 = input.substr(peg$currPos, 2);
1329
- if (s1.toLowerCase() === peg$c14) {
1381
+ if (s1.toLowerCase() === peg$c15) {
1330
1382
  peg$currPos += 2;
1331
1383
  }
1332
1384
  else {
1333
1385
  s1 = peg$FAILED;
1334
1386
  if (peg$silentFails === 0) {
1335
- peg$fail(peg$e18);
1387
+ peg$fail(peg$e19);
1336
1388
  }
1337
1389
  }
1338
1390
  if (s1 !== peg$FAILED) {
@@ -1366,13 +1418,13 @@ function peg$parse(input, options) {
1366
1418
  var s0, s1, s2, s3;
1367
1419
  s0 = peg$currPos;
1368
1420
  s1 = input.substr(peg$currPos, 2);
1369
- if (s1.toLowerCase() === peg$c15) {
1421
+ if (s1.toLowerCase() === peg$c16) {
1370
1422
  peg$currPos += 2;
1371
1423
  }
1372
1424
  else {
1373
1425
  s1 = peg$FAILED;
1374
1426
  if (peg$silentFails === 0) {
1375
- peg$fail(peg$e19);
1427
+ peg$fail(peg$e20);
1376
1428
  }
1377
1429
  }
1378
1430
  if (s1 !== peg$FAILED) {
@@ -1411,7 +1463,7 @@ function peg$parse(input, options) {
1411
1463
  else {
1412
1464
  s0 = peg$FAILED;
1413
1465
  if (peg$silentFails === 0) {
1414
- peg$fail(peg$e20);
1466
+ peg$fail(peg$e21);
1415
1467
  }
1416
1468
  }
1417
1469
  return s0;
@@ -1427,7 +1479,7 @@ function peg$parse(input, options) {
1427
1479
  else {
1428
1480
  s1 = peg$FAILED;
1429
1481
  if (peg$silentFails === 0) {
1430
- peg$fail(peg$e22);
1482
+ peg$fail(peg$e23);
1431
1483
  }
1432
1484
  }
1433
1485
  while (s1 !== peg$FAILED) {
@@ -1439,14 +1491,14 @@ function peg$parse(input, options) {
1439
1491
  else {
1440
1492
  s1 = peg$FAILED;
1441
1493
  if (peg$silentFails === 0) {
1442
- peg$fail(peg$e22);
1494
+ peg$fail(peg$e23);
1443
1495
  }
1444
1496
  }
1445
1497
  }
1446
1498
  peg$silentFails--;
1447
1499
  s1 = peg$FAILED;
1448
1500
  if (peg$silentFails === 0) {
1449
- peg$fail(peg$e21);
1501
+ peg$fail(peg$e22);
1450
1502
  }
1451
1503
  return s0;
1452
1504
  }