xrb 0.11.2 → 0.12.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.
@@ -1,8 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # line 1 "lib/xrb/fallback/template.rl"
3
4
  # Released under the MIT License.
4
5
  # Copyright, 2016-2024, by Samuel Williams.
5
6
 
7
+
6
8
  # line 80 "lib/xrb/fallback/template.rl"
7
9
 
8
10
 
@@ -41,7 +43,7 @@ module XRB
41
43
  34, 39, 34, 35, 39, 39,
42
44
  0, 0, 0
43
45
  ]
44
-
46
+
45
47
  class << self
46
48
  attr_accessor :_template_key_spans
47
49
  private :_template_key_spans, :_template_key_spans=
@@ -56,7 +58,7 @@ module XRB
56
58
  105, 52, 1, 24, 6, 2, 1, 0,
57
59
  6, 2, 1, 0
58
60
  ]
59
-
61
+
60
62
  class << self
61
63
  attr_accessor :_template_index_offsets
62
64
  private :_template_index_offsets, :_template_index_offsets=
@@ -71,7 +73,7 @@ module XRB
71
73
  2928, 3034, 3087, 3089, 3114, 3121, 3124, 3126,
72
74
  3127, 3134, 3137, 3139
73
75
  ]
74
-
76
+
75
77
  class << self
76
78
  attr_accessor :_template_indicies
77
79
  private :_template_indicies, :_template_indicies=
@@ -471,7 +473,7 @@ module XRB
471
473
  57, 52, 52, 52, 56, 52, 49, 50,
472
474
  45, 64, 46, 92, 0
473
475
  ]
474
-
476
+
475
477
  class << self
476
478
  attr_accessor :_template_trans_targs
477
479
  private :_template_trans_targs, :_template_trans_targs=
@@ -490,7 +492,7 @@ module XRB
490
492
  40, 41, 42, 43, 44, 45, 34, 34,
491
493
  48, 49, 50, 34, 0
492
494
  ]
493
-
495
+
494
496
  class << self
495
497
  attr_accessor :_template_trans_actions
496
498
  private :_template_trans_actions, :_template_trans_actions=
@@ -509,7 +511,7 @@ module XRB
509
511
  0, 0, 24, 0, 0, 27, 28, 29,
510
512
  0, 0, 30, 31, 0
511
513
  ]
512
-
514
+
513
515
  class << self
514
516
  attr_accessor :_template_to_state_actions
515
517
  private :_template_to_state_actions, :_template_to_state_actions=
@@ -524,7 +526,7 @@ module XRB
524
526
  0, 0, 0, 0, 0, 0, 0, 0,
525
527
  0, 0, 0, 0
526
528
  ]
527
-
529
+
528
530
  class << self
529
531
  attr_accessor :_template_from_state_actions
530
532
  private :_template_from_state_actions, :_template_from_state_actions=
@@ -539,7 +541,7 @@ module XRB
539
541
  0, 0, 0, 0, 0, 0, 0, 0,
540
542
  0, 0, 0, 0
541
543
  ]
542
-
544
+
543
545
  class << self
544
546
  attr_accessor :_template_eof_actions
545
547
  private :_template_eof_actions, :_template_eof_actions=
@@ -554,7 +556,7 @@ module XRB
554
556
  0, 0, 0, 0, 0, 0, 0, 0,
555
557
  0, 0, 0, 0
556
558
  ]
557
-
559
+
558
560
  class << self
559
561
  attr_accessor :_template_eof_trans
560
562
  private :_template_eof_trans, :_template_eof_trans=
@@ -569,7 +571,7 @@ module XRB
569
571
  73, 73, 87, 92, 0, 0, 0, 0,
570
572
  0, 0, 0, 0
571
573
  ]
572
-
574
+
573
575
  class << self
574
576
  attr_accessor :template_start
575
577
  end
@@ -582,7 +584,7 @@ module XRB
582
584
  attr_accessor :template_error
583
585
  end
584
586
  self.template_error = 0;
585
-
587
+
586
588
  class << self
587
589
  attr_accessor :template_en_parse_nested_expression
588
590
  end
@@ -595,557 +597,560 @@ module XRB
595
597
  attr_accessor :template_en_main
596
598
  end
597
599
  self.template_en_main = 34;
598
-
599
-
600
- # line 87 "lib/xrb/fallback/template.rl"
600
+
601
+
602
+ # line 87 "lib/xrb/fallback/template.rl"
601
603
 
