regexp_parser 2.10.0 → 2.11.3
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/Gemfile +3 -1
- data/LICENSE +1 -1
- data/Rakefile +5 -3
- data/lib/regexp_parser/error.rb +2 -0
- data/lib/regexp_parser/expression/base.rb +2 -0
- data/lib/regexp_parser/expression/classes/alternation.rb +2 -0
- data/lib/regexp_parser/expression/classes/anchor.rb +2 -0
- data/lib/regexp_parser/expression/classes/backreference.rb +2 -0
- data/lib/regexp_parser/expression/classes/character_set/intersection.rb +2 -0
- data/lib/regexp_parser/expression/classes/character_set/range.rb +2 -0
- data/lib/regexp_parser/expression/classes/character_set.rb +2 -0
- data/lib/regexp_parser/expression/classes/character_type.rb +2 -0
- data/lib/regexp_parser/expression/classes/conditional.rb +2 -0
- data/lib/regexp_parser/expression/classes/escape_sequence.rb +3 -0
- data/lib/regexp_parser/expression/classes/free_space.rb +2 -0
- data/lib/regexp_parser/expression/classes/group.rb +2 -0
- data/lib/regexp_parser/expression/classes/keep.rb +2 -0
- data/lib/regexp_parser/expression/classes/literal.rb +2 -0
- data/lib/regexp_parser/expression/classes/posix_class.rb +2 -0
- data/lib/regexp_parser/expression/classes/root.rb +2 -0
- data/lib/regexp_parser/expression/classes/unicode_property.rb +2 -0
- data/lib/regexp_parser/expression/methods/construct.rb +2 -0
- data/lib/regexp_parser/expression/methods/escape_sequence_char.rb +2 -0
- data/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +8 -0
- data/lib/regexp_parser/expression/methods/human_name.rb +2 -0
- data/lib/regexp_parser/expression/methods/match.rb +2 -0
- data/lib/regexp_parser/expression/methods/match_length.rb +2 -0
- data/lib/regexp_parser/expression/methods/negative.rb +2 -0
- data/lib/regexp_parser/expression/methods/options.rb +2 -0
- data/lib/regexp_parser/expression/methods/parts.rb +2 -0
- data/lib/regexp_parser/expression/methods/printing.rb +2 -0
- data/lib/regexp_parser/expression/methods/referenced_expressions.rb +2 -0
- data/lib/regexp_parser/expression/methods/strfregexp.rb +2 -0
- data/lib/regexp_parser/expression/methods/tests.rb +2 -0
- data/lib/regexp_parser/expression/methods/traverse.rb +2 -0
- data/lib/regexp_parser/expression/quantifier.rb +3 -1
- data/lib/regexp_parser/expression/sequence.rb +2 -0
- data/lib/regexp_parser/expression/sequence_operation.rb +2 -0
- data/lib/regexp_parser/expression/shared.rb +6 -3
- data/lib/regexp_parser/expression/subexpression.rb +2 -0
- data/lib/regexp_parser/expression.rb +2 -0
- data/lib/regexp_parser/lexer.rb +2 -0
- data/lib/regexp_parser/parser.rb +3 -0
- data/lib/regexp_parser/scanner/errors/premature_end_error.rb +2 -0
- data/lib/regexp_parser/scanner/errors/scanner_error.rb +2 -0
- data/lib/regexp_parser/scanner/errors/validation_error.rb +2 -0
- data/lib/regexp_parser/scanner/properties/long.csv +19 -0
- data/lib/regexp_parser/scanner/properties/short.csv +8 -0
- data/lib/regexp_parser/scanner/scanner.rl +44 -8
- data/lib/regexp_parser/scanner.rb +786 -656
- data/lib/regexp_parser/syntax/any.rb +2 -0
- data/lib/regexp_parser/syntax/base.rb +2 -0
- data/lib/regexp_parser/syntax/token/anchor.rb +5 -3
- data/lib/regexp_parser/syntax/token/assertion.rb +4 -2
- data/lib/regexp_parser/syntax/token/backreference.rb +8 -6
- data/lib/regexp_parser/syntax/token/character_set.rb +3 -1
- data/lib/regexp_parser/syntax/token/character_type.rb +6 -4
- data/lib/regexp_parser/syntax/token/conditional.rb +5 -3
- data/lib/regexp_parser/syntax/token/escape.rb +9 -7
- data/lib/regexp_parser/syntax/token/group.rb +8 -6
- data/lib/regexp_parser/syntax/token/keep.rb +3 -1
- data/lib/regexp_parser/syntax/token/meta.rb +4 -2
- data/lib/regexp_parser/syntax/token/posix_class.rb +4 -2
- data/lib/regexp_parser/syntax/token/quantifier.rb +8 -6
- data/lib/regexp_parser/syntax/token/unicode_property.rb +62 -47
- data/lib/regexp_parser/syntax/token/virtual.rb +5 -3
- data/lib/regexp_parser/syntax/token.rb +5 -3
- data/lib/regexp_parser/syntax/version_lookup.rb +4 -2
- data/lib/regexp_parser/syntax/versions/1.8.6.rb +2 -0
- data/lib/regexp_parser/syntax/versions/1.9.1.rb +2 -0
- data/lib/regexp_parser/syntax/versions/1.9.3.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.0.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.2.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.3.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.4.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.5.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.6.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.6.2.rb +2 -0
- data/lib/regexp_parser/syntax/versions/2.6.3.rb +2 -0
- data/lib/regexp_parser/syntax/versions/3.1.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/3.2.0.rb +2 -0
- data/lib/regexp_parser/syntax/versions/3.5.0.rb +4 -0
- data/lib/regexp_parser/syntax/versions.rb +2 -0
- data/lib/regexp_parser/syntax.rb +2 -0
- data/lib/regexp_parser/token.rb +2 -0
- data/lib/regexp_parser/version.rb +3 -1
- data/lib/regexp_parser.rb +2 -0
- data/regexp_parser.gemspec +2 -0
- metadata +4 -6
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# -*- warn-indent:false
|
|
1
|
+
# -*- frozen_string_literal: true; warn-indent: false -*-
|
|
2
2
|
#
|
|
3
3
|
# THIS IS A GENERATED FILE, DO NOT EDIT DIRECTLY
|
|
4
4
|
#
|
|
5
5
|
# This file was generated from scanner.rl
|
|
6
|
-
# by running
|
|
6
|
+
# by running `$ bundle exec rake ragel`
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
require_relative 'scanner/errors/scanner_error'
|
|
@@ -28,16 +28,18 @@ class Regexp::Scanner
|
|
|
28
28
|
|
|
29
29
|
input = input_object.is_a?(Regexp) ? input_object.source : input_object
|
|
30
30
|
self.free_spacing = free_spacing?(input_object, options)
|
|
31
|
+
self.regexp_encoding = extract_encoding(input_object, options)
|
|
31
32
|
self.spacing_stack = [{:free_spacing => free_spacing, :depth => 0}]
|
|
32
33
|
|
|
33
|
-
data
|
|
34
|
-
eof
|
|
34
|
+
data = input.unpack("c*")
|
|
35
|
+
eof = data.length
|
|
35
36
|
|
|
36
37
|
self.tokens = []
|
|
37
|
-
self.block
|
|
38
|
+
self.block = block
|
|
38
39
|
|
|
39
40
|
self.set_depth = 0
|
|
40
41
|
self.group_depth = 0
|
|
42
|
+
self.capturing_group_count = 0
|
|
41
43
|
self.conditional_stack = []
|
|
42
44
|
self.char_pos = 0
|
|
43
45
|
|
|
@@ -64,33 +66,38 @@ self._re_scanner_trans_keys = [
|
|
|
64
66
|
9,125,9,122,-128,-65,
|
|
65
67
|
-128,-65,38,38,58,
|
|
66
68
|
93,58,93,-128,-65,
|
|
67
|
-
-128,-65,
|
|
68
|
-
|
|
69
|
-
92,92,92,
|
|
70
|
-
|
|
71
|
-
48,102,
|
|
72
|
-
|
|
73
|
-
9,125,9,125,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
33,126,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
69
|
+
-128,-65,-128,-65,-128,-65,
|
|
70
|
+
45,45,92,92,92,
|
|
71
|
+
92,45,45,92,92,
|
|
72
|
+
92,92,48,123,48,102,
|
|
73
|
+
48,102,48,102,48,
|
|
74
|
+
102,9,125,9,125,
|
|
75
|
+
9,125,9,125,9,125,
|
|
76
|
+
9,125,48,102,120,
|
|
77
|
+
120,56,102,48,102,
|
|
78
|
+
39,39,41,41,41,57,
|
|
79
|
+
62,62,-128,127,-62,
|
|
80
|
+
-12,1,127,1,127,
|
|
81
|
+
9,32,33,126,10,10,
|
|
82
|
+
63,63,33,126,33,
|
|
83
|
+
126,43,63,43,63,
|
|
84
|
+
43,63,65,122,44,57,
|
|
85
|
+
68,119,80,112,-62,
|
|
86
|
+
125,-128,-65,-128,-65,
|
|
87
|
+
-128,-65,38,38,38,93,
|
|
88
|
+
58,58,-62,120,-128,
|
|
89
|
+
-65,-128,-65,-128,-65,
|
|
85
90
|
48,55,48,55,-62,125,
|
|
86
91
|
-128,-65,-128,-65,-128,
|
|
87
92
|
-65,48,55,48,55,
|
|
88
|
-
48,57,
|
|
89
|
-
|
|
90
|
-
45,0,0,
|
|
91
|
-
|
|
92
|
-
48,
|
|
93
|
-
|
|
93
|
+
48,57,48,57,48,57,
|
|
94
|
+
48,57,77,77,45,
|
|
95
|
+
45,0,0,67,99,
|
|
96
|
+
45,45,0,0,92,92,
|
|
97
|
+
48,102,48,102,92,
|
|
98
|
+
92,39,60,39,57,
|
|
99
|
+
48,57,41,57,33,62,
|
|
100
|
+
0
|
|
94
101
|
]
|
|
95
102
|
|
|
96
103
|
class << self
|
|
@@ -104,15 +111,17 @@ self._re_scanner_key_spans = [
|
|
|
104
111
|
1,10,19,10,19,30,1,10,
|
|
105
112
|
20,10,15,10,78,82,1,114,
|
|
106
113
|
117,114,64,64,1,36,36,64,
|
|
107
|
-
64,
|
|
108
|
-
55,55,55,55,117,117,
|
|
109
|
-
117,117,
|
|
110
|
-
|
|
111
|
-
94,
|
|
112
|
-
|
|
114
|
+
64,64,64,1,1,1,1,1,
|
|
115
|
+
1,76,55,55,55,55,117,117,
|
|
116
|
+
117,117,117,117,55,1,47,55,
|
|
117
|
+
1,1,17,1,256,51,127,127,
|
|
118
|
+
24,94,1,1,94,94,21,21,
|
|
119
|
+
21,58,14,52,33,188,64,64,
|
|
120
|
+
64,1,56,1,183,64,64,64,
|
|
113
121
|
8,8,188,64,64,64,8,8,
|
|
114
|
-
10,
|
|
115
|
-
55,22,19,
|
|
122
|
+
10,10,10,10,1,1,0,33,
|
|
123
|
+
1,0,1,55,55,1,22,19,
|
|
124
|
+
10,17,30
|
|
116
125
|
]
|
|
117
126
|
|
|
118
127
|
class << self
|
|
@@ -126,15 +135,17 @@ self._re_scanner_index_offsets = [
|
|
|
126
135
|
494,496,507,527,538,558,589,591,
|
|
127
136
|
602,623,634,650,661,740,823,825,
|
|
128
137
|
940,1058,1173,1238,1303,1305,1342,1379,
|
|
129
|
-
1444,1509,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
1444,1509,1574,1639,1641,1643,1645,1647,
|
|
139
|
+
1649,1651,1728,1784,1840,1896,1952,2070,
|
|
140
|
+
2188,2306,2424,2542,2660,2716,2718,2766,
|
|
141
|
+
2822,2824,2826,2844,2846,3103,3155,3283,
|
|
142
|
+
3411,3436,3531,3533,3535,3630,3725,3747,
|
|
143
|
+
3769,3791,3850,3865,3918,3952,4141,4206,
|
|
144
|
+
4271,4336,4338,4395,4397,4581,4646,4711,
|
|
145
|
+
4776,4785,4794,4983,5048,5113,5178,5187,
|
|
146
|
+
5196,5207,5218,5229,5240,5242,5244,5245,
|
|
147
|
+
5279,5281,5282,5284,5340,5396,5398,5421,
|
|
148
|
+
5441,5452,5470
|
|
138
149
|
]
|
|
139
150
|
|
|
140
151
|
class << self
|
|
@@ -330,124 +341,139 @@ self._re_scanner_indicies = [
|
|
|
330
341
|
59,59,59,59,59,59,59,59,
|
|
331
342
|
59,59,59,59,59,59,59,59,
|
|
332
343
|
59,59,59,59,59,59,59,59,
|
|
333
|
-
59,59,59,59,57,
|
|
334
|
-
61,
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
344
|
+
59,59,59,59,57,61,61,61,
|
|
345
|
+
61,61,61,61,61,61,61,61,
|
|
346
|
+
61,61,61,61,61,61,61,61,
|
|
347
|
+
61,61,61,61,61,61,61,61,
|
|
348
|
+
61,61,61,61,61,61,61,61,
|
|
349
|
+
61,61,61,61,61,61,61,61,
|
|
350
|
+
61,61,61,61,61,61,61,61,
|
|
351
|
+
61,61,61,61,61,61,61,61,
|
|
352
|
+
61,61,61,61,61,60,62,62,
|
|
353
|
+
62,62,62,62,62,62,62,62,
|
|
354
|
+
62,62,62,62,62,62,62,62,
|
|
355
|
+
62,62,62,62,62,62,62,62,
|
|
356
|
+
62,62,62,62,62,62,62,62,
|
|
357
|
+
62,62,62,62,62,62,62,62,
|
|
358
|
+
62,62,62,62,62,62,62,62,
|
|
359
|
+
62,62,62,62,62,62,62,62,
|
|
360
|
+
62,62,62,62,62,62,60,63,
|
|
361
|
+
43,65,64,67,64,68,43,70,
|
|
362
|
+
69,72,69,73,73,73,73,73,
|
|
363
|
+
73,73,73,73,73,43,43,43,
|
|
364
|
+
43,43,43,43,73,73,73,73,
|
|
365
|
+
73,73,43,43,43,43,43,43,
|
|
338
366
|
43,43,43,43,43,43,43,43,
|
|
339
367
|
43,43,43,43,43,43,43,43,
|
|
368
|
+
43,43,43,43,73,73,73,73,
|
|
369
|
+
73,73,43,43,43,43,43,43,
|
|
340
370
|
43,43,43,43,43,43,43,43,
|
|
341
|
-
43,43,
|
|
371
|
+
43,43,43,43,43,43,74,43,
|
|
372
|
+
75,75,75,75,75,75,75,75,
|
|
373
|
+
75,75,43,43,43,43,43,43,
|
|
374
|
+
43,75,75,75,75,75,75,43,
|
|
342
375
|
43,43,43,43,43,43,43,43,
|
|
343
376
|
43,43,43,43,43,43,43,43,
|
|
344
|
-
43,43,43,43,71,43,72,72,
|
|
345
|
-
72,72,72,72,72,72,72,72,
|
|
346
|
-
43,43,43,43,43,43,43,72,
|
|
347
|
-
72,72,72,72,72,43,43,43,
|
|
348
377
|
43,43,43,43,43,43,43,43,
|
|
378
|
+
43,75,75,75,75,75,75,43,
|
|
379
|
+
76,76,76,76,76,76,76,76,
|
|
380
|
+
76,76,43,43,43,43,43,43,
|
|
381
|
+
43,76,76,76,76,76,76,43,
|
|
349
382
|
43,43,43,43,43,43,43,43,
|
|
350
|
-
43,43,43,43,43,43,43,72,
|
|
351
|
-
72,72,72,72,72,43,73,73,
|
|
352
|
-
73,73,73,73,73,73,73,73,
|
|
353
|
-
43,43,43,43,43,43,43,73,
|
|
354
|
-
73,73,73,73,73,43,43,43,
|
|
355
383
|
43,43,43,43,43,43,43,43,
|
|
356
384
|
43,43,43,43,43,43,43,43,
|
|
357
|
-
43,
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
43,
|
|
361
|
-
74,74,74,74,74,43,43,43,
|
|
385
|
+
43,76,76,76,76,76,76,43,
|
|
386
|
+
77,77,77,77,77,77,77,77,
|
|
387
|
+
77,77,43,43,43,43,43,43,
|
|
388
|
+
43,77,77,77,77,77,77,43,
|
|
362
389
|
43,43,43,43,43,43,43,43,
|
|
363
390
|
43,43,43,43,43,43,43,43,
|
|
364
|
-
43,43,43,43,43,43,43,74,
|
|
365
|
-
74,74,74,74,74,43,75,75,
|
|
366
|
-
75,75,75,75,75,75,75,75,
|
|
367
|
-
43,43,43,43,43,43,43,75,
|
|
368
|
-
75,75,75,75,75,43,43,43,
|
|
369
391
|
43,43,43,43,43,43,43,43,
|
|
392
|
+
43,77,77,77,77,77,77,43,
|
|
393
|
+
78,78,78,78,78,78,78,78,
|
|
394
|
+
78,78,43,43,43,43,43,43,
|
|
395
|
+
43,78,78,78,78,78,78,43,
|
|
370
396
|
43,43,43,43,43,43,43,43,
|
|
371
|
-
43,43,43,43,43,43,43,75,
|
|
372
|
-
75,75,75,75,75,43,71,71,
|
|
373
|
-
71,71,71,43,43,43,43,43,
|
|
374
397
|
43,43,43,43,43,43,43,43,
|
|
375
|
-
43,43,43,43,43,71,43,43,
|
|
376
398
|
43,43,43,43,43,43,43,43,
|
|
377
|
-
43,
|
|
378
|
-
|
|
379
|
-
43,43,43,43,43,43,76,76,
|
|
380
|
-
76,76,76,76,43,43,43,43,
|
|
399
|
+
43,78,78,78,78,78,78,43,
|
|
400
|
+
74,74,74,74,74,43,43,43,
|
|
381
401
|
43,43,43,43,43,43,43,43,
|
|
402
|
+
43,43,43,43,43,43,43,74,
|
|
382
403
|
43,43,43,43,43,43,43,43,
|
|
383
|
-
43,43,43,43,43,43,
|
|
384
|
-
|
|
404
|
+
43,43,43,43,43,43,43,79,
|
|
405
|
+
79,79,79,79,79,79,79,79,
|
|
406
|
+
79,43,43,43,43,43,43,43,
|
|
407
|
+
79,79,79,79,79,79,43,43,
|
|
385
408
|
43,43,43,43,43,43,43,43,
|
|
386
409
|
43,43,43,43,43,43,43,43,
|
|
387
|
-
43,43,74,43,71,71,71,71,
|
|
388
|
-
71,43,43,43,43,43,43,43,
|
|
389
410
|
43,43,43,43,43,43,43,43,
|
|
390
|
-
|
|
411
|
+
79,79,79,79,79,79,43,43,
|
|
391
412
|
43,43,43,43,43,43,43,43,
|
|
392
|
-
43,43,43,77,77,77,77,77,
|
|
393
|
-
77,77,77,77,77,43,43,43,
|
|
394
|
-
43,43,43,43,77,77,77,77,
|
|
395
|
-
77,77,43,43,43,43,43,43,
|
|
396
413
|
43,43,43,43,43,43,43,43,
|
|
414
|
+
43,43,43,43,77,43,74,74,
|
|
415
|
+
74,74,74,43,43,43,43,43,
|
|
397
416
|
43,43,43,43,43,43,43,43,
|
|
398
|
-
43,43,43,43,
|
|
399
|
-
77,77,43,43,43,43,43,43,
|
|
417
|
+
43,43,43,43,43,74,43,43,
|
|
400
418
|
43,43,43,43,43,43,43,43,
|
|
419
|
+
43,43,43,43,43,80,80,80,
|
|
420
|
+
80,80,80,80,80,80,80,43,
|
|
421
|
+
43,43,43,43,43,43,80,80,
|
|
422
|
+
80,80,80,80,43,43,43,43,
|
|
401
423
|
43,43,43,43,43,43,43,43,
|
|
402
|
-
74,43,71,71,71,71,71,43,
|
|
403
424
|
43,43,43,43,43,43,43,43,
|
|
425
|
+
43,43,43,43,43,43,80,80,
|
|
426
|
+
80,80,80,80,43,43,43,43,
|
|
404
427
|
43,43,43,43,43,43,43,43,
|
|
405
|
-
43,71,43,43,43,43,43,43,
|
|
406
428
|
43,43,43,43,43,43,43,43,
|
|
407
|
-
43,
|
|
408
|
-
|
|
409
|
-
43,43,78,78,78,78,78,78,
|
|
429
|
+
43,43,77,43,74,74,74,74,
|
|
430
|
+
74,43,43,43,43,43,43,43,
|
|
410
431
|
43,43,43,43,43,43,43,43,
|
|
432
|
+
43,43,43,74,43,43,43,43,
|
|
411
433
|
43,43,43,43,43,43,43,43,
|
|
434
|
+
43,43,43,81,81,81,81,81,
|
|
435
|
+
81,81,81,81,81,43,43,43,
|
|
436
|
+
43,43,43,43,81,81,81,81,
|
|
437
|
+
81,81,43,43,43,43,43,43,
|
|
412
438
|
43,43,43,43,43,43,43,43,
|
|
413
|
-
43,43,78,78,78,78,78,78,
|
|
414
439
|
43,43,43,43,43,43,43,43,
|
|
440
|
+
43,43,43,43,81,81,81,81,
|
|
441
|
+
81,81,43,43,43,43,43,43,
|
|
415
442
|
43,43,43,43,43,43,43,43,
|
|
416
|
-
43,43,43,43,43,43,74,43,
|
|
417
|
-
71,71,71,71,71,43,43,43,
|
|
418
443
|
43,43,43,43,43,43,43,43,
|
|
419
|
-
|
|
444
|
+
77,43,74,74,74,74,74,43,
|
|
420
445
|
43,43,43,43,43,43,43,43,
|
|
421
|
-
43,43,43,43,43,43,43,79,
|
|
422
|
-
79,79,79,79,79,79,79,79,
|
|
423
|
-
79,43,43,43,43,43,43,43,
|
|
424
|
-
79,79,79,79,79,79,43,43,
|
|
425
446
|
43,43,43,43,43,43,43,43,
|
|
447
|
+
43,74,43,43,43,43,43,43,
|
|
426
448
|
43,43,43,43,43,43,43,43,
|
|
449
|
+
43,82,82,82,82,82,82,82,
|
|
450
|
+
82,82,82,43,43,43,43,43,
|
|
451
|
+
43,43,82,82,82,82,82,82,
|
|
427
452
|
43,43,43,43,43,43,43,43,
|
|
428
|
-
79,79,79,79,79,79,43,43,
|
|
429
453
|
43,43,43,43,43,43,43,43,
|
|
430
454
|
43,43,43,43,43,43,43,43,
|
|
431
|
-
43,43,
|
|
432
|
-
71,71,71,43,43,43,43,43,
|
|
455
|
+
43,43,82,82,82,82,82,82,
|
|
433
456
|
43,43,43,43,43,43,43,43,
|
|
434
|
-
43,43,43,43,43,71,43,43,
|
|
435
457
|
43,43,43,43,43,43,43,43,
|
|
436
|
-
43,43,43,43,43,
|
|
437
|
-
|
|
438
|
-
43,43,43,43,43,43,
|
|
439
|
-
|
|
458
|
+
43,43,43,43,43,43,77,43,
|
|
459
|
+
74,74,74,74,74,43,43,43,
|
|
460
|
+
43,43,43,43,43,43,43,43,
|
|
461
|
+
43,43,43,43,43,43,43,74,
|
|
462
|
+
43,43,43,43,43,43,43,43,
|
|
463
|
+
43,43,43,43,43,43,43,83,
|
|
464
|
+
83,83,83,83,83,83,83,83,
|
|
465
|
+
83,43,43,43,43,43,43,43,
|
|
466
|
+
83,83,83,83,83,83,43,43,
|
|
440
467
|
43,43,43,43,43,43,43,43,
|
|
441
468
|
43,43,43,43,43,43,43,43,
|
|
442
|
-
43,43,43,43,43,43,80,80,
|
|
443
|
-
80,80,80,80,43,43,43,43,
|
|
444
469
|
43,43,43,43,43,43,43,43,
|
|
470
|
+
83,83,83,83,83,83,43,43,
|
|
445
471
|
43,43,43,43,43,43,43,43,
|
|
446
|
-
43,43,74,43,71,71,71,71,
|
|
447
|
-
71,43,43,43,43,43,43,43,
|
|
448
472
|
43,43,43,43,43,43,43,43,
|
|
449
|
-
43,43,43,
|
|
473
|
+
43,43,43,43,77,43,74,74,
|
|
474
|
+
74,74,74,43,43,43,43,43,
|
|
450
475
|
43,43,43,43,43,43,43,43,
|
|
476
|
+
43,43,43,43,43,74,43,43,
|
|
451
477
|
43,43,43,43,43,43,43,43,
|
|
452
478
|
43,43,43,43,43,43,43,43,
|
|
453
479
|
43,43,43,43,43,43,43,43,
|
|
@@ -458,19 +484,31 @@ self._re_scanner_indicies = [
|
|
|
458
484
|
43,43,43,43,43,43,43,43,
|
|
459
485
|
43,43,43,43,43,43,43,43,
|
|
460
486
|
43,43,43,43,43,43,43,43,
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
87,87,87,87,
|
|
487
|
+
43,43,43,43,43,43,43,43,
|
|
488
|
+
43,43,77,43,85,85,85,85,
|
|
489
|
+
85,85,85,85,86,86,84,84,
|
|
490
|
+
84,84,84,84,84,86,86,86,
|
|
491
|
+
86,86,86,84,84,84,84,84,
|
|
492
|
+
84,84,84,84,84,84,84,84,
|
|
493
|
+
84,84,84,84,84,84,84,84,
|
|
494
|
+
84,84,84,84,84,86,86,86,
|
|
495
|
+
86,86,86,84,88,87,89,89,
|
|
496
|
+
87,87,87,87,87,87,87,89,
|
|
497
|
+
89,89,89,89,89,87,87,87,
|
|
498
|
+
87,87,87,87,87,87,87,87,
|
|
499
|
+
87,87,87,87,87,87,87,87,
|
|
500
|
+
87,87,87,87,87,87,87,89,
|
|
501
|
+
89,89,89,89,89,87,90,90,
|
|
502
|
+
90,90,90,90,90,90,90,90,
|
|
503
|
+
87,87,87,87,87,87,87,90,
|
|
504
|
+
90,90,90,90,90,87,87,87,
|
|
505
|
+
87,87,87,87,87,87,87,87,
|
|
506
|
+
87,87,87,87,87,87,87,87,
|
|
507
|
+
87,87,87,87,87,87,87,90,
|
|
508
|
+
90,90,90,90,90,87,93,92,
|
|
509
|
+
94,91,94,91,91,91,91,91,
|
|
510
|
+
91,95,95,95,95,95,95,95,
|
|
511
|
+
95,95,95,91,93,96,43,43,
|
|
474
512
|
43,43,43,43,43,43,43,43,
|
|
475
513
|
43,43,43,43,43,43,43,43,
|
|
476
514
|
43,43,43,43,43,43,43,43,
|
|
@@ -479,160 +517,160 @@ self._re_scanner_indicies = [
|
|
|
479
517
|
43,43,43,43,43,43,43,43,
|
|
480
518
|
43,43,43,43,43,43,43,43,
|
|
481
519
|
43,43,43,43,43,43,43,43,
|
|
482
|
-
43,2,2,2,2,2,2,2,
|
|
483
520
|
2,2,2,2,2,2,2,2,
|
|
484
521
|
2,2,2,2,2,2,2,2,
|
|
485
|
-
2,2,2,2,2,2,2,
|
|
522
|
+
2,2,2,2,2,2,2,2,
|
|
523
|
+
2,2,2,2,2,2,3,3,
|
|
486
524
|
3,3,3,3,3,3,3,3,
|
|
487
|
-
3,3,3,3,3,3,
|
|
488
|
-
|
|
489
|
-
43,43,43,43,43,43,43,
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
525
|
+
3,3,3,3,3,3,97,97,
|
|
526
|
+
97,97,97,43,43,43,43,43,
|
|
527
|
+
43,43,43,43,43,43,43,98,
|
|
528
|
+
98,98,98,98,98,98,98,99,
|
|
529
|
+
99,99,99,99,98,98,98,98,
|
|
530
|
+
98,98,98,98,98,98,98,98,
|
|
531
|
+
98,98,98,98,98,98,100,101,
|
|
532
|
+
101,102,103,101,101,101,104,105,
|
|
533
|
+
106,107,101,101,108,101,101,101,
|
|
534
|
+
101,101,101,101,101,101,101,101,
|
|
535
|
+
101,101,101,101,101,109,101,101,
|
|
536
|
+
101,101,101,101,101,101,101,101,
|
|
537
|
+
101,101,101,101,101,101,101,101,
|
|
538
|
+
101,101,101,101,101,101,101,101,
|
|
539
|
+
101,110,111,112,113,101,101,101,
|
|
540
|
+
101,101,101,101,101,101,101,101,
|
|
541
|
+
101,101,101,101,101,101,101,101,
|
|
542
|
+
101,101,101,101,101,101,101,101,
|
|
543
|
+
101,114,115,112,101,98,101,2,
|
|
506
544
|
2,2,2,2,2,2,2,2,
|
|
507
545
|
2,2,2,2,2,2,2,2,
|
|
508
546
|
2,2,2,2,2,2,2,2,
|
|
509
|
-
2,2,2,2,2,
|
|
547
|
+
2,2,2,2,2,3,3,3,
|
|
510
548
|
3,3,3,3,3,3,3,3,
|
|
511
|
-
3,3,3,3,3,
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
549
|
+
3,3,3,3,3,97,97,97,
|
|
550
|
+
97,97,116,98,98,98,98,98,
|
|
551
|
+
98,98,98,98,98,98,98,98,
|
|
552
|
+
98,98,98,98,98,98,98,98,
|
|
553
|
+
98,98,98,98,98,98,98,98,
|
|
554
|
+
98,98,116,116,116,116,116,116,
|
|
555
|
+
116,116,116,116,116,116,116,116,
|
|
556
|
+
116,116,116,116,116,116,116,116,
|
|
557
|
+
116,116,116,116,116,116,116,116,
|
|
558
|
+
116,116,116,116,116,116,116,116,
|
|
559
|
+
116,116,116,116,116,116,116,116,
|
|
560
|
+
116,116,116,116,116,116,116,116,
|
|
561
|
+
116,116,116,116,116,116,116,116,
|
|
562
|
+
116,116,116,116,116,116,116,116,
|
|
563
|
+
116,116,116,116,116,116,116,116,
|
|
564
|
+
116,116,116,116,116,116,116,116,
|
|
565
|
+
116,116,116,116,116,116,116,116,
|
|
566
|
+
116,98,116,98,98,98,98,98,
|
|
567
|
+
98,98,98,99,99,99,99,99,
|
|
568
|
+
98,98,98,98,98,98,98,98,
|
|
569
|
+
98,98,98,98,98,98,98,98,
|
|
570
|
+
98,98,100,117,117,117,117,117,
|
|
571
|
+
117,117,117,117,117,117,117,117,
|
|
572
|
+
117,117,117,117,117,117,117,117,
|
|
573
|
+
117,117,117,117,117,117,117,117,
|
|
574
|
+
117,117,117,117,117,117,117,117,
|
|
575
|
+
117,117,117,117,117,117,117,117,
|
|
576
|
+
117,117,117,117,117,117,117,117,
|
|
577
|
+
117,117,117,117,117,117,117,117,
|
|
578
|
+
117,117,117,117,117,117,117,117,
|
|
579
|
+
117,117,117,117,117,117,117,117,
|
|
580
|
+
117,117,117,117,117,117,117,117,
|
|
581
|
+
117,117,117,117,117,117,117,117,
|
|
582
|
+
117,98,117,100,100,100,100,100,
|
|
583
|
+
117,117,117,117,117,117,117,117,
|
|
584
|
+
117,117,117,117,117,117,117,117,
|
|
585
|
+
117,117,100,117,101,101,116,116,
|
|
586
|
+
101,101,101,116,116,116,116,101,
|
|
587
|
+
101,116,101,101,101,101,101,101,
|
|
588
|
+
101,101,101,101,101,101,101,101,
|
|
589
|
+
101,101,116,101,101,101,101,101,
|
|
590
|
+
101,101,101,101,101,101,101,101,
|
|
591
|
+
101,101,101,101,101,101,101,101,
|
|
592
|
+
101,101,101,101,101,101,116,116,
|
|
593
|
+
116,116,101,101,101,101,101,101,
|
|
594
|
+
101,101,101,101,101,101,101,101,
|
|
595
|
+
101,101,101,101,101,101,101,101,
|
|
596
|
+
101,101,101,101,101,101,116,116,
|
|
597
|
+
116,101,116,119,102,121,120,10,
|
|
598
|
+
123,5,123,123,123,124,125,122,
|
|
599
|
+
123,123,123,123,123,123,123,123,
|
|
600
|
+
123,123,123,123,123,123,123,123,
|
|
601
|
+
8,123,126,10,8,123,123,123,
|
|
602
|
+
123,123,123,123,123,123,123,123,
|
|
603
|
+
123,123,123,123,123,123,123,123,
|
|
604
|
+
123,123,123,123,123,123,123,123,
|
|
605
|
+
123,123,123,123,123,123,123,123,
|
|
606
|
+
123,123,123,123,123,123,123,123,
|
|
607
|
+
123,123,123,123,123,123,123,123,
|
|
608
|
+
123,123,123,123,123,123,123,123,
|
|
609
|
+
123,123,123,123,8,123,122,123,
|
|
610
|
+
122,123,123,123,122,122,122,123,
|
|
611
|
+
123,123,123,123,123,123,123,123,
|
|
612
|
+
123,123,123,123,123,123,123,127,
|
|
613
|
+
123,122,122,122,123,123,123,123,
|
|
614
|
+
123,123,123,123,123,123,123,123,
|
|
615
|
+
123,123,123,123,123,123,123,123,
|
|
616
|
+
123,123,123,123,123,123,123,123,
|
|
617
|
+
123,123,123,123,123,123,123,123,
|
|
618
|
+
123,123,123,123,123,123,123,123,
|
|
619
|
+
123,123,123,123,123,123,123,123,
|
|
620
|
+
123,123,123,123,123,123,123,123,
|
|
621
|
+
123,123,123,122,123,129,128,128,
|
|
622
|
+
128,128,128,128,128,128,128,128,
|
|
623
|
+
128,128,128,128,128,128,128,128,
|
|
624
|
+
128,129,128,131,130,130,130,130,
|
|
625
|
+
130,130,130,130,130,130,130,130,
|
|
626
|
+
130,130,130,130,130,130,130,131,
|
|
627
|
+
130,133,132,132,132,132,132,132,
|
|
628
|
+
132,132,132,132,132,132,132,132,
|
|
629
|
+
132,132,132,132,132,133,132,135,
|
|
630
|
+
135,134,134,134,134,135,134,134,
|
|
631
|
+
134,136,134,134,134,134,134,134,
|
|
632
|
+
134,134,134,134,134,134,134,134,
|
|
633
|
+
135,134,134,134,134,134,134,134,
|
|
634
|
+
135,134,134,134,134,137,134,134,
|
|
635
|
+
134,138,134,134,134,134,134,134,
|
|
636
|
+
134,134,134,134,134,134,134,134,
|
|
637
|
+
135,134,140,139,139,139,41,41,
|
|
600
638
|
41,41,41,41,41,41,41,41,
|
|
601
|
-
|
|
639
|
+
139,141,43,43,43,141,43,43,
|
|
640
|
+
43,43,43,43,43,43,43,141,
|
|
641
|
+
141,43,43,43,141,141,43,43,
|
|
602
642
|
43,43,43,43,43,43,43,43,
|
|
603
|
-
|
|
643
|
+
43,141,43,43,43,141,43,43,
|
|
604
644
|
43,43,43,43,43,43,43,43,
|
|
605
|
-
|
|
645
|
+
141,43,43,43,141,43,142,43,
|
|
606
646
|
43,43,43,43,43,43,43,43,
|
|
607
|
-
43,133,43,43,43,133,43,134,
|
|
608
647
|
43,43,43,43,43,43,43,43,
|
|
609
648
|
43,43,43,43,43,43,43,43,
|
|
610
|
-
43,43,43,43,43,43,
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
137,137,137,137,48,48,48,48,
|
|
649
|
+
43,43,43,43,43,43,142,43,
|
|
650
|
+
143,143,143,143,143,143,143,143,
|
|
651
|
+
143,143,143,143,143,143,143,143,
|
|
652
|
+
143,143,143,143,143,143,143,143,
|
|
653
|
+
143,143,143,143,143,143,144,144,
|
|
654
|
+
144,144,144,144,144,144,144,144,
|
|
655
|
+
144,144,144,144,144,144,145,145,
|
|
656
|
+
145,145,145,48,48,48,48,48,
|
|
619
657
|
48,48,48,48,48,48,48,48,
|
|
620
658
|
48,48,48,48,48,48,48,48,
|
|
621
659
|
48,48,48,48,48,48,48,48,
|
|
622
660
|
48,48,48,48,48,48,48,48,
|
|
623
661
|
48,48,48,48,48,48,48,48,
|
|
624
|
-
48,48,48,
|
|
625
|
-
|
|
662
|
+
48,48,146,48,147,48,146,146,
|
|
663
|
+
146,146,48,148,146,48,48,48,
|
|
626
664
|
48,48,48,48,48,48,48,48,
|
|
627
|
-
48,48,48,48,48,48,
|
|
665
|
+
48,48,48,48,48,146,48,48,
|
|
628
666
|
48,48,48,48,48,48,48,48,
|
|
629
667
|
48,48,48,48,48,48,48,48,
|
|
630
668
|
48,48,48,48,48,48,48,48,
|
|
631
|
-
48,
|
|
669
|
+
48,149,150,151,152,48,48,48,
|
|
632
670
|
48,48,48,48,48,48,48,48,
|
|
633
671
|
48,48,48,48,48,48,48,48,
|
|
634
672
|
48,48,48,48,48,48,48,48,
|
|
635
|
-
48,
|
|
673
|
+
48,146,146,146,48,48,48,48,
|
|
636
674
|
48,48,48,48,48,48,48,48,
|
|
637
675
|
48,48,48,48,48,48,48,48,
|
|
638
676
|
48,48,48,48,48,48,48,48,
|
|
@@ -640,7 +678,7 @@ self._re_scanner_indicies = [
|
|
|
640
678
|
48,48,48,48,48,48,48,48,
|
|
641
679
|
48,48,48,48,48,48,48,48,
|
|
642
680
|
48,48,48,48,48,48,48,48,
|
|
643
|
-
48,48,48,48,48,
|
|
681
|
+
48,48,48,48,48,153,49,49,
|
|
644
682
|
49,49,49,49,49,49,49,49,
|
|
645
683
|
49,49,49,49,49,49,49,49,
|
|
646
684
|
49,49,49,49,49,49,49,49,
|
|
@@ -648,67 +686,54 @@ self._re_scanner_indicies = [
|
|
|
648
686
|
49,49,49,49,49,49,49,49,
|
|
649
687
|
49,49,49,49,49,49,49,49,
|
|
650
688
|
49,49,49,49,49,49,49,49,
|
|
651
|
-
49,49,49,49,49,49,
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
155,155,155,155,155,153,155,153,
|
|
675
|
-
153,153,153,153,155,153,155,153,
|
|
676
|
-
155,155,155,155,155,155,155,153,
|
|
677
|
-
157,157,157,157,157,157,157,157,
|
|
678
|
-
156,158,158,158,158,158,158,158,
|
|
679
|
-
158,156,159,159,159,159,159,159,
|
|
680
|
-
159,159,159,159,159,159,159,159,
|
|
681
|
-
159,159,159,159,159,159,159,159,
|
|
682
|
-
159,159,159,159,159,159,159,159,
|
|
683
|
-
160,160,160,160,160,160,160,160,
|
|
684
|
-
160,160,160,160,160,160,160,160,
|
|
685
|
-
161,161,161,161,161,58,58,58,
|
|
689
|
+
49,49,49,49,49,49,153,154,
|
|
690
|
+
154,154,154,154,154,154,154,154,
|
|
691
|
+
154,154,154,154,154,154,154,154,
|
|
692
|
+
154,154,154,154,154,154,154,154,
|
|
693
|
+
154,154,154,154,154,154,154,154,
|
|
694
|
+
154,154,154,154,154,154,154,154,
|
|
695
|
+
154,154,154,154,154,154,154,154,
|
|
696
|
+
154,154,154,154,154,154,154,154,
|
|
697
|
+
154,154,154,154,154,154,154,153,
|
|
698
|
+
155,153,157,156,156,156,156,156,
|
|
699
|
+
156,156,156,156,156,156,156,156,
|
|
700
|
+
156,156,156,156,156,156,156,156,
|
|
701
|
+
156,156,156,156,156,156,156,156,
|
|
702
|
+
156,156,156,156,156,156,156,156,
|
|
703
|
+
156,156,156,156,156,156,156,156,
|
|
704
|
+
156,156,156,156,156,156,156,156,
|
|
705
|
+
156,158,156,53,160,161,161,161,
|
|
706
|
+
161,161,161,161,161,161,161,161,
|
|
707
|
+
161,161,161,161,161,161,161,161,
|
|
708
|
+
161,161,161,161,161,161,161,161,
|
|
709
|
+
161,161,161,162,162,162,162,162,
|
|
710
|
+
162,162,162,162,162,162,162,162,
|
|
711
|
+
162,162,162,163,163,163,163,163,
|
|
686
712
|
58,58,58,58,58,58,58,58,
|
|
687
713
|
58,58,58,58,58,58,58,58,
|
|
688
714
|
58,58,58,58,58,58,58,58,
|
|
689
715
|
58,58,58,58,58,58,58,58,
|
|
690
716
|
58,58,58,58,58,58,58,58,
|
|
691
|
-
58,58,58,58,162,58,58,58,
|
|
692
|
-
162,162,162,162,58,58,162,58,
|
|
693
|
-
163,164,164,164,164,164,164,164,
|
|
694
|
-
165,165,58,58,58,58,58,162,
|
|
695
|
-
58,43,43,166,167,58,58,43,
|
|
696
|
-
167,58,58,43,58,168,58,58,
|
|
697
|
-
169,58,167,167,58,58,58,167,
|
|
698
|
-
167,58,43,162,162,162,162,58,
|
|
699
|
-
58,170,170,60,167,170,170,58,
|
|
700
|
-
167,58,58,58,58,58,170,58,
|
|
701
|
-
169,58,170,167,170,171,170,167,
|
|
702
|
-
172,58,43,162,162,162,58,58,
|
|
703
717
|
58,58,58,58,58,58,58,58,
|
|
704
718
|
58,58,58,58,58,58,58,58,
|
|
719
|
+
58,58,58,164,164,164,164,164,
|
|
720
|
+
164,164,164,58,58,58,58,58,
|
|
721
|
+
58,58,58,58,58,58,165,165,
|
|
722
|
+
58,58,58,165,58,58,58,58,
|
|
723
|
+
165,58,58,165,58,58,165,58,
|
|
724
|
+
58,58,165,58,58,58,165,165,
|
|
725
|
+
165,58,58,58,165,165,165,165,
|
|
726
|
+
165,165,58,165,58,58,58,58,
|
|
727
|
+
58,165,58,165,58,165,165,165,
|
|
728
|
+
165,165,165,165,58,58,58,58,
|
|
705
729
|
58,58,58,58,58,58,58,58,
|
|
706
730
|
58,58,58,58,58,58,58,58,
|
|
707
731
|
58,58,58,58,58,58,58,58,
|
|
708
732
|
58,58,58,58,58,58,58,58,
|
|
709
733
|
58,58,58,58,58,58,58,58,
|
|
710
|
-
58,58,58,58,58,58,58,
|
|
711
|
-
|
|
734
|
+
58,58,58,58,58,58,58,58,
|
|
735
|
+
58,58,58,58,58,58,58,58,
|
|
736
|
+
58,58,58,58,58,166,59,59,
|
|
712
737
|
59,59,59,59,59,59,59,59,
|
|
713
738
|
59,59,59,59,59,59,59,59,
|
|
714
739
|
59,59,59,59,59,59,59,59,
|
|
@@ -716,44 +741,106 @@ self._re_scanner_indicies = [
|
|
|
716
741
|
59,59,59,59,59,59,59,59,
|
|
717
742
|
59,59,59,59,59,59,59,59,
|
|
718
743
|
59,59,59,59,59,59,59,59,
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
744
|
+
59,59,59,59,59,59,166,167,
|
|
745
|
+
167,167,167,167,167,167,167,167,
|
|
746
|
+
167,167,167,167,167,167,167,167,
|
|
747
|
+
167,167,167,167,167,167,167,167,
|
|
748
|
+
167,167,167,167,167,167,167,167,
|
|
749
|
+
167,167,167,167,167,167,167,167,
|
|
750
|
+
167,167,167,167,167,167,167,167,
|
|
751
|
+
167,167,167,167,167,167,167,167,
|
|
752
|
+
167,167,167,167,167,167,167,166,
|
|
753
|
+
169,169,169,169,169,169,169,169,
|
|
754
|
+
168,170,170,170,170,170,170,170,
|
|
755
|
+
170,168,171,171,171,171,171,171,
|
|
756
|
+
171,171,171,171,171,171,171,171,
|
|
757
|
+
171,171,171,171,171,171,171,171,
|
|
758
|
+
171,171,171,171,171,171,171,171,
|
|
759
|
+
172,172,172,172,172,172,172,172,
|
|
760
|
+
172,172,172,172,172,172,172,172,
|
|
761
|
+
173,173,173,173,173,61,61,61,
|
|
762
|
+
61,61,61,61,61,61,61,61,
|
|
763
|
+
61,61,61,61,61,61,61,61,
|
|
764
|
+
61,61,61,61,61,61,61,61,
|
|
765
|
+
61,61,61,61,61,61,61,61,
|
|
766
|
+
61,61,61,61,61,61,61,61,
|
|
767
|
+
61,61,61,61,174,61,61,61,
|
|
768
|
+
174,174,174,174,61,61,174,61,
|
|
769
|
+
175,176,176,176,176,176,176,176,
|
|
770
|
+
177,177,61,61,61,61,61,174,
|
|
771
|
+
61,43,43,178,179,61,61,43,
|
|
772
|
+
179,61,61,43,61,180,61,61,
|
|
773
|
+
181,61,179,179,61,61,61,179,
|
|
774
|
+
179,61,43,174,174,174,174,61,
|
|
775
|
+
61,182,182,63,179,182,182,61,
|
|
776
|
+
179,61,61,61,61,61,182,61,
|
|
777
|
+
181,61,182,179,182,183,182,179,
|
|
778
|
+
184,61,43,174,174,174,61,61,
|
|
779
|
+
61,61,61,61,61,61,61,61,
|
|
780
|
+
61,61,61,61,61,61,61,61,
|
|
781
|
+
61,61,61,61,61,61,61,61,
|
|
782
|
+
61,61,61,61,61,61,61,61,
|
|
783
|
+
61,61,61,61,61,61,61,61,
|
|
784
|
+
61,61,61,61,61,61,61,61,
|
|
785
|
+
61,61,61,61,61,61,61,61,
|
|
786
|
+
61,61,61,61,61,61,61,185,
|
|
787
|
+
62,62,62,62,62,62,62,62,
|
|
788
|
+
62,62,62,62,62,62,62,62,
|
|
789
|
+
62,62,62,62,62,62,62,62,
|
|
790
|
+
62,62,62,62,62,62,62,62,
|
|
791
|
+
62,62,62,62,62,62,62,62,
|
|
792
|
+
62,62,62,62,62,62,62,62,
|
|
793
|
+
62,62,62,62,62,62,62,62,
|
|
794
|
+
62,62,62,62,62,62,62,62,
|
|
795
|
+
185,186,186,186,186,186,186,186,
|
|
796
|
+
186,186,186,186,186,186,186,186,
|
|
797
|
+
186,186,186,186,186,186,186,186,
|
|
798
|
+
186,186,186,186,186,186,186,186,
|
|
799
|
+
186,186,186,186,186,186,186,186,
|
|
800
|
+
186,186,186,186,186,186,186,186,
|
|
801
|
+
186,186,186,186,186,186,186,186,
|
|
802
|
+
186,186,186,186,186,186,186,186,
|
|
803
|
+
186,185,188,188,188,188,188,188,
|
|
804
|
+
188,188,187,189,189,189,189,189,
|
|
805
|
+
189,189,189,187,191,191,191,191,
|
|
806
|
+
191,191,191,191,192,192,190,192,
|
|
807
|
+
192,192,192,192,192,192,192,192,
|
|
808
|
+
192,190,192,192,192,192,192,192,
|
|
809
|
+
192,192,192,192,190,192,192,192,
|
|
810
|
+
192,192,192,192,192,192,192,190,
|
|
811
|
+
194,64,196,195,64,198,69,69,
|
|
812
|
+
69,69,69,69,69,69,69,69,
|
|
813
|
+
69,69,69,69,69,69,69,69,
|
|
814
|
+
69,69,69,69,69,69,69,69,
|
|
815
|
+
69,69,69,69,69,199,69,201,
|
|
816
|
+
200,69,72,69,203,203,203,203,
|
|
817
|
+
203,203,203,203,203,203,202,202,
|
|
818
|
+
202,202,202,202,202,203,203,203,
|
|
819
|
+
203,203,203,202,202,202,202,202,
|
|
820
|
+
202,202,202,202,202,202,202,202,
|
|
821
|
+
202,202,202,202,202,202,202,202,
|
|
822
|
+
202,202,202,202,202,203,203,203,
|
|
823
|
+
203,203,203,202,90,90,90,90,
|
|
824
|
+
90,90,90,90,90,90,202,202,
|
|
825
|
+
202,202,202,202,202,90,90,90,
|
|
826
|
+
90,90,90,202,202,202,202,202,
|
|
827
|
+
202,202,202,202,202,202,202,202,
|
|
828
|
+
202,202,202,202,202,202,202,202,
|
|
829
|
+
202,202,202,202,202,90,90,90,
|
|
830
|
+
90,90,90,202,205,204,207,206,
|
|
831
|
+
206,206,206,206,208,206,206,209,
|
|
832
|
+
209,209,209,209,209,209,209,209,
|
|
833
|
+
209,206,206,210,206,93,92,92,
|
|
834
|
+
92,92,92,211,92,92,211,211,
|
|
835
|
+
211,211,211,211,211,211,211,211,
|
|
836
|
+
92,95,95,95,95,95,95,95,
|
|
837
|
+
95,95,95,211,94,211,211,211,
|
|
838
|
+
211,211,211,95,95,95,95,95,
|
|
839
|
+
95,95,95,95,95,211,211,96,
|
|
840
|
+
96,96,96,96,96,96,96,96,
|
|
841
|
+
96,96,211,96,96,211,211,211,
|
|
842
|
+
211,211,211,211,211,211,211,96,
|
|
843
|
+
96,96,211,93,96,0
|
|
757
844
|
]
|
|
758
845
|
|
|
759
846
|
class << self
|
|
@@ -761,31 +848,33 @@ class << self
|
|
|
761
848
|
private :_re_scanner_trans_targs, :_re_scanner_trans_targs=
|
|
762
849
|
end
|
|
763
850
|
self._re_scanner_trans_targs = [
|
|
764
|
-
|
|
765
|
-
|
|
851
|
+
76,77,1,2,76,4,76,6,
|
|
852
|
+
76,8,76,76,10,16,11,76,
|
|
766
853
|
12,13,14,15,17,18,19,20,
|
|
767
|
-
21,23,29,24,
|
|
768
|
-
28,30,31,32,33,34,
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
65,
|
|
775
|
-
70,
|
|
776
|
-
78,
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
854
|
+
21,23,29,24,76,25,26,27,
|
|
855
|
+
28,30,31,32,33,34,76,36,
|
|
856
|
+
76,37,39,0,40,41,92,93,
|
|
857
|
+
93,42,93,93,93,45,46,93,
|
|
858
|
+
93,100,100,47,106,106,49,52,
|
|
859
|
+
106,116,106,118,55,106,119,106,
|
|
860
|
+
121,58,61,59,60,106,62,63,
|
|
861
|
+
64,65,66,67,106,123,124,106,
|
|
862
|
+
70,71,125,126,72,73,126,74,
|
|
863
|
+
75,3,78,79,80,81,82,76,
|
|
864
|
+
83,76,86,87,76,88,76,89,
|
|
865
|
+
76,76,90,76,76,76,76,76,
|
|
866
|
+
76,84,76,85,5,76,7,76,
|
|
867
|
+
76,76,76,76,76,76,76,76,
|
|
868
|
+
76,9,22,76,35,91,38,94,
|
|
869
|
+
95,96,93,97,98,99,93,93,
|
|
870
|
+
93,93,43,93,93,44,93,93,
|
|
871
|
+
93,101,102,103,104,100,100,48,
|
|
872
|
+
100,105,100,107,108,109,106,110,
|
|
873
|
+
112,115,51,106,54,106,106,57,
|
|
874
|
+
68,106,50,106,111,106,106,113,
|
|
875
|
+
114,106,117,106,53,106,120,122,
|
|
876
|
+
106,56,106,106,106,69,126,127,
|
|
877
|
+
128,129,130,126
|
|
789
878
|
]
|
|
790
879
|
|
|
791
880
|
class << self
|
|
@@ -800,24 +889,26 @@ self._re_scanner_trans_actions = [
|
|
|
800
889
|
0,0,0,0,0,0,10,0,
|
|
801
890
|
11,0,0,0,0,0,13,14,
|
|
802
891
|
15,0,16,17,18,0,0,19,
|
|
803
|
-
20,21,22,0,
|
|
804
|
-
|
|
805
|
-
0,0,
|
|
806
|
-
0,
|
|
807
|
-
0,0,
|
|
808
|
-
|
|
809
|
-
40,41,
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
0,
|
|
818
|
-
0,
|
|
819
|
-
0,
|
|
820
|
-
|
|
892
|
+
20,21,22,0,23,24,0,0,
|
|
893
|
+
26,0,27,0,0,28,0,29,
|
|
894
|
+
0,0,0,0,0,30,0,0,
|
|
895
|
+
0,0,0,0,31,0,0,32,
|
|
896
|
+
0,0,33,34,0,0,35,0,
|
|
897
|
+
0,0,0,0,0,0,0,38,
|
|
898
|
+
39,40,0,0,41,0,42,33,
|
|
899
|
+
43,44,33,45,46,47,48,49,
|
|
900
|
+
50,33,51,0,0,52,0,53,
|
|
901
|
+
54,55,56,57,58,59,60,61,
|
|
902
|
+
62,0,0,63,0,65,0,0,
|
|
903
|
+
33,33,66,0,33,67,68,69,
|
|
904
|
+
70,71,0,72,73,0,74,75,
|
|
905
|
+
76,0,33,33,0,77,78,0,
|
|
906
|
+
79,0,80,0,33,33,81,0,
|
|
907
|
+
0,0,0,82,0,83,84,0,
|
|
908
|
+
0,85,0,86,0,87,88,0,
|
|
909
|
+
0,89,33,90,0,91,33,0,
|
|
910
|
+
92,0,93,94,95,0,96,33,
|
|
911
|
+
33,33,33,97
|
|
821
912
|
]
|
|
822
913
|
|
|
823
914
|
class << self
|
|
@@ -833,13 +924,15 @@ self._re_scanner_to_state_actions = [
|
|
|
833
924
|
0,0,0,0,0,0,0,0,
|
|
834
925
|
0,0,0,0,0,0,0,0,
|
|
835
926
|
0,0,0,0,0,0,0,0,
|
|
836
|
-
0,0,0,0,0,0,0,32,
|
|
837
927
|
0,0,0,0,0,0,0,0,
|
|
838
|
-
0,0,0,0,0,0,
|
|
839
|
-
61,0,0,0,0,0,0,61,
|
|
840
|
-
0,0,61,0,0,0,0,0,
|
|
928
|
+
0,0,0,0,36,0,0,0,
|
|
841
929
|
0,0,0,0,0,0,0,0,
|
|
842
|
-
0,
|
|
930
|
+
0,0,0,64,64,64,0,0,
|
|
931
|
+
0,0,0,0,64,0,0,0,
|
|
932
|
+
0,0,64,0,0,0,0,0,
|
|
933
|
+
0,0,0,0,0,0,0,0,
|
|
934
|
+
0,0,0,0,0,0,64,0,
|
|
935
|
+
0,0,0
|
|
843
936
|
]
|
|
844
937
|
|
|
845
938
|
class << self
|
|
@@ -855,13 +948,15 @@ self._re_scanner_from_state_actions = [
|
|
|
855
948
|
0,0,0,0,0,0,0,0,
|
|
856
949
|
0,0,0,0,0,0,0,0,
|
|
857
950
|
0,0,0,0,0,0,0,0,
|
|
858
|
-
0,0,0,0,0,0,0,33,
|
|
859
951
|
0,0,0,0,0,0,0,0,
|
|
860
|
-
0,0,0,0,0,0,
|
|
861
|
-
|
|
862
|
-
0,0,
|
|
952
|
+
0,0,0,0,37,0,0,0,
|
|
953
|
+
0,0,0,0,0,0,0,0,
|
|
954
|
+
0,0,0,37,37,37,0,0,
|
|
955
|
+
0,0,0,0,37,0,0,0,
|
|
956
|
+
0,0,37,0,0,0,0,0,
|
|
863
957
|
0,0,0,0,0,0,0,0,
|
|
864
|
-
0,
|
|
958
|
+
0,0,0,0,0,0,37,0,
|
|
959
|
+
0,0,0
|
|
865
960
|
]
|
|
866
961
|
|
|
867
962
|
class << self
|
|
@@ -875,15 +970,17 @@ self._re_scanner_eof_actions = [
|
|
|
875
970
|
0,0,0,0,0,0,0,0,
|
|
876
971
|
0,0,0,0,0,0,12,12,
|
|
877
972
|
12,12,0,0,0,0,0,0,
|
|
878
|
-
0,
|
|
879
|
-
|
|
880
|
-
|
|
973
|
+
0,0,0,25,25,0,25,25,
|
|
974
|
+
0,25,25,25,25,25,25,25,
|
|
975
|
+
25,25,25,25,25,0,0,0,
|
|
976
|
+
0,0,0,0,0,0,0,0,
|
|
977
|
+
0,0,0,0,0,0,0,0,
|
|
978
|
+
0,0,0,0,0,25,0,0,
|
|
881
979
|
0,0,0,0,0,0,0,0,
|
|
980
|
+
0,0,25,0,0,0,0,0,
|
|
882
981
|
0,0,0,0,0,0,0,0,
|
|
883
|
-
23,0,0,0,0,0,0,0,
|
|
884
|
-
0,0,23,0,0,0,0,0,
|
|
885
982
|
0,0,0,0,0,0,0,0,
|
|
886
|
-
0,0,0
|
|
983
|
+
0,0,0
|
|
887
984
|
]
|
|
888
985
|
|
|
889
986
|
class << self
|
|
@@ -897,25 +994,27 @@ self._re_scanner_eof_trans = [
|
|
|
897
994
|
12,12,12,12,12,12,12,12,
|
|
898
995
|
12,12,12,39,39,39,0,0,
|
|
899
996
|
0,0,48,48,51,53,53,58,
|
|
900
|
-
58,0,0,
|
|
901
|
-
|
|
902
|
-
0,0,0,
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
191,
|
|
997
|
+
58,61,61,0,0,67,0,0,
|
|
998
|
+
72,0,0,0,0,0,0,0,
|
|
999
|
+
0,0,0,0,0,88,88,88,
|
|
1000
|
+
92,92,92,92,0,117,117,118,
|
|
1001
|
+
118,117,119,121,123,123,129,131,
|
|
1002
|
+
133,135,140,0,0,0,154,154,
|
|
1003
|
+
154,154,157,160,0,167,167,167,
|
|
1004
|
+
169,169,0,186,186,186,188,188,
|
|
1005
|
+
191,191,191,191,194,194,194,198,
|
|
1006
|
+
198,198,198,203,203,205,0,212,
|
|
1007
|
+
212,212,212
|
|
909
1008
|
]
|
|
910
1009
|
|
|
911
1010
|
class << self
|
|
912
1011
|
attr_accessor :re_scanner_start
|
|
913
1012
|
end
|
|
914
|
-
self.re_scanner_start =
|
|
1013
|
+
self.re_scanner_start = 76;
|
|
915
1014
|
class << self
|
|
916
1015
|
attr_accessor :re_scanner_first_final
|
|
917
1016
|
end
|
|
918
|
-
self.re_scanner_first_final =
|
|
1017
|
+
self.re_scanner_first_final = 76;
|
|
919
1018
|
class << self
|
|
920
1019
|
attr_accessor :re_scanner_error
|
|
921
1020
|
end
|
|
@@ -924,31 +1023,31 @@ self.re_scanner_error = 0;
|
|
|
924
1023
|
class << self
|
|
925
1024
|
attr_accessor :re_scanner_en_char_type
|
|
926
1025
|
end
|
|
927
|
-
self.re_scanner_en_char_type =
|
|
1026
|
+
self.re_scanner_en_char_type = 91;
|
|
928
1027
|
class << self
|
|
929
1028
|
attr_accessor :re_scanner_en_unicode_property
|
|
930
1029
|
end
|
|
931
|
-
self.re_scanner_en_unicode_property =
|
|
1030
|
+
self.re_scanner_en_unicode_property = 92;
|
|
932
1031
|
class << self
|
|
933
1032
|
attr_accessor :re_scanner_en_character_set
|
|
934
1033
|
end
|
|
935
|
-
self.re_scanner_en_character_set =
|
|
1034
|
+
self.re_scanner_en_character_set = 93;
|
|
936
1035
|
class << self
|
|
937
1036
|
attr_accessor :re_scanner_en_set_escape_sequence
|
|
938
1037
|
end
|
|
939
|
-
self.re_scanner_en_set_escape_sequence =
|
|
1038
|
+
self.re_scanner_en_set_escape_sequence = 100;
|
|
940
1039
|
class << self
|
|
941
1040
|
attr_accessor :re_scanner_en_escape_sequence
|
|
942
1041
|
end
|
|
943
|
-
self.re_scanner_en_escape_sequence =
|
|
1042
|
+
self.re_scanner_en_escape_sequence = 106;
|
|
944
1043
|
class << self
|
|
945
1044
|
attr_accessor :re_scanner_en_conditional_expression
|
|
946
1045
|
end
|
|
947
|
-
self.re_scanner_en_conditional_expression =
|
|
1046
|
+
self.re_scanner_en_conditional_expression = 126;
|
|
948
1047
|
class << self
|
|
949
1048
|
attr_accessor :re_scanner_en_main
|
|
950
1049
|
end
|
|
951
|
-
self.re_scanner_en_main =
|
|
1050
|
+
self.re_scanner_en_main = 76;
|
|
952
1051
|
|
|
953
1052
|
begin
|
|
954
1053
|
p ||= 0
|
|
@@ -982,7 +1081,7 @@ begin
|
|
|
982
1081
|
end
|
|
983
1082
|
if _goto_level <= _resume
|
|
984
1083
|
case _re_scanner_from_state_actions[cs]
|
|
985
|
-
when
|
|
1084
|
+
when 37
|
|
986
1085
|
begin
|
|
987
1086
|
ts = p
|
|
988
1087
|
end
|
|
@@ -991,10 +1090,10 @@ ts = p
|
|
|
991
1090
|
_inds = _re_scanner_index_offsets[cs]
|
|
992
1091
|
_slen = _re_scanner_key_spans[cs]
|
|
993
1092
|
_wide = data[p].ord
|
|
994
|
-
_trans = if (
|
|
1093
|
+
_trans = if ( _slen > 0 &&
|
|
995
1094
|
_re_scanner_trans_keys[_keys] <= _wide &&
|
|
996
1095
|
_wide <= _re_scanner_trans_keys[_keys + 1]
|
|
997
|
-
)
|
|
1096
|
+
)
|
|
998
1097
|
_re_scanner_indicies[ _inds + _wide - _re_scanner_trans_keys[_keys] ]
|
|
999
1098
|
else
|
|
1000
1099
|
_re_scanner_indicies[ _inds + _slen ]
|
|
@@ -1004,28 +1103,28 @@ ts = p
|
|
|
1004
1103
|
cs = _re_scanner_trans_targs[_trans]
|
|
1005
1104
|
if _re_scanner_trans_actions[_trans] != 0
|
|
1006
1105
|
case _re_scanner_trans_actions[_trans]
|
|
1007
|
-
when
|
|
1106
|
+
when 39
|
|
1008
1107
|
begin
|
|
1009
1108
|
self.group_depth = group_depth + 1 end
|
|
1010
|
-
when
|
|
1109
|
+
when 33
|
|
1011
1110
|
begin
|
|
1012
1111
|
te = p+1
|
|
1013
1112
|
end
|
|
1014
|
-
when
|
|
1113
|
+
when 65
|
|
1015
1114
|
begin
|
|
1016
1115
|
te = p+1
|
|
1017
1116
|
begin
|
|
1018
1117
|
case text = copy(data, ts-1,te)
|
|
1019
|
-
when '\d'; emit(:type, :digit,
|
|
1020
|
-
when '\D'; emit(:type, :nondigit,
|
|
1021
|
-
when '\h'; emit(:type, :hex,
|
|
1022
|
-
when '\H'; emit(:type, :nonhex,
|
|
1023
|
-
when '\s'; emit(:type, :space,
|
|
1024
|
-
when '\S'; emit(:type, :nonspace,
|
|
1025
|
-
when '\w'; emit(:type, :word,
|
|
1026
|
-
when '\W'; emit(:type, :nonword,
|
|
1027
|
-
when '\R'; emit(:type, :linebreak,
|
|
1028
|
-
when '\X'; emit(:type, :xgrapheme,
|
|
1118
|
+
when '\d'; emit(:type, :digit, text)
|
|
1119
|
+
when '\D'; emit(:type, :nondigit, text)
|
|
1120
|
+
when '\h'; emit(:type, :hex, text)
|
|
1121
|
+
when '\H'; emit(:type, :nonhex, text)
|
|
1122
|
+
when '\s'; emit(:type, :space, text)
|
|
1123
|
+
when '\S'; emit(:type, :nonspace, text)
|
|
1124
|
+
when '\w'; emit(:type, :word, text)
|
|
1125
|
+
when '\W'; emit(:type, :nonword, text)
|
|
1126
|
+
when '\R'; emit(:type, :linebreak, text)
|
|
1127
|
+
when '\X'; emit(:type, :xgrapheme, text)
|
|
1029
1128
|
end
|
|
1030
1129
|
begin
|
|
1031
1130
|
top -= 1
|
|
@@ -1036,7 +1135,7 @@ te = p+1
|
|
|
1036
1135
|
|
|
1037
1136
|
end
|
|
1038
1137
|
end
|
|
1039
|
-
when 13
|
|
1138
|
+
when 13
|
|
1040
1139
|
begin
|
|
1041
1140
|
te = p+1
|
|
1042
1141
|
begin
|
|
@@ -1059,15 +1158,15 @@ te = p+1
|
|
|
1059
1158
|
|
|
1060
1159
|
end
|
|
1061
1160
|
end
|
|
1062
|
-
when 17
|
|
1161
|
+
when 17
|
|
1063
1162
|
begin
|
|
1064
1163
|
te = p+1
|
|
1065
|
-
begin
|
|
1164
|
+
begin # special case, emits two tokens
|
|
1066
1165
|
emit(:literal, :literal, '-')
|
|
1067
1166
|
emit(:set, :intersection, '&&')
|
|
1068
1167
|
end
|
|
1069
1168
|
end
|
|
1070
|
-
when
|
|
1169
|
+
when 70
|
|
1071
1170
|
begin
|
|
1072
1171
|
te = p+1
|
|
1073
1172
|
begin
|
|
@@ -1078,35 +1177,35 @@ te = p+1
|
|
|
1078
1177
|
end
|
|
1079
1178
|
end
|
|
1080
1179
|
end
|
|
1081
|
-
when
|
|
1180
|
+
when 72
|
|
1082
1181
|
begin
|
|
1083
1182
|
te = p+1
|
|
1084
1183
|
begin
|
|
1085
1184
|
emit(:set, :intersection, '&&')
|
|
1086
1185
|
end
|
|
1087
1186
|
end
|
|
1088
|
-
when
|
|
1187
|
+
when 68
|
|
1089
1188
|
begin
|
|
1090
1189
|
te = p+1
|
|
1091
1190
|
begin
|
|
1092
1191
|
begin
|
|
1093
1192
|
stack[top] = cs
|
|
1094
1193
|
top+= 1
|
|
1095
|
-
cs =
|
|
1194
|
+
cs = 100
|
|
1096
1195
|
_goto_level = _again
|
|
1097
1196
|
next
|
|
1098
1197
|
end
|
|
1099
1198
|
|
|
1100
1199
|
end
|
|
1101
1200
|
end
|
|
1102
|
-
when
|
|
1201
|
+
when 66
|
|
1103
1202
|
begin
|
|
1104
1203
|
te = p+1
|
|
1105
1204
|
begin
|
|
1106
1205
|
emit(:literal, :literal, copy(data, ts, te))
|
|
1107
1206
|
end
|
|
1108
1207
|
end
|
|
1109
|
-
when 15
|
|
1208
|
+
when 15
|
|
1110
1209
|
begin
|
|
1111
1210
|
te = p+1
|
|
1112
1211
|
begin
|
|
@@ -1114,7 +1213,7 @@ te = p+1
|
|
|
1114
1213
|
emit(:literal, :literal, text)
|
|
1115
1214
|
end
|
|
1116
1215
|
end
|
|
1117
|
-
when
|
|
1216
|
+
when 73
|
|
1118
1217
|
begin
|
|
1119
1218
|
te = p
|
|
1120
1219
|
p = p - 1; begin
|
|
@@ -1127,7 +1226,7 @@ p = p - 1; begin
|
|
|
1127
1226
|
end
|
|
1128
1227
|
end
|
|
1129
1228
|
end
|
|
1130
|
-
when
|
|
1229
|
+
when 76
|
|
1131
1230
|
begin
|
|
1132
1231
|
te = p
|
|
1133
1232
|
p = p - 1; begin
|
|
@@ -1135,14 +1234,14 @@ p = p - 1; begin
|
|
|
1135
1234
|
begin
|
|
1136
1235
|
stack[top] = cs
|
|
1137
1236
|
top+= 1
|
|
1138
|
-
cs =
|
|
1237
|
+
cs = 93
|
|
1139
1238
|
_goto_level = _again
|
|
1140
1239
|
next
|
|
1141
1240
|
end
|
|
1142
1241
|
|
|
1143
1242
|
end
|
|
1144
1243
|
end
|
|
1145
|
-
when
|
|
1244
|
+
when 71
|
|
1146
1245
|
begin
|
|
1147
1246
|
te = p
|
|
1148
1247
|
p = p - 1; begin
|
|
@@ -1150,7 +1249,7 @@ p = p - 1; begin
|
|
|
1150
1249
|
emit(:literal, :literal, text)
|
|
1151
1250
|
end
|
|
1152
1251
|
end
|
|
1153
|
-
when 16
|
|
1252
|
+
when 16
|
|
1154
1253
|
begin
|
|
1155
1254
|
begin p = ((te))-1; end
|
|
1156
1255
|
begin
|
|
@@ -1163,7 +1262,7 @@ p = p - 1; begin
|
|
|
1163
1262
|
end
|
|
1164
1263
|
end
|
|
1165
1264
|
end
|
|
1166
|
-
when 19
|
|
1265
|
+
when 19
|
|
1167
1266
|
begin
|
|
1168
1267
|
begin p = ((te))-1; end
|
|
1169
1268
|
begin
|
|
@@ -1171,14 +1270,14 @@ p = p - 1; begin
|
|
|
1171
1270
|
begin
|
|
1172
1271
|
stack[top] = cs
|
|
1173
1272
|
top+= 1
|
|
1174
|
-
cs =
|
|
1273
|
+
cs = 93
|
|
1175
1274
|
_goto_level = _again
|
|
1176
1275
|
next
|
|
1177
1276
|
end
|
|
1178
1277
|
|
|
1179
1278
|
end
|
|
1180
1279
|
end
|
|
1181
|
-
when 14
|
|
1280
|
+
when 14
|
|
1182
1281
|
begin
|
|
1183
1282
|
begin p = ((te))-1; end
|
|
1184
1283
|
begin
|
|
@@ -1186,7 +1285,7 @@ p = p - 1; begin
|
|
|
1186
1285
|
emit(:literal, :literal, text)
|
|
1187
1286
|
end
|
|
1188
1287
|
end
|
|
1189
|
-
when
|
|
1288
|
+
when 80
|
|
1190
1289
|
begin
|
|
1191
1290
|
te = p+1
|
|
1192
1291
|
begin
|
|
@@ -1200,23 +1299,23 @@ te = p+1
|
|
|
1200
1299
|
|
|
1201
1300
|
end
|
|
1202
1301
|
end
|
|
1203
|
-
when
|
|
1302
|
+
when 77
|
|
1204
1303
|
begin
|
|
1205
1304
|
te = p+1
|
|
1206
1305
|
begin
|
|
1207
1306
|
p = p - 1;
|
|
1208
|
-
cs =
|
|
1307
|
+
cs = 93;
|
|
1209
1308
|
begin
|
|
1210
1309
|
stack[top] = cs
|
|
1211
1310
|
top+= 1
|
|
1212
|
-
cs =
|
|
1311
|
+
cs = 106
|
|
1213
1312
|
_goto_level = _again
|
|
1214
1313
|
next
|
|
1215
1314
|
end
|
|
1216
1315
|
|
|
1217
1316
|
end
|
|
1218
1317
|
end
|
|
1219
|
-
when
|
|
1318
|
+
when 22
|
|
1220
1319
|
begin
|
|
1221
1320
|
te = p+1
|
|
1222
1321
|
begin
|
|
@@ -1230,7 +1329,7 @@ te = p+1
|
|
|
1230
1329
|
|
|
1231
1330
|
end
|
|
1232
1331
|
end
|
|
1233
|
-
when
|
|
1332
|
+
when 79
|
|
1234
1333
|
begin
|
|
1235
1334
|
te = p
|
|
1236
1335
|
p = p - 1; begin
|
|
@@ -1244,11 +1343,25 @@ p = p - 1; begin
|
|
|
1244
1343
|
|
|
1245
1344
|
end
|
|
1246
1345
|
end
|
|
1247
|
-
when
|
|
1346
|
+
when 78
|
|
1248
1347
|
begin
|
|
1249
|
-
te = p
|
|
1348
|
+
te = p
|
|
1349
|
+
p = p - 1; begin
|
|
1350
|
+
emit(:escape, :literal, copy(data, ts-1,te))
|
|
1351
|
+
begin
|
|
1352
|
+
top -= 1
|
|
1353
|
+
cs = stack[top]
|
|
1354
|
+
_goto_level = _again
|
|
1355
|
+
next
|
|
1356
|
+
end
|
|
1357
|
+
|
|
1358
|
+
end
|
|
1359
|
+
end
|
|
1360
|
+
when 21
|
|
1361
|
+
begin
|
|
1362
|
+
begin p = ((te))-1; end
|
|
1250
1363
|
begin
|
|
1251
|
-
emit(:escape, :
|
|
1364
|
+
emit(:escape, :literal, copy(data, ts-1,te))
|
|
1252
1365
|
begin
|
|
1253
1366
|
top -= 1
|
|
1254
1367
|
cs = stack[top]
|
|
@@ -1258,13 +1371,11 @@ te = p+1
|
|
|
1258
1371
|
|
|
1259
1372
|
end
|
|
1260
1373
|
end
|
|
1261
|
-
when
|
|
1374
|
+
when 87
|
|
1262
1375
|
begin
|
|
1263
1376
|
te = p+1
|
|
1264
|
-
begin
|
|
1265
|
-
|
|
1266
|
-
emit(:escape, :literal, text[0,2])
|
|
1267
|
-
emit(:literal, :literal, text[2])
|
|
1377
|
+
begin
|
|
1378
|
+
emit(:escape, :octal, copy(data, ts-1,te))
|
|
1268
1379
|
begin
|
|
1269
1380
|
top -= 1
|
|
1270
1381
|
cs = stack[top]
|
|
@@ -1274,24 +1385,24 @@ te = p+1
|
|
|
1274
1385
|
|
|
1275
1386
|
end
|
|
1276
1387
|
end
|
|
1277
|
-
when
|
|
1388
|
+
when 81
|
|
1278
1389
|
begin
|
|
1279
1390
|
te = p+1
|
|
1280
1391
|
begin
|
|
1281
1392
|
case text = copy(data, ts-1,te)
|
|
1282
|
-
when '\.';
|
|
1283
|
-
when '\|';
|
|
1284
|
-
when '\^';
|
|
1285
|
-
when '\$';
|
|
1286
|
-
when '\?';
|
|
1287
|
-
when '\*';
|
|
1288
|
-
when '\+';
|
|
1289
|
-
when '\(';
|
|
1290
|
-
when '\)';
|
|
1291
|
-
when '\{';
|
|
1292
|
-
when '\}';
|
|
1293
|
-
when '\[';
|
|
1294
|
-
when '\]';
|
|
1393
|
+
when '\.'; emit(:escape, :dot, text)
|
|
1394
|
+
when '\|'; emit(:escape, :alternation, text)
|
|
1395
|
+
when '\^'; emit(:escape, :bol, text)
|
|
1396
|
+
when '\$'; emit(:escape, :eol, text)
|
|
1397
|
+
when '\?'; emit(:escape, :zero_or_one, text)
|
|
1398
|
+
when '\*'; emit(:escape, :zero_or_more, text)
|
|
1399
|
+
when '\+'; emit(:escape, :one_or_more, text)
|
|
1400
|
+
when '\('; emit(:escape, :group_open, text)
|
|
1401
|
+
when '\)'; emit(:escape, :group_close, text)
|
|
1402
|
+
when '\{'; emit(:escape, :interval_open, text)
|
|
1403
|
+
when '\}'; emit(:escape, :interval_close, text)
|
|
1404
|
+
when '\['; emit(:escape, :set_open, text)
|
|
1405
|
+
when '\]'; emit(:escape, :set_close, text)
|
|
1295
1406
|
when "\\\\";
|
|
1296
1407
|
emit(:escape, :backslash, text)
|
|
1297
1408
|
end
|
|
@@ -1304,21 +1415,21 @@ te = p+1
|
|
|
1304
1415
|
|
|
1305
1416
|
end
|
|
1306
1417
|
end
|
|
1307
|
-
when
|
|
1418
|
+
when 84
|
|
1308
1419
|
begin
|
|
1309
1420
|
te = p+1
|
|
1310
1421
|
begin
|
|
1311
1422
|
# \b is emitted as backspace only when inside a character set, otherwise
|
|
1312
1423
|
# it is a word boundary anchor. A syntax might "normalize" it if needed.
|
|
1313
1424
|
case text = copy(data, ts-1,te)
|
|
1314
|
-
when '\a'; emit(:escape, :bell,
|
|
1315
|
-
when '\b'; emit(:escape, :backspace,
|
|
1316
|
-
when '\e'; emit(:escape, :escape,
|
|
1317
|
-
when '\f'; emit(:escape, :form_feed,
|
|
1318
|
-
when '\n'; emit(:escape, :newline,
|
|
1319
|
-
when '\r'; emit(:escape, :carriage,
|
|
1320
|
-
when '\t'; emit(:escape, :tab,
|
|
1321
|
-
when '\v'; emit(:escape, :vertical_tab,
|
|
1425
|
+
when '\a'; emit(:escape, :bell, text)
|
|
1426
|
+
when '\b'; emit(:escape, :backspace, text)
|
|
1427
|
+
when '\e'; emit(:escape, :escape, text)
|
|
1428
|
+
when '\f'; emit(:escape, :form_feed, text)
|
|
1429
|
+
when '\n'; emit(:escape, :newline, text)
|
|
1430
|
+
when '\r'; emit(:escape, :carriage, text)
|
|
1431
|
+
when '\t'; emit(:escape, :tab, text)
|
|
1432
|
+
when '\v'; emit(:escape, :vertical_tab, text)
|
|
1322
1433
|
end
|
|
1323
1434
|
begin
|
|
1324
1435
|
top -= 1
|
|
@@ -1329,7 +1440,7 @@ te = p+1
|
|
|
1329
1440
|
|
|
1330
1441
|
end
|
|
1331
1442
|
end
|
|
1332
|
-
when
|
|
1443
|
+
when 30
|
|
1333
1444
|
begin
|
|
1334
1445
|
te = p+1
|
|
1335
1446
|
begin
|
|
@@ -1337,7 +1448,7 @@ te = p+1
|
|
|
1337
1448
|
if text[2] == '{'
|
|
1338
1449
|
emit(:escape, :codepoint_list, text)
|
|
1339
1450
|
else
|
|
1340
|
-
emit(:escape, :codepoint,
|
|
1451
|
+
emit(:escape, :codepoint, text)
|
|
1341
1452
|
end
|
|
1342
1453
|
begin
|
|
1343
1454
|
top -= 1
|
|
@@ -1348,7 +1459,7 @@ te = p+1
|
|
|
1348
1459
|
|
|
1349
1460
|
end
|
|
1350
1461
|
end
|
|
1351
|
-
when
|
|
1462
|
+
when 94
|
|
1352
1463
|
begin
|
|
1353
1464
|
te = p+1
|
|
1354
1465
|
begin
|
|
@@ -1362,7 +1473,7 @@ te = p+1
|
|
|
1362
1473
|
|
|
1363
1474
|
end
|
|
1364
1475
|
end
|
|
1365
|
-
when
|
|
1476
|
+
when 26
|
|
1366
1477
|
begin
|
|
1367
1478
|
te = p+1
|
|
1368
1479
|
begin
|
|
@@ -1376,7 +1487,7 @@ te = p+1
|
|
|
1376
1487
|
|
|
1377
1488
|
end
|
|
1378
1489
|
end
|
|
1379
|
-
when
|
|
1490
|
+
when 28
|
|
1380
1491
|
begin
|
|
1381
1492
|
te = p+1
|
|
1382
1493
|
begin
|
|
@@ -1390,39 +1501,39 @@ te = p+1
|
|
|
1390
1501
|
|
|
1391
1502
|
end
|
|
1392
1503
|
end
|
|
1393
|
-
when
|
|
1504
|
+
when 82
|
|
1394
1505
|
begin
|
|
1395
1506
|
te = p+1
|
|
1396
1507
|
begin
|
|
1397
1508
|
p = p - 1;
|
|
1398
|
-
cs = ((in_set? ?
|
|
1509
|
+
cs = ((in_set? ? 93 : 76));
|
|
1399
1510
|
begin
|
|
1400
1511
|
stack[top] = cs
|
|
1401
1512
|
top+= 1
|
|
1402
|
-
cs =
|
|
1513
|
+
cs = 91
|
|
1403
1514
|
_goto_level = _again
|
|
1404
1515
|
next
|
|
1405
1516
|
end
|
|
1406
1517
|
|
|
1407
1518
|
end
|
|
1408
1519
|
end
|
|
1409
|
-
when
|
|
1520
|
+
when 83
|
|
1410
1521
|
begin
|
|
1411
1522
|
te = p+1
|
|
1412
1523
|
begin
|
|
1413
1524
|
p = p - 1;
|
|
1414
|
-
cs = ((in_set? ?
|
|
1525
|
+
cs = ((in_set? ? 93 : 76));
|
|
1415
1526
|
begin
|
|
1416
1527
|
stack[top] = cs
|
|
1417
1528
|
top+= 1
|
|
1418
|
-
cs =
|
|
1529
|
+
cs = 92
|
|
1419
1530
|
_goto_level = _again
|
|
1420
1531
|
next
|
|
1421
1532
|
end
|
|
1422
1533
|
|
|
1423
1534
|
end
|
|
1424
1535
|
end
|
|
1425
|
-
when
|
|
1536
|
+
when 24
|
|
1426
1537
|
begin
|
|
1427
1538
|
te = p+1
|
|
1428
1539
|
begin
|
|
@@ -1436,12 +1547,24 @@ te = p+1
|
|
|
1436
1547
|
|
|
1437
1548
|
end
|
|
1438
1549
|
end
|
|
1439
|
-
when 88
|
|
1550
|
+
when 88
|
|
1440
1551
|
begin
|
|
1441
1552
|
te = p
|
|
1442
1553
|
p = p - 1; begin
|
|
1443
1554
|
text = copy(data, ts-1,te)
|
|
1444
|
-
|
|
1555
|
+
|
|
1556
|
+
# If not enough groups have been opened, there is a fallback to either an
|
|
1557
|
+
# octal or literal interpretation for 2+ digit numerical escapes.
|
|
1558
|
+
digits = text[1..-1]
|
|
1559
|
+
if digits.size == 1 || digits.to_i <= capturing_group_count
|
|
1560
|
+
emit(:backref, :number, text)
|
|
1561
|
+
elsif digits =~ /\A[0-7]{2,}\z/
|
|
1562
|
+
emit(:escape, :octal, text)
|
|
1563
|
+
else
|
|
1564
|
+
emit(:escape, :literal, text[0..1])
|
|
1565
|
+
emit(:literal, :literal, text[2..-1])
|
|
1566
|
+
end
|
|
1567
|
+
|
|
1445
1568
|
begin
|
|
1446
1569
|
top -= 1
|
|
1447
1570
|
cs = stack[top]
|
|
@@ -1451,7 +1574,7 @@ p = p - 1; begin
|
|
|
1451
1574
|
|
|
1452
1575
|
end
|
|
1453
1576
|
end
|
|
1454
|
-
when 86
|
|
1577
|
+
when 86
|
|
1455
1578
|
begin
|
|
1456
1579
|
te = p
|
|
1457
1580
|
p = p - 1; begin
|
|
@@ -1465,11 +1588,16 @@ p = p - 1; begin
|
|
|
1465
1588
|
|
|
1466
1589
|
end
|
|
1467
1590
|
end
|
|
1468
|
-
when
|
|
1591
|
+
when 95
|
|
1469
1592
|
begin
|
|
1470
1593
|
te = p
|
|
1471
1594
|
p = p - 1; begin
|
|
1472
|
-
|
|
1595
|
+
text = copy(data, ts-1,te)
|
|
1596
|
+
if regexp_encoding == Encoding::BINARY
|
|
1597
|
+
text.split(/(?=\\)/).each { |part| emit(:escape, :hex, part) }
|
|
1598
|
+
else
|
|
1599
|
+
emit(:escape, :utf8_hex, text)
|
|
1600
|
+
end
|
|
1473
1601
|
begin
|
|
1474
1602
|
top -= 1
|
|
1475
1603
|
cs = stack[top]
|
|
@@ -1479,11 +1607,11 @@ p = p - 1; begin
|
|
|
1479
1607
|
|
|
1480
1608
|
end
|
|
1481
1609
|
end
|
|
1482
|
-
when
|
|
1610
|
+
when 93
|
|
1483
1611
|
begin
|
|
1484
1612
|
te = p
|
|
1485
1613
|
p = p - 1; begin
|
|
1486
|
-
|
|
1614
|
+
emit(:escape, :hex, copy(data, ts-1,te))
|
|
1487
1615
|
begin
|
|
1488
1616
|
top -= 1
|
|
1489
1617
|
cs = stack[top]
|
|
@@ -1493,11 +1621,11 @@ p = p - 1; begin
|
|
|
1493
1621
|
|
|
1494
1622
|
end
|
|
1495
1623
|
end
|
|
1496
|
-
when
|
|
1624
|
+
when 90
|
|
1497
1625
|
begin
|
|
1498
1626
|
te = p
|
|
1499
1627
|
p = p - 1; begin
|
|
1500
|
-
emit_meta_control_sequence(data, ts, te, :
|
|
1628
|
+
emit_meta_control_sequence(data, ts, te, :control)
|
|
1501
1629
|
begin
|
|
1502
1630
|
top -= 1
|
|
1503
1631
|
cs = stack[top]
|
|
@@ -1507,11 +1635,11 @@ p = p - 1; begin
|
|
|
1507
1635
|
|
|
1508
1636
|
end
|
|
1509
1637
|
end
|
|
1510
|
-
when
|
|
1638
|
+
when 92
|
|
1511
1639
|
begin
|
|
1512
1640
|
te = p
|
|
1513
1641
|
p = p - 1; begin
|
|
1514
|
-
|
|
1642
|
+
emit_meta_control_sequence(data, ts, te, :meta_sequence)
|
|
1515
1643
|
begin
|
|
1516
1644
|
top -= 1
|
|
1517
1645
|
cs = stack[top]
|
|
@@ -1521,10 +1649,10 @@ p = p - 1; begin
|
|
|
1521
1649
|
|
|
1522
1650
|
end
|
|
1523
1651
|
end
|
|
1524
|
-
when
|
|
1652
|
+
when 85
|
|
1525
1653
|
begin
|
|
1526
|
-
|
|
1527
|
-
begin
|
|
1654
|
+
te = p
|
|
1655
|
+
p = p - 1; begin
|
|
1528
1656
|
emit(:escape, :literal, copy(data, ts-1,te))
|
|
1529
1657
|
begin
|
|
1530
1658
|
top -= 1
|
|
@@ -1535,14 +1663,16 @@ p = p - 1; begin
|
|
|
1535
1663
|
|
|
1536
1664
|
end
|
|
1537
1665
|
end
|
|
1538
|
-
when
|
|
1666
|
+
when 32
|
|
1539
1667
|
begin
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
begin begin p = ((te))-1; end
|
|
1543
|
-
|
|
1668
|
+
begin p = ((te))-1; end
|
|
1669
|
+
begin
|
|
1544
1670
|
text = copy(data, ts-1,te)
|
|
1545
|
-
|
|
1671
|
+
if regexp_encoding == Encoding::BINARY
|
|
1672
|
+
text.split(/(?=\\)/).each { |part| emit(:escape, :hex, part) }
|
|
1673
|
+
else
|
|
1674
|
+
emit(:escape, :utf8_hex, text)
|
|
1675
|
+
end
|
|
1546
1676
|
begin
|
|
1547
1677
|
top -= 1
|
|
1548
1678
|
cs = stack[top]
|
|
@@ -1550,11 +1680,13 @@ p = p - 1; begin
|
|
|
1550
1680
|
next
|
|
1551
1681
|
end
|
|
1552
1682
|
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1683
|
+
end
|
|
1684
|
+
end
|
|
1685
|
+
when 23
|
|
1686
|
+
begin
|
|
1687
|
+
begin p = ((te))-1; end
|
|
1688
|
+
begin
|
|
1689
|
+
emit(:escape, :literal, copy(data, ts-1,te))
|
|
1558
1690
|
begin
|
|
1559
1691
|
top -= 1
|
|
1560
1692
|
cs = stack[top]
|
|
@@ -1562,10 +1694,9 @@ p = p - 1; begin
|
|
|
1562
1694
|
next
|
|
1563
1695
|
end
|
|
1564
1696
|
|
|
1565
|
-
|
|
1566
|
-
end
|
|
1567
|
-
|
|
1568
|
-
when 31 then
|
|
1697
|
+
end
|
|
1698
|
+
end
|
|
1699
|
+
when 35
|
|
1569
1700
|
begin
|
|
1570
1701
|
te = p+1
|
|
1571
1702
|
begin
|
|
@@ -1575,7 +1706,7 @@ te = p+1
|
|
|
1575
1706
|
emit(:conditional, :condition_close, ')')
|
|
1576
1707
|
end
|
|
1577
1708
|
end
|
|
1578
|
-
when 96
|
|
1709
|
+
when 96
|
|
1579
1710
|
begin
|
|
1580
1711
|
te = p+1
|
|
1581
1712
|
begin
|
|
@@ -1583,14 +1714,14 @@ te = p+1
|
|
|
1583
1714
|
begin
|
|
1584
1715
|
stack[top] = cs
|
|
1585
1716
|
top+= 1
|
|
1586
|
-
cs =
|
|
1717
|
+
cs = 76
|
|
1587
1718
|
_goto_level = _again
|
|
1588
1719
|
next
|
|
1589
1720
|
end
|
|
1590
1721
|
|
|
1591
1722
|
end
|
|
1592
1723
|
end
|
|
1593
|
-
when 97
|
|
1724
|
+
when 97
|
|
1594
1725
|
begin
|
|
1595
1726
|
te = p
|
|
1596
1727
|
p = p - 1; begin
|
|
@@ -1598,14 +1729,14 @@ p = p - 1; begin
|
|
|
1598
1729
|
begin
|
|
1599
1730
|
stack[top] = cs
|
|
1600
1731
|
top+= 1
|
|
1601
|
-
cs =
|
|
1732
|
+
cs = 76
|
|
1602
1733
|
_goto_level = _again
|
|
1603
1734
|
next
|
|
1604
1735
|
end
|
|
1605
1736
|
|
|
1606
1737
|
end
|
|
1607
1738
|
end
|
|
1608
|
-
when
|
|
1739
|
+
when 34
|
|
1609
1740
|
begin
|
|
1610
1741
|
begin p = ((te))-1; end
|
|
1611
1742
|
begin
|
|
@@ -1613,21 +1744,21 @@ p = p - 1; begin
|
|
|
1613
1744
|
begin
|
|
1614
1745
|
stack[top] = cs
|
|
1615
1746
|
top+= 1
|
|
1616
|
-
cs =
|
|
1747
|
+
cs = 76
|
|
1617
1748
|
_goto_level = _again
|
|
1618
1749
|
next
|
|
1619
1750
|
end
|
|
1620
1751
|
|
|
1621
1752
|
end
|
|
1622
1753
|
end
|
|
1623
|
-
when
|
|
1754
|
+
when 41
|
|
1624
1755
|
begin
|
|
1625
1756
|
te = p+1
|
|
1626
1757
|
begin
|
|
1627
1758
|
emit(:meta, :dot, copy(data, ts, te))
|
|
1628
1759
|
end
|
|
1629
1760
|
end
|
|
1630
|
-
when
|
|
1761
|
+
when 45
|
|
1631
1762
|
begin
|
|
1632
1763
|
te = p+1
|
|
1633
1764
|
begin
|
|
@@ -1638,49 +1769,49 @@ te = p+1
|
|
|
1638
1769
|
end
|
|
1639
1770
|
end
|
|
1640
1771
|
end
|
|
1641
|
-
when
|
|
1772
|
+
when 44
|
|
1642
1773
|
begin
|
|
1643
1774
|
te = p+1
|
|
1644
1775
|
begin
|
|
1645
1776
|
emit(:anchor, :bol, copy(data, ts, te))
|
|
1646
1777
|
end
|
|
1647
1778
|
end
|
|
1648
|
-
when
|
|
1779
|
+
when 38
|
|
1649
1780
|
begin
|
|
1650
1781
|
te = p+1
|
|
1651
1782
|
begin
|
|
1652
1783
|
emit(:anchor, :eol, copy(data, ts, te))
|
|
1653
1784
|
end
|
|
1654
1785
|
end
|
|
1655
|
-
when
|
|
1786
|
+
when 62
|
|
1656
1787
|
begin
|
|
1657
1788
|
te = p+1
|
|
1658
1789
|
begin
|
|
1659
1790
|
emit(:keep, :mark, copy(data, ts, te))
|
|
1660
1791
|
end
|
|
1661
1792
|
end
|
|
1662
|
-
when
|
|
1793
|
+
when 61
|
|
1663
1794
|
begin
|
|
1664
1795
|
te = p+1
|
|
1665
1796
|
begin
|
|
1666
1797
|
case text = copy(data, ts, te)
|
|
1667
|
-
when '\A';
|
|
1668
|
-
when '\z';
|
|
1669
|
-
when '\Z';
|
|
1670
|
-
when '\b';
|
|
1671
|
-
when '\B';
|
|
1672
|
-
when '\G';
|
|
1798
|
+
when '\A'; emit(:anchor, :bos, text)
|
|
1799
|
+
when '\z'; emit(:anchor, :eos, text)
|
|
1800
|
+
when '\Z'; emit(:anchor, :eos_ob_eol, text)
|
|
1801
|
+
when '\b'; emit(:anchor, :word_boundary, text)
|
|
1802
|
+
when '\B'; emit(:anchor, :nonword_boundary, text)
|
|
1803
|
+
when '\G'; emit(:anchor, :match_start, text)
|
|
1673
1804
|
end
|
|
1674
1805
|
end
|
|
1675
1806
|
end
|
|
1676
|
-
when
|
|
1807
|
+
when 43
|
|
1677
1808
|
begin
|
|
1678
1809
|
te = p+1
|
|
1679
1810
|
begin
|
|
1680
1811
|
append_literal(data, ts, te)
|
|
1681
1812
|
end
|
|
1682
1813
|
end
|
|
1683
|
-
when
|
|
1814
|
+
when 52
|
|
1684
1815
|
begin
|
|
1685
1816
|
te = p+1
|
|
1686
1817
|
begin
|
|
@@ -1693,14 +1824,14 @@ te = p+1
|
|
|
1693
1824
|
begin
|
|
1694
1825
|
stack[top] = cs
|
|
1695
1826
|
top+= 1
|
|
1696
|
-
cs =
|
|
1827
|
+
cs = 126
|
|
1697
1828
|
_goto_level = _again
|
|
1698
1829
|
next
|
|
1699
1830
|
end
|
|
1700
1831
|
|
|
1701
1832
|
end
|
|
1702
1833
|
end
|
|
1703
|
-
when
|
|
1834
|
+
when 53
|
|
1704
1835
|
begin
|
|
1705
1836
|
te = p+1
|
|
1706
1837
|
begin
|
|
@@ -1711,40 +1842,40 @@ te = p+1
|
|
|
1711
1842
|
emit_options(text)
|
|
1712
1843
|
end
|
|
1713
1844
|
end
|
|
1714
|
-
when 6
|
|
1845
|
+
when 6
|
|
1715
1846
|
begin
|
|
1716
1847
|
te = p+1
|
|
1717
1848
|
begin
|
|
1718
1849
|
case text = copy(data, ts, te)
|
|
1719
|
-
when '(?=';
|
|
1720
|
-
when '(?!';
|
|
1721
|
-
when '(?<='; emit(:assertion, :lookbehind,
|
|
1722
|
-
when '(?<!'; emit(:assertion, :nlookbehind,
|
|
1850
|
+
when '(?='; emit(:assertion, :lookahead, text)
|
|
1851
|
+
when '(?!'; emit(:assertion, :nlookahead, text)
|
|
1852
|
+
when '(?<='; emit(:assertion, :lookbehind, text)
|
|
1853
|
+
when '(?<!'; emit(:assertion, :nlookbehind, text)
|
|
1723
1854
|
end
|
|
1724
1855
|
end
|
|
1725
1856
|
end
|
|
1726
|
-
when 5
|
|
1857
|
+
when 5
|
|
1727
1858
|
begin
|
|
1728
1859
|
te = p+1
|
|
1729
1860
|
begin
|
|
1730
1861
|
case text = copy(data, ts, te)
|
|
1731
|
-
when '(?:';
|
|
1732
|
-
when '(?>';
|
|
1733
|
-
when '(?~';
|
|
1862
|
+
when '(?:'; emit(:group, :passive, text)
|
|
1863
|
+
when '(?>'; emit(:group, :atomic, text)
|
|
1864
|
+
when '(?~'; emit(:group, :absence, text)
|
|
1734
1865
|
|
|
1735
1866
|
when /^\(\?(?:<>|'')/
|
|
1736
1867
|
raise ValidationError.for(:group, 'named group', 'name is empty')
|
|
1737
1868
|
|
|
1738
1869
|
when /^\(\?<[^>]+>/
|
|
1739
|
-
emit(:group, :named_ab,
|
|
1870
|
+
emit(:group, :named_ab, text)
|
|
1740
1871
|
|
|
1741
1872
|
when /^\(\?'[^']+'/
|
|
1742
|
-
emit(:group, :named_sq,
|
|
1873
|
+
emit(:group, :named_sq, text)
|
|
1743
1874
|
|
|
1744
1875
|
end
|
|
1745
1876
|
end
|
|
1746
1877
|
end
|
|
1747
|
-
when 9
|
|
1878
|
+
when 9
|
|
1748
1879
|
begin
|
|
1749
1880
|
te = p+1
|
|
1750
1881
|
begin
|
|
@@ -1764,7 +1895,7 @@ te = p+1
|
|
|
1764
1895
|
end
|
|
1765
1896
|
end
|
|
1766
1897
|
end
|
|
1767
|
-
when 8
|
|
1898
|
+
when 8
|
|
1768
1899
|
begin
|
|
1769
1900
|
te = p+1
|
|
1770
1901
|
begin
|
|
@@ -1780,47 +1911,47 @@ te = p+1
|
|
|
1780
1911
|
end
|
|
1781
1912
|
end
|
|
1782
1913
|
end
|
|
1783
|
-
when
|
|
1914
|
+
when 59
|
|
1784
1915
|
begin
|
|
1785
1916
|
te = p+1
|
|
1786
1917
|
begin
|
|
1787
1918
|
case text = copy(data, ts, te)
|
|
1788
|
-
when '?' ;
|
|
1789
|
-
when '??';
|
|
1790
|
-
when '?+';
|
|
1919
|
+
when '?' ; emit(:quantifier, :zero_or_one, text)
|
|
1920
|
+
when '??'; emit(:quantifier, :zero_or_one_reluctant, text)
|
|
1921
|
+
when '?+'; emit(:quantifier, :zero_or_one_possessive, text)
|
|
1791
1922
|
end
|
|
1792
1923
|
end
|
|
1793
1924
|
end
|
|
1794
|
-
when
|
|
1925
|
+
when 55
|
|
1795
1926
|
begin
|
|
1796
1927
|
te = p+1
|
|
1797
1928
|
begin
|
|
1798
1929
|
case text = copy(data, ts, te)
|
|
1799
|
-
when '*' ;
|
|
1800
|
-
when '*?';
|
|
1801
|
-
when '*+';
|
|
1930
|
+
when '*' ; emit(:quantifier, :zero_or_more, text)
|
|
1931
|
+
when '*?'; emit(:quantifier, :zero_or_more_reluctant, text)
|
|
1932
|
+
when '*+'; emit(:quantifier, :zero_or_more_possessive, text)
|
|
1802
1933
|
end
|
|
1803
1934
|
end
|
|
1804
1935
|
end
|
|
1805
|
-
when
|
|
1936
|
+
when 57
|
|
1806
1937
|
begin
|
|
1807
1938
|
te = p+1
|
|
1808
1939
|
begin
|
|
1809
1940
|
case text = copy(data, ts, te)
|
|
1810
|
-
when '+' ;
|
|
1811
|
-
when '+?';
|
|
1812
|
-
when '++';
|
|
1941
|
+
when '+' ; emit(:quantifier, :one_or_more, text)
|
|
1942
|
+
when '+?'; emit(:quantifier, :one_or_more_reluctant, text)
|
|
1943
|
+
when '++'; emit(:quantifier, :one_or_more_possessive, text)
|
|
1813
1944
|
end
|
|
1814
1945
|
end
|
|
1815
1946
|
end
|
|
1816
|
-
when 11
|
|
1947
|
+
when 11
|
|
1817
1948
|
begin
|
|
1818
1949
|
te = p+1
|
|
1819
1950
|
begin
|
|
1820
1951
|
emit(:quantifier, :interval, copy(data, ts, te))
|
|
1821
1952
|
end
|
|
1822
1953
|
end
|
|
1823
|
-
when
|
|
1954
|
+
when 49
|
|
1824
1955
|
begin
|
|
1825
1956
|
te = p+1
|
|
1826
1957
|
begin
|
|
@@ -1834,7 +1965,7 @@ te = p+1
|
|
|
1834
1965
|
end
|
|
1835
1966
|
end
|
|
1836
1967
|
end
|
|
1837
|
-
when
|
|
1968
|
+
when 51
|
|
1838
1969
|
begin
|
|
1839
1970
|
te = p
|
|
1840
1971
|
p = p - 1; begin
|
|
@@ -1845,69 +1976,70 @@ p = p - 1; begin
|
|
|
1845
1976
|
emit_options(text)
|
|
1846
1977
|
end
|
|
1847
1978
|
end
|
|
1848
|
-
when
|
|
1979
|
+
when 50
|
|
1849
1980
|
begin
|
|
1850
1981
|
te = p
|
|
1851
1982
|
p = p - 1; begin
|
|
1983
|
+
self.capturing_group_count = capturing_group_count + 1
|
|
1852
1984
|
text = copy(data, ts, te)
|
|
1853
1985
|
emit(:group, :capture, text)
|
|
1854
1986
|
end
|
|
1855
1987
|
end
|
|
1856
|
-
when
|
|
1988
|
+
when 58
|
|
1857
1989
|
begin
|
|
1858
1990
|
te = p
|
|
1859
1991
|
p = p - 1; begin
|
|
1860
1992
|
case text = copy(data, ts, te)
|
|
1861
|
-
when '?' ;
|
|
1862
|
-
when '??';
|
|
1863
|
-
when '?+';
|
|
1993
|
+
when '?' ; emit(:quantifier, :zero_or_one, text)
|
|
1994
|
+
when '??'; emit(:quantifier, :zero_or_one_reluctant, text)
|
|
1995
|
+
when '?+'; emit(:quantifier, :zero_or_one_possessive, text)
|
|
1864
1996
|
end
|
|
1865
1997
|
end
|
|
1866
1998
|
end
|
|
1867
|
-
when
|
|
1999
|
+
when 54
|
|
1868
2000
|
begin
|
|
1869
2001
|
te = p
|
|
1870
2002
|
p = p - 1; begin
|
|
1871
2003
|
case text = copy(data, ts, te)
|
|
1872
|
-
when '*' ;
|
|
1873
|
-
when '*?';
|
|
1874
|
-
when '*+';
|
|
2004
|
+
when '*' ; emit(:quantifier, :zero_or_more, text)
|
|
2005
|
+
when '*?'; emit(:quantifier, :zero_or_more_reluctant, text)
|
|
2006
|
+
when '*+'; emit(:quantifier, :zero_or_more_possessive, text)
|
|
1875
2007
|
end
|
|
1876
2008
|
end
|
|
1877
2009
|
end
|
|
1878
|
-
when
|
|
2010
|
+
when 56
|
|
1879
2011
|
begin
|
|
1880
2012
|
te = p
|
|
1881
2013
|
p = p - 1; begin
|
|
1882
2014
|
case text = copy(data, ts, te)
|
|
1883
|
-
when '+' ;
|
|
1884
|
-
when '+?';
|
|
1885
|
-
when '++';
|
|
2015
|
+
when '+' ; emit(:quantifier, :one_or_more, text)
|
|
2016
|
+
when '+?'; emit(:quantifier, :one_or_more_reluctant, text)
|
|
2017
|
+
when '++'; emit(:quantifier, :one_or_more_possessive, text)
|
|
1886
2018
|
end
|
|
1887
2019
|
end
|
|
1888
2020
|
end
|
|
1889
|
-
when
|
|
2021
|
+
when 63
|
|
1890
2022
|
begin
|
|
1891
2023
|
te = p
|
|
1892
2024
|
p = p - 1; begin
|
|
1893
2025
|
append_literal(data, ts, te)
|
|
1894
2026
|
end
|
|
1895
2027
|
end
|
|
1896
|
-
when
|
|
2028
|
+
when 60
|
|
1897
2029
|
begin
|
|
1898
2030
|
te = p
|
|
1899
2031
|
p = p - 1; begin
|
|
1900
2032
|
begin
|
|
1901
2033
|
stack[top] = cs
|
|
1902
2034
|
top+= 1
|
|
1903
|
-
cs =
|
|
2035
|
+
cs = 106
|
|
1904
2036
|
_goto_level = _again
|
|
1905
2037
|
next
|
|
1906
2038
|
end
|
|
1907
2039
|
|
|
1908
2040
|
end
|
|
1909
2041
|
end
|
|
1910
|
-
when
|
|
2042
|
+
when 48
|
|
1911
2043
|
begin
|
|
1912
2044
|
te = p
|
|
1913
2045
|
p = p - 1; begin
|
|
@@ -1921,7 +2053,7 @@ p = p - 1; begin
|
|
|
1921
2053
|
end
|
|
1922
2054
|
end
|
|
1923
2055
|
end
|
|
1924
|
-
when
|
|
2056
|
+
when 47
|
|
1925
2057
|
begin
|
|
1926
2058
|
te = p
|
|
1927
2059
|
p = p - 1; begin
|
|
@@ -1932,14 +2064,14 @@ p = p - 1; begin
|
|
|
1932
2064
|
end
|
|
1933
2065
|
end
|
|
1934
2066
|
end
|
|
1935
|
-
when
|
|
2067
|
+
when 46
|
|
1936
2068
|
begin
|
|
1937
2069
|
te = p
|
|
1938
2070
|
p = p - 1; begin
|
|
1939
2071
|
append_literal(data, ts, te)
|
|
1940
2072
|
end
|
|
1941
2073
|
end
|
|
1942
|
-
when 3
|
|
2074
|
+
when 3
|
|
1943
2075
|
begin
|
|
1944
2076
|
begin p = ((te))-1; end
|
|
1945
2077
|
begin
|
|
@@ -1950,45 +2082,45 @@ p = p - 1; begin
|
|
|
1950
2082
|
emit_options(text)
|
|
1951
2083
|
end
|
|
1952
2084
|
end
|
|
1953
|
-
when 10
|
|
2085
|
+
when 10
|
|
1954
2086
|
begin
|
|
1955
2087
|
begin p = ((te))-1; end
|
|
1956
2088
|
begin
|
|
1957
2089
|
append_literal(data, ts, te)
|
|
1958
2090
|
end
|
|
1959
2091
|
end
|
|
1960
|
-
when 7
|
|
2092
|
+
when 7
|
|
1961
2093
|
begin
|
|
1962
2094
|
begin p = ((te))-1; end
|
|
1963
2095
|
begin
|
|
1964
2096
|
begin
|
|
1965
2097
|
stack[top] = cs
|
|
1966
2098
|
top+= 1
|
|
1967
|
-
cs =
|
|
2099
|
+
cs = 106
|
|
1968
2100
|
_goto_level = _again
|
|
1969
2101
|
next
|
|
1970
2102
|
end
|
|
1971
2103
|
|
|
1972
2104
|
end
|
|
1973
2105
|
end
|
|
1974
|
-
when 1
|
|
2106
|
+
when 1
|
|
1975
2107
|
begin
|
|
1976
2108
|
case act
|
|
1977
|
-
when 0
|
|
2109
|
+
when 0
|
|
1978
2110
|
begin begin
|
|
1979
2111
|
cs = 0
|
|
1980
2112
|
_goto_level = _again
|
|
1981
2113
|
next
|
|
1982
2114
|
end
|
|
1983
2115
|
end
|
|
1984
|
-
when
|
|
2116
|
+
when 58
|
|
1985
2117
|
begin begin p = ((te))-1; end
|
|
1986
2118
|
|
|
1987
2119
|
append_literal(data, ts, te)
|
|
1988
2120
|
end
|
|
1989
2121
|
end
|
|
1990
2122
|
end
|
|
1991
|
-
when
|
|
2123
|
+
when 75
|
|
1992
2124
|
begin
|
|
1993
2125
|
|
|
1994
2126
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2001,14 +2133,14 @@ p = p - 1; begin
|
|
|
2001
2133
|
begin
|
|
2002
2134
|
stack[top] = cs
|
|
2003
2135
|
top+= 1
|
|
2004
|
-
cs =
|
|
2136
|
+
cs = 93
|
|
2005
2137
|
_goto_level = _again
|
|
2006
2138
|
next
|
|
2007
2139
|
end
|
|
2008
2140
|
|
|
2009
2141
|
end
|
|
2010
2142
|
end
|
|
2011
|
-
when 18
|
|
2143
|
+
when 18
|
|
2012
2144
|
begin
|
|
2013
2145
|
|
|
2014
2146
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2021,14 +2153,14 @@ p = p - 1; begin
|
|
|
2021
2153
|
begin
|
|
2022
2154
|
stack[top] = cs
|
|
2023
2155
|
top+= 1
|
|
2024
|
-
cs =
|
|
2156
|
+
cs = 93
|
|
2025
2157
|
_goto_level = _again
|
|
2026
2158
|
next
|
|
2027
2159
|
end
|
|
2028
2160
|
|
|
2029
2161
|
end
|
|
2030
2162
|
end
|
|
2031
|
-
when
|
|
2163
|
+
when 89
|
|
2032
2164
|
begin
|
|
2033
2165
|
|
|
2034
2166
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2047,7 +2179,7 @@ p = p - 1; begin
|
|
|
2047
2179
|
|
|
2048
2180
|
end
|
|
2049
2181
|
end
|
|
2050
|
-
when
|
|
2182
|
+
when 91
|
|
2051
2183
|
begin
|
|
2052
2184
|
|
|
2053
2185
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2066,7 +2198,7 @@ p = p - 1; begin
|
|
|
2066
2198
|
|
|
2067
2199
|
end
|
|
2068
2200
|
end
|
|
2069
|
-
when
|
|
2201
|
+
when 27
|
|
2070
2202
|
begin
|
|
2071
2203
|
|
|
2072
2204
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2085,7 +2217,7 @@ p = p - 1; begin
|
|
|
2085
2217
|
|
|
2086
2218
|
end
|
|
2087
2219
|
end
|
|
2088
|
-
when
|
|
2220
|
+
when 29
|
|
2089
2221
|
begin
|
|
2090
2222
|
|
|
2091
2223
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2104,7 +2236,7 @@ p = p - 1; begin
|
|
|
2104
2236
|
|
|
2105
2237
|
end
|
|
2106
2238
|
end
|
|
2107
|
-
when
|
|
2239
|
+
when 31
|
|
2108
2240
|
begin
|
|
2109
2241
|
|
|
2110
2242
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2122,7 +2254,7 @@ te = p+1
|
|
|
2122
2254
|
|
|
2123
2255
|
end
|
|
2124
2256
|
end
|
|
2125
|
-
when 4
|
|
2257
|
+
when 4
|
|
2126
2258
|
begin
|
|
2127
2259
|
self.group_depth = group_depth - 1 end
|
|
2128
2260
|
begin
|
|
@@ -2131,7 +2263,7 @@ te = p+1
|
|
|
2131
2263
|
emit(:group, :comment, copy(data, ts, te))
|
|
2132
2264
|
end
|
|
2133
2265
|
end
|
|
2134
|
-
when
|
|
2266
|
+
when 40
|
|
2135
2267
|
begin
|
|
2136
2268
|
self.group_depth = group_depth - 1 end
|
|
2137
2269
|
begin
|
|
@@ -2153,9 +2285,9 @@ te = p+1
|
|
|
2153
2285
|
end
|
|
2154
2286
|
end
|
|
2155
2287
|
end
|
|
2156
|
-
when
|
|
2288
|
+
when 42
|
|
2157
2289
|
begin
|
|
2158
|
-
self.set_depth
|
|
2290
|
+
self.set_depth = set_depth + 1 end
|
|
2159
2291
|
begin
|
|
2160
2292
|
te = p+1
|
|
2161
2293
|
begin
|
|
@@ -2163,16 +2295,16 @@ te = p+1
|
|
|
2163
2295
|
begin
|
|
2164
2296
|
stack[top] = cs
|
|
2165
2297
|
top+= 1
|
|
2166
|
-
cs =
|
|
2298
|
+
cs = 93
|
|
2167
2299
|
_goto_level = _again
|
|
2168
2300
|
next
|
|
2169
2301
|
end
|
|
2170
2302
|
|
|
2171
2303
|
end
|
|
2172
2304
|
end
|
|
2173
|
-
when
|
|
2305
|
+
when 69
|
|
2174
2306
|
begin
|
|
2175
|
-
self.set_depth
|
|
2307
|
+
self.set_depth = set_depth - 1 end
|
|
2176
2308
|
begin
|
|
2177
2309
|
te = p+1
|
|
2178
2310
|
begin
|
|
@@ -2187,7 +2319,7 @@ te = p+1
|
|
|
2187
2319
|
|
|
2188
2320
|
else
|
|
2189
2321
|
begin
|
|
2190
|
-
cs =
|
|
2322
|
+
cs = 76
|
|
2191
2323
|
_goto_level = _again
|
|
2192
2324
|
next
|
|
2193
2325
|
end
|
|
@@ -2195,12 +2327,12 @@ te = p+1
|
|
|
2195
2327
|
end
|
|
2196
2328
|
end
|
|
2197
2329
|
end
|
|
2198
|
-
when
|
|
2330
|
+
when 74
|
|
2199
2331
|
begin
|
|
2200
|
-
self.set_depth
|
|
2332
|
+
self.set_depth = set_depth - 1 end
|
|
2201
2333
|
begin
|
|
2202
2334
|
te = p+1
|
|
2203
|
-
begin
|
|
2335
|
+
begin # special case, emits two tokens
|
|
2204
2336
|
emit(:literal, :literal, '-')
|
|
2205
2337
|
emit(:set, :close, ']')
|
|
2206
2338
|
if in_set?
|
|
@@ -2213,7 +2345,7 @@ te = p+1
|
|
|
2213
2345
|
|
|
2214
2346
|
else
|
|
2215
2347
|
begin
|
|
2216
|
-
cs =
|
|
2348
|
+
cs = 76
|
|
2217
2349
|
_goto_level = _again
|
|
2218
2350
|
next
|
|
2219
2351
|
end
|
|
@@ -2221,9 +2353,9 @@ te = p+1
|
|
|
2221
2353
|
end
|
|
2222
2354
|
end
|
|
2223
2355
|
end
|
|
2224
|
-
when 20
|
|
2356
|
+
when 20
|
|
2225
2357
|
begin
|
|
2226
|
-
self.set_depth
|
|
2358
|
+
self.set_depth = set_depth - 1 end
|
|
2227
2359
|
begin
|
|
2228
2360
|
te = p+1
|
|
2229
2361
|
begin
|
|
@@ -2236,46 +2368,34 @@ te = p+1
|
|
|
2236
2368
|
type = :nonposixclass
|
|
2237
2369
|
end
|
|
2238
2370
|
|
|
2239
|
-
unless
|
|
2371
|
+
unless POSIX_CLASSES[class_name]
|
|
2240
2372
|
raise ValidationError.for(:posix_class, text)
|
|
2241
2373
|
end
|
|
2242
2374
|
|
|
2243
2375
|
emit(type, class_name.to_sym, text)
|
|
2244
2376
|
end
|
|
2245
2377
|
end
|
|
2246
|
-
when
|
|
2247
|
-
begin
|
|
2248
|
-
te = p+1
|
|
2249
|
-
end
|
|
2250
|
-
begin
|
|
2251
|
-
self.set_depth = set_depth + 1 end
|
|
2252
|
-
when 80 then
|
|
2378
|
+
when 67
|
|
2253
2379
|
begin
|
|
2254
2380
|
te = p+1
|
|
2255
2381
|
end
|
|
2256
2382
|
begin
|
|
2257
|
-
|
|
2258
|
-
when
|
|
2383
|
+
self.set_depth = set_depth + 1 end
|
|
2384
|
+
when 2
|
|
2259
2385
|
begin
|
|
2260
2386
|
te = p+1
|
|
2261
2387
|
end
|
|
2262
2388
|
begin
|
|
2263
|
-
act =
|
|
2264
|
-
when 2 then
|
|
2265
|
-
begin
|
|
2266
|
-
te = p+1
|
|
2267
|
-
end
|
|
2268
|
-
begin
|
|
2269
|
-
act = 57; end
|
|
2389
|
+
act = 58; end
|
|
2270
2390
|
end
|
|
2271
2391
|
end
|
|
2272
2392
|
end
|
|
2273
2393
|
if _goto_level <= _again
|
|
2274
2394
|
case _re_scanner_to_state_actions[cs]
|
|
2275
|
-
when
|
|
2395
|
+
when 64
|
|
2276
2396
|
begin
|
|
2277
2397
|
ts = nil; end
|
|
2278
|
-
when
|
|
2398
|
+
when 36
|
|
2279
2399
|
begin
|
|
2280
2400
|
ts = nil; end
|
|
2281
2401
|
begin
|
|
@@ -2301,12 +2421,12 @@ act = 0
|
|
|
2301
2421
|
next;
|
|
2302
2422
|
end
|
|
2303
2423
|
case _re_scanner_eof_actions[cs]
|
|
2304
|
-
when 12
|
|
2424
|
+
when 12
|
|
2305
2425
|
begin
|
|
2306
2426
|
|
|
2307
2427
|
raise PrematureEndError.new('unicode property')
|
|
2308
2428
|
end
|
|
2309
|
-
when
|
|
2429
|
+
when 25
|
|
2310
2430
|
begin
|
|
2311
2431
|
|
|
2312
2432
|
text = copy(data, ts ? ts-1 : 0,-1)
|
|
@@ -2354,10 +2474,11 @@ end
|
|
|
2354
2474
|
File.read("#{__dir__}/scanner/properties/#{name}.csv").scan(/(.+),(.+)/).to_h
|
|
2355
2475
|
end
|
|
2356
2476
|
|
|
2357
|
-
|
|
2477
|
+
# Use each_with_object for required_ruby_version >= 2.2,or #to_h for >= 2.6
|
|
2478
|
+
POSIX_CLASSES =
|
|
2358
2479
|
%w[alnum alpha ascii blank cntrl digit graph
|
|
2359
2480
|
lower print punct space upper word xdigit]
|
|
2360
|
-
|
|
2481
|
+
.inject({}) { |o, e| o.merge(e => true) }.freeze
|
|
2361
2482
|
|
|
2362
2483
|
# Emits an array with the details of the scanned pattern
|
|
2363
2484
|
def emit(type, token, text)
|
|
@@ -2385,16 +2506,25 @@ end
|
|
|
2385
2506
|
end
|
|
2386
2507
|
end
|
|
2387
2508
|
|
|
2388
|
-
attr_accessor :literal_run # only public for #||= to work on ruby <= 2.5
|
|
2509
|
+
attr_accessor :capturing_group_count, :literal_run # only public for #||= to work on ruby <= 2.5
|
|
2389
2510
|
|
|
2390
2511
|
private
|
|
2391
2512
|
|
|
2392
2513
|
attr_accessor :block,
|
|
2393
2514
|
:collect_tokens, :tokens, :prev_token,
|
|
2394
2515
|
:free_spacing, :spacing_stack,
|
|
2516
|
+
:regexp_encoding,
|
|
2395
2517
|
:group_depth, :set_depth, :conditional_stack,
|
|
2396
2518
|
:char_pos
|
|
2397
2519
|
|
|
2520
|
+
def extract_encoding(input_object, options)
|
|
2521
|
+
if input_object.is_a?(::Regexp)
|
|
2522
|
+
input_object.encoding
|
|
2523
|
+
elsif options && (options & Regexp::NOENCODING)
|
|
2524
|
+
Encoding::BINARY
|
|
2525
|
+
end
|
|
2526
|
+
end
|
|
2527
|
+
|
|
2398
2528
|
def free_spacing?(input_object, options)
|
|
2399
2529
|
if options && !input_object.is_a?(String)
|
|
2400
2530
|
raise ArgumentError, 'options cannot be supplied unless scanning a String'
|