regexp_parser 2.9.3 → 2.11.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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/lib/regexp_parser/expression/classes/backreference.rb +1 -20
- data/lib/regexp_parser/expression/classes/conditional.rb +0 -14
- data/lib/regexp_parser/expression/classes/escape_sequence.rb +24 -95
- data/lib/regexp_parser/expression/methods/escape_sequence_char.rb +5 -0
- data/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +74 -0
- data/lib/regexp_parser/expression/methods/referenced_expressions.rb +28 -0
- data/lib/regexp_parser/expression.rb +3 -0
- data/lib/regexp_parser/parser.rb +9 -5
- data/lib/regexp_parser/scanner/scanner.rl +34 -7
- data/lib/regexp_parser/scanner.rb +499 -470
- data/lib/regexp_parser/syntax/token/escape.rb +1 -1
- data/lib/regexp_parser/version.rb +1 -1
- metadata +5 -2
@@ -3,7 +3,7 @@
|
|
3
3
|
# THIS IS A GENERATED FILE, DO NOT EDIT DIRECTLY
|
4
4
|
#
|
5
5
|
# This file was generated from scanner.rl
|
6
|
-
# by running `bundle exec rake
|
6
|
+
# by running `bundle exec rake `
|
7
7
|
|
8
8
|
|
9
9
|
require_relative 'scanner/errors/scanner_error'
|
@@ -28,6 +28,7 @@ class Regexp::Scanner
|
|
28
28
|
|
29
29
|
input = input_object.is_a?(Regexp) ? input_object.source : input_object
|
30
30
|
self.free_spacing = free_spacing?(input_object, options)
|
31
|
+
self.regexp_encoding = input_object.encoding if input_object.is_a?(::Regexp)
|
31
32
|
self.spacing_stack = [{:free_spacing => free_spacing, :depth => 0}]
|
32
33
|
|
33
34
|
data = input.unpack("c*")
|
@@ -38,6 +39,7 @@ class Regexp::Scanner
|
|
38
39
|
|
39
40
|
self.set_depth = 0
|
40
41
|
self.group_depth = 0
|
42
|
+
self.capturing_group_count = 0
|
41
43
|
self.conditional_stack = []
|
42
44
|
self.char_pos = 0
|
43
45
|
|
@@ -70,25 +72,28 @@ self._re_scanner_trans_keys = [
|
|
70
72
|
48,102,48,102,48,102,
|
71
73
|
48,102,9,125,9,
|
72
74
|
125,9,125,9,125,
|
73
|
-
9,125,9,125,48,
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
43,63,
|
81
|
-
|
82
|
-
|
83
|
-
-128,-65,
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
48,
|
89
|
-
|
90
|
-
|
91
|
-
|
75
|
+
9,125,9,125,48,102,
|
76
|
+
120,120,56,102,48,
|
77
|
+
102,39,39,41,41,
|
78
|
+
41,57,62,62,-128,127,
|
79
|
+
-62,-12,1,127,1,
|
80
|
+
127,9,32,33,126,
|
81
|
+
10,10,63,63,33,126,
|
82
|
+
33,126,43,63,43,
|
83
|
+
63,43,63,65,122,
|
84
|
+
44,57,68,119,80,112,
|
85
|
+
-62,125,-128,-65,-128,
|
86
|
+
-65,-128,-65,38,38,
|
87
|
+
38,93,58,58,48,120,
|
88
|
+
48,55,48,55,-62,
|
89
|
+
125,-128,-65,-128,-65,
|
90
|
+
-128,-65,48,55,48,55,
|
91
|
+
48,57,48,57,48,
|
92
|
+
57,48,57,77,77,
|
93
|
+
45,45,0,0,67,99,
|
94
|
+
45,45,0,0,92,
|
95
|
+
92,48,102,48,102,
|
96
|
+
92,92,39,60,39,57,
|
92
97
|
48,57,41,57,33,
|
93
98
|
62,0
|
94
99
|
]
|
@@ -106,13 +111,14 @@ self._re_scanner_key_spans = [
|
|
106
111
|
117,114,64,64,1,36,36,64,
|
107
112
|
64,1,1,1,1,1,1,76,
|
108
113
|
55,55,55,55,117,117,117,117,
|
109
|
-
117,117,
|
110
|
-
51,127,127,24,94,
|
111
|
-
94,21,21,21,58,
|
112
|
-
188,64,64,64,1,
|
113
|
-
8,8,188,64,64,
|
114
|
-
|
115
|
-
|
114
|
+
117,117,55,1,47,55,1,1,
|
115
|
+
17,1,256,51,127,127,24,94,
|
116
|
+
1,1,94,94,21,21,21,58,
|
117
|
+
14,52,33,188,64,64,64,1,
|
118
|
+
56,1,73,8,8,188,64,64,
|
119
|
+
64,8,8,10,10,10,10,1,
|
120
|
+
1,0,33,1,0,1,55,55,
|
121
|
+
1,22,19,10,17,30
|
116
122
|
]
|
117
123
|
|
118
124
|
class << self
|
@@ -128,13 +134,14 @@ self._re_scanner_index_offsets = [
|
|
128
134
|
940,1058,1173,1238,1303,1305,1342,1379,
|
129
135
|
1444,1509,1511,1513,1515,1517,1519,1521,
|
130
136
|
1598,1654,1710,1766,1822,1940,2058,2176,
|
131
|
-
2294,2412,2530,
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
137
|
+
2294,2412,2530,2586,2588,2636,2692,2694,
|
138
|
+
2696,2714,2716,2973,3025,3153,3281,3306,
|
139
|
+
3401,3403,3405,3500,3595,3617,3639,3661,
|
140
|
+
3720,3735,3788,3822,4011,4076,4141,4206,
|
141
|
+
4208,4265,4267,4341,4350,4359,4548,4613,
|
142
|
+
4678,4743,4752,4761,4772,4783,4794,4805,
|
143
|
+
4807,4809,4810,4844,4846,4847,4849,4905,
|
144
|
+
4961,4963,4986,5006,5017,5035
|
138
145
|
]
|
139
146
|
|
140
147
|
class << self
|
@@ -459,19 +466,29 @@ self._re_scanner_indicies = [
|
|
459
466
|
43,43,43,43,43,43,43,43,
|
460
467
|
43,43,43,43,43,43,43,43,
|
461
468
|
74,43,82,82,82,82,82,82,
|
462
|
-
82,82,
|
463
|
-
81,81,81,
|
464
|
-
|
469
|
+
82,82,83,83,81,81,81,81,
|
470
|
+
81,81,81,83,83,83,83,83,
|
471
|
+
83,81,81,81,81,81,81,81,
|
465
472
|
81,81,81,81,81,81,81,81,
|
466
473
|
81,81,81,81,81,81,81,81,
|
467
|
-
81,81,81,
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
84,
|
472
|
-
|
473
|
-
|
474
|
-
|
474
|
+
81,81,81,83,83,83,83,83,
|
475
|
+
83,81,85,84,86,86,84,84,
|
476
|
+
84,84,84,84,84,86,86,86,
|
477
|
+
86,86,86,84,84,84,84,84,
|
478
|
+
84,84,84,84,84,84,84,84,
|
479
|
+
84,84,84,84,84,84,84,84,
|
480
|
+
84,84,84,84,84,86,86,86,
|
481
|
+
86,86,86,84,87,87,87,87,
|
482
|
+
87,87,87,87,87,87,84,84,
|
483
|
+
84,84,84,84,84,87,87,87,
|
484
|
+
87,87,87,84,84,84,84,84,
|
485
|
+
84,84,84,84,84,84,84,84,
|
486
|
+
84,84,84,84,84,84,84,84,
|
487
|
+
84,84,84,84,84,87,87,87,
|
488
|
+
87,87,87,84,90,89,91,88,
|
489
|
+
91,88,88,88,88,88,88,92,
|
490
|
+
92,92,92,92,92,92,92,92,
|
491
|
+
92,88,90,93,43,43,43,43,
|
475
492
|
43,43,43,43,43,43,43,43,
|
476
493
|
43,43,43,43,43,43,43,43,
|
477
494
|
43,43,43,43,43,43,43,43,
|
@@ -479,160 +496,161 @@ self._re_scanner_indicies = [
|
|
479
496
|
43,43,43,43,43,43,43,43,
|
480
497
|
43,43,43,43,43,43,43,43,
|
481
498
|
43,43,43,43,43,43,43,43,
|
482
|
-
43,
|
499
|
+
43,43,43,43,43,43,2,2,
|
483
500
|
2,2,2,2,2,2,2,2,
|
484
501
|
2,2,2,2,2,2,2,2,
|
485
|
-
2,2,2,2,2,2,2,
|
502
|
+
2,2,2,2,2,2,2,2,
|
503
|
+
2,2,2,2,3,3,3,3,
|
486
504
|
3,3,3,3,3,3,3,3,
|
487
|
-
3,3,3,3,
|
488
|
-
|
489
|
-
43,43,43,43,43,
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
505
|
+
3,3,3,3,94,94,94,94,
|
506
|
+
94,43,43,43,43,43,43,43,
|
507
|
+
43,43,43,43,43,95,95,95,
|
508
|
+
95,95,95,95,95,96,96,96,
|
509
|
+
96,96,95,95,95,95,95,95,
|
510
|
+
95,95,95,95,95,95,95,95,
|
511
|
+
95,95,95,95,97,98,98,99,
|
512
|
+
100,98,98,98,101,102,103,104,
|
513
|
+
98,98,105,98,98,98,98,98,
|
514
|
+
98,98,98,98,98,98,98,98,
|
515
|
+
98,98,98,106,98,98,98,98,
|
516
|
+
98,98,98,98,98,98,98,98,
|
517
|
+
98,98,98,98,98,98,98,98,
|
518
|
+
98,98,98,98,98,98,98,107,
|
519
|
+
108,109,110,98,98,98,98,98,
|
520
|
+
98,98,98,98,98,98,98,98,
|
521
|
+
98,98,98,98,98,98,98,98,
|
522
|
+
98,98,98,98,98,98,98,111,
|
523
|
+
112,109,98,95,98,2,2,2,
|
506
524
|
2,2,2,2,2,2,2,2,
|
507
525
|
2,2,2,2,2,2,2,2,
|
508
526
|
2,2,2,2,2,2,2,2,
|
509
|
-
2,2,2,
|
527
|
+
2,2,2,3,3,3,3,3,
|
510
528
|
3,3,3,3,3,3,3,3,
|
511
|
-
3,3,3,
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
114,115,115,115,115,115,115,115,
|
562
|
-
115,115,115,115,115,115,115,115,
|
563
|
-
115,8,115,118,10,8,115,115,
|
564
|
-
115,115,115,115,115,115,115,115,
|
565
|
-
115,115,115,115,115,115,115,115,
|
566
|
-
115,115,115,115,115,115,115,115,
|
567
|
-
115,115,115,115,115,115,115,115,
|
568
|
-
115,115,115,115,115,115,115,115,
|
569
|
-
115,115,115,115,115,115,115,115,
|
570
|
-
115,115,115,115,115,115,115,115,
|
571
|
-
115,115,115,115,115,8,115,114,
|
572
|
-
115,114,115,115,115,114,114,114,
|
573
|
-
115,115,115,115,115,115,115,115,
|
574
|
-
115,115,115,115,115,115,115,115,
|
575
|
-
119,115,114,114,114,115,115,115,
|
576
|
-
115,115,115,115,115,115,115,115,
|
577
|
-
115,115,115,115,115,115,115,115,
|
578
|
-
115,115,115,115,115,115,115,115,
|
579
|
-
115,115,115,115,115,115,115,115,
|
580
|
-
115,115,115,115,115,115,115,115,
|
581
|
-
115,115,115,115,115,115,115,115,
|
582
|
-
115,115,115,115,115,115,115,115,
|
583
|
-
115,115,115,115,114,115,121,120,
|
529
|
+
3,3,3,94,94,94,94,94,
|
530
|
+
113,95,95,95,95,95,95,95,
|
531
|
+
95,95,95,95,95,95,95,95,
|
532
|
+
95,95,95,95,95,95,95,95,
|
533
|
+
95,95,95,95,95,95,95,95,
|
534
|
+
113,113,113,113,113,113,113,113,
|
535
|
+
113,113,113,113,113,113,113,113,
|
536
|
+
113,113,113,113,113,113,113,113,
|
537
|
+
113,113,113,113,113,113,113,113,
|
538
|
+
113,113,113,113,113,113,113,113,
|
539
|
+
113,113,113,113,113,113,113,113,
|
540
|
+
113,113,113,113,113,113,113,113,
|
541
|
+
113,113,113,113,113,113,113,113,
|
542
|
+
113,113,113,113,113,113,113,113,
|
543
|
+
113,113,113,113,113,113,113,113,
|
544
|
+
113,113,113,113,113,113,113,113,
|
545
|
+
113,113,113,113,113,113,113,95,
|
546
|
+
113,95,95,95,95,95,95,95,
|
547
|
+
95,96,96,96,96,96,95,95,
|
548
|
+
95,95,95,95,95,95,95,95,
|
549
|
+
95,95,95,95,95,95,95,95,
|
550
|
+
97,114,114,114,114,114,114,114,
|
551
|
+
114,114,114,114,114,114,114,114,
|
552
|
+
114,114,114,114,114,114,114,114,
|
553
|
+
114,114,114,114,114,114,114,114,
|
554
|
+
114,114,114,114,114,114,114,114,
|
555
|
+
114,114,114,114,114,114,114,114,
|
556
|
+
114,114,114,114,114,114,114,114,
|
557
|
+
114,114,114,114,114,114,114,114,
|
558
|
+
114,114,114,114,114,114,114,114,
|
559
|
+
114,114,114,114,114,114,114,114,
|
560
|
+
114,114,114,114,114,114,114,114,
|
561
|
+
114,114,114,114,114,114,114,95,
|
562
|
+
114,97,97,97,97,97,114,114,
|
563
|
+
114,114,114,114,114,114,114,114,
|
564
|
+
114,114,114,114,114,114,114,114,
|
565
|
+
97,114,98,98,113,113,98,98,
|
566
|
+
98,113,113,113,113,98,98,113,
|
567
|
+
98,98,98,98,98,98,98,98,
|
568
|
+
98,98,98,98,98,98,98,98,
|
569
|
+
113,98,98,98,98,98,98,98,
|
570
|
+
98,98,98,98,98,98,98,98,
|
571
|
+
98,98,98,98,98,98,98,98,
|
572
|
+
98,98,98,98,113,113,113,113,
|
573
|
+
98,98,98,98,98,98,98,98,
|
574
|
+
98,98,98,98,98,98,98,98,
|
575
|
+
98,98,98,98,98,98,98,98,
|
576
|
+
98,98,98,98,113,113,113,98,
|
577
|
+
113,116,99,118,117,10,120,5,
|
578
|
+
120,120,120,121,122,119,120,120,
|
584
579
|
120,120,120,120,120,120,120,120,
|
580
|
+
120,120,120,120,120,120,8,120,
|
581
|
+
123,10,8,120,120,120,120,120,
|
585
582
|
120,120,120,120,120,120,120,120,
|
586
|
-
120,120,
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
583
|
+
120,120,120,120,120,120,120,120,
|
584
|
+
120,120,120,120,120,120,120,120,
|
585
|
+
120,120,120,120,120,120,120,120,
|
586
|
+
120,120,120,120,120,120,120,120,
|
587
|
+
120,120,120,120,120,120,120,120,
|
588
|
+
120,120,120,120,120,120,120,120,
|
589
|
+
120,120,8,120,119,120,119,120,
|
590
|
+
120,120,119,119,119,120,120,120,
|
591
|
+
120,120,120,120,120,120,120,120,
|
592
|
+
120,120,120,120,120,124,120,119,
|
593
|
+
119,119,120,120,120,120,120,120,
|
594
|
+
120,120,120,120,120,120,120,120,
|
595
|
+
120,120,120,120,120,120,120,120,
|
596
|
+
120,120,120,120,120,120,120,120,
|
597
|
+
120,120,120,120,120,120,120,120,
|
598
|
+
120,120,120,120,120,120,120,120,
|
599
|
+
120,120,120,120,120,120,120,120,
|
600
|
+
120,120,120,120,120,120,120,120,
|
601
|
+
120,119,120,126,125,125,125,125,
|
602
|
+
125,125,125,125,125,125,125,125,
|
603
|
+
125,125,125,125,125,125,125,126,
|
604
|
+
125,128,127,127,127,127,127,127,
|
605
|
+
127,127,127,127,127,127,127,127,
|
606
|
+
127,127,127,127,127,128,127,130,
|
607
|
+
129,129,129,129,129,129,129,129,
|
608
|
+
129,129,129,129,129,129,129,129,
|
609
|
+
129,129,129,130,129,132,132,131,
|
610
|
+
131,131,131,132,131,131,131,133,
|
611
|
+
131,131,131,131,131,131,131,131,
|
612
|
+
131,131,131,131,131,131,132,131,
|
613
|
+
131,131,131,131,131,131,132,131,
|
614
|
+
131,131,131,134,131,131,131,135,
|
615
|
+
131,131,131,131,131,131,131,131,
|
616
|
+
131,131,131,131,131,131,132,131,
|
617
|
+
137,136,136,136,41,41,41,41,
|
618
|
+
41,41,41,41,41,41,136,138,
|
619
|
+
43,43,43,138,43,43,43,43,
|
620
|
+
43,43,43,43,43,138,138,43,
|
621
|
+
43,43,138,138,43,43,43,43,
|
622
|
+
43,43,43,43,43,43,43,138,
|
623
|
+
43,43,43,138,43,43,43,43,
|
624
|
+
43,43,43,43,43,43,138,43,
|
625
|
+
43,43,138,43,139,43,43,43,
|
626
|
+
43,43,43,43,43,43,43,43,
|
627
|
+
43,43,43,43,43,43,43,43,
|
628
|
+
43,43,43,43,43,43,43,43,
|
629
|
+
43,43,43,43,139,43,140,140,
|
630
|
+
140,140,140,140,140,140,140,140,
|
631
|
+
140,140,140,140,140,140,140,140,
|
632
|
+
140,140,140,140,140,140,140,140,
|
633
|
+
140,140,140,140,141,141,141,141,
|
634
|
+
141,141,141,141,141,141,141,141,
|
635
|
+
141,141,141,141,142,142,142,142,
|
636
|
+
142,48,48,48,48,48,48,48,
|
621
637
|
48,48,48,48,48,48,48,48,
|
622
638
|
48,48,48,48,48,48,48,48,
|
623
639
|
48,48,48,48,48,48,48,48,
|
624
|
-
48,48,48,138,48,139,48,138,
|
625
|
-
138,138,138,48,140,138,48,48,
|
626
640
|
48,48,48,48,48,48,48,48,
|
627
|
-
48,48,48,48,48,48,138,48,
|
628
641
|
48,48,48,48,48,48,48,48,
|
642
|
+
143,48,144,48,143,143,143,143,
|
643
|
+
48,145,143,48,48,48,48,48,
|
629
644
|
48,48,48,48,48,48,48,48,
|
645
|
+
48,48,48,143,48,48,48,48,
|
630
646
|
48,48,48,48,48,48,48,48,
|
631
|
-
48,48,141,142,143,144,48,48,
|
632
647
|
48,48,48,48,48,48,48,48,
|
648
|
+
48,48,48,48,48,48,48,146,
|
649
|
+
147,148,149,48,48,48,48,48,
|
633
650
|
48,48,48,48,48,48,48,48,
|
634
651
|
48,48,48,48,48,48,48,48,
|
635
|
-
48,48,
|
652
|
+
48,48,48,48,48,48,48,143,
|
653
|
+
143,143,48,48,48,48,48,48,
|
636
654
|
48,48,48,48,48,48,48,48,
|
637
655
|
48,48,48,48,48,48,48,48,
|
638
656
|
48,48,48,48,48,48,48,48,
|
@@ -640,7 +658,7 @@ self._re_scanner_indicies = [
|
|
640
658
|
48,48,48,48,48,48,48,48,
|
641
659
|
48,48,48,48,48,48,48,48,
|
642
660
|
48,48,48,48,48,48,48,48,
|
643
|
-
48,48,48,
|
661
|
+
48,48,48,150,49,49,49,49,
|
644
662
|
49,49,49,49,49,49,49,49,
|
645
663
|
49,49,49,49,49,49,49,49,
|
646
664
|
49,49,49,49,49,49,49,49,
|
@@ -648,58 +666,58 @@ self._re_scanner_indicies = [
|
|
648
666
|
49,49,49,49,49,49,49,49,
|
649
667
|
49,49,49,49,49,49,49,49,
|
650
668
|
49,49,49,49,49,49,49,49,
|
651
|
-
49,49,49,49,
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
148,148,148,148,148,148,148,148,
|
666
|
-
148,148,148,148,148,148,148,148,
|
667
|
-
148,148,150,148,53,152,154,154,
|
668
|
-
154,154,154,154,154,154,153,153,
|
669
|
+
49,49,49,49,150,151,151,151,
|
670
|
+
151,151,151,151,151,151,151,151,
|
671
|
+
151,151,151,151,151,151,151,151,
|
672
|
+
151,151,151,151,151,151,151,151,
|
673
|
+
151,151,151,151,151,151,151,151,
|
674
|
+
151,151,151,151,151,151,151,151,
|
675
|
+
151,151,151,151,151,151,151,151,
|
676
|
+
151,151,151,151,151,151,151,151,
|
677
|
+
151,151,151,151,151,150,152,150,
|
678
|
+
154,153,153,153,153,153,153,153,
|
679
|
+
153,153,153,153,153,153,153,153,
|
680
|
+
153,153,153,153,153,153,153,153,
|
681
|
+
153,153,153,153,153,153,153,153,
|
682
|
+
153,153,153,153,153,153,153,153,
|
669
683
|
153,153,153,153,153,153,153,153,
|
670
|
-
153,
|
671
|
-
153,
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
158,
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
684
|
+
153,153,153,153,153,153,153,155,
|
685
|
+
153,53,157,159,159,159,159,159,
|
686
|
+
159,159,159,158,158,158,158,158,
|
687
|
+
158,158,158,158,158,158,160,160,
|
688
|
+
158,158,158,160,158,158,158,158,
|
689
|
+
160,158,158,160,158,158,160,158,
|
690
|
+
158,158,160,158,158,158,160,160,
|
691
|
+
160,158,158,158,160,160,160,160,
|
692
|
+
160,160,158,160,158,158,158,158,
|
693
|
+
158,160,158,160,158,160,160,160,
|
694
|
+
160,160,160,160,158,162,162,162,
|
695
|
+
162,162,162,162,162,161,163,163,
|
696
|
+
163,163,163,163,163,163,161,164,
|
697
|
+
164,164,164,164,164,164,164,164,
|
698
|
+
164,164,164,164,164,164,164,164,
|
699
|
+
164,164,164,164,164,164,164,164,
|
700
|
+
164,164,164,164,164,165,165,165,
|
701
|
+
165,165,165,165,165,165,165,165,
|
702
|
+
165,165,165,165,165,166,166,166,
|
703
|
+
166,166,58,58,58,58,58,58,
|
686
704
|
58,58,58,58,58,58,58,58,
|
687
705
|
58,58,58,58,58,58,58,58,
|
688
706
|
58,58,58,58,58,58,58,58,
|
689
707
|
58,58,58,58,58,58,58,58,
|
690
708
|
58,58,58,58,58,58,58,58,
|
691
|
-
58,58,58,58,
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
58,
|
696
|
-
|
697
|
-
|
698
|
-
167,
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
709
|
+
58,167,58,58,58,167,167,167,
|
710
|
+
167,58,58,167,58,168,169,169,
|
711
|
+
169,169,169,169,169,170,170,58,
|
712
|
+
58,58,58,58,167,58,43,43,
|
713
|
+
171,172,58,58,43,172,58,58,
|
714
|
+
43,58,173,58,58,174,58,172,
|
715
|
+
172,58,58,58,172,172,58,43,
|
716
|
+
167,167,167,167,58,58,175,175,
|
717
|
+
60,172,175,175,58,172,58,58,
|
718
|
+
58,58,58,175,58,174,58,175,
|
719
|
+
172,175,176,175,172,177,58,43,
|
720
|
+
167,167,167,58,58,58,58,58,
|
703
721
|
58,58,58,58,58,58,58,58,
|
704
722
|
58,58,58,58,58,58,58,58,
|
705
723
|
58,58,58,58,58,58,58,58,
|
@@ -707,7 +725,7 @@ self._re_scanner_indicies = [
|
|
707
725
|
58,58,58,58,58,58,58,58,
|
708
726
|
58,58,58,58,58,58,58,58,
|
709
727
|
58,58,58,58,58,58,58,58,
|
710
|
-
58,58,58,58,
|
728
|
+
58,58,58,58,178,59,59,59,
|
711
729
|
59,59,59,59,59,59,59,59,
|
712
730
|
59,59,59,59,59,59,59,59,
|
713
731
|
59,59,59,59,59,59,59,59,
|
@@ -715,45 +733,56 @@ self._re_scanner_indicies = [
|
|
715
733
|
59,59,59,59,59,59,59,59,
|
716
734
|
59,59,59,59,59,59,59,59,
|
717
735
|
59,59,59,59,59,59,59,59,
|
718
|
-
59,59,59,59,59,
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
736
|
+
59,59,59,59,59,178,179,179,
|
737
|
+
179,179,179,179,179,179,179,179,
|
738
|
+
179,179,179,179,179,179,179,179,
|
739
|
+
179,179,179,179,179,179,179,179,
|
740
|
+
179,179,179,179,179,179,179,179,
|
741
|
+
179,179,179,179,179,179,179,179,
|
742
|
+
179,179,179,179,179,179,179,179,
|
743
|
+
179,179,179,179,179,179,179,179,
|
744
|
+
179,179,179,179,179,179,178,181,
|
745
|
+
181,181,181,181,181,181,181,180,
|
746
|
+
182,182,182,182,182,182,182,182,
|
747
|
+
180,184,184,184,184,184,184,184,
|
748
|
+
184,185,185,183,185,185,185,185,
|
749
|
+
185,185,185,185,185,185,183,185,
|
750
|
+
185,185,185,185,185,185,185,185,
|
751
|
+
185,183,185,185,185,185,185,185,
|
752
|
+
185,185,185,185,183,187,61,189,
|
753
|
+
188,61,191,66,66,66,66,66,
|
732
754
|
66,66,66,66,66,66,66,66,
|
733
755
|
66,66,66,66,66,66,66,66,
|
734
756
|
66,66,66,66,66,66,66,66,
|
735
|
-
66,66,
|
736
|
-
66,
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
195,195,
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
+
66,66,192,66,194,193,66,69,
|
758
|
+
66,196,196,196,196,196,196,196,
|
759
|
+
196,196,196,195,195,195,195,195,
|
760
|
+
195,195,196,196,196,196,196,196,
|
761
|
+
195,195,195,195,195,195,195,195,
|
762
|
+
195,195,195,195,195,195,195,195,
|
763
|
+
195,195,195,195,195,195,195,195,
|
764
|
+
195,195,196,196,196,196,196,196,
|
765
|
+
195,87,87,87,87,87,87,87,
|
766
|
+
87,87,87,195,195,195,195,195,
|
767
|
+
195,195,87,87,87,87,87,87,
|
768
|
+
195,195,195,195,195,195,195,195,
|
769
|
+
195,195,195,195,195,195,195,195,
|
770
|
+
195,195,195,195,195,195,195,195,
|
771
|
+
195,195,87,87,87,87,87,87,
|
772
|
+
195,198,197,200,199,199,199,199,
|
773
|
+
199,201,199,199,202,202,202,202,
|
774
|
+
202,202,202,202,202,202,199,199,
|
775
|
+
203,199,90,89,89,89,89,89,
|
776
|
+
204,89,89,204,204,204,204,204,
|
777
|
+
204,204,204,204,204,89,92,92,
|
778
|
+
92,92,92,92,92,92,92,92,
|
779
|
+
204,91,204,204,204,204,204,204,
|
780
|
+
92,92,92,92,92,92,92,92,
|
781
|
+
92,92,204,204,93,93,93,93,
|
782
|
+
93,93,93,93,93,93,93,204,
|
783
|
+
93,93,204,204,204,204,204,204,
|
784
|
+
204,204,204,204,93,93,93,204,
|
785
|
+
90,93,0
|
757
786
|
]
|
758
787
|
|
759
788
|
class << self
|
@@ -761,31 +790,32 @@ class << self
|
|
761
790
|
private :_re_scanner_trans_targs, :_re_scanner_trans_targs=
|
762
791
|
end
|
763
792
|
self._re_scanner_trans_targs = [
|
764
|
-
|
765
|
-
|
793
|
+
74,75,1,2,74,4,74,6,
|
794
|
+
74,8,74,74,10,16,11,74,
|
766
795
|
12,13,14,15,17,18,19,20,
|
767
|
-
21,23,29,24,
|
768
|
-
28,30,31,32,33,34,
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
57,58,
|
774
|
-
65,
|
775
|
-
70,
|
776
|
-
78,
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
100,
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
796
|
+
21,23,29,24,74,25,26,27,
|
797
|
+
28,30,31,32,33,34,74,36,
|
798
|
+
74,37,39,0,40,41,90,91,
|
799
|
+
91,42,91,91,91,45,46,91,
|
800
|
+
91,101,101,47,50,101,111,101,
|
801
|
+
113,53,101,114,101,116,56,59,
|
802
|
+
57,58,101,60,61,62,63,64,
|
803
|
+
65,101,118,119,101,68,69,120,
|
804
|
+
121,70,71,121,72,73,3,76,
|
805
|
+
77,78,79,80,74,81,74,84,
|
806
|
+
85,74,86,74,87,74,74,88,
|
807
|
+
74,74,74,74,74,74,82,74,
|
808
|
+
83,5,74,7,74,74,74,74,
|
809
|
+
74,74,74,74,74,74,9,22,
|
810
|
+
74,35,89,38,92,93,94,91,
|
811
|
+
95,96,97,91,91,91,91,43,
|
812
|
+
91,91,44,91,91,91,98,99,
|
813
|
+
98,98,100,98,102,103,104,101,
|
814
|
+
105,107,110,49,101,52,101,101,
|
815
|
+
55,66,101,48,101,106,101,101,
|
816
|
+
108,109,101,112,101,51,101,115,
|
817
|
+
117,101,54,101,101,101,67,121,
|
818
|
+
122,123,124,125,121
|
789
819
|
]
|
790
820
|
|
791
821
|
class << self
|
@@ -803,21 +833,22 @@ self._re_scanner_trans_actions = [
|
|
803
833
|
20,21,22,0,0,24,0,25,
|
804
834
|
0,0,26,0,27,0,0,0,
|
805
835
|
0,0,28,0,0,0,0,0,
|
806
|
-
0,29,0,30,0,0,31,
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
51,52,53,54,
|
812
|
-
|
813
|
-
|
814
|
-
67,68,
|
815
|
-
|
816
|
-
|
817
|
-
0,
|
818
|
-
0,
|
819
|
-
0,
|
820
|
-
|
836
|
+
0,29,0,0,30,0,0,31,
|
837
|
+
32,0,0,33,0,0,0,0,
|
838
|
+
0,0,0,0,36,37,38,0,
|
839
|
+
0,39,0,40,31,41,42,31,
|
840
|
+
43,44,45,46,47,48,31,49,
|
841
|
+
0,0,50,0,51,52,53,54,
|
842
|
+
55,56,57,58,59,60,0,0,
|
843
|
+
61,0,63,0,0,31,31,64,
|
844
|
+
0,31,65,66,67,68,69,0,
|
845
|
+
70,71,0,72,73,74,75,0,
|
846
|
+
76,77,0,78,0,31,31,79,
|
847
|
+
0,0,0,0,80,0,81,82,
|
848
|
+
0,0,83,0,84,0,85,86,
|
849
|
+
0,0,87,31,88,0,89,31,
|
850
|
+
0,90,0,91,92,93,0,94,
|
851
|
+
31,31,31,31,95
|
821
852
|
]
|
822
853
|
|
823
854
|
class << self
|
@@ -833,13 +864,14 @@ self._re_scanner_to_state_actions = [
|
|
833
864
|
0,0,0,0,0,0,0,0,
|
834
865
|
0,0,0,0,0,0,0,0,
|
835
866
|
0,0,0,0,0,0,0,0,
|
836
|
-
0,0,0,0,0,0,0,32,
|
837
867
|
0,0,0,0,0,0,0,0,
|
838
|
-
0,0,0,0,0,0,
|
839
|
-
|
840
|
-
0,
|
868
|
+
0,0,34,0,0,0,0,0,
|
869
|
+
0,0,0,0,0,0,0,0,
|
870
|
+
0,62,62,62,0,0,0,0,
|
871
|
+
0,0,62,0,0,62,0,0,
|
841
872
|
0,0,0,0,0,0,0,0,
|
842
|
-
0,
|
873
|
+
0,0,0,0,0,0,0,0,
|
874
|
+
0,62,0,0,0,0
|
843
875
|
]
|
844
876
|
|
845
877
|
class << self
|
@@ -855,13 +887,14 @@ self._re_scanner_from_state_actions = [
|
|
855
887
|
0,0,0,0,0,0,0,0,
|
856
888
|
0,0,0,0,0,0,0,0,
|
857
889
|
0,0,0,0,0,0,0,0,
|
858
|
-
0,0,0,0,0,0,0,33,
|
859
890
|
0,0,0,0,0,0,0,0,
|
860
|
-
0,0,0,0,0,0,
|
861
|
-
|
862
|
-
0,
|
891
|
+
0,0,35,0,0,0,0,0,
|
892
|
+
0,0,0,0,0,0,0,0,
|
893
|
+
0,35,35,35,0,0,0,0,
|
894
|
+
0,0,35,0,0,35,0,0,
|
863
895
|
0,0,0,0,0,0,0,0,
|
864
|
-
0,
|
896
|
+
0,0,0,0,0,0,0,0,
|
897
|
+
0,35,0,0,0,0
|
865
898
|
]
|
866
899
|
|
867
900
|
class << self
|
@@ -880,8 +913,9 @@ self._re_scanner_eof_actions = [
|
|
880
913
|
23,23,23,0,0,0,0,0,
|
881
914
|
0,0,0,0,0,0,0,0,
|
882
915
|
0,0,0,0,0,0,0,0,
|
883
|
-
|
884
|
-
0,0,
|
916
|
+
0,0,0,23,0,0,0,0,
|
917
|
+
0,0,0,0,0,23,0,0,
|
918
|
+
0,0,0,0,0,0,0,0,
|
885
919
|
0,0,0,0,0,0,0,0,
|
886
920
|
0,0,0,0,0,0
|
887
921
|
]
|
@@ -899,23 +933,24 @@ self._re_scanner_eof_trans = [
|
|
899
933
|
0,0,48,48,51,53,53,58,
|
900
934
|
58,0,0,64,0,0,69,0,
|
901
935
|
0,0,0,0,0,0,0,0,
|
902
|
-
0,0,0,
|
903
|
-
|
904
|
-
|
905
|
-
0,
|
906
|
-
|
907
|
-
|
908
|
-
191,
|
936
|
+
0,0,0,85,85,85,89,89,
|
937
|
+
89,89,0,114,114,115,115,114,
|
938
|
+
116,118,120,120,126,128,130,132,
|
939
|
+
137,0,0,0,151,151,151,151,
|
940
|
+
154,157,0,162,162,0,179,179,
|
941
|
+
179,181,181,184,184,184,184,187,
|
942
|
+
187,187,191,191,191,191,196,196,
|
943
|
+
198,0,205,205,205,205
|
909
944
|
]
|
910
945
|
|
911
946
|
class << self
|
912
947
|
attr_accessor :re_scanner_start
|
913
948
|
end
|
914
|
-
self.re_scanner_start =
|
949
|
+
self.re_scanner_start = 74;
|
915
950
|
class << self
|
916
951
|
attr_accessor :re_scanner_first_final
|
917
952
|
end
|
918
|
-
self.re_scanner_first_final =
|
953
|
+
self.re_scanner_first_final = 74;
|
919
954
|
class << self
|
920
955
|
attr_accessor :re_scanner_error
|
921
956
|
end
|
@@ -924,31 +959,31 @@ self.re_scanner_error = 0;
|
|
924
959
|
class << self
|
925
960
|
attr_accessor :re_scanner_en_char_type
|
926
961
|
end
|
927
|
-
self.re_scanner_en_char_type =
|
962
|
+
self.re_scanner_en_char_type = 89;
|
928
963
|
class << self
|
929
964
|
attr_accessor :re_scanner_en_unicode_property
|
930
965
|
end
|
931
|
-
self.re_scanner_en_unicode_property =
|
966
|
+
self.re_scanner_en_unicode_property = 90;
|
932
967
|
class << self
|
933
968
|
attr_accessor :re_scanner_en_character_set
|
934
969
|
end
|
935
|
-
self.re_scanner_en_character_set =
|
970
|
+
self.re_scanner_en_character_set = 91;
|
936
971
|
class << self
|
937
972
|
attr_accessor :re_scanner_en_set_escape_sequence
|
938
973
|
end
|
939
|
-
self.re_scanner_en_set_escape_sequence =
|
974
|
+
self.re_scanner_en_set_escape_sequence = 98;
|
940
975
|
class << self
|
941
976
|
attr_accessor :re_scanner_en_escape_sequence
|
942
977
|
end
|
943
|
-
self.re_scanner_en_escape_sequence =
|
978
|
+
self.re_scanner_en_escape_sequence = 101;
|
944
979
|
class << self
|
945
980
|
attr_accessor :re_scanner_en_conditional_expression
|
946
981
|
end
|
947
|
-
self.re_scanner_en_conditional_expression =
|
982
|
+
self.re_scanner_en_conditional_expression = 121;
|
948
983
|
class << self
|
949
984
|
attr_accessor :re_scanner_en_main
|
950
985
|
end
|
951
|
-
self.re_scanner_en_main =
|
986
|
+
self.re_scanner_en_main = 74;
|
952
987
|
|
953
988
|
begin
|
954
989
|
p ||= 0
|
@@ -982,7 +1017,7 @@ begin
|
|
982
1017
|
end
|
983
1018
|
if _goto_level <= _resume
|
984
1019
|
case _re_scanner_from_state_actions[cs]
|
985
|
-
when
|
1020
|
+
when 35 then
|
986
1021
|
begin
|
987
1022
|
ts = p
|
988
1023
|
end
|
@@ -1004,14 +1039,14 @@ ts = p
|
|
1004
1039
|
cs = _re_scanner_trans_targs[_trans]
|
1005
1040
|
if _re_scanner_trans_actions[_trans] != 0
|
1006
1041
|
case _re_scanner_trans_actions[_trans]
|
1007
|
-
when
|
1042
|
+
when 37 then
|
1008
1043
|
begin
|
1009
1044
|
self.group_depth = group_depth + 1 end
|
1010
|
-
when
|
1045
|
+
when 31 then
|
1011
1046
|
begin
|
1012
1047
|
te = p+1
|
1013
1048
|
end
|
1014
|
-
when
|
1049
|
+
when 63 then
|
1015
1050
|
begin
|
1016
1051
|
te = p+1
|
1017
1052
|
begin
|
@@ -1067,7 +1102,7 @@ te = p+1
|
|
1067
1102
|
emit(:set, :intersection, '&&')
|
1068
1103
|
end
|
1069
1104
|
end
|
1070
|
-
when
|
1105
|
+
when 68 then
|
1071
1106
|
begin
|
1072
1107
|
te = p+1
|
1073
1108
|
begin
|
@@ -1078,28 +1113,28 @@ te = p+1
|
|
1078
1113
|
end
|
1079
1114
|
end
|
1080
1115
|
end
|
1081
|
-
when
|
1116
|
+
when 70 then
|
1082
1117
|
begin
|
1083
1118
|
te = p+1
|
1084
1119
|
begin
|
1085
1120
|
emit(:set, :intersection, '&&')
|
1086
1121
|
end
|
1087
1122
|
end
|
1088
|
-
when
|
1123
|
+
when 66 then
|
1089
1124
|
begin
|
1090
1125
|
te = p+1
|
1091
1126
|
begin
|
1092
1127
|
begin
|
1093
1128
|
stack[top] = cs
|
1094
1129
|
top+= 1
|
1095
|
-
cs =
|
1130
|
+
cs = 98
|
1096
1131
|
_goto_level = _again
|
1097
1132
|
next
|
1098
1133
|
end
|
1099
1134
|
|
1100
1135
|
end
|
1101
1136
|
end
|
1102
|
-
when
|
1137
|
+
when 64 then
|
1103
1138
|
begin
|
1104
1139
|
te = p+1
|
1105
1140
|
begin
|
@@ -1114,7 +1149,7 @@ te = p+1
|
|
1114
1149
|
emit(:literal, :literal, text)
|
1115
1150
|
end
|
1116
1151
|
end
|
1117
|
-
when
|
1152
|
+
when 71 then
|
1118
1153
|
begin
|
1119
1154
|
te = p
|
1120
1155
|
p = p - 1; begin
|
@@ -1127,7 +1162,7 @@ p = p - 1; begin
|
|
1127
1162
|
end
|
1128
1163
|
end
|
1129
1164
|
end
|
1130
|
-
when
|
1165
|
+
when 74 then
|
1131
1166
|
begin
|
1132
1167
|
te = p
|
1133
1168
|
p = p - 1; begin
|
@@ -1135,14 +1170,14 @@ p = p - 1; begin
|
|
1135
1170
|
begin
|
1136
1171
|
stack[top] = cs
|
1137
1172
|
top+= 1
|
1138
|
-
cs =
|
1173
|
+
cs = 91
|
1139
1174
|
_goto_level = _again
|
1140
1175
|
next
|
1141
1176
|
end
|
1142
1177
|
|
1143
1178
|
end
|
1144
1179
|
end
|
1145
|
-
when
|
1180
|
+
when 69 then
|
1146
1181
|
begin
|
1147
1182
|
te = p
|
1148
1183
|
p = p - 1; begin
|
@@ -1171,7 +1206,7 @@ p = p - 1; begin
|
|
1171
1206
|
begin
|
1172
1207
|
stack[top] = cs
|
1173
1208
|
top+= 1
|
1174
|
-
cs =
|
1209
|
+
cs = 91
|
1175
1210
|
_goto_level = _again
|
1176
1211
|
next
|
1177
1212
|
end
|
@@ -1186,7 +1221,7 @@ p = p - 1; begin
|
|
1186
1221
|
emit(:literal, :literal, text)
|
1187
1222
|
end
|
1188
1223
|
end
|
1189
|
-
when
|
1224
|
+
when 78 then
|
1190
1225
|
begin
|
1191
1226
|
te = p+1
|
1192
1227
|
begin
|
@@ -1200,23 +1235,23 @@ te = p+1
|
|
1200
1235
|
|
1201
1236
|
end
|
1202
1237
|
end
|
1203
|
-
when
|
1238
|
+
when 76 then
|
1204
1239
|
begin
|
1205
1240
|
te = p+1
|
1206
1241
|
begin
|
1207
1242
|
p = p - 1;
|
1208
|
-
cs =
|
1243
|
+
cs = 91;
|
1209
1244
|
begin
|
1210
1245
|
stack[top] = cs
|
1211
1246
|
top+= 1
|
1212
|
-
cs =
|
1247
|
+
cs = 101
|
1213
1248
|
_goto_level = _again
|
1214
1249
|
next
|
1215
1250
|
end
|
1216
1251
|
|
1217
1252
|
end
|
1218
1253
|
end
|
1219
|
-
when
|
1254
|
+
when 75 then
|
1220
1255
|
begin
|
1221
1256
|
te = p+1
|
1222
1257
|
begin
|
@@ -1230,7 +1265,7 @@ te = p+1
|
|
1230
1265
|
|
1231
1266
|
end
|
1232
1267
|
end
|
1233
|
-
when
|
1268
|
+
when 77 then
|
1234
1269
|
begin
|
1235
1270
|
te = p
|
1236
1271
|
p = p - 1; begin
|
@@ -1244,7 +1279,7 @@ p = p - 1; begin
|
|
1244
1279
|
|
1245
1280
|
end
|
1246
1281
|
end
|
1247
|
-
when
|
1282
|
+
when 85 then
|
1248
1283
|
begin
|
1249
1284
|
te = p+1
|
1250
1285
|
begin
|
@@ -1258,23 +1293,7 @@ te = p+1
|
|
1258
1293
|
|
1259
1294
|
end
|
1260
1295
|
end
|
1261
|
-
when
|
1262
|
-
begin
|
1263
|
-
te = p+1
|
1264
|
-
begin # special case, emits two tokens
|
1265
|
-
text = copy(data, ts-1,te)
|
1266
|
-
emit(:escape, :literal, text[0,2])
|
1267
|
-
emit(:literal, :literal, text[2])
|
1268
|
-
begin
|
1269
|
-
top -= 1
|
1270
|
-
cs = stack[top]
|
1271
|
-
_goto_level = _again
|
1272
|
-
next
|
1273
|
-
end
|
1274
|
-
|
1275
|
-
end
|
1276
|
-
end
|
1277
|
-
when 78 then
|
1296
|
+
when 79 then
|
1278
1297
|
begin
|
1279
1298
|
te = p+1
|
1280
1299
|
begin
|
@@ -1304,7 +1323,7 @@ te = p+1
|
|
1304
1323
|
|
1305
1324
|
end
|
1306
1325
|
end
|
1307
|
-
when
|
1326
|
+
when 82 then
|
1308
1327
|
begin
|
1309
1328
|
te = p+1
|
1310
1329
|
begin
|
@@ -1348,7 +1367,7 @@ te = p+1
|
|
1348
1367
|
|
1349
1368
|
end
|
1350
1369
|
end
|
1351
|
-
when
|
1370
|
+
when 92 then
|
1352
1371
|
begin
|
1353
1372
|
te = p+1
|
1354
1373
|
begin
|
@@ -1390,32 +1409,32 @@ te = p+1
|
|
1390
1409
|
|
1391
1410
|
end
|
1392
1411
|
end
|
1393
|
-
when
|
1412
|
+
when 80 then
|
1394
1413
|
begin
|
1395
1414
|
te = p+1
|
1396
1415
|
begin
|
1397
1416
|
p = p - 1;
|
1398
|
-
cs = ((in_set? ?
|
1417
|
+
cs = ((in_set? ? 91 : 74));
|
1399
1418
|
begin
|
1400
1419
|
stack[top] = cs
|
1401
1420
|
top+= 1
|
1402
|
-
cs =
|
1421
|
+
cs = 89
|
1403
1422
|
_goto_level = _again
|
1404
1423
|
next
|
1405
1424
|
end
|
1406
1425
|
|
1407
1426
|
end
|
1408
1427
|
end
|
1409
|
-
when
|
1428
|
+
when 81 then
|
1410
1429
|
begin
|
1411
1430
|
te = p+1
|
1412
1431
|
begin
|
1413
1432
|
p = p - 1;
|
1414
|
-
cs = ((in_set? ?
|
1433
|
+
cs = ((in_set? ? 91 : 74));
|
1415
1434
|
begin
|
1416
1435
|
stack[top] = cs
|
1417
1436
|
top+= 1
|
1418
|
-
cs =
|
1437
|
+
cs = 90
|
1419
1438
|
_goto_level = _again
|
1420
1439
|
next
|
1421
1440
|
end
|
@@ -1436,12 +1455,24 @@ te = p+1
|
|
1436
1455
|
|
1437
1456
|
end
|
1438
1457
|
end
|
1439
|
-
when
|
1458
|
+
when 86 then
|
1440
1459
|
begin
|
1441
1460
|
te = p
|
1442
1461
|
p = p - 1; begin
|
1443
1462
|
text = copy(data, ts-1,te)
|
1444
|
-
|
1463
|
+
|
1464
|
+
# If not enough groups have been opened, there is a fallback to either an
|
1465
|
+
# octal or literal interpretation for 2+ digit numerical escapes.
|
1466
|
+
digits = text[1..-1]
|
1467
|
+
if digits.size == 1 || digits.to_i <= self.capturing_group_count
|
1468
|
+
emit(:backref, :number, text)
|
1469
|
+
elsif digits =~ /\A[0-7]{2,}\z/
|
1470
|
+
emit(:escape, :octal, text)
|
1471
|
+
else
|
1472
|
+
emit(:escape, :literal, text[0..1])
|
1473
|
+
emit(:literal, :literal, text[2..-1])
|
1474
|
+
end
|
1475
|
+
|
1445
1476
|
begin
|
1446
1477
|
top -= 1
|
1447
1478
|
cs = stack[top]
|
@@ -1451,7 +1482,7 @@ p = p - 1; begin
|
|
1451
1482
|
|
1452
1483
|
end
|
1453
1484
|
end
|
1454
|
-
when
|
1485
|
+
when 84 then
|
1455
1486
|
begin
|
1456
1487
|
te = p
|
1457
1488
|
p = p - 1; begin
|
@@ -1465,11 +1496,16 @@ p = p - 1; begin
|
|
1465
1496
|
|
1466
1497
|
end
|
1467
1498
|
end
|
1468
|
-
when
|
1499
|
+
when 93 then
|
1469
1500
|
begin
|
1470
1501
|
te = p
|
1471
1502
|
p = p - 1; begin
|
1472
|
-
|
1503
|
+
text = copy(data, ts-1,te)
|
1504
|
+
if regexp_encoding == Encoding::BINARY
|
1505
|
+
text.split(/(?=\\)/).each { |part| emit(:escape, :hex, part) }
|
1506
|
+
else
|
1507
|
+
emit(:escape, :utf8_hex, text)
|
1508
|
+
end
|
1473
1509
|
begin
|
1474
1510
|
top -= 1
|
1475
1511
|
cs = stack[top]
|
@@ -1483,7 +1519,7 @@ p = p - 1; begin
|
|
1483
1519
|
begin
|
1484
1520
|
te = p
|
1485
1521
|
p = p - 1; begin
|
1486
|
-
|
1522
|
+
emit(:escape, :hex, copy(data, ts-1,te))
|
1487
1523
|
begin
|
1488
1524
|
top -= 1
|
1489
1525
|
cs = stack[top]
|
@@ -1493,11 +1529,11 @@ p = p - 1; begin
|
|
1493
1529
|
|
1494
1530
|
end
|
1495
1531
|
end
|
1496
|
-
when
|
1532
|
+
when 88 then
|
1497
1533
|
begin
|
1498
1534
|
te = p
|
1499
1535
|
p = p - 1; begin
|
1500
|
-
emit_meta_control_sequence(data, ts, te, :
|
1536
|
+
emit_meta_control_sequence(data, ts, te, :control)
|
1501
1537
|
begin
|
1502
1538
|
top -= 1
|
1503
1539
|
cs = stack[top]
|
@@ -1507,11 +1543,11 @@ p = p - 1; begin
|
|
1507
1543
|
|
1508
1544
|
end
|
1509
1545
|
end
|
1510
|
-
when
|
1546
|
+
when 90 then
|
1511
1547
|
begin
|
1512
1548
|
te = p
|
1513
1549
|
p = p - 1; begin
|
1514
|
-
|
1550
|
+
emit_meta_control_sequence(data, ts, te, :meta_sequence)
|
1515
1551
|
begin
|
1516
1552
|
top -= 1
|
1517
1553
|
cs = stack[top]
|
@@ -1521,10 +1557,10 @@ p = p - 1; begin
|
|
1521
1557
|
|
1522
1558
|
end
|
1523
1559
|
end
|
1524
|
-
when
|
1560
|
+
when 83 then
|
1525
1561
|
begin
|
1526
|
-
|
1527
|
-
begin
|
1562
|
+
te = p
|
1563
|
+
p = p - 1; begin
|
1528
1564
|
emit(:escape, :literal, copy(data, ts-1,te))
|
1529
1565
|
begin
|
1530
1566
|
top -= 1
|
@@ -1535,14 +1571,16 @@ p = p - 1; begin
|
|
1535
1571
|
|
1536
1572
|
end
|
1537
1573
|
end
|
1538
|
-
when
|
1574
|
+
when 30 then
|
1539
1575
|
begin
|
1540
|
-
|
1541
|
-
|
1542
|
-
begin begin p = ((te))-1; end
|
1543
|
-
|
1576
|
+
begin p = ((te))-1; end
|
1577
|
+
begin
|
1544
1578
|
text = copy(data, ts-1,te)
|
1545
|
-
|
1579
|
+
if regexp_encoding == Encoding::BINARY
|
1580
|
+
text.split(/(?=\\)/).each { |part| emit(:escape, :hex, part) }
|
1581
|
+
else
|
1582
|
+
emit(:escape, :utf8_hex, text)
|
1583
|
+
end
|
1546
1584
|
begin
|
1547
1585
|
top -= 1
|
1548
1586
|
cs = stack[top]
|
@@ -1550,11 +1588,13 @@ p = p - 1; begin
|
|
1550
1588
|
next
|
1551
1589
|
end
|
1552
1590
|
|
1553
|
-
|
1554
|
-
|
1555
|
-
|
1556
|
-
|
1557
|
-
|
1591
|
+
end
|
1592
|
+
end
|
1593
|
+
when 21 then
|
1594
|
+
begin
|
1595
|
+
begin p = ((te))-1; end
|
1596
|
+
begin
|
1597
|
+
emit(:escape, :literal, copy(data, ts-1,te))
|
1558
1598
|
begin
|
1559
1599
|
top -= 1
|
1560
1600
|
cs = stack[top]
|
@@ -1562,10 +1602,9 @@ p = p - 1; begin
|
|
1562
1602
|
next
|
1563
1603
|
end
|
1564
1604
|
|
1565
|
-
|
1566
|
-
end
|
1567
|
-
|
1568
|
-
when 31 then
|
1605
|
+
end
|
1606
|
+
end
|
1607
|
+
when 33 then
|
1569
1608
|
begin
|
1570
1609
|
te = p+1
|
1571
1610
|
begin
|
@@ -1575,7 +1614,7 @@ te = p+1
|
|
1575
1614
|
emit(:conditional, :condition_close, ')')
|
1576
1615
|
end
|
1577
1616
|
end
|
1578
|
-
when
|
1617
|
+
when 94 then
|
1579
1618
|
begin
|
1580
1619
|
te = p+1
|
1581
1620
|
begin
|
@@ -1583,14 +1622,14 @@ te = p+1
|
|
1583
1622
|
begin
|
1584
1623
|
stack[top] = cs
|
1585
1624
|
top+= 1
|
1586
|
-
cs =
|
1625
|
+
cs = 74
|
1587
1626
|
_goto_level = _again
|
1588
1627
|
next
|
1589
1628
|
end
|
1590
1629
|
|
1591
1630
|
end
|
1592
1631
|
end
|
1593
|
-
when
|
1632
|
+
when 95 then
|
1594
1633
|
begin
|
1595
1634
|
te = p
|
1596
1635
|
p = p - 1; begin
|
@@ -1598,14 +1637,14 @@ p = p - 1; begin
|
|
1598
1637
|
begin
|
1599
1638
|
stack[top] = cs
|
1600
1639
|
top+= 1
|
1601
|
-
cs =
|
1640
|
+
cs = 74
|
1602
1641
|
_goto_level = _again
|
1603
1642
|
next
|
1604
1643
|
end
|
1605
1644
|
|
1606
1645
|
end
|
1607
1646
|
end
|
1608
|
-
when
|
1647
|
+
when 32 then
|
1609
1648
|
begin
|
1610
1649
|
begin p = ((te))-1; end
|
1611
1650
|
begin
|
@@ -1613,21 +1652,21 @@ p = p - 1; begin
|
|
1613
1652
|
begin
|
1614
1653
|
stack[top] = cs
|
1615
1654
|
top+= 1
|
1616
|
-
cs =
|
1655
|
+
cs = 74
|
1617
1656
|
_goto_level = _again
|
1618
1657
|
next
|
1619
1658
|
end
|
1620
1659
|
|
1621
1660
|
end
|
1622
1661
|
end
|
1623
|
-
when
|
1662
|
+
when 39 then
|
1624
1663
|
begin
|
1625
1664
|
te = p+1
|
1626
1665
|
begin
|
1627
1666
|
emit(:meta, :dot, copy(data, ts, te))
|
1628
1667
|
end
|
1629
1668
|
end
|
1630
|
-
when
|
1669
|
+
when 43 then
|
1631
1670
|
begin
|
1632
1671
|
te = p+1
|
1633
1672
|
begin
|
@@ -1638,28 +1677,28 @@ te = p+1
|
|
1638
1677
|
end
|
1639
1678
|
end
|
1640
1679
|
end
|
1641
|
-
when
|
1680
|
+
when 42 then
|
1642
1681
|
begin
|
1643
1682
|
te = p+1
|
1644
1683
|
begin
|
1645
1684
|
emit(:anchor, :bol, copy(data, ts, te))
|
1646
1685
|
end
|
1647
1686
|
end
|
1648
|
-
when
|
1687
|
+
when 36 then
|
1649
1688
|
begin
|
1650
1689
|
te = p+1
|
1651
1690
|
begin
|
1652
1691
|
emit(:anchor, :eol, copy(data, ts, te))
|
1653
1692
|
end
|
1654
1693
|
end
|
1655
|
-
when
|
1694
|
+
when 60 then
|
1656
1695
|
begin
|
1657
1696
|
te = p+1
|
1658
1697
|
begin
|
1659
1698
|
emit(:keep, :mark, copy(data, ts, te))
|
1660
1699
|
end
|
1661
1700
|
end
|
1662
|
-
when
|
1701
|
+
when 59 then
|
1663
1702
|
begin
|
1664
1703
|
te = p+1
|
1665
1704
|
begin
|
@@ -1673,14 +1712,14 @@ te = p+1
|
|
1673
1712
|
end
|
1674
1713
|
end
|
1675
1714
|
end
|
1676
|
-
when
|
1715
|
+
when 41 then
|
1677
1716
|
begin
|
1678
1717
|
te = p+1
|
1679
1718
|
begin
|
1680
1719
|
append_literal(data, ts, te)
|
1681
1720
|
end
|
1682
1721
|
end
|
1683
|
-
when
|
1722
|
+
when 50 then
|
1684
1723
|
begin
|
1685
1724
|
te = p+1
|
1686
1725
|
begin
|
@@ -1693,14 +1732,14 @@ te = p+1
|
|
1693
1732
|
begin
|
1694
1733
|
stack[top] = cs
|
1695
1734
|
top+= 1
|
1696
|
-
cs =
|
1735
|
+
cs = 121
|
1697
1736
|
_goto_level = _again
|
1698
1737
|
next
|
1699
1738
|
end
|
1700
1739
|
|
1701
1740
|
end
|
1702
1741
|
end
|
1703
|
-
when
|
1742
|
+
when 51 then
|
1704
1743
|
begin
|
1705
1744
|
te = p+1
|
1706
1745
|
begin
|
@@ -1780,7 +1819,7 @@ te = p+1
|
|
1780
1819
|
end
|
1781
1820
|
end
|
1782
1821
|
end
|
1783
|
-
when
|
1822
|
+
when 57 then
|
1784
1823
|
begin
|
1785
1824
|
te = p+1
|
1786
1825
|
begin
|
@@ -1791,7 +1830,7 @@ te = p+1
|
|
1791
1830
|
end
|
1792
1831
|
end
|
1793
1832
|
end
|
1794
|
-
when
|
1833
|
+
when 53 then
|
1795
1834
|
begin
|
1796
1835
|
te = p+1
|
1797
1836
|
begin
|
@@ -1802,7 +1841,7 @@ te = p+1
|
|
1802
1841
|
end
|
1803
1842
|
end
|
1804
1843
|
end
|
1805
|
-
when
|
1844
|
+
when 55 then
|
1806
1845
|
begin
|
1807
1846
|
te = p+1
|
1808
1847
|
begin
|
@@ -1820,7 +1859,7 @@ te = p+1
|
|
1820
1859
|
emit(:quantifier, :interval, copy(data, ts, te))
|
1821
1860
|
end
|
1822
1861
|
end
|
1823
|
-
when
|
1862
|
+
when 47 then
|
1824
1863
|
begin
|
1825
1864
|
te = p+1
|
1826
1865
|
begin
|
@@ -1834,7 +1873,7 @@ te = p+1
|
|
1834
1873
|
end
|
1835
1874
|
end
|
1836
1875
|
end
|
1837
|
-
when
|
1876
|
+
when 49 then
|
1838
1877
|
begin
|
1839
1878
|
te = p
|
1840
1879
|
p = p - 1; begin
|
@@ -1845,15 +1884,16 @@ p = p - 1; begin
|
|
1845
1884
|
emit_options(text)
|
1846
1885
|
end
|
1847
1886
|
end
|
1848
|
-
when
|
1887
|
+
when 48 then
|
1849
1888
|
begin
|
1850
1889
|
te = p
|
1851
1890
|
p = p - 1; begin
|
1891
|
+
self.capturing_group_count += 1
|
1852
1892
|
text = copy(data, ts, te)
|
1853
1893
|
emit(:group, :capture, text)
|
1854
1894
|
end
|
1855
1895
|
end
|
1856
|
-
when
|
1896
|
+
when 56 then
|
1857
1897
|
begin
|
1858
1898
|
te = p
|
1859
1899
|
p = p - 1; begin
|
@@ -1864,7 +1904,7 @@ p = p - 1; begin
|
|
1864
1904
|
end
|
1865
1905
|
end
|
1866
1906
|
end
|
1867
|
-
when
|
1907
|
+
when 52 then
|
1868
1908
|
begin
|
1869
1909
|
te = p
|
1870
1910
|
p = p - 1; begin
|
@@ -1875,7 +1915,7 @@ p = p - 1; begin
|
|
1875
1915
|
end
|
1876
1916
|
end
|
1877
1917
|
end
|
1878
|
-
when
|
1918
|
+
when 54 then
|
1879
1919
|
begin
|
1880
1920
|
te = p
|
1881
1921
|
p = p - 1; begin
|
@@ -1886,28 +1926,28 @@ p = p - 1; begin
|
|
1886
1926
|
end
|
1887
1927
|
end
|
1888
1928
|
end
|
1889
|
-
when
|
1929
|
+
when 61 then
|
1890
1930
|
begin
|
1891
1931
|
te = p
|
1892
1932
|
p = p - 1; begin
|
1893
1933
|
append_literal(data, ts, te)
|
1894
1934
|
end
|
1895
1935
|
end
|
1896
|
-
when
|
1936
|
+
when 58 then
|
1897
1937
|
begin
|
1898
1938
|
te = p
|
1899
1939
|
p = p - 1; begin
|
1900
1940
|
begin
|
1901
1941
|
stack[top] = cs
|
1902
1942
|
top+= 1
|
1903
|
-
cs =
|
1943
|
+
cs = 101
|
1904
1944
|
_goto_level = _again
|
1905
1945
|
next
|
1906
1946
|
end
|
1907
1947
|
|
1908
1948
|
end
|
1909
1949
|
end
|
1910
|
-
when
|
1950
|
+
when 46 then
|
1911
1951
|
begin
|
1912
1952
|
te = p
|
1913
1953
|
p = p - 1; begin
|
@@ -1921,7 +1961,7 @@ p = p - 1; begin
|
|
1921
1961
|
end
|
1922
1962
|
end
|
1923
1963
|
end
|
1924
|
-
when
|
1964
|
+
when 45 then
|
1925
1965
|
begin
|
1926
1966
|
te = p
|
1927
1967
|
p = p - 1; begin
|
@@ -1932,7 +1972,7 @@ p = p - 1; begin
|
|
1932
1972
|
end
|
1933
1973
|
end
|
1934
1974
|
end
|
1935
|
-
when
|
1975
|
+
when 44 then
|
1936
1976
|
begin
|
1937
1977
|
te = p
|
1938
1978
|
p = p - 1; begin
|
@@ -1964,7 +2004,7 @@ p = p - 1; begin
|
|
1964
2004
|
begin
|
1965
2005
|
stack[top] = cs
|
1966
2006
|
top+= 1
|
1967
|
-
cs =
|
2007
|
+
cs = 101
|
1968
2008
|
_goto_level = _again
|
1969
2009
|
next
|
1970
2010
|
end
|
@@ -1981,14 +2021,14 @@ p = p - 1; begin
|
|
1981
2021
|
next
|
1982
2022
|
end
|
1983
2023
|
end
|
1984
|
-
when
|
2024
|
+
when 58 then
|
1985
2025
|
begin begin p = ((te))-1; end
|
1986
2026
|
|
1987
2027
|
append_literal(data, ts, te)
|
1988
2028
|
end
|
1989
2029
|
end
|
1990
2030
|
end
|
1991
|
-
when
|
2031
|
+
when 73 then
|
1992
2032
|
begin
|
1993
2033
|
|
1994
2034
|
text = copy(data, ts ? ts-1 : 0,-1)
|
@@ -2001,7 +2041,7 @@ p = p - 1; begin
|
|
2001
2041
|
begin
|
2002
2042
|
stack[top] = cs
|
2003
2043
|
top+= 1
|
2004
|
-
cs =
|
2044
|
+
cs = 91
|
2005
2045
|
_goto_level = _again
|
2006
2046
|
next
|
2007
2047
|
end
|
@@ -2021,14 +2061,14 @@ p = p - 1; begin
|
|
2021
2061
|
begin
|
2022
2062
|
stack[top] = cs
|
2023
2063
|
top+= 1
|
2024
|
-
cs =
|
2064
|
+
cs = 91
|
2025
2065
|
_goto_level = _again
|
2026
2066
|
next
|
2027
2067
|
end
|
2028
2068
|
|
2029
2069
|
end
|
2030
2070
|
end
|
2031
|
-
when
|
2071
|
+
when 87 then
|
2032
2072
|
begin
|
2033
2073
|
|
2034
2074
|
text = copy(data, ts ? ts-1 : 0,-1)
|
@@ -2047,7 +2087,7 @@ p = p - 1; begin
|
|
2047
2087
|
|
2048
2088
|
end
|
2049
2089
|
end
|
2050
|
-
when
|
2090
|
+
when 89 then
|
2051
2091
|
begin
|
2052
2092
|
|
2053
2093
|
text = copy(data, ts ? ts-1 : 0,-1)
|
@@ -2131,7 +2171,7 @@ te = p+1
|
|
2131
2171
|
emit(:group, :comment, copy(data, ts, te))
|
2132
2172
|
end
|
2133
2173
|
end
|
2134
|
-
when
|
2174
|
+
when 38 then
|
2135
2175
|
begin
|
2136
2176
|
self.group_depth = group_depth - 1 end
|
2137
2177
|
begin
|
@@ -2153,7 +2193,7 @@ te = p+1
|
|
2153
2193
|
end
|
2154
2194
|
end
|
2155
2195
|
end
|
2156
|
-
when
|
2196
|
+
when 40 then
|
2157
2197
|
begin
|
2158
2198
|
self.set_depth = set_depth + 1 end
|
2159
2199
|
begin
|
@@ -2163,14 +2203,14 @@ te = p+1
|
|
2163
2203
|
begin
|
2164
2204
|
stack[top] = cs
|
2165
2205
|
top+= 1
|
2166
|
-
cs =
|
2206
|
+
cs = 91
|
2167
2207
|
_goto_level = _again
|
2168
2208
|
next
|
2169
2209
|
end
|
2170
2210
|
|
2171
2211
|
end
|
2172
2212
|
end
|
2173
|
-
when
|
2213
|
+
when 67 then
|
2174
2214
|
begin
|
2175
2215
|
self.set_depth = set_depth - 1 end
|
2176
2216
|
begin
|
@@ -2187,7 +2227,7 @@ te = p+1
|
|
2187
2227
|
|
2188
2228
|
else
|
2189
2229
|
begin
|
2190
|
-
cs =
|
2230
|
+
cs = 74
|
2191
2231
|
_goto_level = _again
|
2192
2232
|
next
|
2193
2233
|
end
|
@@ -2195,7 +2235,7 @@ te = p+1
|
|
2195
2235
|
end
|
2196
2236
|
end
|
2197
2237
|
end
|
2198
|
-
when
|
2238
|
+
when 72 then
|
2199
2239
|
begin
|
2200
2240
|
self.set_depth = set_depth - 1 end
|
2201
2241
|
begin
|
@@ -2213,7 +2253,7 @@ te = p+1
|
|
2213
2253
|
|
2214
2254
|
else
|
2215
2255
|
begin
|
2216
|
-
cs =
|
2256
|
+
cs = 74
|
2217
2257
|
_goto_level = _again
|
2218
2258
|
next
|
2219
2259
|
end
|
@@ -2236,46 +2276,34 @@ te = p+1
|
|
2236
2276
|
type = :nonposixclass
|
2237
2277
|
end
|
2238
2278
|
|
2239
|
-
unless
|
2279
|
+
unless POSIX_CLASSES[class_name]
|
2240
2280
|
raise ValidationError.for(:posix_class, text)
|
2241
2281
|
end
|
2242
2282
|
|
2243
2283
|
emit(type, class_name.to_sym, text)
|
2244
2284
|
end
|
2245
2285
|
end
|
2246
|
-
when
|
2286
|
+
when 65 then
|
2247
2287
|
begin
|
2248
2288
|
te = p+1
|
2249
2289
|
end
|
2250
2290
|
begin
|
2251
2291
|
self.set_depth = set_depth + 1 end
|
2252
|
-
when 80 then
|
2253
|
-
begin
|
2254
|
-
te = p+1
|
2255
|
-
end
|
2256
|
-
begin
|
2257
|
-
act = 17; end
|
2258
|
-
when 79 then
|
2259
|
-
begin
|
2260
|
-
te = p+1
|
2261
|
-
end
|
2262
|
-
begin
|
2263
|
-
act = 18; end
|
2264
2292
|
when 2 then
|
2265
2293
|
begin
|
2266
2294
|
te = p+1
|
2267
2295
|
end
|
2268
2296
|
begin
|
2269
|
-
act =
|
2297
|
+
act = 58; end
|
2270
2298
|
end
|
2271
2299
|
end
|
2272
2300
|
end
|
2273
2301
|
if _goto_level <= _again
|
2274
2302
|
case _re_scanner_to_state_actions[cs]
|
2275
|
-
when
|
2303
|
+
when 62 then
|
2276
2304
|
begin
|
2277
2305
|
ts = nil; end
|
2278
|
-
when
|
2306
|
+
when 34 then
|
2279
2307
|
begin
|
2280
2308
|
ts = nil; end
|
2281
2309
|
begin
|
@@ -2354,10 +2382,9 @@ end
|
|
2354
2382
|
File.read("#{__dir__}/scanner/properties/#{name}.csv").scan(/(.+),(.+)/).to_h
|
2355
2383
|
end
|
2356
2384
|
|
2357
|
-
|
2385
|
+
POSIX_CLASSES =
|
2358
2386
|
%w[alnum alpha ascii blank cntrl digit graph
|
2359
|
-
lower print punct space upper word xdigit]
|
2360
|
-
end
|
2387
|
+
lower print punct space upper word xdigit].to_h { |c| [c, true] }.freeze
|
2361
2388
|
|
2362
2389
|
# Emits an array with the details of the scanned pattern
|
2363
2390
|
def emit(type, token, text)
|
@@ -2392,7 +2419,9 @@ end
|
|
2392
2419
|
attr_accessor :block,
|
2393
2420
|
:collect_tokens, :tokens, :prev_token,
|
2394
2421
|
:free_spacing, :spacing_stack,
|
2422
|
+
:regexp_encoding,
|
2395
2423
|
:group_depth, :set_depth, :conditional_stack,
|
2424
|
+
:capturing_group_count,
|
2396
2425
|
:char_pos
|
2397
2426
|
|
2398
2427
|
def free_spacing?(input_object, options)
|