602
604
  def self.parse_template(buffer, delegate)
603
605
  data = buffer.read
604
606
  bytes = data.bytes
605
-
607
+
606
608
  p = 0
607
609
  pe = eof = data.bytesize
608
610
  stack = []
609
-
611
+
610
612
  ts = te = nil
611
613
  act = nil
612
-
614
+
613
615
  expression_begin = expression_end = nil
614
616
  instruction_begin = instruction_end = nil
615
617
  text_begin = text_end = nil
616
618
  delimiter_begin = delimiter_end = nil
617
-
618
-
619
- # line 621 "lib/xrb/fallback/template.rb"
619
+
620
+
621
+ # line 621 "lib/xrb/fallback/template.rb"
622
+ begin
623
+ p ||= 0
624
+ pe ||= data.length
625
+ cs = template_start
626
+ top = 0
627
+ ts = nil
628
+ te = nil
629
+ act = 0
630
+ end
631
+
632
+ # line 105 "lib/xrb/fallback/template.rl"
633
+
634
+ # line 634 "lib/xrb/fallback/template.rb"
635
+ begin
636
+ testEof = false
637
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
638
+ _goto_level = 0
639
+ _resume = 10
640
+ _eof_trans = 15
641
+ _again = 20
642
+ _test_eof = 30
643
+ _out = 40
644
+ while true
645
+ if _goto_level <= 0
646
+ if p == pe
647
+ _goto_level = _test_eof
648
+ next
649
+ end
650
+ if cs == 0
651
+ _goto_level = _out
652
+ next
653
+ end
654
+ end
655
+ if _goto_level <= _resume
656
+ case _template_from_state_actions[cs]
657
+ when 18 then
658
+ # line 1 "NONE"
620
659
  begin
621
- p ||= 0
622
- pe ||= data.length
623
- cs = template_start
624
- top = 0
625
- ts = nil
626
- te = nil
627
- act = 0
660
+ ts = p
628
661
  end
629
-
630
- # line 105 "lib/xrb/fallback/template.rl"
631
-
632
- # line 634 "lib/xrb/fallback/template.rb"
662
+ # line 662 "lib/xrb/fallback/template.rb"
663
+ end
664
+ _keys = cs << 1
665
+ _inds = _template_index_offsets[cs]
666
+ _slen = _template_key_spans[cs]
667
+ _wide = ( bytes[p])
668
+ _trans = if ( _slen > 0 &&
669
+ _template_trans_keys[_keys] <= _wide &&
670
+ _wide <= _template_trans_keys[_keys + 1]
671
+ ) then
672
+ _template_indicies[ _inds + _wide - _template_trans_keys[_keys] ]
673
+ else
674
+ _template_indicies[ _inds + _slen ]
675
+ end
676
+ end
677
+ if _goto_level <= _eof_trans
678
+ cs = _template_trans_targs[_trans]
679
+ if _template_trans_actions[_trans] != 0
680
+ case _template_trans_actions[_trans]
681
+ when 4 then
682
+ # line 11 "lib/xrb/fallback/template.rl"
633
683
  begin
