regexp_parser 2.1.1 → 2.5.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/CHANGELOG.md +94 -6
- data/Gemfile +2 -1
- data/LICENSE +1 -1
- data/README.md +40 -30
- data/Rakefile +6 -70
- data/lib/regexp_parser/error.rb +1 -1
- data/lib/regexp_parser/expression/base.rb +75 -0
- data/lib/regexp_parser/expression/classes/anchor.rb +0 -2
- data/lib/regexp_parser/expression/classes/{backref.rb → backreference.rb} +1 -0
- data/lib/regexp_parser/expression/classes/{set → character_set}/intersection.rb +0 -0
- data/lib/regexp_parser/expression/classes/{set → character_set}/range.rb +2 -2
- data/lib/regexp_parser/expression/classes/{set.rb → character_set.rb} +2 -2
- data/lib/regexp_parser/expression/classes/{type.rb → character_type.rb} +0 -2
- data/lib/regexp_parser/expression/classes/conditional.rb +2 -2
- data/lib/regexp_parser/expression/classes/{escape.rb → escape_sequence.rb} +13 -7
- data/lib/regexp_parser/expression/classes/free_space.rb +1 -3
- data/lib/regexp_parser/expression/classes/group.rb +6 -6
- data/lib/regexp_parser/expression/classes/keep.rb +2 -0
- data/lib/regexp_parser/expression/classes/literal.rb +1 -5
- data/lib/regexp_parser/expression/classes/root.rb +3 -6
- data/lib/regexp_parser/expression/classes/{property.rb → unicode_property.rb} +1 -2
- data/lib/regexp_parser/expression/methods/construct.rb +43 -0
- data/lib/regexp_parser/expression/methods/match_length.rb +1 -1
- data/lib/regexp_parser/expression/methods/strfregexp.rb +1 -1
- data/lib/regexp_parser/expression/methods/tests.rb +10 -1
- data/lib/regexp_parser/expression/quantifier.rb +41 -23
- data/lib/regexp_parser/expression/sequence.rb +9 -24
- data/lib/regexp_parser/expression/sequence_operation.rb +2 -2
- data/lib/regexp_parser/expression/shared.rb +85 -0
- data/lib/regexp_parser/expression/subexpression.rb +11 -8
- data/lib/regexp_parser/expression.rb +10 -132
- data/lib/regexp_parser/lexer.rb +8 -6
- data/lib/regexp_parser/parser.rb +21 -72
- data/lib/regexp_parser/scanner/properties/long.csv +622 -0
- data/lib/regexp_parser/scanner/properties/short.csv +246 -0
- data/lib/regexp_parser/scanner/property.rl +1 -1
- data/lib/regexp_parser/scanner/scanner.rl +48 -35
- data/lib/regexp_parser/scanner.rb +735 -801
- data/lib/regexp_parser/syntax/any.rb +2 -7
- data/lib/regexp_parser/syntax/base.rb +91 -66
- data/lib/regexp_parser/syntax/token/anchor.rb +15 -0
- data/lib/regexp_parser/syntax/{tokens → token}/assertion.rb +2 -2
- data/lib/regexp_parser/syntax/token/backreference.rb +30 -0
- data/lib/regexp_parser/syntax/{tokens → token}/character_set.rb +2 -2
- data/lib/regexp_parser/syntax/{tokens → token}/character_type.rb +3 -3
- data/lib/regexp_parser/syntax/{tokens → token}/conditional.rb +3 -3
- data/lib/regexp_parser/syntax/token/escape.rb +31 -0
- data/lib/regexp_parser/syntax/{tokens → token}/group.rb +7 -7
- data/lib/regexp_parser/syntax/{tokens → token}/keep.rb +1 -1
- data/lib/regexp_parser/syntax/{tokens → token}/meta.rb +2 -2
- data/lib/regexp_parser/syntax/{tokens → token}/posix_class.rb +3 -3
- data/lib/regexp_parser/syntax/token/quantifier.rb +35 -0
- data/lib/regexp_parser/syntax/token/unicode_property.rb +717 -0
- data/lib/regexp_parser/syntax/token.rb +45 -0
- data/lib/regexp_parser/syntax/version_lookup.rb +20 -29
- data/lib/regexp_parser/syntax/versions/1.8.6.rb +13 -20
- data/lib/regexp_parser/syntax/versions/1.9.1.rb +10 -17
- data/lib/regexp_parser/syntax/versions/1.9.3.rb +3 -10
- data/lib/regexp_parser/syntax/versions/2.0.0.rb +8 -15
- data/lib/regexp_parser/syntax/versions/2.2.0.rb +3 -9
- data/lib/regexp_parser/syntax/versions/2.3.0.rb +3 -9
- data/lib/regexp_parser/syntax/versions/2.4.0.rb +3 -9
- data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -8
- data/lib/regexp_parser/syntax/versions/2.5.0.rb +3 -9
- data/lib/regexp_parser/syntax/versions/2.6.0.rb +3 -9
- data/lib/regexp_parser/syntax/versions/2.6.2.rb +3 -9
- data/lib/regexp_parser/syntax/versions/2.6.3.rb +3 -9
- data/lib/regexp_parser/syntax/versions/3.1.0.rb +4 -0
- data/lib/regexp_parser/syntax/versions/3.2.0.rb +4 -0
- data/lib/regexp_parser/syntax/versions.rb +1 -1
- data/lib/regexp_parser/syntax.rb +1 -1
- data/lib/regexp_parser/token.rb +9 -20
- data/lib/regexp_parser/version.rb +1 -1
- data/lib/regexp_parser.rb +0 -2
- data/regexp_parser.gemspec +20 -22
- metadata +37 -166
- data/lib/regexp_parser/scanner/properties/long.yml +0 -594
- data/lib/regexp_parser/scanner/properties/short.yml +0 -237
- data/lib/regexp_parser/syntax/tokens/anchor.rb +0 -15
- data/lib/regexp_parser/syntax/tokens/backref.rb +0 -24
- data/lib/regexp_parser/syntax/tokens/escape.rb +0 -30
- data/lib/regexp_parser/syntax/tokens/quantifier.rb +0 -35
- data/lib/regexp_parser/syntax/tokens/unicode_property.rb +0 -675
- data/lib/regexp_parser/syntax/tokens.rb +0 -45
- data/spec/expression/base_spec.rb +0 -104
- data/spec/expression/clone_spec.rb +0 -152
- data/spec/expression/conditional_spec.rb +0 -89
- data/spec/expression/free_space_spec.rb +0 -27
- data/spec/expression/methods/match_length_spec.rb +0 -161
- data/spec/expression/methods/match_spec.rb +0 -25
- data/spec/expression/methods/strfregexp_spec.rb +0 -224
- data/spec/expression/methods/tests_spec.rb +0 -99
- data/spec/expression/methods/traverse_spec.rb +0 -161
- data/spec/expression/options_spec.rb +0 -128
- data/spec/expression/subexpression_spec.rb +0 -50
- data/spec/expression/to_h_spec.rb +0 -26
- data/spec/expression/to_s_spec.rb +0 -108
- data/spec/lexer/all_spec.rb +0 -22
- data/spec/lexer/conditionals_spec.rb +0 -53
- data/spec/lexer/delimiters_spec.rb +0 -68
- data/spec/lexer/escapes_spec.rb +0 -14
- data/spec/lexer/keep_spec.rb +0 -10
- data/spec/lexer/literals_spec.rb +0 -64
- data/spec/lexer/nesting_spec.rb +0 -99
- data/spec/lexer/refcalls_spec.rb +0 -60
- data/spec/parser/all_spec.rb +0 -43
- data/spec/parser/alternation_spec.rb +0 -88
- data/spec/parser/anchors_spec.rb +0 -17
- data/spec/parser/conditionals_spec.rb +0 -179
- data/spec/parser/errors_spec.rb +0 -30
- data/spec/parser/escapes_spec.rb +0 -121
- data/spec/parser/free_space_spec.rb +0 -130
- data/spec/parser/groups_spec.rb +0 -108
- data/spec/parser/keep_spec.rb +0 -6
- data/spec/parser/options_spec.rb +0 -28
- data/spec/parser/posix_classes_spec.rb +0 -8
- data/spec/parser/properties_spec.rb +0 -115
- data/spec/parser/quantifiers_spec.rb +0 -68
- data/spec/parser/refcalls_spec.rb +0 -117
- data/spec/parser/set/intersections_spec.rb +0 -127
- data/spec/parser/set/ranges_spec.rb +0 -111
- data/spec/parser/sets_spec.rb +0 -178
- data/spec/parser/types_spec.rb +0 -18
- data/spec/scanner/all_spec.rb +0 -18
- data/spec/scanner/anchors_spec.rb +0 -21
- data/spec/scanner/conditionals_spec.rb +0 -128
- data/spec/scanner/delimiters_spec.rb +0 -52
- data/spec/scanner/errors_spec.rb +0 -67
- data/spec/scanner/escapes_spec.rb +0 -64
- data/spec/scanner/free_space_spec.rb +0 -165
- data/spec/scanner/groups_spec.rb +0 -61
- data/spec/scanner/keep_spec.rb +0 -10
- data/spec/scanner/literals_spec.rb +0 -39
- data/spec/scanner/meta_spec.rb +0 -18
- data/spec/scanner/options_spec.rb +0 -36
- data/spec/scanner/properties_spec.rb +0 -64
- data/spec/scanner/quantifiers_spec.rb +0 -25
- data/spec/scanner/refcalls_spec.rb +0 -55
- data/spec/scanner/sets_spec.rb +0 -151
- data/spec/scanner/types_spec.rb +0 -14
- data/spec/spec_helper.rb +0 -16
- data/spec/support/runner.rb +0 -42
- data/spec/support/shared_examples.rb +0 -77
- data/spec/support/warning_extractor.rb +0 -60
- data/spec/syntax/syntax_spec.rb +0 -48
- data/spec/syntax/syntax_token_map_spec.rb +0 -23
- data/spec/syntax/versions/1.8.6_spec.rb +0 -17
- data/spec/syntax/versions/1.9.1_spec.rb +0 -10
- data/spec/syntax/versions/1.9.3_spec.rb +0 -9
- data/spec/syntax/versions/2.0.0_spec.rb +0 -13
- data/spec/syntax/versions/2.2.0_spec.rb +0 -9
- data/spec/syntax/versions/aliases_spec.rb +0 -37
- data/spec/token/token_spec.rb +0 -85
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- warn-indent:false; -*-
|
2
2
|
|
3
|
-
# line 1 "/Users/
|
3
|
+
# line 1 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
4
4
|
|
5
|
-
# line
|
5
|
+
# line 646 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
6
6
|
|
7
7
|
|
8
8
|
# THIS IS A GENERATED FILE, DO NOT EDIT DIRECTLY
|
@@ -43,6 +43,7 @@ class Regexp::Scanner
|
|
43
43
|
end
|
44
44
|
|
45
45
|
# Invalid groupOption. Used for inline options.
|
46
|
+
# TODO: should become InvalidGroupOptionError in v3.0.0 for consistency
|
46
47
|
class InvalidGroupOption < ValidationError
|
47
48
|
def initialize(option, text)
|
48
49
|
super "Invalid group option #{option} in #{text}"
|
@@ -63,6 +64,13 @@ class Regexp::Scanner
|
|
63
64
|
end
|
64
65
|
end
|
65
66
|
|
67
|
+
# The POSIX class name was not recognized by the scanner.
|
68
|
+
class UnknownPosixClassError < ValidationError
|
69
|
+
def initialize(text)
|
70
|
+
super "Unknown POSIX class #{text}"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
66
74
|
# Scans the given regular expression text, or Regexp object and collects the
|
67
75
|
# emitted token into an array that gets returned at the end. If a block is
|
68
76
|
# given, it gets called for each emitted token.
|
@@ -93,7 +101,7 @@ class Regexp::Scanner
|
|
93
101
|
self.char_pos = 0
|
94
102
|
|
95
103
|
|
96
|
-
# line
|
104
|
+
# line 104 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
|
97
105
|
class << self
|
98
106
|
attr_accessor :_re_scanner_trans_keys
|
99
107
|
private :_re_scanner_trans_keys, :_re_scanner_trans_keys=
|
@@ -116,51 +124,34 @@ self._re_scanner_trans_keys = [
|
|
116
124
|
57, 48, 125, 44, 125,
|
117
125
|
123, 123, 9, 122, 9, 125,
|
118
126
|
9, 122, -128, -65, -128,
|
119
|
-
-65, 38, 38,
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
48,
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
-62, -12, 1, 127, 1, 127,
|
148
|
-
9, 32, 33, 126, 10,
|
149
|
-
10, 63, 63, 33, 126,
|
150
|
-
33, 126, 62, 62, 43, 63,
|
151
|
-
43, 63, 43, 63, 65,
|
152
|
-
122, 44, 57, 43, 63,
|
153
|
-
68, 119, 80, 112, -62, 125,
|
154
|
-
-128, -65, -128, -65, -128,
|
155
|
-
-65, 38, 38, 38, 93,
|
156
|
-
58, 58, 67, 120, -62, 125,
|
157
|
-
-128, -65, -128, -65, -128,
|
158
|
-
-65, 48, 55, 48, 55,
|
159
|
-
77, 77, 45, 45, 0, 0,
|
160
|
-
67, 99, 45, 45, 0,
|
161
|
-
0, 92, 92, 48, 102,
|
162
|
-
39, 60, 39, 57, 49, 57,
|
163
|
-
41, 57, 45, 62, 0
|
127
|
+
-65, 38, 38, 58, 93,
|
128
|
+
58, 93, -128, -65, -128, -65,
|
129
|
+
45, 45, 92, 92, 92,
|
130
|
+
92, 45, 45, 92, 92,
|
131
|
+
92, 92, 48, 123, 48, 102,
|
132
|
+
48, 102, 48, 102, 48,
|
133
|
+
102, 9, 125, 9, 125,
|
134
|
+
9, 125, 9, 125, 9, 125,
|
135
|
+
9, 125, 48, 123, 39,
|
136
|
+
39, 41, 41, 41, 57,
|
137
|
+
62, 62, -128, 127, -62, -12,
|
138
|
+
1, 127, 1, 127, 9,
|
139
|
+
32, 33, 126, 10, 10,
|
140
|
+
63, 63, 33, 126, 33, 126,
|
141
|
+
62, 62, 43, 63, 43,
|
142
|
+
63, 43, 63, 65, 122,
|
143
|
+
44, 57, 68, 119, 80, 112,
|
144
|
+
-62, 125, -128, -65, -128,
|
145
|
+
-65, -128, -65, 38, 38,
|
146
|
+
38, 93, 58, 58, 67, 120,
|
147
|
+
-62, 125, -128, -65, -128,
|
148
|
+
-65, -128, -65, 48, 55,
|
149
|
+
48, 55, 77, 77, 45, 45,
|
150
|
+
0, 0, 67, 99, 45,
|
151
|
+
45, 0, 0, 92, 92,
|
152
|
+
48, 102, 39, 60, 39, 57,
|
153
|
+
49, 57, 41, 57, 45,
|
154
|
+
62, 0
|
164
155
|
]
|
165
156
|
|
166
157
|
class << self
|
@@ -173,22 +164,16 @@ self._re_scanner_key_spans = [
|
|
173
164
|
1, 18, 1, 10, 15, 20, 10, 1,
|
174
165
|
22, 19, 1, 10, 19, 19, 10, 18,
|
175
166
|
1, 10, 15, 20, 10, 10, 78, 82,
|
176
|
-
1, 114, 117, 114, 64, 64, 1,
|
177
|
-
|
178
|
-
1,
|
179
|
-
|
180
|
-
1,
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
51, 127, 127, 24, 94, 1, 1, 94,
|
187
|
-
94, 1, 21, 21, 21, 58, 14, 21,
|
188
|
-
52, 33, 188, 64, 64, 64, 1, 56,
|
189
|
-
1, 54, 188, 64, 64, 64, 8, 8,
|
190
|
-
1, 1, 0, 33, 1, 0, 1, 55,
|
191
|
-
22, 19, 9, 17, 18
|
167
|
+
1, 114, 117, 114, 64, 64, 1, 36,
|
168
|
+
36, 64, 64, 1, 1, 1, 1, 1,
|
169
|
+
1, 76, 55, 55, 55, 55, 117, 117,
|
170
|
+
117, 117, 117, 117, 76, 1, 1, 17,
|
171
|
+
1, 256, 51, 127, 127, 24, 94, 1,
|
172
|
+
1, 94, 94, 1, 21, 21, 21, 58,
|
173
|
+
14, 52, 33, 188, 64, 64, 64, 1,
|
174
|
+
56, 1, 54, 188, 64, 64, 64, 8,
|
175
|
+
8, 1, 1, 0, 33, 1, 0, 1,
|
176
|
+
55, 22, 19, 9, 17, 18
|
192
177
|
]
|
193
178
|
|
194
179
|
class << self
|
@@ -202,21 +187,15 @@ self._re_scanner_index_offsets = [
|
|
202
187
|
443, 466, 486, 488, 499, 519, 539, 550,
|
203
188
|
569, 571, 582, 598, 619, 630, 641, 720,
|
204
189
|
803, 805, 920, 1038, 1153, 1218, 1283, 1285,
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
2951, 3003, 3131, 3259, 3284, 3379, 3381, 3383,
|
215
|
-
3478, 3573, 3575, 3597, 3619, 3641, 3700, 3715,
|
216
|
-
3737, 3790, 3824, 4013, 4078, 4143, 4208, 4210,
|
217
|
-
4267, 4269, 4324, 4513, 4578, 4643, 4708, 4717,
|
218
|
-
4726, 4728, 4730, 4731, 4765, 4767, 4768, 4770,
|
219
|
-
4826, 4849, 4869, 4879, 4897
|
190
|
+
1322, 1359, 1424, 1489, 1491, 1493, 1495, 1497,
|
191
|
+
1499, 1501, 1578, 1634, 1690, 1746, 1802, 1920,
|
192
|
+
2038, 2156, 2274, 2392, 2510, 2587, 2589, 2591,
|
193
|
+
2609, 2611, 2868, 2920, 3048, 3176, 3201, 3296,
|
194
|
+
3298, 3300, 3395, 3490, 3492, 3514, 3536, 3558,
|
195
|
+
3617, 3632, 3685, 3719, 3908, 3973, 4038, 4103,
|
196
|
+
4105, 4162, 4164, 4219, 4408, 4473, 4538, 4603,
|
197
|
+
4612, 4621, 4623, 4625, 4626, 4660, 4662, 4663,
|
198
|
+
4665, 4721, 4744, 4764, 4774, 4792
|
220
199
|
]
|
221
200
|
|
222
201
|
class << self
|
@@ -385,158 +364,147 @@ self._re_scanner_indicies = [
|
|
385
364
|
51, 51, 51, 51, 51, 51, 51, 51,
|
386
365
|
51, 51, 51, 51, 51, 51, 51, 51,
|
387
366
|
51, 51, 49, 53, 52, 56, 55, 55,
|
388
|
-
|
389
|
-
55, 55, 55,
|
390
|
-
55, 55,
|
391
|
-
55,
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
55,
|
396
|
-
55,
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
106, 106, 106, 106, 106, 106, 106, 106,
|
419
|
-
106, 106, 106, 106, 106, 106, 106, 106,
|
420
|
-
106, 106, 106, 106, 106, 106, 106, 106,
|
421
|
-
106, 106, 106, 106, 106, 106, 106, 106,
|
422
|
-
106, 106, 106, 106, 106, 106, 106, 106,
|
423
|
-
106, 106, 106, 104, 107, 45, 109, 108,
|
424
|
-
111, 108, 112, 45, 114, 113, 116, 113,
|
425
|
-
117, 117, 117, 117, 117, 117, 117, 117,
|
426
|
-
117, 117, 45, 45, 45, 45, 45, 45,
|
427
|
-
45, 117, 117, 117, 117, 117, 117, 45,
|
367
|
+
55, 55, 55, 55, 55, 55, 55, 55,
|
368
|
+
55, 55, 55, 55, 55, 55, 55, 55,
|
369
|
+
55, 55, 55, 55, 55, 55, 55, 55,
|
370
|
+
55, 55, 55, 55, 55, 55, 57, 55,
|
371
|
+
57, 55, 56, 55, 55, 55, 55, 55,
|
372
|
+
55, 55, 55, 55, 55, 55, 55, 55,
|
373
|
+
55, 55, 55, 55, 55, 55, 55, 55,
|
374
|
+
55, 55, 55, 55, 55, 55, 55, 55,
|
375
|
+
55, 55, 55, 57, 55, 58, 55, 60,
|
376
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
377
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
378
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
379
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
380
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
381
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
382
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
383
|
+
60, 60, 60, 60, 60, 60, 60, 59,
|
384
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
385
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
386
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
387
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
388
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
389
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
390
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
391
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
392
|
+
59, 62, 45, 64, 63, 66, 63, 67,
|
393
|
+
45, 69, 68, 71, 68, 72, 72, 72,
|
394
|
+
72, 72, 72, 72, 72, 72, 72, 45,
|
395
|
+
45, 45, 45, 45, 45, 45, 72, 72,
|
396
|
+
72, 72, 72, 72, 45, 45, 45, 45,
|
428
397
|
45, 45, 45, 45, 45, 45, 45, 45,
|
429
398
|
45, 45, 45, 45, 45, 45, 45, 45,
|
399
|
+
45, 45, 45, 45, 45, 45, 72, 72,
|
400
|
+
72, 72, 72, 72, 45, 45, 45, 45,
|
430
401
|
45, 45, 45, 45, 45, 45, 45, 45,
|
431
|
-
45, 117, 117, 117, 117, 117, 117, 45,
|
432
402
|
45, 45, 45, 45, 45, 45, 45, 45,
|
403
|
+
73, 45, 74, 74, 74, 74, 74, 74,
|
404
|
+
74, 74, 74, 74, 45, 45, 45, 45,
|
405
|
+
45, 45, 45, 74, 74, 74, 74, 74,
|
406
|
+
74, 45, 45, 45, 45, 45, 45, 45,
|
433
407
|
45, 45, 45, 45, 45, 45, 45, 45,
|
434
|
-
45, 45, 45, 118, 45, 119, 119, 119,
|
435
|
-
119, 119, 119, 119, 119, 119, 119, 45,
|
436
|
-
45, 45, 45, 45, 45, 45, 119, 119,
|
437
|
-
119, 119, 119, 119, 45, 45, 45, 45,
|
438
408
|
45, 45, 45, 45, 45, 45, 45, 45,
|
409
|
+
45, 45, 45, 74, 74, 74, 74, 74,
|
410
|
+
74, 45, 75, 75, 75, 75, 75, 75,
|
411
|
+
75, 75, 75, 75, 45, 45, 45, 45,
|
412
|
+
45, 45, 45, 75, 75, 75, 75, 75,
|
413
|
+
75, 45, 45, 45, 45, 45, 45, 45,
|
439
414
|
45, 45, 45, 45, 45, 45, 45, 45,
|
440
|
-
45, 45, 45, 45, 45, 45, 119, 119,
|
441
|
-
119, 119, 119, 119, 45, 120, 120, 120,
|
442
|
-
120, 120, 120, 120, 120, 120, 120, 45,
|
443
|
-
45, 45, 45, 45, 45, 45, 120, 120,
|
444
|
-
120, 120, 120, 120, 45, 45, 45, 45,
|
445
415
|
45, 45, 45, 45, 45, 45, 45, 45,
|
416
|
+
45, 45, 45, 75, 75, 75, 75, 75,
|
417
|
+
75, 45, 76, 76, 76, 76, 76, 76,
|
418
|
+
76, 76, 76, 76, 45, 45, 45, 45,
|
419
|
+
45, 45, 45, 76, 76, 76, 76, 76,
|
420
|
+
76, 45, 45, 45, 45, 45, 45, 45,
|
446
421
|
45, 45, 45, 45, 45, 45, 45, 45,
|
447
|
-
45, 45, 45, 45, 45, 45, 120, 120,
|
448
|
-
120, 120, 120, 120, 45, 121, 121, 121,
|
449
|
-
121, 121, 121, 121, 121, 121, 121, 45,
|
450
|
-
45, 45, 45, 45, 45, 45, 121, 121,
|
451
|
-
121, 121, 121, 121, 45, 45, 45, 45,
|
452
422
|
45, 45, 45, 45, 45, 45, 45, 45,
|
423
|
+
45, 45, 45, 76, 76, 76, 76, 76,
|
424
|
+
76, 45, 77, 77, 77, 77, 77, 77,
|
425
|
+
77, 77, 77, 77, 45, 45, 45, 45,
|
426
|
+
45, 45, 45, 77, 77, 77, 77, 77,
|
427
|
+
77, 45, 45, 45, 45, 45, 45, 45,
|
453
428
|
45, 45, 45, 45, 45, 45, 45, 45,
|
454
|
-
45, 45, 45, 45, 45, 45, 121, 121,
|
455
|
-
121, 121, 121, 121, 45, 122, 122, 122,
|
456
|
-
122, 122, 122, 122, 122, 122, 122, 45,
|
457
|
-
45, 45, 45, 45, 45, 45, 122, 122,
|
458
|
-
122, 122, 122, 122, 45, 45, 45, 45,
|
459
429
|
45, 45, 45, 45, 45, 45, 45, 45,
|
430
|
+
45, 45, 45, 77, 77, 77, 77, 77,
|
431
|
+
77, 45, 73, 73, 73, 73, 73, 45,
|
460
432
|
45, 45, 45, 45, 45, 45, 45, 45,
|
461
|
-
45, 45, 45, 45, 45, 45, 122, 122,
|
462
|
-
122, 122, 122, 122, 45, 118, 118, 118,
|
463
|
-
118, 118, 45, 45, 45, 45, 45, 45,
|
464
433
|
45, 45, 45, 45, 45, 45, 45, 45,
|
465
|
-
45,
|
434
|
+
45, 73, 45, 45, 45, 45, 45, 45,
|
466
435
|
45, 45, 45, 45, 45, 45, 45, 45,
|
467
|
-
45,
|
468
|
-
|
469
|
-
45, 45,
|
470
|
-
123, 123, 123, 45, 45, 45, 45, 45,
|
436
|
+
45, 78, 78, 78, 78, 78, 78, 78,
|
437
|
+
78, 78, 78, 45, 45, 45, 45, 45,
|
438
|
+
45, 45, 78, 78, 78, 78, 78, 78,
|
471
439
|
45, 45, 45, 45, 45, 45, 45, 45,
|
472
440
|
45, 45, 45, 45, 45, 45, 45, 45,
|
473
|
-
45, 45, 45, 45, 45, 123, 123, 123,
|
474
|
-
123, 123, 123, 45, 45, 45, 45, 45,
|
475
441
|
45, 45, 45, 45, 45, 45, 45, 45,
|
442
|
+
45, 45, 78, 78, 78, 78, 78, 78,
|
476
443
|
45, 45, 45, 45, 45, 45, 45, 45,
|
477
|
-
45, 121, 45, 118, 118, 118, 118, 118,
|
478
444
|
45, 45, 45, 45, 45, 45, 45, 45,
|
445
|
+
45, 45, 45, 45, 45, 45, 76, 45,
|
446
|
+
73, 73, 73, 73, 73, 45, 45, 45,
|
479
447
|
45, 45, 45, 45, 45, 45, 45, 45,
|
480
|
-
45, 45,
|
448
|
+
45, 45, 45, 45, 45, 45, 45, 73,
|
481
449
|
45, 45, 45, 45, 45, 45, 45, 45,
|
482
|
-
45, 45,
|
483
|
-
|
484
|
-
|
485
|
-
|
450
|
+
45, 45, 45, 45, 45, 45, 45, 79,
|
451
|
+
79, 79, 79, 79, 79, 79, 79, 79,
|
452
|
+
79, 45, 45, 45, 45, 45, 45, 45,
|
453
|
+
79, 79, 79, 79, 79, 79, 45, 45,
|
486
454
|
45, 45, 45, 45, 45, 45, 45, 45,
|
487
455
|
45, 45, 45, 45, 45, 45, 45, 45,
|
488
|
-
45, 45, 45, 124, 124, 124, 124, 124,
|
489
|
-
124, 45, 45, 45, 45, 45, 45, 45,
|
490
456
|
45, 45, 45, 45, 45, 45, 45, 45,
|
491
|
-
|
492
|
-
45, 118, 118, 118, 118, 118, 45, 45,
|
457
|
+
79, 79, 79, 79, 79, 79, 45, 45,
|
493
458
|
45, 45, 45, 45, 45, 45, 45, 45,
|
494
459
|
45, 45, 45, 45, 45, 45, 45, 45,
|
495
|
-
|
460
|
+
45, 45, 45, 45, 76, 45, 73, 73,
|
461
|
+
73, 73, 73, 45, 45, 45, 45, 45,
|
496
462
|
45, 45, 45, 45, 45, 45, 45, 45,
|
497
|
-
|
498
|
-
125, 125, 45, 45, 45, 45, 45, 45,
|
499
|
-
45, 125, 125, 125, 125, 125, 125, 45,
|
463
|
+
45, 45, 45, 45, 45, 73, 45, 45,
|
500
464
|
45, 45, 45, 45, 45, 45, 45, 45,
|
465
|
+
45, 45, 45, 45, 45, 80, 80, 80,
|
466
|
+
80, 80, 80, 80, 80, 80, 80, 45,
|
467
|
+
45, 45, 45, 45, 45, 45, 80, 80,
|
468
|
+
80, 80, 80, 80, 45, 45, 45, 45,
|
501
469
|
45, 45, 45, 45, 45, 45, 45, 45,
|
502
470
|
45, 45, 45, 45, 45, 45, 45, 45,
|
503
|
-
45,
|
471
|
+
45, 45, 45, 45, 45, 45, 80, 80,
|
472
|
+
80, 80, 80, 80, 45, 45, 45, 45,
|
504
473
|
45, 45, 45, 45, 45, 45, 45, 45,
|
505
474
|
45, 45, 45, 45, 45, 45, 45, 45,
|
506
|
-
45, 45,
|
507
|
-
|
475
|
+
45, 45, 76, 45, 73, 73, 73, 73,
|
476
|
+
73, 45, 45, 45, 45, 45, 45, 45,
|
508
477
|
45, 45, 45, 45, 45, 45, 45, 45,
|
509
|
-
45, 45, 45,
|
478
|
+
45, 45, 45, 73, 45, 45, 45, 45,
|
510
479
|
45, 45, 45, 45, 45, 45, 45, 45,
|
511
|
-
45, 45, 45,
|
512
|
-
|
513
|
-
45, 45, 45, 45,
|
514
|
-
|
480
|
+
45, 45, 45, 81, 81, 81, 81, 81,
|
481
|
+
81, 81, 81, 81, 81, 45, 45, 45,
|
482
|
+
45, 45, 45, 45, 81, 81, 81, 81,
|
483
|
+
81, 81, 45, 45, 45, 45, 45, 45,
|
515
484
|
45, 45, 45, 45, 45, 45, 45, 45,
|
516
485
|
45, 45, 45, 45, 45, 45, 45, 45,
|
517
|
-
45, 45, 45, 45,
|
518
|
-
|
486
|
+
45, 45, 45, 45, 81, 81, 81, 81,
|
487
|
+
81, 81, 45, 45, 45, 45, 45, 45,
|
519
488
|
45, 45, 45, 45, 45, 45, 45, 45,
|
520
489
|
45, 45, 45, 45, 45, 45, 45, 45,
|
521
|
-
|
522
|
-
118, 118, 45, 45, 45, 45, 45, 45,
|
490
|
+
76, 45, 73, 73, 73, 73, 73, 45,
|
523
491
|
45, 45, 45, 45, 45, 45, 45, 45,
|
524
|
-
45, 45, 45, 45, 118, 45, 45, 45,
|
525
492
|
45, 45, 45, 45, 45, 45, 45, 45,
|
526
|
-
45,
|
527
|
-
127, 127, 127, 127, 127, 127, 45, 45,
|
528
|
-
45, 45, 45, 45, 45, 127, 127, 127,
|
529
|
-
127, 127, 127, 45, 45, 45, 45, 45,
|
493
|
+
45, 73, 45, 45, 45, 45, 45, 45,
|
530
494
|
45, 45, 45, 45, 45, 45, 45, 45,
|
495
|
+
45, 82, 82, 82, 82, 82, 82, 82,
|
496
|
+
82, 82, 82, 45, 45, 45, 45, 45,
|
497
|
+
45, 45, 82, 82, 82, 82, 82, 82,
|
531
498
|
45, 45, 45, 45, 45, 45, 45, 45,
|
532
|
-
45, 45, 45, 45, 45, 127, 127, 127,
|
533
|
-
127, 127, 127, 45, 45, 45, 45, 45,
|
534
499
|
45, 45, 45, 45, 45, 45, 45, 45,
|
535
500
|
45, 45, 45, 45, 45, 45, 45, 45,
|
536
|
-
45,
|
501
|
+
45, 45, 82, 82, 82, 82, 82, 82,
|
537
502
|
45, 45, 45, 45, 45, 45, 45, 45,
|
538
503
|
45, 45, 45, 45, 45, 45, 45, 45,
|
539
|
-
45, 45,
|
504
|
+
45, 45, 45, 45, 45, 45, 76, 45,
|
505
|
+
73, 73, 73, 73, 73, 45, 45, 45,
|
506
|
+
45, 45, 45, 45, 45, 45, 45, 45,
|
507
|
+
45, 45, 45, 45, 45, 45, 45, 73,
|
540
508
|
45, 45, 45, 45, 45, 45, 45, 45,
|
541
509
|
45, 45, 45, 45, 45, 45, 45, 45,
|
542
510
|
45, 45, 45, 45, 45, 45, 45, 45,
|
@@ -547,21 +515,21 @@ self._re_scanner_indicies = [
|
|
547
515
|
45, 45, 45, 45, 45, 45, 45, 45,
|
548
516
|
45, 45, 45, 45, 45, 45, 45, 45,
|
549
517
|
45, 45, 45, 45, 45, 45, 45, 45,
|
550
|
-
45, 45, 45, 45, 45, 45, 45, 121,
|
551
|
-
45, 129, 129, 129, 129, 129, 129, 129,
|
552
|
-
129, 129, 129, 128, 128, 128, 128, 128,
|
553
|
-
128, 128, 129, 129, 129, 129, 129, 129,
|
554
|
-
128, 128, 128, 128, 128, 128, 128, 128,
|
555
|
-
128, 128, 128, 128, 128, 128, 128, 128,
|
556
|
-
128, 128, 128, 128, 128, 128, 128, 128,
|
557
|
-
128, 128, 129, 129, 129, 129, 129, 129,
|
558
|
-
128, 128, 128, 128, 128, 128, 128, 128,
|
559
|
-
128, 128, 128, 128, 128, 128, 128, 128,
|
560
|
-
128, 128, 128, 128, 45, 128, 132, 131,
|
561
|
-
133, 130, 133, 130, 130, 130, 130, 130,
|
562
|
-
130, 134, 134, 134, 134, 134, 134, 134,
|
563
|
-
134, 134, 134, 130, 132, 135, 45, 45,
|
564
518
|
45, 45, 45, 45, 45, 45, 45, 45,
|
519
|
+
45, 45, 45, 45, 76, 45, 84, 84,
|
520
|
+
84, 84, 84, 84, 84, 84, 84, 84,
|
521
|
+
83, 83, 83, 83, 83, 83, 83, 84,
|
522
|
+
84, 84, 84, 84, 84, 83, 83, 83,
|
523
|
+
83, 83, 83, 83, 83, 83, 83, 83,
|
524
|
+
83, 83, 83, 83, 83, 83, 83, 83,
|
525
|
+
83, 83, 83, 83, 83, 83, 83, 84,
|
526
|
+
84, 84, 84, 84, 84, 83, 83, 83,
|
527
|
+
83, 83, 83, 83, 83, 83, 83, 83,
|
528
|
+
83, 83, 83, 83, 83, 83, 83, 83,
|
529
|
+
83, 45, 83, 87, 86, 88, 85, 88,
|
530
|
+
85, 85, 85, 85, 85, 85, 89, 89,
|
531
|
+
89, 89, 89, 89, 89, 89, 89, 89,
|
532
|
+
85, 87, 90, 45, 45, 45, 45, 45,
|
565
533
|
45, 45, 45, 45, 45, 45, 45, 45,
|
566
534
|
45, 45, 45, 45, 45, 45, 45, 45,
|
567
535
|
45, 45, 45, 45, 45, 45, 45, 45,
|
@@ -569,163 +537,161 @@ self._re_scanner_indicies = [
|
|
569
537
|
45, 45, 45, 45, 45, 45, 45, 45,
|
570
538
|
45, 45, 45, 45, 45, 45, 45, 45,
|
571
539
|
45, 45, 45, 45, 45, 45, 45, 45,
|
540
|
+
45, 45, 45, 45, 45, 2, 2, 2,
|
572
541
|
2, 2, 2, 2, 2, 2, 2, 2,
|
573
542
|
2, 2, 2, 2, 2, 2, 2, 2,
|
574
543
|
2, 2, 2, 2, 2, 2, 2, 2,
|
575
|
-
2, 2, 2,
|
544
|
+
2, 2, 2, 3, 3, 3, 3, 3,
|
576
545
|
3, 3, 3, 3, 3, 3, 3, 3,
|
577
|
-
3, 3, 3,
|
578
|
-
|
579
|
-
45, 45, 45, 45,
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
546
|
+
3, 3, 3, 91, 91, 91, 91, 91,
|
547
|
+
45, 45, 45, 45, 45, 45, 45, 45,
|
548
|
+
45, 45, 45, 45, 92, 92, 92, 92,
|
549
|
+
92, 92, 92, 92, 93, 93, 93, 93,
|
550
|
+
93, 92, 92, 92, 92, 92, 92, 92,
|
551
|
+
92, 92, 92, 92, 92, 92, 92, 92,
|
552
|
+
92, 92, 92, 94, 95, 95, 96, 97,
|
553
|
+
95, 95, 95, 98, 99, 100, 101, 95,
|
554
|
+
95, 102, 95, 95, 95, 95, 95, 95,
|
555
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
556
|
+
95, 95, 103, 95, 95, 95, 95, 95,
|
557
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
558
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
559
|
+
95, 95, 95, 95, 95, 95, 104, 105,
|
560
|
+
106, 107, 95, 95, 95, 95, 95, 95,
|
561
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
562
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
563
|
+
95, 95, 95, 95, 95, 95, 108, 109,
|
564
|
+
106, 95, 92, 95, 2, 2, 2, 2,
|
596
565
|
2, 2, 2, 2, 2, 2, 2, 2,
|
597
566
|
2, 2, 2, 2, 2, 2, 2, 2,
|
598
567
|
2, 2, 2, 2, 2, 2, 2, 2,
|
599
|
-
2, 2,
|
568
|
+
2, 2, 3, 3, 3, 3, 3, 3,
|
600
569
|
3, 3, 3, 3, 3, 3, 3, 3,
|
601
|
-
3, 3,
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
570
|
+
3, 3, 91, 91, 91, 91, 91, 110,
|
571
|
+
92, 92, 92, 92, 92, 92, 92, 92,
|
572
|
+
92, 92, 92, 92, 92, 92, 92, 92,
|
573
|
+
92, 92, 92, 92, 92, 92, 92, 92,
|
574
|
+
92, 92, 92, 92, 92, 92, 92, 110,
|
575
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
576
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
577
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
578
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
579
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
580
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
581
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
582
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
583
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
584
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
585
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
586
|
+
110, 110, 110, 110, 110, 110, 92, 110,
|
587
|
+
92, 92, 92, 92, 92, 92, 92, 92,
|
588
|
+
93, 93, 93, 93, 93, 92, 92, 92,
|
589
|
+
92, 92, 92, 92, 92, 92, 92, 92,
|
590
|
+
92, 92, 92, 92, 92, 92, 92, 94,
|
591
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
592
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
593
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
594
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
595
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
596
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
597
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
598
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
599
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
600
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
601
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
602
|
+
111, 111, 111, 111, 111, 111, 92, 111,
|
603
|
+
94, 94, 94, 94, 94, 111, 111, 111,
|
604
|
+
111, 111, 111, 111, 111, 111, 111, 111,
|
605
|
+
111, 111, 111, 111, 111, 111, 111, 94,
|
606
|
+
111, 95, 95, 110, 110, 95, 95, 95,
|
607
|
+
110, 110, 110, 110, 95, 95, 110, 95,
|
608
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
609
|
+
95, 95, 95, 95, 95, 95, 95, 110,
|
610
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
611
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
612
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
613
|
+
95, 95, 95, 110, 110, 110, 110, 95,
|
614
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
615
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
616
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
617
|
+
95, 95, 95, 110, 110, 110, 95, 110,
|
618
|
+
113, 96, 115, 114, 118, 117, 5, 117,
|
619
|
+
117, 117, 119, 120, 116, 117, 117, 117,
|
620
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
621
|
+
117, 117, 117, 117, 117, 8, 117, 121,
|
622
|
+
118, 8, 117, 117, 117, 117, 117, 117,
|
623
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
624
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
625
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
626
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
627
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
628
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
629
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
630
|
+
117, 8, 117, 116, 117, 116, 117, 117,
|
631
|
+
117, 116, 116, 116, 117, 117, 117, 117,
|
632
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
633
|
+
117, 117, 117, 117, 122, 117, 116, 116,
|
634
|
+
116, 117, 117, 117, 117, 117, 117, 117,
|
635
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
636
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
637
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
638
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
639
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
640
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
641
|
+
117, 117, 117, 117, 117, 117, 117, 117,
|
642
|
+
116, 117, 8, 9, 125, 124, 124, 124,
|
643
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
644
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
645
|
+
125, 124, 127, 126, 126, 126, 126, 126,
|
646
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
647
|
+
126, 126, 126, 126, 126, 126, 127, 126,
|
648
|
+
129, 128, 128, 128, 128, 128, 128, 128,
|
649
|
+
128, 128, 128, 128, 128, 128, 128, 128,
|
650
|
+
128, 128, 128, 128, 129, 128, 131, 131,
|
651
|
+
130, 130, 130, 130, 131, 130, 130, 130,
|
652
|
+
132, 130, 130, 130, 130, 130, 130, 130,
|
653
|
+
130, 130, 130, 130, 130, 130, 130, 131,
|
654
|
+
130, 130, 130, 130, 130, 130, 130, 131,
|
655
|
+
130, 130, 130, 130, 133, 130, 130, 130,
|
656
|
+
134, 130, 130, 130, 130, 130, 130, 130,
|
657
|
+
130, 130, 130, 130, 130, 130, 130, 131,
|
658
|
+
130, 136, 135, 135, 135, 43, 43, 43,
|
659
|
+
43, 43, 43, 43, 43, 43, 43, 135,
|
660
|
+
137, 45, 45, 45, 137, 45, 45, 45,
|
661
|
+
45, 45, 45, 45, 45, 45, 137, 137,
|
662
|
+
45, 45, 45, 137, 137, 45, 45, 45,
|
663
|
+
45, 45, 45, 45, 45, 45, 45, 45,
|
664
|
+
137, 45, 45, 45, 137, 45, 45, 45,
|
665
|
+
45, 45, 45, 45, 45, 45, 45, 137,
|
666
|
+
45, 45, 45, 137, 45, 138, 45, 45,
|
667
|
+
45, 45, 45, 45, 45, 45, 45, 45,
|
668
|
+
45, 45, 45, 45, 45, 45, 45, 45,
|
669
|
+
45, 45, 45, 45, 45, 45, 45, 45,
|
670
|
+
45, 45, 45, 45, 45, 138, 45, 139,
|
671
|
+
139, 139, 139, 139, 139, 139, 139, 139,
|
672
|
+
139, 139, 139, 139, 139, 139, 139, 139,
|
673
|
+
139, 139, 139, 139, 139, 139, 139, 139,
|
674
|
+
139, 139, 139, 139, 139, 140, 140, 140,
|
647
675
|
140, 140, 140, 140, 140, 140, 140, 140,
|
648
|
-
140, 140, 140, 140, 140,
|
649
|
-
|
650
|
-
162, 5, 162, 162, 162, 164, 165, 161,
|
651
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
652
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
653
|
-
8, 162, 166, 163, 8, 162, 162, 162,
|
654
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
655
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
656
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
657
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
658
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
659
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
660
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
661
|
-
162, 162, 162, 162, 8, 162, 161, 162,
|
662
|
-
161, 162, 162, 162, 161, 161, 161, 162,
|
663
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
664
|
-
162, 162, 162, 162, 162, 162, 162, 167,
|
665
|
-
162, 161, 161, 161, 162, 162, 162, 162,
|
666
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
667
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
668
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
669
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
670
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
671
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
672
|
-
162, 162, 162, 162, 162, 162, 162, 162,
|
673
|
-
162, 162, 162, 161, 162, 8, 9, 170,
|
674
|
-
169, 169, 169, 169, 169, 169, 169, 169,
|
675
|
-
169, 169, 169, 169, 169, 169, 169, 169,
|
676
|
-
169, 169, 169, 170, 169, 172, 171, 171,
|
677
|
-
171, 171, 171, 171, 171, 171, 171, 171,
|
678
|
-
171, 171, 171, 171, 171, 171, 171, 171,
|
679
|
-
171, 172, 171, 174, 173, 173, 173, 173,
|
680
|
-
173, 173, 173, 173, 173, 173, 173, 173,
|
681
|
-
173, 173, 173, 173, 173, 173, 173, 174,
|
682
|
-
173, 176, 176, 175, 175, 175, 175, 176,
|
683
|
-
175, 175, 175, 177, 175, 175, 175, 175,
|
684
|
-
175, 175, 175, 175, 175, 175, 175, 175,
|
685
|
-
175, 175, 176, 175, 175, 175, 175, 175,
|
686
|
-
175, 175, 176, 175, 175, 175, 175, 178,
|
687
|
-
175, 175, 175, 179, 175, 175, 175, 175,
|
688
|
-
175, 175, 175, 175, 175, 175, 175, 175,
|
689
|
-
175, 175, 176, 175, 181, 180, 180, 180,
|
690
|
-
43, 43, 43, 43, 43, 43, 43, 43,
|
691
|
-
43, 43, 180, 183, 182, 182, 182, 182,
|
692
|
-
182, 182, 182, 182, 182, 182, 182, 182,
|
693
|
-
182, 182, 182, 182, 182, 182, 182, 183,
|
694
|
-
182, 184, 45, 45, 45, 184, 45, 45,
|
695
|
-
45, 45, 45, 45, 45, 45, 45, 184,
|
696
|
-
184, 45, 45, 45, 184, 184, 45, 45,
|
697
|
-
45, 45, 45, 45, 45, 45, 45, 45,
|
698
|
-
45, 184, 45, 45, 45, 184, 45, 45,
|
699
|
-
45, 45, 45, 45, 45, 45, 45, 45,
|
700
|
-
184, 45, 45, 45, 184, 45, 185, 45,
|
701
|
-
45, 45, 45, 45, 45, 45, 45, 45,
|
702
|
-
45, 45, 45, 45, 45, 45, 45, 45,
|
703
|
-
45, 45, 45, 45, 45, 45, 45, 45,
|
704
|
-
45, 45, 45, 45, 45, 45, 185, 45,
|
705
|
-
186, 186, 186, 186, 186, 186, 186, 186,
|
706
|
-
186, 186, 186, 186, 186, 186, 186, 186,
|
707
|
-
186, 186, 186, 186, 186, 186, 186, 186,
|
708
|
-
186, 186, 186, 186, 186, 186, 187, 187,
|
709
|
-
187, 187, 187, 187, 187, 187, 187, 187,
|
710
|
-
187, 187, 187, 187, 187, 187, 188, 188,
|
711
|
-
188, 188, 188, 50, 50, 50, 50, 50,
|
676
|
+
140, 140, 140, 140, 140, 141, 141, 141,
|
677
|
+
141, 141, 50, 50, 50, 50, 50, 50,
|
712
678
|
50, 50, 50, 50, 50, 50, 50, 50,
|
713
679
|
50, 50, 50, 50, 50, 50, 50, 50,
|
714
680
|
50, 50, 50, 50, 50, 50, 50, 50,
|
715
681
|
50, 50, 50, 50, 50, 50, 50, 50,
|
716
682
|
50, 50, 50, 50, 50, 50, 50, 50,
|
717
|
-
50, 50,
|
718
|
-
|
683
|
+
50, 142, 50, 143, 50, 142, 142, 142,
|
684
|
+
142, 50, 144, 142, 50, 50, 50, 50,
|
719
685
|
50, 50, 50, 50, 50, 50, 50, 50,
|
720
|
-
50, 50, 50, 50,
|
686
|
+
50, 50, 50, 50, 142, 50, 50, 50,
|
721
687
|
50, 50, 50, 50, 50, 50, 50, 50,
|
722
688
|
50, 50, 50, 50, 50, 50, 50, 50,
|
723
689
|
50, 50, 50, 50, 50, 50, 50, 50,
|
724
|
-
|
690
|
+
145, 146, 147, 148, 50, 50, 50, 50,
|
725
691
|
50, 50, 50, 50, 50, 50, 50, 50,
|
726
692
|
50, 50, 50, 50, 50, 50, 50, 50,
|
727
693
|
50, 50, 50, 50, 50, 50, 50, 50,
|
728
|
-
|
694
|
+
142, 142, 142, 50, 50, 50, 50, 50,
|
729
695
|
50, 50, 50, 50, 50, 50, 50, 50,
|
730
696
|
50, 50, 50, 50, 50, 50, 50, 50,
|
731
697
|
50, 50, 50, 50, 50, 50, 50, 50,
|
@@ -733,7 +699,7 @@ self._re_scanner_indicies = [
|
|
733
699
|
50, 50, 50, 50, 50, 50, 50, 50,
|
734
700
|
50, 50, 50, 50, 50, 50, 50, 50,
|
735
701
|
50, 50, 50, 50, 50, 50, 50, 50,
|
736
|
-
50, 50, 50, 50,
|
702
|
+
50, 50, 50, 50, 149, 51, 51, 51,
|
737
703
|
51, 51, 51, 51, 51, 51, 51, 51,
|
738
704
|
51, 51, 51, 51, 51, 51, 51, 51,
|
739
705
|
51, 51, 51, 51, 51, 51, 51, 51,
|
@@ -741,104 +707,104 @@ self._re_scanner_indicies = [
|
|
741
707
|
51, 51, 51, 51, 51, 51, 51, 51,
|
742
708
|
51, 51, 51, 51, 51, 51, 51, 51,
|
743
709
|
51, 51, 51, 51, 51, 51, 51, 51,
|
744
|
-
51, 51, 51, 51, 51,
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
710
|
+
51, 51, 51, 51, 51, 149, 150, 150,
|
711
|
+
150, 150, 150, 150, 150, 150, 150, 150,
|
712
|
+
150, 150, 150, 150, 150, 150, 150, 150,
|
713
|
+
150, 150, 150, 150, 150, 150, 150, 150,
|
714
|
+
150, 150, 150, 150, 150, 150, 150, 150,
|
715
|
+
150, 150, 150, 150, 150, 150, 150, 150,
|
716
|
+
150, 150, 150, 150, 150, 150, 150, 150,
|
717
|
+
150, 150, 150, 150, 150, 150, 150, 150,
|
718
|
+
150, 150, 150, 150, 150, 150, 149, 151,
|
719
|
+
149, 153, 152, 152, 152, 152, 152, 152,
|
720
|
+
152, 152, 152, 152, 152, 152, 152, 152,
|
721
|
+
152, 152, 152, 152, 152, 152, 152, 152,
|
722
|
+
152, 152, 152, 152, 152, 152, 152, 152,
|
723
|
+
152, 152, 152, 152, 152, 152, 152, 152,
|
724
|
+
152, 152, 152, 152, 152, 152, 152, 152,
|
725
|
+
152, 152, 152, 152, 152, 152, 152, 152,
|
726
|
+
154, 152, 55, 156, 158, 158, 157, 157,
|
727
|
+
157, 158, 157, 157, 157, 157, 158, 157,
|
728
|
+
157, 158, 157, 157, 158, 157, 157, 157,
|
729
|
+
158, 157, 157, 157, 158, 158, 158, 157,
|
730
|
+
157, 157, 158, 158, 158, 158, 158, 158,
|
731
|
+
157, 158, 157, 157, 157, 157, 157, 158,
|
732
|
+
157, 158, 157, 158, 158, 158, 158, 158,
|
733
|
+
158, 158, 157, 159, 159, 159, 159, 159,
|
734
|
+
159, 159, 159, 159, 159, 159, 159, 159,
|
735
|
+
159, 159, 159, 159, 159, 159, 159, 159,
|
736
|
+
159, 159, 159, 159, 159, 159, 159, 159,
|
737
|
+
159, 160, 160, 160, 160, 160, 160, 160,
|
738
|
+
160, 160, 160, 160, 160, 160, 160, 160,
|
739
|
+
160, 161, 161, 161, 161, 161, 60, 60,
|
740
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
741
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
742
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
743
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
744
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
745
|
+
60, 60, 60, 60, 60, 162, 60, 60,
|
746
|
+
60, 162, 162, 162, 162, 60, 60, 162,
|
747
|
+
60, 163, 164, 164, 164, 164, 164, 164,
|
748
|
+
164, 165, 165, 60, 60, 60, 60, 60,
|
749
|
+
162, 60, 45, 45, 166, 167, 60, 60,
|
750
|
+
45, 167, 60, 60, 45, 60, 168, 60,
|
751
|
+
60, 169, 60, 167, 167, 60, 60, 60,
|
752
|
+
167, 167, 60, 45, 162, 162, 162, 162,
|
753
|
+
60, 60, 170, 170, 62, 167, 170, 170,
|
754
|
+
60, 167, 60, 60, 60, 60, 60, 170,
|
755
|
+
60, 169, 60, 170, 167, 170, 171, 170,
|
756
|
+
167, 172, 60, 45, 162, 162, 162, 60,
|
757
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
758
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
759
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
760
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
761
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
762
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
763
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
764
|
+
60, 60, 60, 60, 60, 60, 60, 60,
|
765
|
+
173, 61, 61, 61, 61, 61, 61, 61,
|
766
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
767
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
768
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
769
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
770
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
771
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
772
|
+
61, 61, 61, 61, 61, 61, 61, 61,
|
773
|
+
61, 173, 174, 174, 174, 174, 174, 174,
|
774
|
+
174, 174, 174, 174, 174, 174, 174, 174,
|
775
|
+
174, 174, 174, 174, 174, 174, 174, 174,
|
776
|
+
174, 174, 174, 174, 174, 174, 174, 174,
|
777
|
+
174, 174, 174, 174, 174, 174, 174, 174,
|
778
|
+
174, 174, 174, 174, 174, 174, 174, 174,
|
779
|
+
174, 174, 174, 174, 174, 174, 174, 174,
|
780
|
+
174, 174, 174, 174, 174, 174, 174, 174,
|
781
|
+
174, 174, 173, 176, 176, 176, 176, 176,
|
782
|
+
176, 176, 176, 175, 178, 178, 178, 178,
|
783
|
+
178, 178, 178, 178, 177, 180, 63, 182,
|
784
|
+
181, 63, 184, 68, 68, 68, 68, 68,
|
785
|
+
68, 68, 68, 68, 68, 68, 68, 68,
|
786
|
+
68, 68, 68, 68, 68, 68, 68, 68,
|
787
|
+
68, 68, 68, 68, 68, 68, 68, 68,
|
788
|
+
68, 68, 185, 68, 187, 186, 68, 71,
|
789
|
+
68, 189, 189, 189, 189, 189, 189, 189,
|
790
|
+
189, 189, 189, 188, 188, 188, 188, 188,
|
791
|
+
188, 188, 189, 189, 189, 189, 189, 189,
|
792
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
793
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
794
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
795
|
+
188, 188, 189, 189, 189, 189, 189, 189,
|
796
|
+
188, 191, 190, 190, 190, 190, 190, 192,
|
797
|
+
190, 190, 190, 193, 193, 193, 193, 193,
|
798
|
+
193, 193, 193, 193, 190, 190, 194, 190,
|
799
|
+
87, 86, 86, 86, 86, 86, 195, 86,
|
800
|
+
86, 195, 195, 195, 195, 195, 195, 195,
|
801
|
+
195, 195, 195, 86, 89, 89, 89, 89,
|
802
|
+
89, 89, 89, 89, 89, 195, 88, 195,
|
803
|
+
195, 195, 195, 195, 195, 89, 89, 89,
|
804
|
+
89, 89, 89, 89, 89, 89, 89, 195,
|
805
|
+
195, 90, 90, 195, 195, 195, 195, 195,
|
806
|
+
195, 195, 195, 195, 195, 90, 90, 90,
|
807
|
+
90, 87, 90, 0
|
842
808
|
]
|
843
809
|
|
844
810
|
class << self
|
@@ -846,37 +812,31 @@ class << self
|
|
846
812
|
private :_re_scanner_trans_targs, :_re_scanner_trans_targs=
|
847
813
|
end
|
848
814
|
self._re_scanner_trans_targs = [
|
849
|
-
|
850
|
-
|
815
|
+
73, 74, 1, 2, 73, 4, 73, 6,
|
816
|
+
73, 8, 83, 73, 10, 17, 11, 73,
|
851
817
|
12, 16, 14, 13, 15, 18, 19, 23,
|
852
|
-
21, 20, 22, 25, 31, 26,
|
818
|
+
21, 20, 22, 25, 31, 26, 73, 27,
|
853
819
|
29, 28, 30, 32, 33, 35, 34, 36,
|
854
|
-
|
855
|
-
|
856
|
-
48,
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
46, 138, 138, 138, 47, 145, 145, 147,
|
875
|
-
148, 149, 146, 150, 150, 146, 97, 146,
|
876
|
-
100, 146, 146, 103, 114, 146, 96, 146,
|
877
|
-
151, 146, 146, 146, 153, 146, 99, 146,
|
878
|
-
156, 158, 146, 102, 146, 146, 160, 161,
|
879
|
-
162, 163, 164, 160
|
820
|
+
73, 38, 73, 39, 41, 0, 42, 43,
|
821
|
+
90, 91, 91, 44, 91, 91, 91, 47,
|
822
|
+
48, 91, 91, 99, 99, 49, 52, 99,
|
823
|
+
105, 99, 107, 55, 99, 108, 99, 110,
|
824
|
+
58, 61, 59, 60, 99, 62, 63, 64,
|
825
|
+
65, 66, 67, 99, 112, 113, 69, 70,
|
826
|
+
113, 71, 72, 3, 75, 76, 77, 78,
|
827
|
+
79, 73, 80, 73, 84, 85, 73, 86,
|
828
|
+
73, 87, 73, 73, 88, 73, 73, 73,
|
829
|
+
73, 73, 73, 81, 73, 82, 73, 5,
|
830
|
+
73, 7, 73, 73, 73, 73, 73, 73,
|
831
|
+
73, 73, 73, 73, 73, 9, 24, 73,
|
832
|
+
37, 89, 40, 92, 93, 94, 91, 95,
|
833
|
+
96, 97, 91, 91, 91, 91, 45, 91,
|
834
|
+
91, 46, 91, 91, 91, 98, 98, 100,
|
835
|
+
101, 102, 99, 103, 103, 99, 51, 99,
|
836
|
+
54, 99, 99, 57, 68, 99, 50, 99,
|
837
|
+
104, 99, 99, 99, 106, 99, 53, 99,
|
838
|
+
109, 111, 99, 56, 99, 99, 113, 114,
|
839
|
+
115, 116, 117, 113
|
880
840
|
]
|
881
841
|
|
882
842
|
class << self
|
@@ -889,32 +849,26 @@ self._re_scanner_trans_actions = [
|
|
889
849
|
0, 0, 0, 0, 0, 0, 0, 0,
|
890
850
|
0, 0, 0, 0, 0, 0, 10, 0,
|
891
851
|
0, 0, 0, 0, 0, 0, 0, 0,
|
892
|
-
11, 0,
|
893
|
-
|
894
|
-
0,
|
895
|
-
0,
|
896
|
-
0, 0, 0,
|
897
|
-
0, 0, 0,
|
898
|
-
|
899
|
-
0,
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
0,
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
0, 76, 77, 78, 0, 79, 80, 0,
|
913
|
-
39, 39, 81, 82, 83, 84, 0, 85,
|
914
|
-
0, 86, 87, 0, 0, 88, 0, 89,
|
915
|
-
0, 90, 91, 92, 39, 93, 0, 94,
|
916
|
-
39, 0, 95, 0, 96, 97, 98, 39,
|
917
|
-
39, 39, 39, 99
|
852
|
+
11, 0, 12, 0, 0, 0, 0, 0,
|
853
|
+
14, 15, 16, 0, 17, 18, 19, 0,
|
854
|
+
0, 20, 21, 22, 23, 0, 0, 25,
|
855
|
+
0, 26, 0, 0, 27, 0, 28, 0,
|
856
|
+
0, 0, 0, 0, 29, 0, 0, 0,
|
857
|
+
0, 0, 0, 30, 0, 31, 0, 0,
|
858
|
+
32, 0, 0, 0, 0, 0, 0, 0,
|
859
|
+
0, 35, 36, 37, 0, 0, 38, 0,
|
860
|
+
39, 40, 41, 42, 40, 43, 44, 45,
|
861
|
+
46, 47, 48, 49, 50, 0, 51, 0,
|
862
|
+
52, 0, 53, 54, 55, 56, 57, 58,
|
863
|
+
59, 60, 61, 62, 63, 0, 0, 64,
|
864
|
+
0, 66, 0, 0, 40, 40, 67, 0,
|
865
|
+
40, 68, 69, 70, 71, 72, 0, 73,
|
866
|
+
74, 0, 75, 76, 77, 78, 79, 0,
|
867
|
+
40, 40, 80, 81, 82, 83, 0, 84,
|
868
|
+
0, 85, 86, 0, 0, 87, 0, 88,
|
869
|
+
0, 89, 90, 91, 40, 92, 0, 93,
|
870
|
+
40, 0, 94, 0, 95, 96, 97, 40,
|
871
|
+
40, 40, 40, 98
|
918
872
|
]
|
919
873
|
|
920
874
|
class << self
|
@@ -931,18 +885,12 @@ self._re_scanner_to_state_actions = [
|
|
931
885
|
0, 0, 0, 0, 0, 0, 0, 0,
|
932
886
|
0, 0, 0, 0, 0, 0, 0, 0,
|
933
887
|
0, 0, 0, 0, 0, 0, 0, 0,
|
888
|
+
0, 33, 0, 0, 0, 0, 0, 0,
|
934
889
|
0, 0, 0, 0, 0, 0, 0, 0,
|
890
|
+
0, 65, 65, 65, 0, 0, 0, 0,
|
891
|
+
0, 0, 65, 65, 0, 0, 0, 0,
|
935
892
|
0, 0, 0, 0, 0, 0, 0, 0,
|
936
|
-
0,
|
937
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
938
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
939
|
-
0, 0, 0, 0, 0, 0, 0, 32,
|
940
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
941
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
942
|
-
66, 66, 66, 0, 0, 0, 0, 0,
|
943
|
-
0, 66, 66, 0, 0, 0, 0, 0,
|
944
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
945
|
-
66, 0, 0, 0, 0
|
893
|
+
0, 65, 0, 0, 0, 0
|
946
894
|
]
|
947
895
|
|
948
896
|
class << self
|
@@ -959,18 +907,12 @@ self._re_scanner_from_state_actions = [
|
|
959
907
|
0, 0, 0, 0, 0, 0, 0, 0,
|
960
908
|
0, 0, 0, 0, 0, 0, 0, 0,
|
961
909
|
0, 0, 0, 0, 0, 0, 0, 0,
|
910
|
+
0, 34, 0, 0, 0, 0, 0, 0,
|
962
911
|
0, 0, 0, 0, 0, 0, 0, 0,
|
912
|
+
0, 34, 34, 34, 0, 0, 0, 0,
|
913
|
+
0, 0, 34, 34, 0, 0, 0, 0,
|
963
914
|
0, 0, 0, 0, 0, 0, 0, 0,
|
964
|
-
0,
|
965
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
966
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
967
|
-
0, 0, 0, 0, 0, 0, 0, 33,
|
968
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
969
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
970
|
-
33, 33, 33, 0, 0, 0, 0, 0,
|
971
|
-
0, 33, 33, 0, 0, 0, 0, 0,
|
972
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
973
|
-
33, 0, 0, 0, 0
|
915
|
+
0, 34, 0, 0, 0, 0
|
974
916
|
]
|
975
917
|
|
976
918
|
class << self
|
@@ -983,22 +925,16 @@ self._re_scanner_eof_actions = [
|
|
983
925
|
0, 0, 0, 0, 0, 0, 0, 0,
|
984
926
|
0, 0, 0, 0, 0, 0, 0, 0,
|
985
927
|
0, 0, 0, 0, 0, 0, 0, 0,
|
986
|
-
|
987
|
-
0, 0, 0,
|
988
|
-
0,
|
989
|
-
|
990
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
991
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
992
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
993
|
-
0, 23, 23, 0, 23, 23, 0, 23,
|
994
|
-
23, 23, 23, 23, 23, 23, 23, 23,
|
995
|
-
23, 23, 23, 0, 0, 0, 0, 0,
|
928
|
+
13, 13, 13, 13, 0, 0, 0, 0,
|
929
|
+
0, 0, 0, 24, 24, 0, 24, 24,
|
930
|
+
0, 24, 24, 24, 24, 24, 24, 24,
|
931
|
+
24, 24, 24, 24, 24, 0, 0, 0,
|
996
932
|
0, 0, 0, 0, 0, 0, 0, 0,
|
997
933
|
0, 0, 0, 0, 0, 0, 0, 0,
|
998
|
-
0, 0,
|
999
|
-
0, 0,
|
934
|
+
0, 0, 0, 24, 0, 0, 0, 0,
|
935
|
+
0, 0, 0, 24, 0, 0, 0, 0,
|
1000
936
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1001
|
-
0, 0, 0, 0, 0
|
937
|
+
0, 0, 0, 0, 0, 0
|
1002
938
|
]
|
1003
939
|
|
1004
940
|
class << self
|
@@ -1012,31 +948,25 @@ self._re_scanner_eof_trans = [
|
|
1012
948
|
12, 12, 12, 12, 12, 12, 12, 12,
|
1013
949
|
12, 12, 12, 12, 12, 41, 41, 41,
|
1014
950
|
0, 0, 0, 0, 50, 50, 53, 55,
|
1015
|
-
55,
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
156, 156, 157, 157, 156, 158, 160, 162,
|
1025
|
-
162, 169, 170, 172, 174, 176, 181, 183,
|
1026
|
-
0, 0, 0, 197, 197, 197, 197, 200,
|
1027
|
-
203, 0, 0, 222, 222, 222, 224, 226,
|
1028
|
-
228, 228, 228, 232, 232, 232, 232, 237,
|
1029
|
-
0, 244, 244, 244, 244
|
951
|
+
55, 60, 60, 0, 0, 66, 0, 0,
|
952
|
+
71, 0, 0, 0, 0, 0, 0, 0,
|
953
|
+
0, 0, 0, 0, 0, 86, 86, 86,
|
954
|
+
86, 0, 111, 111, 112, 112, 111, 113,
|
955
|
+
115, 117, 117, 124, 125, 127, 129, 131,
|
956
|
+
136, 0, 0, 0, 150, 150, 150, 150,
|
957
|
+
153, 156, 0, 0, 174, 174, 174, 176,
|
958
|
+
178, 180, 180, 180, 184, 184, 184, 184,
|
959
|
+
189, 0, 196, 196, 196, 196
|
1030
960
|
]
|
1031
961
|
|
1032
962
|
class << self
|
1033
963
|
attr_accessor :re_scanner_start
|
1034
964
|
end
|
1035
|
-
self.re_scanner_start =
|
965
|
+
self.re_scanner_start = 73;
|
1036
966
|
class << self
|
1037
967
|
attr_accessor :re_scanner_first_final
|
1038
968
|
end
|
1039
|
-
self.re_scanner_first_final =
|
969
|
+
self.re_scanner_first_final = 73;
|
1040
970
|
class << self
|
1041
971
|
attr_accessor :re_scanner_error
|
1042
972
|
end
|
@@ -1045,36 +975,36 @@ self.re_scanner_error = 0;
|
|
1045
975
|
class << self
|
1046
976
|
attr_accessor :re_scanner_en_char_type
|
1047
977
|
end
|
1048
|
-
self.re_scanner_en_char_type =
|
978
|
+
self.re_scanner_en_char_type = 89;
|
1049
979
|
class << self
|
1050
980
|
attr_accessor :re_scanner_en_unicode_property
|
1051
981
|
end
|
1052
|
-
self.re_scanner_en_unicode_property =
|
982
|
+
self.re_scanner_en_unicode_property = 90;
|
1053
983
|
class << self
|
1054
984
|
attr_accessor :re_scanner_en_character_set
|
1055
985
|
end
|
1056
|
-
self.re_scanner_en_character_set =
|
986
|
+
self.re_scanner_en_character_set = 91;
|
1057
987
|
class << self
|
1058
988
|
attr_accessor :re_scanner_en_set_escape_sequence
|
1059
989
|
end
|
1060
|
-
self.re_scanner_en_set_escape_sequence =
|
990
|
+
self.re_scanner_en_set_escape_sequence = 98;
|
1061
991
|
class << self
|
1062
992
|
attr_accessor :re_scanner_en_escape_sequence
|
1063
993
|
end
|
1064
|
-
self.re_scanner_en_escape_sequence =
|
994
|
+
self.re_scanner_en_escape_sequence = 99;
|
1065
995
|
class << self
|
1066
996
|
attr_accessor :re_scanner_en_conditional_expression
|
1067
997
|
end
|
1068
|
-
self.re_scanner_en_conditional_expression =
|
998
|
+
self.re_scanner_en_conditional_expression = 113;
|
1069
999
|
class << self
|
1070
1000
|
attr_accessor :re_scanner_en_main
|
1071
1001
|
end
|
1072
|
-
self.re_scanner_en_main =
|
1002
|
+
self.re_scanner_en_main = 73;
|
1073
1003
|
|
1074
1004
|
|
1075
|
-
# line
|
1005
|
+
# line 744 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1076
1006
|
|
1077
|
-
# line
|
1007
|
+
# line 1007 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
|
1078
1008
|
begin
|
1079
1009
|
p ||= 0
|
1080
1010
|
pe ||= data.length
|
@@ -1085,9 +1015,9 @@ begin
|
|
1085
1015
|
act = 0
|
1086
1016
|
end
|
1087
1017
|
|
1088
|
-
# line
|
1018
|
+
# line 745 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1089
1019
|
|
1090
|
-
# line
|
1020
|
+
# line 1020 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
|
1091
1021
|
begin
|
1092
1022
|
testEof = false
|
1093
1023
|
_slen, _trans, _keys, _inds, _acts, _nacts = nil
|
@@ -1110,12 +1040,12 @@ begin
|
|
1110
1040
|
end
|
1111
1041
|
if _goto_level <= _resume
|
1112
1042
|
case _re_scanner_from_state_actions[cs]
|
1113
|
-
when
|
1043
|
+
when 34 then
|
1114
1044
|
# line 1 "NONE"
|
1115
1045
|
begin
|
1116
1046
|
ts = p
|
1117
1047
|
end
|
1118
|
-
# line
|
1048
|
+
# line 1048 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
|
1119
1049
|
end
|
1120
1050
|
_keys = cs << 1
|
1121
1051
|
_inds = _re_scanner_index_offsets[cs]
|
@@ -1134,21 +1064,21 @@ ts = p
|
|
1134
1064
|
cs = _re_scanner_trans_targs[_trans]
|
1135
1065
|
if _re_scanner_trans_actions[_trans] != 0
|
1136
1066
|
case _re_scanner_trans_actions[_trans]
|
1137
|
-
when
|
1138
|
-
# line
|
1067
|
+
when 36 then
|
1068
|
+
# line 152 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1139
1069
|
begin
|
1140
1070
|
self.group_depth = group_depth + 1 end
|
1141
1071
|
when 4 then
|
1142
|
-
# line
|
1072
|
+
# line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1143
1073
|
begin
|
1144
1074
|
self.group_depth = group_depth - 1 end
|
1145
|
-
when
|
1075
|
+
when 40 then
|
1146
1076
|
# line 1 "NONE"
|
1147
1077
|
begin
|
1148
1078
|
te = p+1
|
1149
1079
|
end
|
1150
|
-
when
|
1151
|
-
# line 12 "/Users/
|
1080
|
+
when 66 then
|
1081
|
+
# line 12 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/char_type.rl"
|
1152
1082
|
begin
|
1153
1083
|
te = p+1
|
1154
1084
|
begin
|
@@ -1173,8 +1103,8 @@ te = p+1
|
|
1173
1103
|
|
1174
1104
|
end
|
1175
1105
|
end
|
1176
|
-
when
|
1177
|
-
# line 16 "/Users/
|
1106
|
+
when 14 then
|
1107
|
+
# line 16 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/property.rl"
|
1178
1108
|
begin
|
1179
1109
|
te = p+1
|
1180
1110
|
begin
|
@@ -1184,7 +1114,7 @@ te = p+1
|
|
1184
1114
|
name = data[ts+2..te-2].pack('c*').gsub(/[\^\s_\-]/, '').downcase
|
1185
1115
|
|
1186
1116
|
token = self.class.short_prop_map[name] || self.class.long_prop_map[name]
|
1187
|
-
|
1117
|
+
validation_error(:property, name) unless token
|
1188
1118
|
|
1189
1119
|
self.emit(type, token.to_sym, text)
|
1190
1120
|
|
@@ -1197,8 +1127,8 @@ te = p+1
|
|
1197
1127
|
|
1198
1128
|
end
|
1199
1129
|
end
|
1200
|
-
when
|
1201
|
-
# line
|
1130
|
+
when 18 then
|
1131
|
+
# line 180 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1202
1132
|
begin
|
1203
1133
|
te = p+1
|
1204
1134
|
begin # special case, emits two tokens
|
@@ -1206,8 +1136,8 @@ te = p+1
|
|
1206
1136
|
emit(:set, :intersection, '&&')
|
1207
1137
|
end
|
1208
1138
|
end
|
1209
|
-
when
|
1210
|
-
# line
|
1139
|
+
when 71 then
|
1140
|
+
# line 185 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1211
1141
|
begin
|
1212
1142
|
te = p+1
|
1213
1143
|
begin
|
@@ -1219,39 +1149,39 @@ te = p+1
|
|
1219
1149
|
end
|
1220
1150
|
end
|
1221
1151
|
end
|
1222
|
-
when
|
1223
|
-
# line
|
1152
|
+
when 73 then
|
1153
|
+
# line 206 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1224
1154
|
begin
|
1225
1155
|
te = p+1
|
1226
1156
|
begin
|
1227
1157
|
emit(:set, :intersection, copy(data, ts, te))
|
1228
1158
|
end
|
1229
1159
|
end
|
1230
|
-
when
|
1231
|
-
# line
|
1160
|
+
when 69 then
|
1161
|
+
# line 210 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1232
1162
|
begin
|
1233
1163
|
te = p+1
|
1234
1164
|
begin
|
1235
1165
|
begin
|
1236
1166
|
stack[top] = cs
|
1237
1167
|
top+= 1
|
1238
|
-
cs =
|
1168
|
+
cs = 98
|
1239
1169
|
_goto_level = _again
|
1240
1170
|
next
|
1241
1171
|
end
|
1242
1172
|
|
1243
1173
|
end
|
1244
1174
|
end
|
1245
|
-
when
|
1246
|
-
# line
|
1175
|
+
when 67 then
|
1176
|
+
# line 244 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1247
1177
|
begin
|
1248
1178
|
te = p+1
|
1249
1179
|
begin
|
1250
1180
|
emit(:literal, :literal, copy(data, ts, te))
|
1251
1181
|
end
|
1252
1182
|
end
|
1253
|
-
when
|
1254
|
-
# line
|
1183
|
+
when 16 then
|
1184
|
+
# line 248 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1255
1185
|
begin
|
1256
1186
|
te = p+1
|
1257
1187
|
begin
|
@@ -1259,8 +1189,8 @@ te = p+1
|
|
1259
1189
|
emit(:literal, :literal, text)
|
1260
1190
|
end
|
1261
1191
|
end
|
1262
|
-
when
|
1263
|
-
# line
|
1192
|
+
when 74 then
|
1193
|
+
# line 194 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1264
1194
|
begin
|
1265
1195
|
te = p
|
1266
1196
|
p = p - 1; begin
|
@@ -1273,8 +1203,8 @@ p = p - 1; begin
|
|
1273
1203
|
end
|
1274
1204
|
end
|
1275
1205
|
end
|
1276
|
-
when
|
1277
|
-
# line
|
1206
|
+
when 77 then
|
1207
|
+
# line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1278
1208
|
begin
|
1279
1209
|
te = p
|
1280
1210
|
p = p - 1; begin
|
@@ -1282,15 +1212,15 @@ p = p - 1; begin
|
|
1282
1212
|
begin
|
1283
1213
|
stack[top] = cs
|
1284
1214
|
top+= 1
|
1285
|
-
cs =
|
1215
|
+
cs = 91
|
1286
1216
|
_goto_level = _again
|
1287
1217
|
next
|
1288
1218
|
end
|
1289
1219
|
|
1290
1220
|
end
|
1291
1221
|
end
|
1292
|
-
when
|
1293
|
-
# line
|
1222
|
+
when 72 then
|
1223
|
+
# line 248 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1294
1224
|
begin
|
1295
1225
|
te = p
|
1296
1226
|
p = p - 1; begin
|
@@ -1298,8 +1228,8 @@ p = p - 1; begin
|
|
1298
1228
|
emit(:literal, :literal, text)
|
1299
1229
|
end
|
1300
1230
|
end
|
1301
|
-
when
|
1302
|
-
# line
|
1231
|
+
when 17 then
|
1232
|
+
# line 194 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1303
1233
|
begin
|
1304
1234
|
begin p = ((te))-1; end
|
1305
1235
|
begin
|
@@ -1312,8 +1242,8 @@ p = p - 1; begin
|
|
1312
1242
|
end
|
1313
1243
|
end
|
1314
1244
|
end
|
1315
|
-
when
|
1316
|
-
# line
|
1245
|
+
when 20 then
|
1246
|
+
# line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1317
1247
|
begin
|
1318
1248
|
begin p = ((te))-1; end
|
1319
1249
|
begin
|
@@ -1321,15 +1251,15 @@ p = p - 1; begin
|
|
1321
1251
|
begin
|
1322
1252
|
stack[top] = cs
|
1323
1253
|
top+= 1
|
1324
|
-
cs =
|
1254
|
+
cs = 91
|
1325
1255
|
_goto_level = _again
|
1326
1256
|
next
|
1327
1257
|
end
|
1328
1258
|
|
1329
1259
|
end
|
1330
1260
|
end
|
1331
|
-
when
|
1332
|
-
# line
|
1261
|
+
when 15 then
|
1262
|
+
# line 248 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1333
1263
|
begin
|
1334
1264
|
begin p = ((te))-1; end
|
1335
1265
|
begin
|
@@ -1337,25 +1267,25 @@ p = p - 1; begin
|
|
1337
1267
|
emit(:literal, :literal, text)
|
1338
1268
|
end
|
1339
1269
|
end
|
1340
|
-
when
|
1341
|
-
# line
|
1270
|
+
when 79 then
|
1271
|
+
# line 257 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1342
1272
|
begin
|
1343
1273
|
te = p+1
|
1344
1274
|
begin
|
1345
1275
|
p = p - 1;
|
1346
|
-
cs =
|
1276
|
+
cs = 91;
|
1347
1277
|
begin
|
1348
1278
|
stack[top] = cs
|
1349
1279
|
top+= 1
|
1350
|
-
cs =
|
1280
|
+
cs = 99
|
1351
1281
|
_goto_level = _again
|
1352
1282
|
next
|
1353
1283
|
end
|
1354
1284
|
|
1355
1285
|
end
|
1356
1286
|
end
|
1357
|
-
when
|
1358
|
-
# line
|
1287
|
+
when 78 then
|
1288
|
+
# line 263 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1359
1289
|
begin
|
1360
1290
|
te = p+1
|
1361
1291
|
begin
|
@@ -1369,8 +1299,8 @@ te = p+1
|
|
1369
1299
|
|
1370
1300
|
end
|
1371
1301
|
end
|
1372
|
-
when
|
1373
|
-
# line
|
1302
|
+
when 83 then
|
1303
|
+
# line 273 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1374
1304
|
begin
|
1375
1305
|
te = p+1
|
1376
1306
|
begin
|
@@ -1385,8 +1315,8 @@ te = p+1
|
|
1385
1315
|
|
1386
1316
|
end
|
1387
1317
|
end
|
1388
|
-
when
|
1389
|
-
# line
|
1318
|
+
when 90 then
|
1319
|
+
# line 279 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1390
1320
|
begin
|
1391
1321
|
te = p+1
|
1392
1322
|
begin
|
@@ -1400,8 +1330,8 @@ te = p+1
|
|
1400
1330
|
|
1401
1331
|
end
|
1402
1332
|
end
|
1403
|
-
when
|
1404
|
-
# line
|
1333
|
+
when 80 then
|
1334
|
+
# line 284 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1405
1335
|
begin
|
1406
1336
|
te = p+1
|
1407
1337
|
begin
|
@@ -1431,8 +1361,8 @@ te = p+1
|
|
1431
1361
|
|
1432
1362
|
end
|
1433
1363
|
end
|
1434
|
-
when
|
1435
|
-
# line
|
1364
|
+
when 86 then
|
1365
|
+
# line 305 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1436
1366
|
begin
|
1437
1367
|
te = p+1
|
1438
1368
|
begin
|
@@ -1457,13 +1387,13 @@ te = p+1
|
|
1457
1387
|
|
1458
1388
|
end
|
1459
1389
|
end
|
1460
|
-
when
|
1461
|
-
# line
|
1390
|
+
when 29 then
|
1391
|
+
# line 321 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1462
1392
|
begin
|
1463
1393
|
te = p+1
|
1464
1394
|
begin
|
1465
1395
|
text = copy(data, ts-1, te)
|
1466
|
-
if text[2]
|
1396
|
+
if text[2] == '{'
|
1467
1397
|
emit(:escape, :codepoint_list, text)
|
1468
1398
|
else
|
1469
1399
|
emit(:escape, :codepoint, text)
|
@@ -1477,8 +1407,8 @@ te = p+1
|
|
1477
1407
|
|
1478
1408
|
end
|
1479
1409
|
end
|
1480
|
-
when
|
1481
|
-
# line
|
1410
|
+
when 96 then
|
1411
|
+
# line 331 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1482
1412
|
begin
|
1483
1413
|
te = p+1
|
1484
1414
|
begin
|
@@ -1492,8 +1422,8 @@ te = p+1
|
|
1492
1422
|
|
1493
1423
|
end
|
1494
1424
|
end
|
1495
|
-
when
|
1496
|
-
# line
|
1425
|
+
when 25 then
|
1426
|
+
# line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1497
1427
|
begin
|
1498
1428
|
te = p+1
|
1499
1429
|
begin
|
@@ -1507,8 +1437,8 @@ te = p+1
|
|
1507
1437
|
|
1508
1438
|
end
|
1509
1439
|
end
|
1510
|
-
when
|
1511
|
-
# line
|
1440
|
+
when 27 then
|
1441
|
+
# line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1512
1442
|
begin
|
1513
1443
|
te = p+1
|
1514
1444
|
begin
|
@@ -1522,42 +1452,42 @@ te = p+1
|
|
1522
1452
|
|
1523
1453
|
end
|
1524
1454
|
end
|
1525
|
-
when
|
1526
|
-
# line
|
1455
|
+
when 84 then
|
1456
|
+
# line 350 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1527
1457
|
begin
|
1528
1458
|
te = p+1
|
1529
1459
|
begin
|
1530
1460
|
p = p - 1;
|
1531
|
-
cs = ((in_set? ?
|
1461
|
+
cs = ((in_set? ? 91 : 73));
|
1532
1462
|
begin
|
1533
1463
|
stack[top] = cs
|
1534
1464
|
top+= 1
|
1535
|
-
cs =
|
1465
|
+
cs = 89
|
1536
1466
|
_goto_level = _again
|
1537
1467
|
next
|
1538
1468
|
end
|
1539
1469
|
|
1540
1470
|
end
|
1541
1471
|
end
|
1542
|
-
when
|
1543
|
-
# line
|
1472
|
+
when 85 then
|
1473
|
+
# line 356 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1544
1474
|
begin
|
1545
1475
|
te = p+1
|
1546
1476
|
begin
|
1547
1477
|
p = p - 1;
|
1548
|
-
cs = ((in_set? ?
|
1478
|
+
cs = ((in_set? ? 91 : 73));
|
1549
1479
|
begin
|
1550
1480
|
stack[top] = cs
|
1551
1481
|
top+= 1
|
1552
|
-
cs =
|
1482
|
+
cs = 90
|
1553
1483
|
_goto_level = _again
|
1554
1484
|
next
|
1555
1485
|
end
|
1556
1486
|
|
1557
1487
|
end
|
1558
1488
|
end
|
1559
|
-
when
|
1560
|
-
# line
|
1489
|
+
when 23 then
|
1490
|
+
# line 362 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1561
1491
|
begin
|
1562
1492
|
te = p+1
|
1563
1493
|
begin
|
@@ -1571,8 +1501,8 @@ te = p+1
|
|
1571
1501
|
|
1572
1502
|
end
|
1573
1503
|
end
|
1574
|
-
when
|
1575
|
-
# line
|
1504
|
+
when 89 then
|
1505
|
+
# line 279 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1576
1506
|
begin
|
1577
1507
|
te = p
|
1578
1508
|
p = p - 1; begin
|
@@ -1586,8 +1516,8 @@ p = p - 1; begin
|
|
1586
1516
|
|
1587
1517
|
end
|
1588
1518
|
end
|
1589
|
-
when
|
1590
|
-
# line
|
1519
|
+
when 95 then
|
1520
|
+
# line 331 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1591
1521
|
begin
|
1592
1522
|
te = p
|
1593
1523
|
p = p - 1; begin
|
@@ -1601,8 +1531,8 @@ p = p - 1; begin
|
|
1601
1531
|
|
1602
1532
|
end
|
1603
1533
|
end
|
1604
|
-
when
|
1605
|
-
# line
|
1534
|
+
when 92 then
|
1535
|
+
# line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1606
1536
|
begin
|
1607
1537
|
te = p
|
1608
1538
|
p = p - 1; begin
|
@@ -1616,8 +1546,8 @@ p = p - 1; begin
|
|
1616
1546
|
|
1617
1547
|
end
|
1618
1548
|
end
|
1619
|
-
when
|
1620
|
-
# line
|
1549
|
+
when 94 then
|
1550
|
+
# line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1621
1551
|
begin
|
1622
1552
|
te = p
|
1623
1553
|
p = p - 1; begin
|
@@ -1631,8 +1561,8 @@ p = p - 1; begin
|
|
1631
1561
|
|
1632
1562
|
end
|
1633
1563
|
end
|
1634
|
-
when
|
1635
|
-
# line
|
1564
|
+
when 87 then
|
1565
|
+
# line 362 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1636
1566
|
begin
|
1637
1567
|
te = p
|
1638
1568
|
p = p - 1; begin
|
@@ -1646,8 +1576,8 @@ p = p - 1; begin
|
|
1646
1576
|
|
1647
1577
|
end
|
1648
1578
|
end
|
1649
|
-
when
|
1650
|
-
# line
|
1579
|
+
when 22 then
|
1580
|
+
# line 362 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1651
1581
|
begin
|
1652
1582
|
begin p = ((te))-1; end
|
1653
1583
|
begin
|
@@ -1661,7 +1591,7 @@ p = p - 1; begin
|
|
1661
1591
|
|
1662
1592
|
end
|
1663
1593
|
end
|
1664
|
-
when
|
1594
|
+
when 88 then
|
1665
1595
|
# line 1 "NONE"
|
1666
1596
|
begin
|
1667
1597
|
case act
|
@@ -1692,8 +1622,8 @@ p = p - 1; begin
|
|
1692
1622
|
end
|
1693
1623
|
end
|
1694
1624
|
end
|
1695
|
-
when
|
1696
|
-
# line
|
1625
|
+
when 32 then
|
1626
|
+
# line 372 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1697
1627
|
begin
|
1698
1628
|
te = p+1
|
1699
1629
|
begin
|
@@ -1702,8 +1632,8 @@ te = p+1
|
|
1702
1632
|
emit(:conditional, :condition_close, ')')
|
1703
1633
|
end
|
1704
1634
|
end
|
1705
|
-
when
|
1706
|
-
# line
|
1635
|
+
when 97 then
|
1636
|
+
# line 378 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1707
1637
|
begin
|
1708
1638
|
te = p+1
|
1709
1639
|
begin
|
@@ -1711,15 +1641,15 @@ te = p+1
|
|
1711
1641
|
begin
|
1712
1642
|
stack[top] = cs
|
1713
1643
|
top+= 1
|
1714
|
-
cs =
|
1644
|
+
cs = 73
|
1715
1645
|
_goto_level = _again
|
1716
1646
|
next
|
1717
1647
|
end
|
1718
1648
|
|
1719
1649
|
end
|
1720
1650
|
end
|
1721
|
-
when
|
1722
|
-
# line
|
1651
|
+
when 98 then
|
1652
|
+
# line 378 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1723
1653
|
begin
|
1724
1654
|
te = p
|
1725
1655
|
p = p - 1; begin
|
@@ -1727,15 +1657,15 @@ p = p - 1; begin
|
|
1727
1657
|
begin
|
1728
1658
|
stack[top] = cs
|
1729
1659
|
top+= 1
|
1730
|
-
cs =
|
1660
|
+
cs = 73
|
1731
1661
|
_goto_level = _again
|
1732
1662
|
next
|
1733
1663
|
end
|
1734
1664
|
|
1735
1665
|
end
|
1736
1666
|
end
|
1737
|
-
when
|
1738
|
-
# line
|
1667
|
+
when 31 then
|
1668
|
+
# line 378 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1739
1669
|
begin
|
1740
1670
|
begin p = ((te))-1; end
|
1741
1671
|
begin
|
@@ -1743,23 +1673,23 @@ p = p - 1; begin
|
|
1743
1673
|
begin
|
1744
1674
|
stack[top] = cs
|
1745
1675
|
top+= 1
|
1746
|
-
cs =
|
1676
|
+
cs = 73
|
1747
1677
|
_goto_level = _again
|
1748
1678
|
next
|
1749
1679
|
end
|
1750
1680
|
|
1751
1681
|
end
|
1752
1682
|
end
|
1753
|
-
when
|
1754
|
-
# line
|
1683
|
+
when 38 then
|
1684
|
+
# line 391 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1755
1685
|
begin
|
1756
1686
|
te = p+1
|
1757
1687
|
begin
|
1758
1688
|
emit(:meta, :dot, copy(data, ts, te))
|
1759
1689
|
end
|
1760
1690
|
end
|
1761
|
-
when
|
1762
|
-
# line
|
1691
|
+
when 43 then
|
1692
|
+
# line 395 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1763
1693
|
begin
|
1764
1694
|
te = p+1
|
1765
1695
|
begin
|
@@ -1770,55 +1700,55 @@ te = p+1
|
|
1770
1700
|
end
|
1771
1701
|
end
|
1772
1702
|
end
|
1773
|
-
when
|
1774
|
-
# line
|
1703
|
+
when 42 then
|
1704
|
+
# line 405 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1775
1705
|
begin
|
1776
1706
|
te = p+1
|
1777
1707
|
begin
|
1778
1708
|
emit(:anchor, :bol, copy(data, ts, te))
|
1779
1709
|
end
|
1780
1710
|
end
|
1781
|
-
when
|
1782
|
-
# line
|
1711
|
+
when 35 then
|
1712
|
+
# line 409 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1783
1713
|
begin
|
1784
1714
|
te = p+1
|
1785
1715
|
begin
|
1786
1716
|
emit(:anchor, :eol, copy(data, ts, te))
|
1787
1717
|
end
|
1788
1718
|
end
|
1789
|
-
when
|
1790
|
-
# line
|
1719
|
+
when 63 then
|
1720
|
+
# line 413 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1791
1721
|
begin
|
1792
1722
|
te = p+1
|
1793
1723
|
begin
|
1794
1724
|
emit(:keep, :mark, copy(data, ts, te))
|
1795
1725
|
end
|
1796
1726
|
end
|
1797
|
-
when
|
1798
|
-
# line
|
1727
|
+
when 62 then
|
1728
|
+
# line 417 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1799
1729
|
begin
|
1800
1730
|
te = p+1
|
1801
1731
|
begin
|
1802
1732
|
case text = copy(data, ts, te)
|
1803
|
-
when '
|
1804
|
-
when '
|
1805
|
-
when '
|
1806
|
-
when '
|
1807
|
-
when '
|
1808
|
-
when '
|
1733
|
+
when '\A'; emit(:anchor, :bos, text)
|
1734
|
+
when '\z'; emit(:anchor, :eos, text)
|
1735
|
+
when '\Z'; emit(:anchor, :eos_ob_eol, text)
|
1736
|
+
when '\b'; emit(:anchor, :word_boundary, text)
|
1737
|
+
when '\B'; emit(:anchor, :nonword_boundary, text)
|
1738
|
+
when '\G'; emit(:anchor, :match_start, text)
|
1809
1739
|
end
|
1810
1740
|
end
|
1811
1741
|
end
|
1812
|
-
when
|
1813
|
-
# line
|
1742
|
+
when 41 then
|
1743
|
+
# line 428 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1814
1744
|
begin
|
1815
1745
|
te = p+1
|
1816
1746
|
begin
|
1817
1747
|
append_literal(data, ts, te)
|
1818
1748
|
end
|
1819
1749
|
end
|
1820
|
-
when
|
1821
|
-
# line
|
1750
|
+
when 52 then
|
1751
|
+
# line 443 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1822
1752
|
begin
|
1823
1753
|
te = p+1
|
1824
1754
|
begin
|
@@ -1831,27 +1761,27 @@ te = p+1
|
|
1831
1761
|
begin
|
1832
1762
|
stack[top] = cs
|
1833
1763
|
top+= 1
|
1834
|
-
cs =
|
1764
|
+
cs = 113
|
1835
1765
|
_goto_level = _again
|
1836
1766
|
next
|
1837
1767
|
end
|
1838
1768
|
|
1839
1769
|
end
|
1840
1770
|
end
|
1841
|
-
when
|
1842
|
-
# line
|
1771
|
+
when 53 then
|
1772
|
+
# line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1843
1773
|
begin
|
1844
1774
|
te = p+1
|
1845
1775
|
begin
|
1846
1776
|
text = copy(data, ts, te)
|
1847
1777
|
if text[2..-1] =~ /([^\-mixdau:]|^$)|-.*([dau])/
|
1848
|
-
|
1778
|
+
validation_error(:group_option, $1 || "-#{$2}", text)
|
1849
1779
|
end
|
1850
1780
|
emit_options(text)
|
1851
1781
|
end
|
1852
1782
|
end
|
1853
|
-
when
|
1854
|
-
# line
|
1783
|
+
when 51 then
|
1784
|
+
# line 488 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1855
1785
|
begin
|
1856
1786
|
te = p+1
|
1857
1787
|
begin
|
@@ -1864,7 +1794,7 @@ te = p+1
|
|
1864
1794
|
end
|
1865
1795
|
end
|
1866
1796
|
when 6 then
|
1867
|
-
# line
|
1797
|
+
# line 505 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1868
1798
|
begin
|
1869
1799
|
te = p+1
|
1870
1800
|
begin
|
@@ -1886,7 +1816,7 @@ te = p+1
|
|
1886
1816
|
end
|
1887
1817
|
end
|
1888
1818
|
when 10 then
|
1889
|
-
# line
|
1819
|
+
# line 546 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1890
1820
|
begin
|
1891
1821
|
te = p+1
|
1892
1822
|
begin
|
@@ -1907,7 +1837,7 @@ te = p+1
|
|
1907
1837
|
end
|
1908
1838
|
end
|
1909
1839
|
when 9 then
|
1910
|
-
# line
|
1840
|
+
# line 565 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1911
1841
|
begin
|
1912
1842
|
te = p+1
|
1913
1843
|
begin
|
@@ -1923,8 +1853,8 @@ te = p+1
|
|
1923
1853
|
end
|
1924
1854
|
end
|
1925
1855
|
end
|
1926
|
-
when
|
1927
|
-
# line
|
1856
|
+
when 60 then
|
1857
|
+
# line 581 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1928
1858
|
begin
|
1929
1859
|
te = p+1
|
1930
1860
|
begin
|
@@ -1935,8 +1865,8 @@ te = p+1
|
|
1935
1865
|
end
|
1936
1866
|
end
|
1937
1867
|
end
|
1938
|
-
when
|
1939
|
-
# line
|
1868
|
+
when 56 then
|
1869
|
+
# line 589 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1940
1870
|
begin
|
1941
1871
|
te = p+1
|
1942
1872
|
begin
|
@@ -1947,8 +1877,8 @@ te = p+1
|
|
1947
1877
|
end
|
1948
1878
|
end
|
1949
1879
|
end
|
1950
|
-
when
|
1951
|
-
# line
|
1880
|
+
when 58 then
|
1881
|
+
# line 597 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1952
1882
|
begin
|
1953
1883
|
te = p+1
|
1954
1884
|
begin
|
@@ -1959,16 +1889,16 @@ te = p+1
|
|
1959
1889
|
end
|
1960
1890
|
end
|
1961
1891
|
end
|
1962
|
-
when
|
1963
|
-
# line
|
1892
|
+
when 12 then
|
1893
|
+
# line 605 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1964
1894
|
begin
|
1965
1895
|
te = p+1
|
1966
1896
|
begin
|
1967
1897
|
emit(:quantifier, :interval, copy(data, ts, te))
|
1968
1898
|
end
|
1969
1899
|
end
|
1970
|
-
when
|
1971
|
-
# line
|
1900
|
+
when 47 then
|
1901
|
+
# line 620 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1972
1902
|
begin
|
1973
1903
|
te = p+1
|
1974
1904
|
begin
|
@@ -1982,20 +1912,20 @@ te = p+1
|
|
1982
1912
|
end
|
1983
1913
|
end
|
1984
1914
|
end
|
1985
|
-
when
|
1986
|
-
# line
|
1915
|
+
when 50 then
|
1916
|
+
# line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1987
1917
|
begin
|
1988
1918
|
te = p
|
1989
1919
|
p = p - 1; begin
|
1990
1920
|
text = copy(data, ts, te)
|
1991
1921
|
if text[2..-1] =~ /([^\-mixdau:]|^$)|-.*([dau])/
|
1992
|
-
|
1922
|
+
validation_error(:group_option, $1 || "-#{$2}", text)
|
1993
1923
|
end
|
1994
1924
|
emit_options(text)
|
1995
1925
|
end
|
1996
1926
|
end
|
1997
|
-
when
|
1998
|
-
# line
|
1927
|
+
when 54 then
|
1928
|
+
# line 488 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
1999
1929
|
begin
|
2000
1930
|
te = p
|
2001
1931
|
p = p - 1; begin
|
@@ -2007,8 +1937,8 @@ p = p - 1; begin
|
|
2007
1937
|
end
|
2008
1938
|
end
|
2009
1939
|
end
|
2010
|
-
when
|
2011
|
-
# line
|
1940
|
+
when 48 then
|
1941
|
+
# line 523 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2012
1942
|
begin
|
2013
1943
|
te = p
|
2014
1944
|
p = p - 1; begin
|
@@ -2016,8 +1946,8 @@ p = p - 1; begin
|
|
2016
1946
|
emit(:group, :capture, text)
|
2017
1947
|
end
|
2018
1948
|
end
|
2019
|
-
when
|
2020
|
-
# line
|
1949
|
+
when 59 then
|
1950
|
+
# line 581 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2021
1951
|
begin
|
2022
1952
|
te = p
|
2023
1953
|
p = p - 1; begin
|
@@ -2028,8 +1958,8 @@ p = p - 1; begin
|
|
2028
1958
|
end
|
2029
1959
|
end
|
2030
1960
|
end
|
2031
|
-
when
|
2032
|
-
# line
|
1961
|
+
when 55 then
|
1962
|
+
# line 589 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2033
1963
|
begin
|
2034
1964
|
te = p
|
2035
1965
|
p = p - 1; begin
|
@@ -2040,8 +1970,8 @@ p = p - 1; begin
|
|
2040
1970
|
end
|
2041
1971
|
end
|
2042
1972
|
end
|
2043
|
-
when
|
2044
|
-
# line
|
1973
|
+
when 57 then
|
1974
|
+
# line 597 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2045
1975
|
begin
|
2046
1976
|
te = p
|
2047
1977
|
p = p - 1; begin
|
@@ -2053,38 +1983,30 @@ p = p - 1; begin
|
|
2053
1983
|
end
|
2054
1984
|
end
|
2055
1985
|
when 64 then
|
2056
|
-
# line
|
2057
|
-
begin
|
2058
|
-
te = p
|
2059
|
-
p = p - 1; begin
|
2060
|
-
emit(:quantifier, :interval, copy(data, ts, te))
|
2061
|
-
end
|
2062
|
-
end
|
2063
|
-
when 63 then
|
2064
|
-
# line 613 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1986
|
+
# line 610 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2065
1987
|
begin
|
2066
1988
|
te = p
|
2067
1989
|
p = p - 1; begin
|
2068
1990
|
append_literal(data, ts, te)
|
2069
1991
|
end
|
2070
1992
|
end
|
2071
|
-
when
|
2072
|
-
# line
|
1993
|
+
when 61 then
|
1994
|
+
# line 616 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2073
1995
|
begin
|
2074
1996
|
te = p
|
2075
1997
|
p = p - 1; begin
|
2076
1998
|
begin
|
2077
1999
|
stack[top] = cs
|
2078
2000
|
top+= 1
|
2079
|
-
cs =
|
2001
|
+
cs = 99
|
2080
2002
|
_goto_level = _again
|
2081
2003
|
next
|
2082
2004
|
end
|
2083
2005
|
|
2084
2006
|
end
|
2085
2007
|
end
|
2086
|
-
when
|
2087
|
-
# line
|
2008
|
+
when 46 then
|
2009
|
+
# line 620 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2088
2010
|
begin
|
2089
2011
|
te = p
|
2090
2012
|
p = p - 1; begin
|
@@ -2098,8 +2020,8 @@ p = p - 1; begin
|
|
2098
2020
|
end
|
2099
2021
|
end
|
2100
2022
|
end
|
2101
|
-
when
|
2102
|
-
# line
|
2023
|
+
when 45 then
|
2024
|
+
# line 630 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2103
2025
|
begin
|
2104
2026
|
te = p
|
2105
2027
|
p = p - 1; begin
|
@@ -2110,8 +2032,8 @@ p = p - 1; begin
|
|
2110
2032
|
end
|
2111
2033
|
end
|
2112
2034
|
end
|
2113
|
-
when
|
2114
|
-
# line
|
2035
|
+
when 44 then
|
2036
|
+
# line 641 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2115
2037
|
begin
|
2116
2038
|
te = p
|
2117
2039
|
p = p - 1; begin
|
@@ -2119,19 +2041,19 @@ p = p - 1; begin
|
|
2119
2041
|
end
|
2120
2042
|
end
|
2121
2043
|
when 3 then
|
2122
|
-
# line
|
2044
|
+
# line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2123
2045
|
begin
|
2124
2046
|
begin p = ((te))-1; end
|
2125
2047
|
begin
|
2126
2048
|
text = copy(data, ts, te)
|
2127
2049
|
if text[2..-1] =~ /([^\-mixdau:]|^$)|-.*([dau])/
|
2128
|
-
|
2050
|
+
validation_error(:group_option, $1 || "-#{$2}", text)
|
2129
2051
|
end
|
2130
2052
|
emit_options(text)
|
2131
2053
|
end
|
2132
2054
|
end
|
2133
2055
|
when 11 then
|
2134
|
-
# line
|
2056
|
+
# line 610 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2135
2057
|
begin
|
2136
2058
|
begin p = ((te))-1; end
|
2137
2059
|
begin
|
@@ -2139,14 +2061,14 @@ p = p - 1; begin
|
|
2139
2061
|
end
|
2140
2062
|
end
|
2141
2063
|
when 8 then
|
2142
|
-
# line
|
2064
|
+
# line 616 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2143
2065
|
begin
|
2144
2066
|
begin p = ((te))-1; end
|
2145
2067
|
begin
|
2146
2068
|
begin
|
2147
2069
|
stack[top] = cs
|
2148
2070
|
top+= 1
|
2149
|
-
cs =
|
2071
|
+
cs = 99
|
2150
2072
|
_goto_level = _again
|
2151
2073
|
next
|
2152
2074
|
end
|
@@ -2169,7 +2091,7 @@ end
|
|
2169
2091
|
|
2170
2092
|
text = copy(data, ts, te)
|
2171
2093
|
if text[2..-1] =~ /([^\-mixdau:]|^$)|-.*([dau])/
|
2172
|
-
|
2094
|
+
validation_error(:group_option, $1 || "-#{$2}", text)
|
2173
2095
|
end
|
2174
2096
|
emit_options(text)
|
2175
2097
|
end
|
@@ -2190,14 +2112,14 @@ end
|
|
2190
2112
|
end
|
2191
2113
|
end
|
2192
2114
|
end
|
2193
|
-
when
|
2194
|
-
# line
|
2115
|
+
when 76 then
|
2116
|
+
# line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2195
2117
|
begin
|
2196
2118
|
|
2197
2119
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2198
2120
|
raise PrematureEndError.new( text )
|
2199
2121
|
end
|
2200
|
-
# line
|
2122
|
+
# line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2201
2123
|
begin
|
2202
2124
|
te = p
|
2203
2125
|
p = p - 1; begin
|
@@ -2205,21 +2127,21 @@ p = p - 1; begin
|
|
2205
2127
|
begin
|
2206
2128
|
stack[top] = cs
|
2207
2129
|
top+= 1
|
2208
|
-
cs =
|
2130
|
+
cs = 91
|
2209
2131
|
_goto_level = _again
|
2210
2132
|
next
|
2211
2133
|
end
|
2212
2134
|
|
2213
2135
|
end
|
2214
2136
|
end
|
2215
|
-
when
|
2216
|
-
# line
|
2137
|
+
when 19 then
|
2138
|
+
# line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2217
2139
|
begin
|
2218
2140
|
|
2219
2141
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2220
2142
|
raise PrematureEndError.new( text )
|
2221
2143
|
end
|
2222
|
-
# line
|
2144
|
+
# line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2223
2145
|
begin
|
2224
2146
|
begin p = ((te))-1; end
|
2225
2147
|
begin
|
@@ -2227,21 +2149,21 @@ p = p - 1; begin
|
|
2227
2149
|
begin
|
2228
2150
|
stack[top] = cs
|
2229
2151
|
top+= 1
|
2230
|
-
cs =
|
2152
|
+
cs = 91
|
2231
2153
|
_goto_level = _again
|
2232
2154
|
next
|
2233
2155
|
end
|
2234
2156
|
|
2235
2157
|
end
|
2236
2158
|
end
|
2237
|
-
when
|
2238
|
-
# line
|
2159
|
+
when 91 then
|
2160
|
+
# line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2239
2161
|
begin
|
2240
2162
|
|
2241
2163
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2242
2164
|
raise PrematureEndError.new( text )
|
2243
2165
|
end
|
2244
|
-
# line
|
2166
|
+
# line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2245
2167
|
begin
|
2246
2168
|
te = p
|
2247
2169
|
p = p - 1; begin
|
@@ -2255,14 +2177,14 @@ p = p - 1; begin
|
|
2255
2177
|
|
2256
2178
|
end
|
2257
2179
|
end
|
2258
|
-
when
|
2259
|
-
# line
|
2180
|
+
when 93 then
|
2181
|
+
# line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2260
2182
|
begin
|
2261
2183
|
|
2262
2184
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2263
2185
|
raise PrematureEndError.new( text )
|
2264
2186
|
end
|
2265
|
-
# line
|
2187
|
+
# line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2266
2188
|
begin
|
2267
2189
|
te = p
|
2268
2190
|
p = p - 1; begin
|
@@ -2276,14 +2198,14 @@ p = p - 1; begin
|
|
2276
2198
|
|
2277
2199
|
end
|
2278
2200
|
end
|
2279
|
-
when
|
2280
|
-
# line
|
2201
|
+
when 26 then
|
2202
|
+
# line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2281
2203
|
begin
|
2282
2204
|
|
2283
2205
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2284
2206
|
raise PrematureEndError.new( text )
|
2285
2207
|
end
|
2286
|
-
# line
|
2208
|
+
# line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2287
2209
|
begin
|
2288
2210
|
begin p = ((te))-1; end
|
2289
2211
|
begin
|
@@ -2297,14 +2219,14 @@ p = p - 1; begin
|
|
2297
2219
|
|
2298
2220
|
end
|
2299
2221
|
end
|
2300
|
-
when
|
2301
|
-
# line
|
2222
|
+
when 28 then
|
2223
|
+
# line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2302
2224
|
begin
|
2303
2225
|
|
2304
2226
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2305
2227
|
raise PrematureEndError.new( text )
|
2306
2228
|
end
|
2307
|
-
# line
|
2229
|
+
# line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2308
2230
|
begin
|
2309
2231
|
begin p = ((te))-1; end
|
2310
2232
|
begin
|
@@ -2318,14 +2240,14 @@ p = p - 1; begin
|
|
2318
2240
|
|
2319
2241
|
end
|
2320
2242
|
end
|
2321
|
-
when
|
2322
|
-
# line
|
2243
|
+
when 30 then
|
2244
|
+
# line 146 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2323
2245
|
begin
|
2324
2246
|
|
2325
2247
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2326
2248
|
validation_error(:sequence, 'sequence', text)
|
2327
2249
|
end
|
2328
|
-
# line
|
2250
|
+
# line 336 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2329
2251
|
begin
|
2330
2252
|
te = p+1
|
2331
2253
|
begin
|
@@ -2339,21 +2261,21 @@ te = p+1
|
|
2339
2261
|
end
|
2340
2262
|
end
|
2341
2263
|
when 5 then
|
2342
|
-
# line
|
2264
|
+
# line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2343
2265
|
begin
|
2344
2266
|
self.group_depth = group_depth - 1 end
|
2345
|
-
# line
|
2267
|
+
# line 459 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2346
2268
|
begin
|
2347
2269
|
te = p+1
|
2348
2270
|
begin
|
2349
2271
|
emit(:group, :comment, copy(data, ts, te))
|
2350
2272
|
end
|
2351
2273
|
end
|
2352
|
-
when
|
2353
|
-
# line
|
2274
|
+
when 37 then
|
2275
|
+
# line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2354
2276
|
begin
|
2355
2277
|
self.group_depth = group_depth - 1 end
|
2356
|
-
# line
|
2278
|
+
# line 528 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2357
2279
|
begin
|
2358
2280
|
te = p+1
|
2359
2281
|
begin
|
@@ -2371,11 +2293,11 @@ te = p+1
|
|
2371
2293
|
end
|
2372
2294
|
end
|
2373
2295
|
end
|
2374
|
-
when
|
2375
|
-
# line
|
2296
|
+
when 39 then
|
2297
|
+
# line 154 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2376
2298
|
begin
|
2377
2299
|
self.set_depth = set_depth + 1 end
|
2378
|
-
# line
|
2300
|
+
# line 434 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2379
2301
|
begin
|
2380
2302
|
te = p+1
|
2381
2303
|
begin
|
@@ -2383,18 +2305,18 @@ te = p+1
|
|
2383
2305
|
begin
|
2384
2306
|
stack[top] = cs
|
2385
2307
|
top+= 1
|
2386
|
-
cs =
|
2308
|
+
cs = 91
|
2387
2309
|
_goto_level = _again
|
2388
2310
|
next
|
2389
2311
|
end
|
2390
2312
|
|
2391
2313
|
end
|
2392
2314
|
end
|
2393
|
-
when
|
2394
|
-
# line
|
2315
|
+
when 70 then
|
2316
|
+
# line 155 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2395
2317
|
begin
|
2396
2318
|
self.set_depth = set_depth - 1 end
|
2397
|
-
# line
|
2319
|
+
# line 161 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2398
2320
|
begin
|
2399
2321
|
te = p+1
|
2400
2322
|
begin
|
@@ -2409,7 +2331,7 @@ te = p+1
|
|
2409
2331
|
|
2410
2332
|
else
|
2411
2333
|
begin
|
2412
|
-
cs =
|
2334
|
+
cs = 73
|
2413
2335
|
_goto_level = _again
|
2414
2336
|
next
|
2415
2337
|
end
|
@@ -2417,11 +2339,11 @@ te = p+1
|
|
2417
2339
|
end
|
2418
2340
|
end
|
2419
2341
|
end
|
2420
|
-
when
|
2421
|
-
# line
|
2342
|
+
when 75 then
|
2343
|
+
# line 155 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2422
2344
|
begin
|
2423
2345
|
self.set_depth = set_depth - 1 end
|
2424
|
-
# line
|
2346
|
+
# line 170 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2425
2347
|
begin
|
2426
2348
|
te = p+1
|
2427
2349
|
begin # special case, emits two tokens
|
@@ -2437,7 +2359,7 @@ te = p+1
|
|
2437
2359
|
|
2438
2360
|
else
|
2439
2361
|
begin
|
2440
|
-
cs =
|
2362
|
+
cs = 73
|
2441
2363
|
_goto_level = _again
|
2442
2364
|
next
|
2443
2365
|
end
|
@@ -2445,11 +2367,11 @@ te = p+1
|
|
2445
2367
|
end
|
2446
2368
|
end
|
2447
2369
|
end
|
2448
|
-
when
|
2449
|
-
# line
|
2370
|
+
when 21 then
|
2371
|
+
# line 155 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2450
2372
|
begin
|
2451
2373
|
self.set_depth = set_depth - 1 end
|
2452
|
-
# line
|
2374
|
+
# line 219 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2453
2375
|
begin
|
2454
2376
|
te = p+1
|
2455
2377
|
begin
|
@@ -2457,36 +2379,40 @@ te = p+1
|
|
2457
2379
|
|
2458
2380
|
type = :posixclass
|
2459
2381
|
class_name = text[2..-3]
|
2460
|
-
if class_name[0]
|
2382
|
+
if class_name[0] == '^'
|
2461
2383
|
class_name = class_name[1..-1]
|
2462
2384
|
type = :nonposixclass
|
2463
2385
|
end
|
2464
2386
|
|
2387
|
+
unless self.class.posix_classes.include?(class_name)
|
2388
|
+
validation_error(:posix_class, text)
|
2389
|
+
end
|
2390
|
+
|
2465
2391
|
emit(type, class_name.to_sym, text)
|
2466
2392
|
end
|
2467
2393
|
end
|
2468
|
-
when
|
2394
|
+
when 68 then
|
2469
2395
|
# line 1 "NONE"
|
2470
2396
|
begin
|
2471
2397
|
te = p+1
|
2472
2398
|
end
|
2473
|
-
# line
|
2399
|
+
# line 154 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2474
2400
|
begin
|
2475
2401
|
self.set_depth = set_depth + 1 end
|
2476
|
-
when
|
2402
|
+
when 82 then
|
2477
2403
|
# line 1 "NONE"
|
2478
2404
|
begin
|
2479
2405
|
te = p+1
|
2480
2406
|
end
|
2481
|
-
# line
|
2407
|
+
# line 273 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2482
2408
|
begin
|
2483
2409
|
act = 16; end
|
2484
|
-
when
|
2410
|
+
when 81 then
|
2485
2411
|
# line 1 "NONE"
|
2486
2412
|
begin
|
2487
2413
|
te = p+1
|
2488
2414
|
end
|
2489
|
-
# line
|
2415
|
+
# line 279 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2490
2416
|
begin
|
2491
2417
|
act = 17; end
|
2492
2418
|
when 7 then
|
@@ -2494,7 +2420,7 @@ act = 17; end
|
|
2494
2420
|
begin
|
2495
2421
|
te = p+1
|
2496
2422
|
end
|
2497
|
-
# line
|
2423
|
+
# line 488 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2498
2424
|
begin
|
2499
2425
|
act = 41; end
|
2500
2426
|
when 2 then
|
@@ -2502,34 +2428,34 @@ act = 41; end
|
|
2502
2428
|
begin
|
2503
2429
|
te = p+1
|
2504
2430
|
end
|
2505
|
-
# line
|
2431
|
+
# line 641 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2506
2432
|
begin
|
2507
2433
|
act = 55; end
|
2508
|
-
when
|
2434
|
+
when 49 then
|
2509
2435
|
# line 1 "NONE"
|
2510
2436
|
begin
|
2511
2437
|
te = p+1
|
2512
2438
|
end
|
2513
|
-
# line
|
2439
|
+
# line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2514
2440
|
begin
|
2515
2441
|
self.group_depth = group_depth - 1 end
|
2516
|
-
# line
|
2442
|
+
# line 152 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2517
2443
|
begin
|
2518
2444
|
self.group_depth = group_depth + 1 end
|
2519
|
-
# line
|
2445
|
+
# line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2520
2446
|
begin
|
2521
2447
|
act = 40; end
|
2522
|
-
# line
|
2448
|
+
# line 2448 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
|
2523
2449
|
end
|
2524
2450
|
end
|
2525
2451
|
end
|
2526
2452
|
if _goto_level <= _again
|
2527
2453
|
case _re_scanner_to_state_actions[cs]
|
2528
|
-
when
|
2454
|
+
when 65 then
|
2529
2455
|
# line 1 "NONE"
|
2530
2456
|
begin
|
2531
2457
|
ts = nil; end
|
2532
|
-
when
|
2458
|
+
when 33 then
|
2533
2459
|
# line 1 "NONE"
|
2534
2460
|
begin
|
2535
2461
|
ts = nil; end
|
@@ -2537,7 +2463,7 @@ ts = nil; end
|
|
2537
2463
|
begin
|
2538
2464
|
act = 0
|
2539
2465
|
end
|
2540
|
-
# line
|
2466
|
+
# line 2466 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
|
2541
2467
|
end
|
2542
2468
|
|
2543
2469
|
if cs == 0
|
@@ -2558,20 +2484,20 @@ act = 0
|
|
2558
2484
|
next;
|
2559
2485
|
end
|
2560
2486
|
case _re_scanner_eof_actions[cs]
|
2561
|
-
when
|
2562
|
-
# line 8 "/Users/
|
2487
|
+
when 13 then
|
2488
|
+
# line 8 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/property.rl"
|
2563
2489
|
begin
|
2564
2490
|
|
2565
2491
|
raise PrematureEndError.new('unicode property')
|
2566
2492
|
end
|
2567
|
-
when
|
2568
|
-
# line
|
2493
|
+
when 24 then
|
2494
|
+
# line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2569
2495
|
begin
|
2570
2496
|
|
2571
2497
|
text = copy(data, ts ? ts-1 : 0, -1)
|
2572
2498
|
raise PrematureEndError.new( text )
|
2573
2499
|
end
|
2574
|
-
# line
|
2500
|
+
# line 2500 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
|
2575
2501
|
end
|
2576
2502
|
end
|
2577
2503
|
|
@@ -2582,7 +2508,7 @@ act = 0
|
|
2582
2508
|
end
|
2583
2509
|
end
|
2584
2510
|
|
2585
|
-
# line
|
2511
|
+
# line 746 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
|
2586
2512
|
|
2587
2513
|
# to avoid "warning: assigned but unused variable - testEof"
|
2588
2514
|
testEof = testEof
|
@@ -2604,14 +2530,21 @@ end
|
|
2604
2530
|
end
|
2605
2531
|
|
2606
2532
|
# lazy-load property maps when first needed
|
2607
|
-
require 'yaml'
|
2608
|
-
|
2609
2533
|
def self.short_prop_map
|
2610
|
-
@short_prop_map ||=
|
2534
|
+
@short_prop_map ||= parse_prop_map('short')
|
2611
2535
|
end
|
2612
2536
|
|
2613
2537
|
def self.long_prop_map
|
2614
|
-
@long_prop_map ||=
|
2538
|
+
@long_prop_map ||= parse_prop_map('long')
|
2539
|
+
end
|
2540
|
+
|
2541
|
+
def self.parse_prop_map(name)
|
2542
|
+
File.read("#{__dir__}/scanner/properties/#{name}.csv").scan(/(.+),(.+)/).to_h
|
2543
|
+
end
|
2544
|
+
|
2545
|
+
def self.posix_classes
|
2546
|
+
%w[alnum alpha ascii blank cntrl digit graph
|
2547
|
+
lower print punct space upper word xdigit]
|
2615
2548
|
end
|
2616
2549
|
|
2617
2550
|
# Emits an array with the details of the scanned pattern
|
@@ -2716,15 +2649,16 @@ end
|
|
2716
2649
|
|
2717
2650
|
# Centralizes and unifies the handling of validation related
|
2718
2651
|
# errors.
|
2719
|
-
def validation_error(type, what, reason)
|
2720
|
-
|
2721
|
-
|
2722
|
-
|
2723
|
-
|
2724
|
-
|
2725
|
-
|
2726
|
-
|
2727
|
-
|
2652
|
+
def validation_error(type, what, reason = nil)
|
2653
|
+
error =
|
2654
|
+
case type
|
2655
|
+
when :backref then InvalidBackrefError.new(what, reason)
|
2656
|
+
when :group then InvalidGroupError.new(what, reason)
|
2657
|
+
when :group_option then InvalidGroupOption.new(what, reason)
|
2658
|
+
when :posix_class then UnknownPosixClassError.new(what)
|
2659
|
+
when :property then UnknownUnicodePropertyError.new(what)
|
2660
|
+
when :sequence then InvalidSequenceError.new(what, reason)
|
2661
|
+
end
|
2728
2662
|
|
2729
2663
|
raise error # unless @@config.validation_ignore
|
2730
2664
|
end
|