634
- testEof = false
635
- _slen, _trans, _keys, _inds, _acts, _nacts = nil
636
- _goto_level = 0
637
- _resume = 10
638
- _eof_trans = 15
639
- _again = 20
640
- _test_eof = 30
641
- _out = 40
642
- while true
643
- if _goto_level <= 0
644
- if p == pe
645
- _goto_level = _test_eof
646
- next
647
- end
648
- if cs == 0
649
- _goto_level = _out
650
- next
651
- end
652
- end
653
- if _goto_level <= _resume
654
- case _template_from_state_actions[cs]
655
- when 18 then
656
- # line 1 "NONE"
657
- begin
658
- ts = p
659
- end
660
- # line 662 "lib/xrb/fallback/template.rb"
661
- end
662
- _keys = cs << 1
663
- _inds = _template_index_offsets[cs]
664
- _slen = _template_key_spans[cs]
665
- _wide = ( bytes[p])
666
- _trans = if ( _slen > 0 &&
667
- _template_trans_keys[_keys] <= _wide &&
668
- _wide <= _template_trans_keys[_keys + 1]
669
- ) then
670
- _template_indicies[ _inds + _wide - _template_trans_keys[_keys] ]
671
- else
672
- _template_indicies[ _inds + _slen ]
673
- end
674
- end
675
- if _goto_level <= _eof_trans
676
- cs = _template_trans_targs[_trans]
677
- if _template_trans_actions[_trans] != 0
678
- case _template_trans_actions[_trans]
679
- when 4 then
680
- # line 11 "lib/xrb/fallback/template.rl"
681
- begin
682
-
683
- instruction_end = p
684
- end
685
- when 14 then
686
- # line 27 "lib/xrb/fallback/template.rl"
687
- begin
688
-
689
- expression_begin = p
690
- end
691
- when 20 then
692
- # line 43 "lib/xrb/fallback/template.rl"
693
- begin
694
-
695
- text_begin = p
696
-
697
- delimiter_begin = nil
698
- delimiter_end = nil
699
- end
700
- when 12 then
701
- # line 14 "parsers/xrb/template.rl"
702
- begin
703
- begin
704
- stack[top] = cs
705
- top+= 1
706
- cs = 11
707
- _goto_level = _again
708
- next
709
- end
710
- end
711
- when 9 then
712
- # line 18 "parsers/xrb/template.rl"
713
- begin
714
- begin
715
- stack[top] = cs
716
- top+= 1
717
- cs = 11
718
- _goto_level = _again
719
- next
720
- end
721
- end
722
- when 10 then
723
- # line 20 "parsers/xrb/template.rl"
724
- begin
725
- begin
726
- top -= 1
727
- cs = stack[top]
728
- _goto_level = _again
729
- next
730
- end
731
- end
732
- when 2 then
733
- # line 1 "NONE"
734
- begin
735
- te = p+1
736
- end
737
- when 6 then
738
- # line 19 "lib/xrb/fallback/template.rl"
739
- begin
740
- te = p+1
741
- begin
742
- delegate.instruction(data.byteslice(instruction_begin...instruction_end), "\n")
743
- end
744
- end
745
- when 25 then
746
- # line 72 "lib/xrb/fallback/template.rl"
747
- begin
748
- te = p
749
- p = p - 1; begin
750
- delegate.text(data.byteslice(ts...te))
751
- end
752
- end
753
- when 31 then
754
- # line 15 "lib/xrb/fallback/template.rl"
755
- begin
756
- te = p
757
- p = p - 1; begin
758
- delegate.instruction(data.byteslice(instruction_begin...instruction_end))
759
- end
760
- end
761
- when 28 then
762
- # line 62 "lib/xrb/fallback/template.rl"
763
- begin
764
- te = p
765
- p = p - 1; begin
766
- if delimiter_begin
767
- text_end = delimiter_begin
684
+
685
+ instruction_end = p
686
+ end
687
+ when 14 then
688
+ # line 27 "lib/xrb/fallback/template.rl"
689
+ begin
690
+
691
+ expression_begin = p
692
+ end
693
+ when 20 then
694
+ # line 43 "lib/xrb/fallback/template.rl"
695
+ begin
696
+
697
+ text_begin = p
698
+
699
+ delimiter_begin = nil
700
+ delimiter_end = nil
701
+ end
702
+ when 12 then
703
+ # line 14 "parsers/xrb/template.rl"
704
+ begin
705
+ begin
706
+ stack[top] = cs
707
+ top+= 1
708
+ cs = 11
709
+ _goto_level = _again
710
+ next
711
+ end
712
+ end
713
+ when 9 then
714
+ # line 18 "parsers/xrb/template.rl"
715
+ begin
716
+ begin
717
+ stack[top] = cs
718
+ top+= 1
719
+ cs = 11
720
+ _goto_level = _again
721
+ next
722
+ end
723
+ end
724
+ when 10 then
725
+ # line 20 "parsers/xrb/template.rl"
726
+ begin
727
+ begin
728
+ top -= 1
729
+ cs = stack[top]
730
+ _goto_level = _again
731
+ next
732
+ end
733
+ end
734
+ when 2 then
735
+ # line 1 "NONE"
736
+ begin
737
+ te = p+1
738
+ end
739
+ when 6 then
740
+ # line 19 "lib/xrb/fallback/template.rl"
741
+ begin
742
+ te = p+1
743
+ begin
744
+ delegate.instruction(data.byteslice(instruction_begin...instruction_end), "\n")
745
+ end
746
+ end
747
+ when 25 then
748
+ # line 72 "lib/xrb/fallback/template.rl"
749
+ begin
750
+ te = p
751
+ p = p - 1; begin
752
+ delegate.text(data.byteslice(ts...te))
753
+ end
754
+ end
755
+ when 31 then
756
+ # line 15 "lib/xrb/fallback/template.rl"
757
+ begin
758
+ te = p
759
+ p = p - 1; begin
760
+ delegate.instruction(data.byteslice(instruction_begin...instruction_end))
761
+ end
762
+ end
763
+ when 28 then
764
+ # line 62 "lib/xrb/fallback/template.rl"
765
+ begin
766
+ te = p
767
+ p = p - 1; begin
768
+ if delimiter_begin
769
+ text_end = delimiter_begin
770
+
771
+ p = delimiter_begin - 1;
772
+ end
773
+
774
+ delegate.text(data.byteslice(text_begin...text_end))
775
+ end
776
+ end
777
+ when 1 then
778
+ # line 72 "lib/xrb/fallback/template.rl"
779
+ begin
780
+ begin p = ((te))-1; end
781
+ begin
782
+ delegate.text(data.byteslice(ts...te))
783
+ end
784
+ end
785
+ when 5 then
786
+ # line 1 "NONE"
787
+ begin
788
+ case act
789
+ when 4 then
790
+ begin begin p = ((te))-1; end
791
+
792
+ delegate.instruction(data.byteslice(instruction_begin...instruction_end))
793
+ end
794
+ when 5 then
795
+ begin begin p = ((te))-1; end
796
+
797
+ if delimiter_begin
798
+ text_end = delimiter_begin
768
799
 
769
- p = delimiter_begin - 1;
770
- end
771
-
772
- delegate.text(data.byteslice(text_begin...text_end))
773
- end
774
- end
775
- when 1 then
776
- # line 72 "lib/xrb/fallback/template.rl"
777
- begin
778
- begin p = ((te))-1; end
779
- begin
780
- delegate.text(data.byteslice(ts...te))
781
- end
782
- end
783
- when 5 then
784
- # line 1 "NONE"
785
- begin
786
- case act
787
- when 4 then
788
- begin begin p = ((te))-1; end
789
-
790
- delegate.instruction(data.byteslice(instruction_begin...instruction_end))
791
- end
792
- when 5 then
793
- begin begin p = ((te))-1; end
794
-
795
- if delimiter_begin
796
- text_end = delimiter_begin
797
-
798
- p = delimiter_begin - 1;
799
- end
800
+ p = delimiter_begin - 1;
801
+ end
800
802
 
801
- delegate.text(data.byteslice(text_begin...text_end))
802
- end
803
- end
804
- end
805
- when 3 then
806
- # line 23 "lib/xrb/fallback/template.rl"
807
- begin
808
-
809
- raise ParseError.new("failed to parse instruction", buffer, p)
810
- end
811
- # line 62 "lib/xrb/fallback/template.rl"
812
- begin
813
- begin p = ((te))-1; end
814
- begin
815
- if delimiter_begin
816
- text_end = delimiter_begin
803
+ delegate.text(data.byteslice(text_begin...text_end))
804
+ end
805
+ end
806
+ end
807
+ when 3 then
808
+ # line 23 "lib/xrb/fallback/template.rl"
809
+ begin
810
+
811
+ raise ParseError.new("failed to parse instruction", buffer, p)
812
+ end
813
+ # line 62 "lib/xrb/fallback/template.rl"
814
+ begin
815
+ begin p = ((te))-1; end
816
+ begin
817
+ if delimiter_begin
818
+ text_end = delimiter_begin
817
819
 
818
- p = delimiter_begin - 1;
819
- end
820
+ p = delimiter_begin - 1;
821
+ end
820
822
 
821
- delegate.text(data.byteslice(text_begin...text_end))
822
- end
823
- end
824
- when 15 then
825
- # line 27 "lib/xrb/fallback/template.rl"
826
- begin
827
-
828
- expression_begin = p
829
- end
830
- # line 18 "parsers/xrb/template.rl"
831
- begin
832
- begin
833
- stack[top] = cs
834
- top+= 1
835
- cs = 11
836
- _goto_level = _again
837
- next
838
- end
839
- end
840
- when 24 then
841
- # line 50 "lib/xrb/fallback/template.rl"
842
- begin
843
-
844
- text_end = p
845
- end
846
- # line 54 "lib/xrb/fallback/template.rl"
847
- begin
848
-
849
- delimiter_begin = p
850
- end
851
- when 26 then
852
- # line 58 "lib/xrb/fallback/template.rl"
853
- begin
854
-
855
- delimiter_end = p
856
- end
857
- # line 62 "lib/xrb/fallback/template.rl"
858
- begin
859
- te = p+1
860
- begin
861
- if delimiter_begin
862
- text_end = delimiter_begin
823
+ delegate.text(data.byteslice(text_begin...text_end))
824
+ end
825
+ end
826
+ when 15 then
827
+ # line 27 "lib/xrb/fallback/template.rl"
828
+ begin
829
+
830
+ expression_begin = p
831
+ end
832
+ # line 18 "parsers/xrb/template.rl"
833
+ begin
834
+ begin
835
+ stack[top] = cs
836
+ top+= 1
837
+ cs = 11
838
+ _goto_level = _again
839
+ next
840
+ end
841
+ end
842
+ when 24 then
843
+ # line 50 "lib/xrb/fallback/template.rl"
844
+ begin
845
+
846
+ text_end = p
847
+ end
848
+ # line 54 "lib/xrb/fallback/template.rl"
849
+ begin
850
+
851
+ delimiter_begin = p
852
+ end
853
+ when 26 then
854
+ # line 58 "lib/xrb/fallback/template.rl"
855
+ begin
856
+
857
+ delimiter_end = p
858
+ end
859
+ # line 62 "lib/xrb/fallback/template.rl"
860
+ begin
861
+ te = p+1
862
+ begin
863
+ if delimiter_begin
864
+ text_end = delimiter_begin
863
865
 
864
- p = delimiter_begin - 1;
865
- end
866
+ p = delimiter_begin - 1;
867
+ end
866
868
 
867
- delegate.text(data.byteslice(text_begin...text_end))
868
- end
869
- end
870
- when 11 then
871
- # line 14 "parsers/xrb/template.rl"
872
- begin
873
- begin
874
- stack[top] = cs
875
- top+= 1
876
- cs = 11
877
- _goto_level = _again
878
- next
879
- end
880
- end
881
- # line 18 "parsers/xrb/template.rl"
882
- begin
883
- begin
884
- stack[top] = cs
885
- top+= 1
886
- cs = 11
887
- _goto_level = _again
888
- next
889
- end
890
- end
891
- when 7 then
892
- # line 1 "NONE"
893
- begin
894
- te = p+1
895
- end
896
- # line 15 "lib/xrb/fallback/template.rl"
897
- begin
898
- act = 4; end
899
- when 29 then
900
- # line 58 "parsers/xrb/template.rl"
901
- begin
902
- te = p+1
903
- begin begin
904
- stack[top] = cs
905
- top+= 1
906
- cs = 22
907
- _goto_level = _again
908
- next
909
- end
910
- end
911
- end
912
- # line 58 "lib/xrb/fallback/template.rl"
913
- begin
914
-
915
- delimiter_end = p
916
- end
917
- when 17 then
918
- # line 31 "lib/xrb/fallback/template.rl"
919
- begin
920
-
921
- expression_end = p
922
- end
923
- # line 35 "lib/xrb/fallback/template.rl"
924
- begin
925
-
926
- delegate.expression(data.byteslice(expression_begin...expression_end))
927
- end
928
- # line 21 "parsers/xrb/template.rl"
929
- begin
930
- begin
931
- top -= 1
932
- cs = stack[top]
933
- _goto_level = _again
934
- next
935
- end
936
- end
937
- when 19 then
938
- # line 43 "lib/xrb/fallback/template.rl"
939
- begin
940
-
941
- text_begin = p
942
-
943
- delimiter_begin = nil
944
- delimiter_end = nil
945
- end
946
- # line 50 "lib/xrb/fallback/template.rl"
947
- begin
948
-
949
- text_end = p
950
- end
951
- # line 54 "lib/xrb/fallback/template.rl"
952
- begin
953
-
954
- delimiter_begin = p
955
- end
956
- when 22 then
957
- # line 50 "lib/xrb/fallback/template.rl"
958
- begin
959
-
960
- text_end = p
961
- end
962
- # line 54 "lib/xrb/fallback/template.rl"
963
- begin
964
-
965
- delimiter_begin = p
966
- end
967
- # line 62 "lib/xrb/fallback/template.rl"
968
- begin
969
- te = p
970
- p = p - 1; begin
971
- if delimiter_begin
972
- text_end = delimiter_begin
973
-
974
- p = delimiter_begin - 1;
975
- end
976
-
977
- delegate.text(data.byteslice(text_begin...text_end))
978
- end
979
- end
980
- when 30 then
981
- # line 1 "NONE"
982
- begin
983
- te = p+1
984
- end
985
- # line 7 "lib/xrb/fallback/template.rl"
986
- begin
987
-
988
- instruction_begin = p
989
- end
990
- # line 58 "lib/xrb/fallback/template.rl"
991
- begin
992
-
993
- delimiter_end = p
994
- end
995
- when 23 then
996
- # line 1 "NONE"
997
- begin
998
- te = p+1
999
- end
1000
- # line 50 "lib/xrb/fallback/template.rl"
1001
- begin
1002
-
1003
- text_end = p
1004
- end
1005
- # line 54 "lib/xrb/fallback/template.rl"
1006
- begin
1007
-
1008
- delimiter_begin = p
1009
- end
1010
- when 16 then
1011
- # line 27 "lib/xrb/fallback/template.rl"
1012
- begin
1013
-
1014
- expression_begin = p
1015
- end
1016
- # line 31 "lib/xrb/fallback/template.rl"
1017
- begin
1018
-
1019
- expression_end = p
1020
- end
1021
- # line 35 "lib/xrb/fallback/template.rl"
1022
- begin
1023
-
1024
- delegate.expression(data.byteslice(expression_begin...expression_end))
1025
- end
1026
- # line 21 "parsers/xrb/template.rl"
1027
- begin
1028
- begin
1029
- top -= 1
1030
- cs = stack[top]
1031
- _goto_level = _again
1032
- next
1033
- end
1034
- end
1035
- when 27 then
1036
- # line 1 "NONE"
1037
- begin
1038
- te = p+1
1039
- end
1040
- # line 7 "lib/xrb/fallback/template.rl"
1041
- begin
1042
-
1043
- instruction_begin = p
1044
- end
1045
- # line 58 "lib/xrb/fallback/template.rl"
1046
- begin
1047
-
1048
- delimiter_end = p
1049
- end
1050
- # line 62 "lib/xrb/fallback/template.rl"
1051
- begin
1052
- act = 5; end
1053
- when 21 then
1054
- # line 1 "NONE"
1055
- begin
1056
- te = p+1
1057
- end
1058
- # line 43 "lib/xrb/fallback/template.rl"
1059
- begin
1060
-
1061
- text_begin = p
1062
-
1063
- delimiter_begin = nil
1064
- delimiter_end = nil
1065
- end
1066
- # line 50 "lib/xrb/fallback/template.rl"
1067
- begin
1068
-
1069
- text_end = p
1070
- end
1071
- # line 54 "lib/xrb/fallback/template.rl"
1072
- begin
1073
-
1074
- delimiter_begin = p
1075
- end
1076
- # line 1078 "lib/xrb/fallback/template.rb"
1077
- end
1078
- end
1079
- end
1080
- if _goto_level <= _again
1081
- case _template_to_state_actions[cs]
1082
- when 8 then
1083
- # line 1 "NONE"
1084
- begin
1085
- ts = nil; end
1086
- # line 1088 "lib/xrb/fallback/template.rb"
1087
- end
1088
-
1089
- if cs == 0
1090
- _goto_level = _out
1091
- next
1092
- end
1093
- p += 1
1094
- if p != pe
1095
- _goto_level = _resume
1096
- next
1097
- end
1098
- end
1099
- if _goto_level <= _test_eof
1100
- if p == eof
1101
- if _template_eof_trans[cs] > 0
1102
- _trans = _template_eof_trans[cs] - 1;
1103
- _goto_level = _eof_trans
1104
- next;
1105
- end
1106
- case _template_eof_actions[cs]
1107
- when 13 then
1108
- # line 39 "lib/xrb/fallback/template.rl"
1109
- begin
1110
-
1111
- raise ParseError.new("failed to parse expression", buffer, p)
1112
- end
1113
- when 19 then
1114
- # line 43 "lib/xrb/fallback/template.rl"
1115
- begin
1116
-
1117
- text_begin = p
1118
-
1119
- delimiter_begin = nil
1120
- delimiter_end = nil
1121
- end
1122
- # line 50 "lib/xrb/fallback/template.rl"
1123
- begin
1124
-
1125
- text_end = p
1126
- end
1127
- # line 54 "lib/xrb/fallback/template.rl"
1128
- begin
1129
-
1130
- delimiter_begin = p
1131
- end
1132
- # line 1134 "lib/xrb/fallback/template.rb"
1133
- end
1134
- end
1135
-
1136
- end
1137
- if _goto_level <= _out
1138
- break
1139
- end
1140
- end
869
+ delegate.text(data.byteslice(text_begin...text_end))
870
+ end
1141
871
  end
1142
-
1143
- # line 106 "lib/xrb/fallback/template.rl"
1144
-
872
+ when 11 then
873
+ # line 14 "parsers/xrb/template.rl"
874
+ begin
875
+ begin
876
+ stack[top] = cs
877
+ top+= 1
878
+ cs = 11
879
+ _goto_level = _again
880
+ next
881
+ end
882
+ end
883
+ # line 18 "parsers/xrb/template.rl"
884
+ begin
885
+ begin
886
+ stack[top] = cs
887
+ top+= 1
888
+ cs = 11
889
+ _goto_level = _again
890
+ next
891
+ end
892
+ end
893
+ when 7 then
894
+ # line 1 "NONE"
895
+ begin
896
+ te = p+1
897
+ end
898
+ # line 15 "lib/xrb/fallback/template.rl"
899
+ begin
900
+ act = 4;
901
+ end
902
+ when 29 then
903
+ # line 58 "parsers/xrb/template.rl"
904
+ begin
905
+ te = p+1
906
+ begin begin
907
+ stack[top] = cs
908
+ top+= 1
909
+ cs = 22
910
+ _goto_level = _again
911
+ next
912
+ end
913
+ end
914
+ end
915
+ # line 58 "lib/xrb/fallback/template.rl"
916
+ begin
917
+
918
+ delimiter_end = p
919
+ end
920
+ when 17 then
921
+ # line 31 "lib/xrb/fallback/template.rl"
922
+ begin
923
+
924
+ expression_end = p
925
+ end
926
+ # line 35 "lib/xrb/fallback/template.rl"
927
+ begin
928
+
929
+ delegate.expression(data.byteslice(expression_begin...expression_end))
930
+ end
931
+ # line 21 "parsers/xrb/template.rl"
932
+ begin
933
+ begin
934
+ top -= 1
935
+ cs = stack[top]
936
+ _goto_level = _again
937
+ next
938
+ end
939
+ end
940
+ when 19 then
941
+ # line 43 "lib/xrb/fallback/template.rl"
942
+ begin
943
+
944
+ text_begin = p
945
+
946
+ delimiter_begin = nil
947
+ delimiter_end = nil
948
+ end
949
+ # line 50 "lib/xrb/fallback/template.rl"
950
+ begin
951
+
952
+ text_end = p
953
+ end
954
+ # line 54 "lib/xrb/fallback/template.rl"
955
+ begin
956
+
957
+ delimiter_begin = p
958
+ end
959
+ when 22 then
960
+ # line 50 "lib/xrb/fallback/template.rl"
961
+ begin
962
+
963
+ text_end = p
964
+ end
965
+ # line 54 "lib/xrb/fallback/template.rl"
966
+ begin
967
+
968
+ delimiter_begin = p
969
+ end
970
+ # line 62 "lib/xrb/fallback/template.rl"
971
+ begin
972
+ te = p
973
+ p = p - 1; begin
974
+ if delimiter_begin
975
+ text_end = delimiter_begin
976
+
977
+ p = delimiter_begin - 1;
978
+ end
979
+
980
+ delegate.text(data.byteslice(text_begin...text_end))
981
+ end
982
+ end
983
+ when 30 then
984
+ # line 1 "NONE"
985
+ begin
986
+ te = p+1
987
+ end
988
+ # line 7 "lib/xrb/fallback/template.rl"
989
+ begin
990
+
991
+ instruction_begin = p
992
+ end
993
+ # line 58 "lib/xrb/fallback/template.rl"
994
+ begin
995
+
996
+ delimiter_end = p
997
+ end
998
+ when 23 then
999
+ # line 1 "NONE"
1000
+ begin
1001
+ te = p+1
1002
+ end
1003
+ # line 50 "lib/xrb/fallback/template.rl"
1004
+ begin
1005
+
1006
+ text_end = p
1007
+ end
1008
+ # line 54 "lib/xrb/fallback/template.rl"
1009
+ begin
1010
+
1011
+ delimiter_begin = p
1012
+ end
1013
+ when 16 then
1014
+ # line 27 "lib/xrb/fallback/template.rl"
1015
+ begin
1016
+
1017
+ expression_begin = p
1018
+ end
1019
+ # line 31 "lib/xrb/fallback/template.rl"
1020
+ begin
1021
+
1022
+ expression_end = p
1023
+ end
1024
+ # line 35 "lib/xrb/fallback/template.rl"
1025
+ begin
1026
+
1027
+ delegate.expression(data.byteslice(expression_begin...expression_end))
1028
+ end
1029
+ # line 21 "parsers/xrb/template.rl"
1030
+ begin
1031
+ begin
1032
+ top -= 1
1033
+ cs = stack[top]
1034
+ _goto_level = _again
1035
+ next
1036
+ end
1037
+ end
1038
+ when 27 then
1039
+ # line 1 "NONE"
1040
+ begin
1041
+ te = p+1
1042
+ end
1043
+ # line 7 "lib/xrb/fallback/template.rl"
1044
+ begin
1045
+
1046
+ instruction_begin = p
1047
+ end
1048
+ # line 58 "lib/xrb/fallback/template.rl"
1049
+ begin
1050
+
1051
+ delimiter_end = p
1052
+ end
1053
+ # line 62 "lib/xrb/fallback/template.rl"
1054
+ begin
1055
+ act = 5;
1056
+ end
1057
+ when 21 then
1058
+ # line 1 "NONE"
1059
+ begin
1060
+ te = p+1
1061
+ end
1062
+ # line 43 "lib/xrb/fallback/template.rl"
1063
+ begin
1064
+
1065
+ text_begin = p
1066
+
1067
+ delimiter_begin = nil
1068
+ delimiter_end = nil
1069
+ end
1070
+ # line 50 "lib/xrb/fallback/template.rl"
1071
+ begin
1072
+
1073
+ text_end = p
1074
+ end
1075
+ # line 54 "lib/xrb/fallback/template.rl"
1076
+ begin
1077
+
1078
+ delimiter_begin = p
1079
+ end
1080
+ # line 1078 "lib/xrb/fallback/template.rb"
1081
+ end
1082
+ end
1083
+ end
1084
+ if _goto_level <= _again
1085
+ case _template_to_state_actions[cs]
1086
+ when 8 then
1087
+ # line 1 "NONE"
1088
+ begin
1089
+ ts = nil;
1090
+ end
1091
+ # line 1088 "lib/xrb/fallback/template.rb"
1092
+ end
1093
+
1094
+ if cs == 0
1095
+ _goto_level = _out
1096
+ next
1097
+ end
1098
+ p += 1
1099
+ if p != pe
1100
+ _goto_level = _resume
1101
+ next
1102
+ end
1103
+ end
1104
+ if _goto_level <= _test_eof
1105
+ if p == eof
1106
+ if _template_eof_trans[cs] > 0
1107
+ _trans = _template_eof_trans[cs] - 1;
1108
+ _goto_level = _eof_trans
1109
+ next;
1110
+ end
1111
+ case _template_eof_actions[cs]
1112
+ when 13 then
1113
+ # line 39 "lib/xrb/fallback/template.rl"
1114
+ begin
1115
+
1116
+ raise ParseError.new("failed to parse expression", buffer, p)
1117
+ end
1118
+ when 19 then
1119
+ # line 43 "lib/xrb/fallback/template.rl"
1120
+ begin
1121
+
1122
+ text_begin = p
1123
+
1124
+ delimiter_begin = nil
1125
+ delimiter_end = nil
1126
+ end
1127
+ # line 50 "lib/xrb/fallback/template.rl"
1128
+ begin
1129
+
1130
+ text_end = p
1131
+ end
1132
+ # line 54 "lib/xrb/fallback/template.rl"
1133
+ begin
1134
+
1135
+ delimiter_begin = p
1136
+ end
1137
+ # line 1134 "lib/xrb/fallback/template.rb"
1138
+ end
1139
+ end
1140
+
1141
+ end
1142
+ if _goto_level <= _out
1143
+ break
1144
+ end
1145
+ end
1146
+ end
1147
+
1148
+ # line 106 "lib/xrb/fallback/template.rl"
1149
+
1145
1150
  if p != eof
1146
1151
  raise ParseError.new("could not consume all input", buffer, p)
1147
1152
  end
1148
-
1153
+
1149
1154
  return nil
1150
1155
  end
1151
1156
  end