regexp_parser 2.4.0 → 2.7.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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -42
  3. data/README.md +46 -30
  4. data/lib/regexp_parser/expression/base.rb +17 -9
  5. data/lib/regexp_parser/expression/classes/backreference.rb +19 -2
  6. data/lib/regexp_parser/expression/classes/{type.rb → character_type.rb} +0 -0
  7. data/lib/regexp_parser/expression/classes/conditional.rb +8 -0
  8. data/lib/regexp_parser/expression/classes/escape_sequence.rb +1 -1
  9. data/lib/regexp_parser/expression/classes/group.rb +10 -0
  10. data/lib/regexp_parser/expression/classes/keep.rb +2 -0
  11. data/lib/regexp_parser/expression/classes/root.rb +3 -5
  12. data/lib/regexp_parser/expression/classes/{property.rb → unicode_property.rb} +1 -0
  13. data/lib/regexp_parser/expression/methods/construct.rb +43 -0
  14. data/lib/regexp_parser/expression/methods/human_name.rb +43 -0
  15. data/lib/regexp_parser/expression/methods/match_length.rb +9 -5
  16. data/lib/regexp_parser/expression/methods/traverse.rb +6 -3
  17. data/lib/regexp_parser/expression/quantifier.rb +6 -5
  18. data/lib/regexp_parser/expression/sequence.rb +6 -21
  19. data/lib/regexp_parser/expression/shared.rb +20 -3
  20. data/lib/regexp_parser/expression/subexpression.rb +4 -1
  21. data/lib/regexp_parser/expression.rb +4 -2
  22. data/lib/regexp_parser/lexer.rb +61 -29
  23. data/lib/regexp_parser/parser.rb +36 -26
  24. data/lib/regexp_parser/scanner/property.rl +1 -1
  25. data/lib/regexp_parser/scanner/scanner.rl +57 -42
  26. data/lib/regexp_parser/scanner.rb +873 -823
  27. data/lib/regexp_parser/syntax/token/escape.rb +1 -1
  28. data/lib/regexp_parser/syntax/version_lookup.rb +0 -8
  29. data/lib/regexp_parser/syntax/versions.rb +2 -0
  30. data/lib/regexp_parser/version.rb +1 -1
  31. metadata +7 -5
@@ -1,8 +1,8 @@
1
1
  # -*- warn-indent:false; -*-
2
2
 
3
- # line 1 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
3
+ # line 1 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
4
4
 
5
- # line 646 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
5
+ # line 650 "/Users/janosch/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
@@ -77,23 +77,24 @@ class Regexp::Scanner
77
77
  #
78
78
  # This method may raise errors if a syntax error is encountered.
79
79
  # --------------------------------------------------------------------------
80
- def self.scan(input_object, options: nil, &block)
81
- new.scan(input_object, options: options, &block)
80
+ def self.scan(input_object, options: nil, collect_tokens: true, &block)
81
+ new.scan(input_object, options: options, collect_tokens: collect_tokens, &block)
82
82
  end
83
83
 
84
- def scan(input_object, options: nil, &block)
85
- self.literal = nil
84
+ def scan(input_object, options: nil, collect_tokens: true, &block)
85
+ self.collect_tokens = collect_tokens
86
+ self.literal_run = nil
86
87
  stack = []
87
88
 
88
89
  input = input_object.is_a?(Regexp) ? input_object.source : input_object
89
90
  self.free_spacing = free_spacing?(input_object, options)
90
91
  self.spacing_stack = [{:free_spacing => free_spacing, :depth => 0}]
91
92
 
92
- data = input.unpack("c*") if input.is_a?(String)
93
+ data = input.unpack("c*")
93
94
  eof = data.length
94
95
 
95
96
  self.tokens = []
96
- self.block = block_given? ? block : nil
97
+ self.block = block
97
98
 
98
99
  self.set_depth = 0
99
100
  self.group_depth = 0
@@ -101,7 +102,7 @@ class Regexp::Scanner
101
102
  self.char_pos = 0
102
103
 
103
104
 
104
- # line 104 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
105
+ # line 105 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
105
106
  class << self
106
107
  attr_accessor :_re_scanner_trans_keys
107
108
  private :_re_scanner_trans_keys, :_re_scanner_trans_keys=
@@ -113,12 +114,12 @@ self._re_scanner_trans_keys = [
113
114
  62, 62, 39, 60, 39, 57,
114
115
  39, 39, 48, 57, 39,
115
116
  57, 39, 57, 48, 57,
116
- 39, 39, 45, 62, 62, 62,
117
+ 39, 39, 33, 62, 62, 62,
117
118
  48, 57, 48, 62, 43,
118
119
  62, 48, 57, 62, 62,
119
120
  39, 60, 39, 57, 39, 39,
120
121
  48, 57, 39, 57, 39,
121
- 57, 48, 57, 45, 62,
122
+ 57, 48, 57, 33, 62,
122
123
  62, 62, 48, 57, 48, 62,
123
124
  43, 62, 48, 57, 48,
124
125
  57, 48, 125, 44, 125,
@@ -143,15 +144,16 @@ self._re_scanner_trans_keys = [
143
144
  44, 57, 68, 119, 80, 112,
144
145
  -62, 125, -128, -65, -128,
145
146
  -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
147
+ 38, 93, 58, 58, 48, 120,
148
+ 48, 55, 48, 55, -62,
149
+ 125, -128, -65, -128, -65,
150
+ -128, -65, 48, 55, 48, 55,
151
+ 77, 77, 45, 45, 0,
152
+ 0, 67, 99, 45, 45,
153
+ 0, 0, 92, 92, 48, 102,
154
+ 39, 60, 39, 57, 49,
155
+ 57, 41, 57, 33, 62,
156
+ 0
155
157
  ]
156
158
 
157
159
  class << self
@@ -161,8 +163,8 @@ end
161
163
  self._re_scanner_key_spans = [
162
164
  0, 64, 64, 64, 1, 19, 1, 30,
163
165
  1, 22, 19, 1, 10, 19, 19, 10,
164
- 1, 18, 1, 10, 15, 20, 10, 1,
165
- 22, 19, 1, 10, 19, 19, 10, 18,
166
+ 1, 30, 1, 10, 15, 20, 10, 1,
167
+ 22, 19, 1, 10, 19, 19, 10, 30,
166
168
  1, 10, 15, 20, 10, 10, 78, 82,
167
169
  1, 114, 117, 114, 64, 64, 1, 36,
168
170
  36, 64, 64, 1, 1, 1, 1, 1,
@@ -171,9 +173,9 @@ self._re_scanner_key_spans = [
171
173
  1, 256, 51, 127, 127, 24, 94, 1,
172
174
  1, 94, 94, 1, 21, 21, 21, 58,
173
175
  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
176
+ 56, 1, 73, 8, 8, 188, 64, 64,
177
+ 64, 8, 8, 1, 1, 0, 33, 1,
178
+ 0, 1, 55, 22, 19, 9, 17, 30
177
179
  ]
178
180
 
179
181
  class << self
@@ -183,19 +185,19 @@ end
183
185
  self._re_scanner_index_offsets = [
184
186
  0, 0, 65, 130, 195, 197, 217, 219,
185
187
  250, 252, 275, 295, 297, 308, 328, 348,
186
- 359, 361, 380, 382, 393, 409, 430, 441,
187
- 443, 466, 486, 488, 499, 519, 539, 550,
188
- 569, 571, 582, 598, 619, 630, 641, 720,
189
- 803, 805, 920, 1038, 1153, 1218, 1283, 1285,
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
188
+ 359, 361, 392, 394, 405, 421, 442, 453,
189
+ 455, 478, 498, 500, 511, 531, 551, 562,
190
+ 593, 595, 606, 622, 643, 654, 665, 744,
191
+ 827, 829, 944, 1062, 1177, 1242, 1307, 1309,
192
+ 1346, 1383, 1448, 1513, 1515, 1517, 1519, 1521,
193
+ 1523, 1525, 1602, 1658, 1714, 1770, 1826, 1944,
194
+ 2062, 2180, 2298, 2416, 2534, 2611, 2613, 2615,
195
+ 2633, 2635, 2892, 2944, 3072, 3200, 3225, 3320,
196
+ 3322, 3324, 3419, 3514, 3516, 3538, 3560, 3582,
197
+ 3641, 3656, 3709, 3743, 3932, 3997, 4062, 4127,
198
+ 4129, 4186, 4188, 4262, 4271, 4280, 4469, 4534,
199
+ 4599, 4664, 4673, 4682, 4684, 4686, 4687, 4721,
200
+ 4723, 4724, 4726, 4782, 4805, 4825, 4835, 4853
199
201
  ]
200
202
 
201
203
  class << self
@@ -233,129 +235,124 @@ self._re_scanner_indicies = [
233
235
  7, 8, 7, 10, 9, 9, 9, 9,
234
236
  9, 9, 9, 9, 9, 9, 9, 4,
235
237
  9, 9, 4, 4, 4, 4, 4, 4,
236
- 4, 4, 4, 4, 9, 9, 9, 10,
237
- 8, 9, 8, 9, 12, 11, 11, 11,
238
- 11, 11, 11, 11, 11, 11, 11, 11,
239
- 11, 11, 11, 11, 11, 11, 11, 11,
240
- 11, 13, 11, 15, 14, 14, 14, 14,
241
- 14, 16, 14, 14, 17, 18, 18, 18,
242
- 18, 18, 18, 18, 18, 18, 14, 15,
243
- 14, 19, 18, 18, 18, 18, 18, 18,
244
- 18, 18, 18, 11, 15, 11, 11, 11,
245
- 11, 11, 11, 11, 11, 19, 19, 19,
246
- 19, 19, 19, 19, 19, 19, 19, 11,
247
- 15, 11, 11, 11, 20, 11, 20, 11,
248
- 11, 18, 18, 18, 18, 18, 18, 18,
249
- 18, 18, 18, 11, 19, 19, 19, 19,
250
- 19, 19, 19, 19, 19, 19, 11, 15,
251
- 11, 22, 21, 21, 23, 24, 24, 24,
252
- 24, 24, 24, 24, 24, 24, 21, 21,
253
- 21, 21, 15, 21, 15, 21, 25, 24,
254
- 24, 24, 24, 24, 24, 24, 24, 24,
255
- 11, 25, 25, 25, 25, 25, 25, 25,
256
- 25, 25, 25, 11, 11, 11, 11, 15,
257
- 11, 26, 11, 26, 11, 11, 24, 24,
258
- 24, 24, 24, 24, 24, 24, 24, 24,
259
- 11, 11, 11, 11, 15, 11, 25, 25,
260
- 25, 25, 25, 25, 25, 25, 25, 25,
261
- 11, 15, 11, 27, 11, 11, 11, 11,
262
- 11, 11, 11, 11, 11, 11, 11, 11,
263
- 11, 11, 11, 11, 11, 11, 11, 11,
264
- 28, 11, 30, 29, 29, 29, 29, 29,
265
- 31, 29, 29, 11, 32, 32, 32, 32,
266
- 32, 32, 32, 32, 32, 29, 30, 29,
267
- 33, 32, 32, 32, 32, 32, 32, 32,
268
- 32, 32, 11, 30, 11, 11, 11, 11,
269
- 11, 11, 11, 11, 33, 33, 33, 33,
270
- 33, 33, 33, 33, 33, 33, 11, 30,
271
- 11, 11, 11, 34, 11, 34, 11, 11,
272
- 32, 32, 32, 32, 32, 32, 32, 32,
273
- 32, 32, 11, 33, 33, 33, 33, 33,
274
- 33, 33, 33, 33, 33, 11, 36, 35,
275
- 35, 11, 37, 37, 37, 37, 37, 37,
276
- 37, 37, 37, 35, 35, 35, 35, 30,
277
- 35, 30, 35, 38, 37, 37, 37, 37,
278
- 37, 37, 37, 37, 37, 11, 38, 38,
279
- 38, 38, 38, 38, 38, 38, 38, 38,
280
- 11, 11, 11, 11, 30, 11, 39, 11,
281
- 39, 11, 11, 37, 37, 37, 37, 37,
282
- 37, 37, 37, 37, 37, 11, 11, 11,
283
- 11, 30, 11, 38, 38, 38, 38, 38,
284
- 38, 38, 38, 38, 38, 11, 41, 41,
238
+ 4, 4, 4, 4, 9, 9, 9, 11,
239
+ 8, 9, 8, 9, 13, 12, 12, 12,
240
+ 12, 12, 12, 12, 12, 12, 12, 12,
241
+ 12, 12, 12, 12, 12, 12, 12, 12,
242
+ 12, 14, 12, 16, 15, 15, 15, 15,
243
+ 15, 17, 15, 15, 18, 19, 19, 19,
244
+ 19, 19, 19, 19, 19, 19, 15, 16,
245
+ 15, 20, 19, 19, 19, 19, 19, 19,
246
+ 19, 19, 19, 12, 16, 12, 12, 12,
247
+ 12, 12, 12, 12, 12, 20, 20, 20,
248
+ 20, 20, 20, 20, 20, 20, 20, 12,
249
+ 16, 12, 12, 12, 21, 12, 21, 12,
250
+ 12, 19, 19, 19, 19, 19, 19, 19,
251
+ 19, 19, 19, 12, 20, 20, 20, 20,
252
+ 20, 20, 20, 20, 20, 20, 12, 16,
253
+ 12, 12, 22, 22, 22, 22, 22, 22,
254
+ 22, 22, 22, 22, 22, 23, 22, 22,
255
+ 24, 25, 25, 25, 25, 25, 25, 25,
256
+ 25, 25, 22, 22, 22, 22, 16, 22,
257
+ 16, 22, 26, 25, 25, 25, 25, 25,
258
+ 25, 25, 25, 25, 12, 26, 26, 26,
259
+ 26, 26, 26, 26, 26, 26, 26, 12,
260
+ 12, 12, 12, 16, 12, 27, 12, 27,
261
+ 12, 12, 25, 25, 25, 25, 25, 25,
262
+ 25, 25, 25, 25, 12, 12, 12, 12,
263
+ 16, 12, 26, 26, 26, 26, 26, 26,
264
+ 26, 26, 26, 26, 12, 16, 12, 28,
265
+ 12, 12, 12, 12, 12, 12, 12, 12,
266
+ 12, 12, 12, 12, 12, 12, 12, 12,
267
+ 12, 12, 12, 12, 29, 12, 31, 30,
268
+ 30, 30, 30, 30, 32, 30, 30, 12,
269
+ 33, 33, 33, 33, 33, 33, 33, 33,
270
+ 33, 30, 31, 30, 34, 33, 33, 33,
271
+ 33, 33, 33, 33, 33, 33, 12, 31,
272
+ 12, 12, 12, 12, 12, 12, 12, 12,
273
+ 34, 34, 34, 34, 34, 34, 34, 34,
274
+ 34, 34, 12, 31, 12, 12, 12, 35,
275
+ 12, 35, 12, 12, 33, 33, 33, 33,
276
+ 33, 33, 33, 33, 33, 33, 12, 34,
277
+ 34, 34, 34, 34, 34, 34, 34, 34,
278
+ 34, 12, 12, 36, 36, 36, 36, 36,
279
+ 36, 36, 36, 36, 36, 36, 37, 36,
280
+ 36, 12, 38, 38, 38, 38, 38, 38,
281
+ 38, 38, 38, 36, 36, 36, 36, 31,
282
+ 36, 31, 36, 39, 38, 38, 38, 38,
283
+ 38, 38, 38, 38, 38, 12, 39, 39,
284
+ 39, 39, 39, 39, 39, 39, 39, 39,
285
+ 12, 12, 12, 12, 31, 12, 40, 12,
286
+ 40, 12, 12, 38, 38, 38, 38, 38,
287
+ 38, 38, 38, 38, 38, 12, 12, 12,
288
+ 12, 31, 12, 39, 39, 39, 39, 39,
289
+ 39, 39, 39, 39, 39, 12, 42, 42,
290
+ 42, 42, 42, 42, 42, 42, 42, 42,
291
+ 41, 42, 42, 42, 42, 42, 42, 42,
292
+ 42, 42, 42, 41, 41, 41, 41, 41,
293
+ 41, 41, 41, 41, 41, 41, 41, 41,
294
+ 41, 41, 41, 41, 41, 41, 41, 41,
295
+ 41, 41, 41, 41, 41, 41, 41, 41,
296
+ 41, 41, 41, 41, 41, 41, 41, 41,
297
+ 41, 41, 41, 41, 41, 41, 41, 41,
298
+ 41, 41, 41, 41, 41, 41, 41, 41,
299
+ 41, 41, 41, 41, 41, 41, 41, 41,
300
+ 41, 41, 41, 41, 41, 41, 43, 41,
301
+ 42, 41, 41, 41, 44, 44, 44, 44,
302
+ 44, 44, 44, 44, 44, 44, 41, 41,
303
+ 41, 41, 41, 41, 41, 41, 41, 41,
304
+ 41, 41, 41, 41, 41, 41, 41, 41,
305
+ 41, 41, 41, 41, 41, 41, 41, 41,
306
+ 41, 41, 41, 41, 41, 41, 41, 41,
307
+ 41, 41, 41, 41, 41, 41, 41, 41,
308
+ 41, 41, 41, 41, 41, 41, 41, 41,
309
+ 41, 41, 41, 41, 41, 41, 41, 41,
285
310
  41, 41, 41, 41, 41, 41, 41, 41,
286
- 40, 41, 41, 41, 41, 41, 41, 41,
287
- 41, 41, 41, 40, 40, 40, 40, 40,
288
- 40, 40, 40, 40, 40, 40, 40, 40,
289
- 40, 40, 40, 40, 40, 40, 40, 40,
290
- 40, 40, 40, 40, 40, 40, 40, 40,
291
- 40, 40, 40, 40, 40, 40, 40, 40,
292
- 40, 40, 40, 40, 40, 40, 40, 40,
293
- 40, 40, 40, 40, 40, 40, 40, 40,
294
- 40, 40, 40, 40, 40, 40, 40, 40,
295
- 40, 40, 40, 40, 40, 40, 42, 40,
296
- 41, 40, 40, 40, 43, 43, 43, 43,
297
- 43, 43, 43, 43, 43, 43, 40, 40,
298
- 40, 40, 40, 40, 40, 40, 40, 40,
299
- 40, 40, 40, 40, 40, 40, 40, 40,
300
- 40, 40, 40, 40, 40, 40, 40, 40,
301
- 40, 40, 40, 40, 40, 40, 40, 40,
302
- 40, 40, 40, 40, 40, 40, 40, 40,
303
- 40, 40, 40, 40, 40, 40, 40, 40,
304
- 40, 40, 40, 40, 40, 40, 40, 40,
305
- 40, 40, 40, 40, 40, 40, 40, 40,
306
- 40, 42, 40, 44, 45, 46, 46, 46,
307
- 46, 46, 45, 45, 45, 45, 45, 45,
308
- 45, 45, 45, 45, 45, 45, 45, 45,
309
- 45, 45, 45, 45, 46, 45, 45, 45,
310
- 45, 45, 45, 45, 45, 45, 45, 45,
311
- 45, 46, 46, 45, 46, 46, 46, 46,
312
- 46, 46, 46, 46, 46, 46, 45, 45,
313
- 45, 46, 45, 45, 45, 46, 46, 46,
314
- 46, 46, 46, 46, 46, 46, 46, 46,
315
- 46, 46, 46, 46, 46, 46, 46, 46,
316
- 46, 46, 46, 46, 46, 46, 46, 45,
317
- 45, 45, 47, 46, 45, 46, 46, 46,
318
- 46, 46, 46, 46, 46, 46, 46, 46,
319
- 46, 46, 46, 46, 46, 46, 46, 46,
320
- 46, 46, 46, 46, 46, 46, 46, 45,
321
- 46, 46, 46, 46, 46, 45, 45, 45,
322
- 45, 45, 45, 45, 45, 45, 45, 45,
323
- 45, 45, 45, 45, 45, 45, 45, 46,
324
- 45, 45, 45, 45, 45, 45, 45, 45,
325
- 45, 45, 45, 45, 46, 46, 45, 46,
326
- 46, 46, 46, 46, 46, 46, 46, 46,
327
- 46, 45, 45, 45, 46, 45, 45, 45,
328
- 46, 46, 46, 46, 46, 46, 46, 46,
329
- 46, 46, 46, 46, 46, 46, 46, 46,
330
- 46, 46, 46, 46, 46, 46, 46, 46,
331
- 46, 46, 45, 45, 45, 45, 46, 45,
332
- 46, 46, 46, 46, 46, 46, 46, 46,
333
- 46, 46, 46, 46, 46, 46, 46, 46,
334
- 46, 46, 46, 46, 46, 46, 46, 46,
335
- 46, 46, 45, 45, 48, 45, 46, 46,
336
- 46, 46, 46, 45, 45, 45, 45, 45,
337
- 45, 45, 45, 45, 45, 45, 45, 45,
338
- 45, 45, 45, 45, 45, 46, 45, 45,
339
- 45, 45, 45, 45, 45, 45, 45, 45,
340
- 45, 45, 46, 46, 45, 46, 46, 46,
341
- 46, 46, 46, 46, 46, 46, 46, 45,
342
- 45, 45, 46, 45, 45, 45, 46, 46,
343
- 46, 46, 46, 46, 46, 46, 46, 46,
344
- 46, 46, 46, 46, 46, 46, 46, 46,
345
- 46, 46, 46, 46, 46, 46, 46, 46,
346
- 45, 45, 45, 45, 46, 45, 46, 46,
347
- 46, 46, 46, 46, 46, 46, 46, 46,
348
- 46, 46, 46, 46, 46, 46, 46, 46,
349
- 46, 46, 46, 46, 46, 46, 46, 46,
350
- 45, 50, 50, 50, 50, 50, 50, 50,
351
- 50, 50, 50, 50, 50, 50, 50, 50,
352
- 50, 50, 50, 50, 50, 50, 50, 50,
353
- 50, 50, 50, 50, 50, 50, 50, 50,
354
- 50, 50, 50, 50, 50, 50, 50, 50,
355
- 50, 50, 50, 50, 50, 50, 50, 50,
356
- 50, 50, 50, 50, 50, 50, 50, 50,
357
- 50, 50, 50, 50, 50, 50, 50, 50,
358
- 50, 49, 51, 51, 51, 51, 51, 51,
311
+ 41, 43, 41, 45, 46, 47, 47, 47,
312
+ 47, 47, 46, 46, 46, 46, 46, 46,
313
+ 46, 46, 46, 46, 46, 46, 46, 46,
314
+ 46, 46, 46, 46, 47, 46, 46, 46,
315
+ 46, 46, 46, 46, 46, 46, 46, 46,
316
+ 46, 47, 47, 46, 47, 47, 47, 47,
317
+ 47, 47, 47, 47, 47, 47, 46, 46,
318
+ 46, 47, 46, 46, 46, 47, 47, 47,
319
+ 47, 47, 47, 47, 47, 47, 47, 47,
320
+ 47, 47, 47, 47, 47, 47, 47, 47,
321
+ 47, 47, 47, 47, 47, 47, 47, 46,
322
+ 46, 46, 48, 47, 46, 47, 47, 47,
323
+ 47, 47, 47, 47, 47, 47, 47, 47,
324
+ 47, 47, 47, 47, 47, 47, 47, 47,
325
+ 47, 47, 47, 47, 47, 47, 47, 46,
326
+ 47, 47, 47, 47, 47, 46, 46, 46,
327
+ 46, 46, 46, 46, 46, 46, 46, 46,
328
+ 46, 46, 46, 46, 46, 46, 46, 47,
329
+ 46, 46, 46, 46, 46, 46, 46, 46,
330
+ 46, 46, 46, 46, 47, 47, 46, 47,
331
+ 47, 47, 47, 47, 47, 47, 47, 47,
332
+ 47, 46, 46, 46, 47, 46, 46, 46,
333
+ 47, 47, 47, 47, 47, 47, 47, 47,
334
+ 47, 47, 47, 47, 47, 47, 47, 47,
335
+ 47, 47, 47, 47, 47, 47, 47, 47,
336
+ 47, 47, 46, 46, 46, 46, 47, 46,
337
+ 47, 47, 47, 47, 47, 47, 47, 47,
338
+ 47, 47, 47, 47, 47, 47, 47, 47,
339
+ 47, 47, 47, 47, 47, 47, 47, 47,
340
+ 47, 47, 46, 46, 49, 46, 47, 47,
341
+ 47, 47, 47, 46, 46, 46, 46, 46,
342
+ 46, 46, 46, 46, 46, 46, 46, 46,
343
+ 46, 46, 46, 46, 46, 47, 46, 46,
344
+ 46, 46, 46, 46, 46, 46, 46, 46,
345
+ 46, 46, 47, 47, 46, 47, 47, 47,
346
+ 47, 47, 47, 47, 47, 47, 47, 46,
347
+ 46, 46, 47, 46, 46, 46, 47, 47,
348
+ 47, 47, 47, 47, 47, 47, 47, 47,
349
+ 47, 47, 47, 47, 47, 47, 47, 47,
350
+ 47, 47, 47, 47, 47, 47, 47, 47,
351
+ 46, 46, 46, 46, 47, 46, 47, 47,
352
+ 47, 47, 47, 47, 47, 47, 47, 47,
353
+ 47, 47, 47, 47, 47, 47, 47, 47,
354
+ 47, 47, 47, 47, 47, 47, 47, 47,
355
+ 46, 51, 51, 51, 51, 51, 51, 51,
359
356
  51, 51, 51, 51, 51, 51, 51, 51,
360
357
  51, 51, 51, 51, 51, 51, 51, 51,
361
358
  51, 51, 51, 51, 51, 51, 51, 51,
@@ -363,25 +360,24 @@ self._re_scanner_indicies = [
363
360
  51, 51, 51, 51, 51, 51, 51, 51,
364
361
  51, 51, 51, 51, 51, 51, 51, 51,
365
362
  51, 51, 51, 51, 51, 51, 51, 51,
366
- 51, 51, 49, 53, 52, 56, 55, 55,
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,
363
+ 51, 50, 52, 52, 52, 52, 52, 52,
364
+ 52, 52, 52, 52, 52, 52, 52, 52,
365
+ 52, 52, 52, 52, 52, 52, 52, 52,
366
+ 52, 52, 52, 52, 52, 52, 52, 52,
367
+ 52, 52, 52, 52, 52, 52, 52, 52,
368
+ 52, 52, 52, 52, 52, 52, 52, 52,
369
+ 52, 52, 52, 52, 52, 52, 52, 52,
370
+ 52, 52, 52, 52, 52, 52, 52, 52,
371
+ 52, 52, 50, 54, 53, 57, 56, 56,
372
+ 56, 56, 56, 56, 56, 56, 56, 56,
373
+ 56, 56, 56, 56, 56, 56, 56, 56,
374
+ 56, 56, 56, 56, 56, 56, 56, 56,
375
+ 56, 56, 56, 56, 56, 56, 58, 56,
376
+ 58, 56, 57, 56, 56, 56, 56, 56,
377
+ 56, 56, 56, 56, 56, 56, 56, 56,
378
+ 56, 56, 56, 56, 56, 56, 56, 56,
379
+ 56, 56, 56, 56, 56, 56, 56, 56,
380
+ 56, 56, 56, 58, 56, 59, 56, 61,
385
381
  61, 61, 61, 61, 61, 61, 61, 61,
386
382
  61, 61, 61, 61, 61, 61, 61, 61,
387
383
  61, 61, 61, 61, 61, 61, 61, 61,
@@ -389,206 +385,198 @@ self._re_scanner_indicies = [
389
385
  61, 61, 61, 61, 61, 61, 61, 61,
390
386
  61, 61, 61, 61, 61, 61, 61, 61,
391
387
  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,
397
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
401
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
407
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
414
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
421
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
428
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
432
- 45, 45, 45, 45, 45, 45, 45, 45,
433
- 45, 45, 45, 45, 45, 45, 45, 45,
434
- 45, 73, 45, 45, 45, 45, 45, 45,
435
- 45, 45, 45, 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,
439
- 45, 45, 45, 45, 45, 45, 45, 45,
440
- 45, 45, 45, 45, 45, 45, 45, 45,
441
- 45, 45, 45, 45, 45, 45, 45, 45,
442
- 45, 45, 78, 78, 78, 78, 78, 78,
443
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
447
- 45, 45, 45, 45, 45, 45, 45, 45,
448
- 45, 45, 45, 45, 45, 45, 45, 73,
449
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
454
- 45, 45, 45, 45, 45, 45, 45, 45,
455
- 45, 45, 45, 45, 45, 45, 45, 45,
456
- 45, 45, 45, 45, 45, 45, 45, 45,
457
- 79, 79, 79, 79, 79, 79, 45, 45,
458
- 45, 45, 45, 45, 45, 45, 45, 45,
459
- 45, 45, 45, 45, 45, 45, 45, 45,
460
- 45, 45, 45, 45, 76, 45, 73, 73,
461
- 73, 73, 73, 45, 45, 45, 45, 45,
462
- 45, 45, 45, 45, 45, 45, 45, 45,
463
- 45, 45, 45, 45, 45, 73, 45, 45,
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,
469
- 45, 45, 45, 45, 45, 45, 45, 45,
470
- 45, 45, 45, 45, 45, 45, 45, 45,
471
- 45, 45, 45, 45, 45, 45, 80, 80,
472
- 80, 80, 80, 80, 45, 45, 45, 45,
473
- 45, 45, 45, 45, 45, 45, 45, 45,
474
- 45, 45, 45, 45, 45, 45, 45, 45,
475
- 45, 45, 76, 45, 73, 73, 73, 73,
476
- 73, 45, 45, 45, 45, 45, 45, 45,
477
- 45, 45, 45, 45, 45, 45, 45, 45,
478
- 45, 45, 45, 73, 45, 45, 45, 45,
479
- 45, 45, 45, 45, 45, 45, 45, 45,
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,
484
- 45, 45, 45, 45, 45, 45, 45, 45,
485
- 45, 45, 45, 45, 45, 45, 45, 45,
486
- 45, 45, 45, 45, 81, 81, 81, 81,
487
- 81, 81, 45, 45, 45, 45, 45, 45,
488
- 45, 45, 45, 45, 45, 45, 45, 45,
489
- 45, 45, 45, 45, 45, 45, 45, 45,
490
- 76, 45, 73, 73, 73, 73, 73, 45,
491
- 45, 45, 45, 45, 45, 45, 45, 45,
492
- 45, 45, 45, 45, 45, 45, 45, 45,
493
- 45, 73, 45, 45, 45, 45, 45, 45,
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,
498
- 45, 45, 45, 45, 45, 45, 45, 45,
499
- 45, 45, 45, 45, 45, 45, 45, 45,
500
- 45, 45, 45, 45, 45, 45, 45, 45,
501
- 45, 45, 82, 82, 82, 82, 82, 82,
502
- 45, 45, 45, 45, 45, 45, 45, 45,
503
- 45, 45, 45, 45, 45, 45, 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,
508
- 45, 45, 45, 45, 45, 45, 45, 45,
509
- 45, 45, 45, 45, 45, 45, 45, 45,
510
- 45, 45, 45, 45, 45, 45, 45, 45,
511
- 45, 45, 45, 45, 45, 45, 45, 45,
512
- 45, 45, 45, 45, 45, 45, 45, 45,
513
- 45, 45, 45, 45, 45, 45, 45, 45,
514
- 45, 45, 45, 45, 45, 45, 45, 45,
515
- 45, 45, 45, 45, 45, 45, 45, 45,
516
- 45, 45, 45, 45, 45, 45, 45, 45,
517
- 45, 45, 45, 45, 45, 45, 45, 45,
518
- 45, 45, 45, 45, 45, 45, 45, 45,
519
- 45, 45, 45, 45, 76, 45, 84, 84,
388
+ 61, 61, 61, 61, 61, 61, 61, 60,
389
+ 62, 62, 62, 62, 62, 62, 62, 62,
390
+ 62, 62, 62, 62, 62, 62, 62, 62,
391
+ 62, 62, 62, 62, 62, 62, 62, 62,
392
+ 62, 62, 62, 62, 62, 62, 62, 62,
393
+ 62, 62, 62, 62, 62, 62, 62, 62,
394
+ 62, 62, 62, 62, 62, 62, 62, 62,
395
+ 62, 62, 62, 62, 62, 62, 62, 62,
396
+ 62, 62, 62, 62, 62, 62, 62, 62,
397
+ 60, 63, 46, 65, 64, 67, 64, 68,
398
+ 46, 70, 69, 72, 69, 73, 73, 73,
399
+ 73, 73, 73, 73, 73, 73, 73, 46,
400
+ 46, 46, 46, 46, 46, 46, 73, 73,
401
+ 73, 73, 73, 73, 46, 46, 46, 46,
402
+ 46, 46, 46, 46, 46, 46, 46, 46,
403
+ 46, 46, 46, 46, 46, 46, 46, 46,
404
+ 46, 46, 46, 46, 46, 46, 73, 73,
405
+ 73, 73, 73, 73, 46, 46, 46, 46,
406
+ 46, 46, 46, 46, 46, 46, 46, 46,
407
+ 46, 46, 46, 46, 46, 46, 46, 46,
408
+ 74, 46, 75, 75, 75, 75, 75, 75,
409
+ 75, 75, 75, 75, 46, 46, 46, 46,
410
+ 46, 46, 46, 75, 75, 75, 75, 75,
411
+ 75, 46, 46, 46, 46, 46, 46, 46,
412
+ 46, 46, 46, 46, 46, 46, 46, 46,
413
+ 46, 46, 46, 46, 46, 46, 46, 46,
414
+ 46, 46, 46, 75, 75, 75, 75, 75,
415
+ 75, 46, 76, 76, 76, 76, 76, 76,
416
+ 76, 76, 76, 76, 46, 46, 46, 46,
417
+ 46, 46, 46, 76, 76, 76, 76, 76,
418
+ 76, 46, 46, 46, 46, 46, 46, 46,
419
+ 46, 46, 46, 46, 46, 46, 46, 46,
420
+ 46, 46, 46, 46, 46, 46, 46, 46,
421
+ 46, 46, 46, 76, 76, 76, 76, 76,
422
+ 76, 46, 77, 77, 77, 77, 77, 77,
423
+ 77, 77, 77, 77, 46, 46, 46, 46,
424
+ 46, 46, 46, 77, 77, 77, 77, 77,
425
+ 77, 46, 46, 46, 46, 46, 46, 46,
426
+ 46, 46, 46, 46, 46, 46, 46, 46,
427
+ 46, 46, 46, 46, 46, 46, 46, 46,
428
+ 46, 46, 46, 77, 77, 77, 77, 77,
429
+ 77, 46, 78, 78, 78, 78, 78, 78,
430
+ 78, 78, 78, 78, 46, 46, 46, 46,
431
+ 46, 46, 46, 78, 78, 78, 78, 78,
432
+ 78, 46, 46, 46, 46, 46, 46, 46,
433
+ 46, 46, 46, 46, 46, 46, 46, 46,
434
+ 46, 46, 46, 46, 46, 46, 46, 46,
435
+ 46, 46, 46, 78, 78, 78, 78, 78,
436
+ 78, 46, 74, 74, 74, 74, 74, 46,
437
+ 46, 46, 46, 46, 46, 46, 46, 46,
438
+ 46, 46, 46, 46, 46, 46, 46, 46,
439
+ 46, 74, 46, 46, 46, 46, 46, 46,
440
+ 46, 46, 46, 46, 46, 46, 46, 46,
441
+ 46, 79, 79, 79, 79, 79, 79, 79,
442
+ 79, 79, 79, 46, 46, 46, 46, 46,
443
+ 46, 46, 79, 79, 79, 79, 79, 79,
444
+ 46, 46, 46, 46, 46, 46, 46, 46,
445
+ 46, 46, 46, 46, 46, 46, 46, 46,
446
+ 46, 46, 46, 46, 46, 46, 46, 46,
447
+ 46, 46, 79, 79, 79, 79, 79, 79,
448
+ 46, 46, 46, 46, 46, 46, 46, 46,
449
+ 46, 46, 46, 46, 46, 46, 46, 46,
450
+ 46, 46, 46, 46, 46, 46, 77, 46,
451
+ 74, 74, 74, 74, 74, 46, 46, 46,
452
+ 46, 46, 46, 46, 46, 46, 46, 46,
453
+ 46, 46, 46, 46, 46, 46, 46, 74,
454
+ 46, 46, 46, 46, 46, 46, 46, 46,
455
+ 46, 46, 46, 46, 46, 46, 46, 80,
456
+ 80, 80, 80, 80, 80, 80, 80, 80,
457
+ 80, 46, 46, 46, 46, 46, 46, 46,
458
+ 80, 80, 80, 80, 80, 80, 46, 46,
459
+ 46, 46, 46, 46, 46, 46, 46, 46,
460
+ 46, 46, 46, 46, 46, 46, 46, 46,
461
+ 46, 46, 46, 46, 46, 46, 46, 46,
462
+ 80, 80, 80, 80, 80, 80, 46, 46,
463
+ 46, 46, 46, 46, 46, 46, 46, 46,
464
+ 46, 46, 46, 46, 46, 46, 46, 46,
465
+ 46, 46, 46, 46, 77, 46, 74, 74,
466
+ 74, 74, 74, 46, 46, 46, 46, 46,
467
+ 46, 46, 46, 46, 46, 46, 46, 46,
468
+ 46, 46, 46, 46, 46, 74, 46, 46,
469
+ 46, 46, 46, 46, 46, 46, 46, 46,
470
+ 46, 46, 46, 46, 46, 81, 81, 81,
471
+ 81, 81, 81, 81, 81, 81, 81, 46,
472
+ 46, 46, 46, 46, 46, 46, 81, 81,
473
+ 81, 81, 81, 81, 46, 46, 46, 46,
474
+ 46, 46, 46, 46, 46, 46, 46, 46,
475
+ 46, 46, 46, 46, 46, 46, 46, 46,
476
+ 46, 46, 46, 46, 46, 46, 81, 81,
477
+ 81, 81, 81, 81, 46, 46, 46, 46,
478
+ 46, 46, 46, 46, 46, 46, 46, 46,
479
+ 46, 46, 46, 46, 46, 46, 46, 46,
480
+ 46, 46, 77, 46, 74, 74, 74, 74,
481
+ 74, 46, 46, 46, 46, 46, 46, 46,
482
+ 46, 46, 46, 46, 46, 46, 46, 46,
483
+ 46, 46, 46, 74, 46, 46, 46, 46,
484
+ 46, 46, 46, 46, 46, 46, 46, 46,
485
+ 46, 46, 46, 82, 82, 82, 82, 82,
486
+ 82, 82, 82, 82, 82, 46, 46, 46,
487
+ 46, 46, 46, 46, 82, 82, 82, 82,
488
+ 82, 82, 46, 46, 46, 46, 46, 46,
489
+ 46, 46, 46, 46, 46, 46, 46, 46,
490
+ 46, 46, 46, 46, 46, 46, 46, 46,
491
+ 46, 46, 46, 46, 82, 82, 82, 82,
492
+ 82, 82, 46, 46, 46, 46, 46, 46,
493
+ 46, 46, 46, 46, 46, 46, 46, 46,
494
+ 46, 46, 46, 46, 46, 46, 46, 46,
495
+ 77, 46, 74, 74, 74, 74, 74, 46,
496
+ 46, 46, 46, 46, 46, 46, 46, 46,
497
+ 46, 46, 46, 46, 46, 46, 46, 46,
498
+ 46, 74, 46, 46, 46, 46, 46, 46,
499
+ 46, 46, 46, 46, 46, 46, 46, 46,
500
+ 46, 83, 83, 83, 83, 83, 83, 83,
501
+ 83, 83, 83, 46, 46, 46, 46, 46,
502
+ 46, 46, 83, 83, 83, 83, 83, 83,
503
+ 46, 46, 46, 46, 46, 46, 46, 46,
504
+ 46, 46, 46, 46, 46, 46, 46, 46,
505
+ 46, 46, 46, 46, 46, 46, 46, 46,
506
+ 46, 46, 83, 83, 83, 83, 83, 83,
507
+ 46, 46, 46, 46, 46, 46, 46, 46,
508
+ 46, 46, 46, 46, 46, 46, 46, 46,
509
+ 46, 46, 46, 46, 46, 46, 77, 46,
510
+ 74, 74, 74, 74, 74, 46, 46, 46,
511
+ 46, 46, 46, 46, 46, 46, 46, 46,
512
+ 46, 46, 46, 46, 46, 46, 46, 74,
513
+ 46, 46, 46, 46, 46, 46, 46, 46,
514
+ 46, 46, 46, 46, 46, 46, 46, 46,
515
+ 46, 46, 46, 46, 46, 46, 46, 46,
516
+ 46, 46, 46, 46, 46, 46, 46, 46,
517
+ 46, 46, 46, 46, 46, 46, 46, 46,
518
+ 46, 46, 46, 46, 46, 46, 46, 46,
519
+ 46, 46, 46, 46, 46, 46, 46, 46,
520
+ 46, 46, 46, 46, 46, 46, 46, 46,
521
+ 46, 46, 46, 46, 46, 46, 46, 46,
522
+ 46, 46, 46, 46, 46, 46, 46, 46,
523
+ 46, 46, 46, 46, 46, 46, 46, 46,
524
+ 46, 46, 46, 46, 77, 46, 85, 85,
525
+ 85, 85, 85, 85, 85, 85, 85, 85,
526
+ 84, 84, 84, 84, 84, 84, 84, 85,
527
+ 85, 85, 85, 85, 85, 84, 84, 84,
528
+ 84, 84, 84, 84, 84, 84, 84, 84,
529
+ 84, 84, 84, 84, 84, 84, 84, 84,
530
+ 84, 84, 84, 84, 84, 84, 84, 85,
531
+ 85, 85, 85, 85, 85, 84, 84, 84,
520
532
  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,
533
- 45, 45, 45, 45, 45, 45, 45, 45,
534
- 45, 45, 45, 45, 45, 45, 45, 45,
535
- 45, 45, 45, 45, 45, 45, 45, 45,
536
- 45, 45, 45, 45, 45, 45, 45, 45,
537
- 45, 45, 45, 45, 45, 45, 45, 45,
538
- 45, 45, 45, 45, 45, 45, 45, 45,
539
- 45, 45, 45, 45, 45, 45, 45, 45,
540
- 45, 45, 45, 45, 45, 2, 2, 2,
533
+ 84, 84, 84, 84, 84, 84, 84, 84,
534
+ 84, 46, 84, 88, 87, 89, 86, 89,
535
+ 86, 86, 86, 86, 86, 86, 90, 90,
536
+ 90, 90, 90, 90, 90, 90, 90, 90,
537
+ 86, 88, 91, 46, 46, 46, 46, 46,
538
+ 46, 46, 46, 46, 46, 46, 46, 46,
539
+ 46, 46, 46, 46, 46, 46, 46, 46,
540
+ 46, 46, 46, 46, 46, 46, 46, 46,
541
+ 46, 46, 46, 46, 46, 46, 46, 46,
542
+ 46, 46, 46, 46, 46, 46, 46, 46,
543
+ 46, 46, 46, 46, 46, 46, 46, 46,
544
+ 46, 46, 46, 46, 46, 46, 46, 46,
545
+ 46, 46, 46, 46, 46, 2, 2, 2,
541
546
  2, 2, 2, 2, 2, 2, 2, 2,
542
547
  2, 2, 2, 2, 2, 2, 2, 2,
543
548
  2, 2, 2, 2, 2, 2, 2, 2,
544
549
  2, 2, 2, 3, 3, 3, 3, 3,
545
550
  3, 3, 3, 3, 3, 3, 3, 3,
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,
551
+ 3, 3, 3, 92, 92, 92, 92, 92,
552
+ 46, 46, 46, 46, 46, 46, 46, 46,
553
+ 46, 46, 46, 46, 93, 93, 93, 93,
554
+ 93, 93, 93, 93, 94, 94, 94, 94,
555
+ 94, 93, 93, 93, 93, 93, 93, 93,
556
+ 93, 93, 93, 93, 93, 93, 93, 93,
557
+ 93, 93, 93, 95, 96, 96, 97, 98,
558
+ 96, 96, 96, 99, 100, 101, 102, 96,
559
+ 96, 103, 96, 96, 96, 96, 96, 96,
560
+ 96, 96, 96, 96, 96, 96, 96, 96,
561
+ 96, 96, 104, 96, 96, 96, 96, 96,
562
+ 96, 96, 96, 96, 96, 96, 96, 96,
563
+ 96, 96, 96, 96, 96, 96, 96, 96,
564
+ 96, 96, 96, 96, 96, 96, 105, 106,
565
+ 107, 108, 96, 96, 96, 96, 96, 96,
566
+ 96, 96, 96, 96, 96, 96, 96, 96,
567
+ 96, 96, 96, 96, 96, 96, 96, 96,
568
+ 96, 96, 96, 96, 96, 96, 109, 110,
569
+ 107, 96, 93, 96, 2, 2, 2, 2,
565
570
  2, 2, 2, 2, 2, 2, 2, 2,
566
571
  2, 2, 2, 2, 2, 2, 2, 2,
567
572
  2, 2, 2, 2, 2, 2, 2, 2,
568
573
  2, 2, 3, 3, 3, 3, 3, 3,
569
574
  3, 3, 3, 3, 3, 3, 3, 3,
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,
575
+ 3, 3, 92, 92, 92, 92, 92, 111,
576
+ 93, 93, 93, 93, 93, 93, 93, 93,
577
+ 93, 93, 93, 93, 93, 93, 93, 93,
578
+ 93, 93, 93, 93, 93, 93, 93, 93,
579
+ 93, 93, 93, 93, 93, 93, 93, 111,
592
580
  111, 111, 111, 111, 111, 111, 111, 111,
593
581
  111, 111, 111, 111, 111, 111, 111, 111,
594
582
  111, 111, 111, 111, 111, 111, 111, 111,
@@ -599,47 +587,64 @@ self._re_scanner_indicies = [
599
587
  111, 111, 111, 111, 111, 111, 111, 111,
600
588
  111, 111, 111, 111, 111, 111, 111, 111,
601
589
  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
590
  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,
591
+ 111, 111, 111, 111, 111, 111, 93, 111,
592
+ 93, 93, 93, 93, 93, 93, 93, 93,
593
+ 94, 94, 94, 94, 94, 93, 93, 93,
594
+ 93, 93, 93, 93, 93, 93, 93, 93,
595
+ 93, 93, 93, 93, 93, 93, 93, 95,
596
+ 112, 112, 112, 112, 112, 112, 112, 112,
597
+ 112, 112, 112, 112, 112, 112, 112, 112,
598
+ 112, 112, 112, 112, 112, 112, 112, 112,
599
+ 112, 112, 112, 112, 112, 112, 112, 112,
600
+ 112, 112, 112, 112, 112, 112, 112, 112,
601
+ 112, 112, 112, 112, 112, 112, 112, 112,
602
+ 112, 112, 112, 112, 112, 112, 112, 112,
603
+ 112, 112, 112, 112, 112, 112, 112, 112,
604
+ 112, 112, 112, 112, 112, 112, 112, 112,
605
+ 112, 112, 112, 112, 112, 112, 112, 112,
606
+ 112, 112, 112, 112, 112, 112, 112, 112,
607
+ 112, 112, 112, 112, 112, 112, 93, 112,
608
+ 95, 95, 95, 95, 95, 112, 112, 112,
609
+ 112, 112, 112, 112, 112, 112, 112, 112,
610
+ 112, 112, 112, 112, 112, 112, 112, 95,
611
+ 112, 96, 96, 111, 111, 96, 96, 96,
612
+ 111, 111, 111, 111, 96, 96, 111, 96,
613
+ 96, 96, 96, 96, 96, 96, 96, 96,
614
+ 96, 96, 96, 96, 96, 96, 96, 111,
615
+ 96, 96, 96, 96, 96, 96, 96, 96,
616
+ 96, 96, 96, 96, 96, 96, 96, 96,
617
+ 96, 96, 96, 96, 96, 96, 96, 96,
618
+ 96, 96, 96, 111, 111, 111, 111, 96,
619
+ 96, 96, 96, 96, 96, 96, 96, 96,
620
+ 96, 96, 96, 96, 96, 96, 96, 96,
621
+ 96, 96, 96, 96, 96, 96, 96, 96,
622
+ 96, 96, 96, 111, 111, 111, 96, 111,
623
+ 114, 97, 116, 115, 10, 118, 5, 118,
624
+ 118, 118, 119, 120, 117, 118, 118, 118,
625
+ 118, 118, 118, 118, 118, 118, 118, 118,
626
+ 118, 118, 118, 118, 118, 8, 118, 121,
627
+ 10, 8, 118, 118, 118, 118, 118, 118,
628
+ 118, 118, 118, 118, 118, 118, 118, 118,
629
+ 118, 118, 118, 118, 118, 118, 118, 118,
630
+ 118, 118, 118, 118, 118, 118, 118, 118,
631
+ 118, 118, 118, 118, 118, 118, 118, 118,
632
+ 118, 118, 118, 118, 118, 118, 118, 118,
633
+ 118, 118, 118, 118, 118, 118, 118, 118,
634
+ 118, 118, 118, 118, 118, 118, 118, 118,
635
+ 118, 8, 118, 117, 118, 117, 118, 118,
636
+ 118, 117, 117, 117, 118, 118, 118, 118,
637
+ 118, 118, 118, 118, 118, 118, 118, 118,
638
+ 118, 118, 118, 118, 122, 118, 117, 117,
639
+ 117, 118, 118, 118, 118, 118, 118, 118,
640
+ 118, 118, 118, 118, 118, 118, 118, 118,
641
+ 118, 118, 118, 118, 118, 118, 118, 118,
642
+ 118, 118, 118, 118, 118, 118, 118, 118,
643
+ 118, 118, 118, 118, 118, 118, 118, 118,
644
+ 118, 118, 118, 118, 118, 118, 118, 118,
645
+ 118, 118, 118, 118, 118, 118, 118, 118,
646
+ 118, 118, 118, 118, 118, 118, 118, 118,
647
+ 117, 118, 8, 9, 125, 124, 124, 124,
643
648
  124, 124, 124, 124, 124, 124, 124, 124,
644
649
  124, 124, 124, 124, 124, 124, 124, 124,
645
650
  125, 124, 127, 126, 126, 126, 126, 126,
@@ -655,59 +660,59 @@ self._re_scanner_indicies = [
655
660
  130, 130, 130, 130, 133, 130, 130, 130,
656
661
  134, 130, 130, 130, 130, 130, 130, 130,
657
662
  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,
663
+ 130, 136, 135, 135, 135, 44, 44, 44,
664
+ 44, 44, 44, 44, 44, 44, 44, 135,
665
+ 137, 46, 46, 46, 137, 46, 46, 46,
666
+ 46, 46, 46, 46, 46, 46, 137, 137,
667
+ 46, 46, 46, 137, 137, 46, 46, 46,
668
+ 46, 46, 46, 46, 46, 46, 46, 46,
669
+ 137, 46, 46, 46, 137, 46, 46, 46,
670
+ 46, 46, 46, 46, 46, 46, 46, 137,
671
+ 46, 46, 46, 137, 46, 138, 46, 46,
672
+ 46, 46, 46, 46, 46, 46, 46, 46,
673
+ 46, 46, 46, 46, 46, 46, 46, 46,
674
+ 46, 46, 46, 46, 46, 46, 46, 46,
675
+ 46, 46, 46, 46, 46, 138, 46, 139,
671
676
  139, 139, 139, 139, 139, 139, 139, 139,
672
677
  139, 139, 139, 139, 139, 139, 139, 139,
673
678
  139, 139, 139, 139, 139, 139, 139, 139,
674
679
  139, 139, 139, 139, 139, 140, 140, 140,
675
680
  140, 140, 140, 140, 140, 140, 140, 140,
676
681
  140, 140, 140, 140, 140, 141, 141, 141,
677
- 141, 141, 50, 50, 50, 50, 50, 50,
678
- 50, 50, 50, 50, 50, 50, 50, 50,
679
- 50, 50, 50, 50, 50, 50, 50, 50,
680
- 50, 50, 50, 50, 50, 50, 50, 50,
681
- 50, 50, 50, 50, 50, 50, 50, 50,
682
- 50, 50, 50, 50, 50, 50, 50, 50,
683
- 50, 142, 50, 143, 50, 142, 142, 142,
684
- 142, 50, 144, 142, 50, 50, 50, 50,
685
- 50, 50, 50, 50, 50, 50, 50, 50,
686
- 50, 50, 50, 50, 142, 50, 50, 50,
687
- 50, 50, 50, 50, 50, 50, 50, 50,
688
- 50, 50, 50, 50, 50, 50, 50, 50,
689
- 50, 50, 50, 50, 50, 50, 50, 50,
690
- 145, 146, 147, 148, 50, 50, 50, 50,
691
- 50, 50, 50, 50, 50, 50, 50, 50,
692
- 50, 50, 50, 50, 50, 50, 50, 50,
693
- 50, 50, 50, 50, 50, 50, 50, 50,
694
- 142, 142, 142, 50, 50, 50, 50, 50,
695
- 50, 50, 50, 50, 50, 50, 50, 50,
696
- 50, 50, 50, 50, 50, 50, 50, 50,
697
- 50, 50, 50, 50, 50, 50, 50, 50,
698
- 50, 50, 50, 50, 50, 50, 50, 50,
699
- 50, 50, 50, 50, 50, 50, 50, 50,
700
- 50, 50, 50, 50, 50, 50, 50, 50,
701
- 50, 50, 50, 50, 50, 50, 50, 50,
702
- 50, 50, 50, 50, 149, 51, 51, 51,
682
+ 141, 141, 51, 51, 51, 51, 51, 51,
683
+ 51, 51, 51, 51, 51, 51, 51, 51,
684
+ 51, 51, 51, 51, 51, 51, 51, 51,
685
+ 51, 51, 51, 51, 51, 51, 51, 51,
686
+ 51, 51, 51, 51, 51, 51, 51, 51,
687
+ 51, 51, 51, 51, 51, 51, 51, 51,
688
+ 51, 142, 51, 143, 51, 142, 142, 142,
689
+ 142, 51, 144, 142, 51, 51, 51, 51,
690
+ 51, 51, 51, 51, 51, 51, 51, 51,
691
+ 51, 51, 51, 51, 142, 51, 51, 51,
703
692
  51, 51, 51, 51, 51, 51, 51, 51,
704
693
  51, 51, 51, 51, 51, 51, 51, 51,
705
694
  51, 51, 51, 51, 51, 51, 51, 51,
695
+ 145, 146, 147, 148, 51, 51, 51, 51,
706
696
  51, 51, 51, 51, 51, 51, 51, 51,
707
697
  51, 51, 51, 51, 51, 51, 51, 51,
708
698
  51, 51, 51, 51, 51, 51, 51, 51,
699
+ 142, 142, 142, 51, 51, 51, 51, 51,
709
700
  51, 51, 51, 51, 51, 51, 51, 51,
710
- 51, 51, 51, 51, 51, 149, 150, 150,
701
+ 51, 51, 51, 51, 51, 51, 51, 51,
702
+ 51, 51, 51, 51, 51, 51, 51, 51,
703
+ 51, 51, 51, 51, 51, 51, 51, 51,
704
+ 51, 51, 51, 51, 51, 51, 51, 51,
705
+ 51, 51, 51, 51, 51, 51, 51, 51,
706
+ 51, 51, 51, 51, 51, 51, 51, 51,
707
+ 51, 51, 51, 51, 149, 52, 52, 52,
708
+ 52, 52, 52, 52, 52, 52, 52, 52,
709
+ 52, 52, 52, 52, 52, 52, 52, 52,
710
+ 52, 52, 52, 52, 52, 52, 52, 52,
711
+ 52, 52, 52, 52, 52, 52, 52, 52,
712
+ 52, 52, 52, 52, 52, 52, 52, 52,
713
+ 52, 52, 52, 52, 52, 52, 52, 52,
714
+ 52, 52, 52, 52, 52, 52, 52, 52,
715
+ 52, 52, 52, 52, 52, 149, 150, 150,
711
716
  150, 150, 150, 150, 150, 150, 150, 150,
712
717
  150, 150, 150, 150, 150, 150, 150, 150,
713
718
  150, 150, 150, 150, 150, 150, 150, 150,
@@ -723,88 +728,94 @@ self._re_scanner_indicies = [
723
728
  152, 152, 152, 152, 152, 152, 152, 152,
724
729
  152, 152, 152, 152, 152, 152, 152, 152,
725
730
  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,
731
+ 154, 152, 56, 156, 158, 158, 158, 158,
732
+ 158, 158, 158, 158, 157, 157, 157, 157,
733
+ 157, 157, 157, 157, 157, 157, 157, 159,
734
+ 159, 157, 157, 157, 159, 157, 157, 157,
735
+ 157, 159, 157, 157, 159, 157, 157, 159,
736
+ 157, 157, 157, 159, 157, 157, 157, 159,
737
+ 159, 159, 157, 157, 157, 159, 159, 159,
738
+ 159, 159, 159, 157, 159, 157, 157, 157,
739
+ 157, 157, 159, 157, 159, 157, 159, 159,
740
+ 159, 159, 159, 159, 159, 157, 161, 161,
741
+ 161, 161, 161, 161, 161, 161, 160, 162,
742
+ 162, 162, 162, 162, 162, 162, 162, 160,
743
+ 163, 163, 163, 163, 163, 163, 163, 163,
744
+ 163, 163, 163, 163, 163, 163, 163, 163,
745
+ 163, 163, 163, 163, 163, 163, 163, 163,
746
+ 163, 163, 163, 163, 163, 163, 164, 164,
747
+ 164, 164, 164, 164, 164, 164, 164, 164,
748
+ 164, 164, 164, 164, 164, 164, 165, 165,
749
+ 165, 165, 165, 61, 61, 61, 61, 61,
750
+ 61, 61, 61, 61, 61, 61, 61, 61,
751
+ 61, 61, 61, 61, 61, 61, 61, 61,
752
+ 61, 61, 61, 61, 61, 61, 61, 61,
766
753
  61, 61, 61, 61, 61, 61, 61, 61,
767
754
  61, 61, 61, 61, 61, 61, 61, 61,
755
+ 61, 61, 166, 61, 61, 61, 166, 166,
756
+ 166, 166, 61, 61, 166, 61, 167, 168,
757
+ 168, 168, 168, 168, 168, 168, 169, 169,
758
+ 61, 61, 61, 61, 61, 166, 61, 46,
759
+ 46, 170, 171, 61, 61, 46, 171, 61,
760
+ 61, 46, 61, 172, 61, 61, 173, 61,
761
+ 171, 171, 61, 61, 61, 171, 171, 61,
762
+ 46, 166, 166, 166, 166, 61, 61, 174,
763
+ 174, 63, 171, 174, 174, 61, 171, 61,
764
+ 61, 61, 61, 61, 174, 61, 173, 61,
765
+ 174, 171, 174, 175, 174, 171, 176, 61,
766
+ 46, 166, 166, 166, 61, 61, 61, 61,
768
767
  61, 61, 61, 61, 61, 61, 61, 61,
769
768
  61, 61, 61, 61, 61, 61, 61, 61,
770
769
  61, 61, 61, 61, 61, 61, 61, 61,
771
770
  61, 61, 61, 61, 61, 61, 61, 61,
772
771
  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
772
+ 61, 61, 61, 61, 61, 61, 61, 61,
773
+ 61, 61, 61, 61, 61, 61, 61, 61,
774
+ 61, 61, 61, 61, 61, 177, 62, 62,
775
+ 62, 62, 62, 62, 62, 62, 62, 62,
776
+ 62, 62, 62, 62, 62, 62, 62, 62,
777
+ 62, 62, 62, 62, 62, 62, 62, 62,
778
+ 62, 62, 62, 62, 62, 62, 62, 62,
779
+ 62, 62, 62, 62, 62, 62, 62, 62,
780
+ 62, 62, 62, 62, 62, 62, 62, 62,
781
+ 62, 62, 62, 62, 62, 62, 62, 62,
782
+ 62, 62, 62, 62, 62, 62, 177, 178,
783
+ 178, 178, 178, 178, 178, 178, 178, 178,
784
+ 178, 178, 178, 178, 178, 178, 178, 178,
785
+ 178, 178, 178, 178, 178, 178, 178, 178,
786
+ 178, 178, 178, 178, 178, 178, 178, 178,
787
+ 178, 178, 178, 178, 178, 178, 178, 178,
788
+ 178, 178, 178, 178, 178, 178, 178, 178,
789
+ 178, 178, 178, 178, 178, 178, 178, 178,
790
+ 178, 178, 178, 178, 178, 178, 178, 177,
791
+ 180, 180, 180, 180, 180, 180, 180, 180,
792
+ 179, 182, 182, 182, 182, 182, 182, 182,
793
+ 182, 181, 184, 64, 186, 185, 64, 188,
794
+ 69, 69, 69, 69, 69, 69, 69, 69,
795
+ 69, 69, 69, 69, 69, 69, 69, 69,
796
+ 69, 69, 69, 69, 69, 69, 69, 69,
797
+ 69, 69, 69, 69, 69, 69, 69, 189,
798
+ 69, 191, 190, 69, 72, 69, 193, 193,
799
+ 193, 193, 193, 193, 193, 193, 193, 193,
800
+ 192, 192, 192, 192, 192, 192, 192, 193,
801
+ 193, 193, 193, 193, 193, 192, 192, 192,
802
+ 192, 192, 192, 192, 192, 192, 192, 192,
803
+ 192, 192, 192, 192, 192, 192, 192, 192,
804
+ 192, 192, 192, 192, 192, 192, 192, 193,
805
+ 193, 193, 193, 193, 193, 192, 195, 194,
806
+ 194, 194, 194, 194, 196, 194, 194, 194,
807
+ 197, 197, 197, 197, 197, 197, 197, 197,
808
+ 197, 194, 194, 198, 194, 88, 87, 87,
809
+ 87, 87, 87, 199, 87, 87, 199, 199,
810
+ 199, 199, 199, 199, 199, 199, 199, 199,
811
+ 87, 90, 90, 90, 90, 90, 90, 90,
812
+ 90, 90, 199, 89, 199, 199, 199, 199,
813
+ 199, 199, 90, 90, 90, 90, 90, 90,
814
+ 90, 90, 90, 90, 199, 199, 91, 91,
815
+ 91, 91, 91, 91, 91, 91, 91, 91,
816
+ 91, 199, 91, 91, 199, 199, 199, 199,
817
+ 199, 199, 199, 199, 199, 199, 91, 91,
818
+ 91, 91, 88, 91, 0
808
819
  ]
809
820
 
810
821
  class << self
@@ -813,30 +824,30 @@ class << self
813
824
  end
814
825
  self._re_scanner_trans_targs = [
815
826
  73, 74, 1, 2, 73, 4, 73, 6,
816
- 73, 8, 83, 73, 10, 17, 11, 73,
817
- 12, 16, 14, 13, 15, 18, 19, 23,
818
- 21, 20, 22, 25, 31, 26, 73, 27,
819
- 29, 28, 30, 32, 33, 35, 34, 36,
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,
827
+ 73, 8, 73, 83, 73, 10, 17, 11,
828
+ 73, 12, 16, 14, 13, 15, 18, 19,
829
+ 23, 21, 20, 22, 25, 31, 26, 73,
830
+ 27, 29, 28, 30, 32, 33, 35, 34,
831
+ 36, 73, 38, 73, 39, 41, 0, 42,
832
+ 43, 90, 91, 91, 44, 91, 91, 91,
833
+ 47, 48, 91, 91, 101, 101, 49, 52,
834
+ 101, 107, 101, 109, 55, 101, 110, 101,
835
+ 112, 58, 61, 59, 60, 101, 62, 63,
836
+ 64, 65, 66, 67, 101, 114, 115, 69,
837
+ 70, 115, 71, 72, 3, 75, 76, 77,
838
+ 78, 79, 73, 80, 73, 84, 85, 73,
839
+ 86, 73, 87, 73, 73, 88, 73, 73,
840
+ 73, 73, 73, 73, 81, 73, 82, 5,
830
841
  73, 7, 73, 73, 73, 73, 73, 73,
831
842
  73, 73, 73, 73, 73, 9, 24, 73,
832
843
  37, 89, 40, 92, 93, 94, 91, 95,
833
844
  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
845
+ 91, 46, 91, 91, 91, 98, 99, 98,
846
+ 98, 100, 98, 102, 103, 104, 101, 105,
847
+ 105, 101, 51, 101, 54, 101, 101, 57,
848
+ 68, 101, 50, 101, 106, 101, 101, 101,
849
+ 108, 101, 53, 101, 111, 113, 101, 56,
850
+ 101, 101, 115, 116, 117, 118, 119, 115
840
851
  ]
841
852
 
842
853
  class << self
@@ -845,30 +856,30 @@ class << self
845
856
  end
846
857
  self._re_scanner_trans_actions = [
847
858
  1, 2, 0, 0, 3, 4, 5, 0,
848
- 6, 0, 7, 8, 0, 0, 0, 9,
849
- 0, 0, 0, 0, 0, 0, 0, 0,
850
- 0, 0, 0, 0, 0, 0, 10, 0,
859
+ 6, 0, 7, 8, 9, 0, 0, 0,
860
+ 10, 0, 0, 0, 0, 0, 0, 0,
861
+ 0, 0, 0, 0, 0, 0, 0, 11,
851
862
  0, 0, 0, 0, 0, 0, 0, 0,
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,
863
+ 0, 12, 0, 13, 0, 0, 0, 0,
864
+ 0, 15, 16, 17, 0, 18, 19, 20,
865
+ 0, 0, 21, 22, 23, 24, 0, 0,
866
+ 26, 0, 27, 0, 0, 28, 0, 29,
867
+ 0, 0, 0, 0, 0, 30, 0, 0,
868
+ 0, 0, 0, 0, 31, 0, 32, 0,
869
+ 0, 33, 0, 0, 0, 0, 0, 0,
870
+ 0, 0, 36, 37, 38, 0, 0, 39,
871
+ 0, 40, 41, 42, 43, 41, 44, 45,
872
+ 46, 47, 48, 49, 50, 51, 0, 0,
862
873
  52, 0, 53, 54, 55, 56, 57, 58,
863
874
  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
875
+ 0, 66, 0, 0, 41, 41, 67, 0,
876
+ 41, 68, 69, 70, 71, 72, 0, 73,
877
+ 74, 0, 75, 76, 77, 78, 0, 79,
878
+ 80, 0, 81, 0, 41, 41, 82, 83,
879
+ 84, 85, 0, 86, 0, 87, 88, 0,
880
+ 0, 89, 0, 90, 0, 91, 92, 93,
881
+ 41, 94, 0, 95, 41, 0, 96, 0,
882
+ 97, 98, 99, 41, 41, 41, 41, 100
872
883
  ]
873
884
 
874
885
  class << self
@@ -885,12 +896,12 @@ self._re_scanner_to_state_actions = [
885
896
  0, 0, 0, 0, 0, 0, 0, 0,
886
897
  0, 0, 0, 0, 0, 0, 0, 0,
887
898
  0, 0, 0, 0, 0, 0, 0, 0,
888
- 0, 33, 0, 0, 0, 0, 0, 0,
899
+ 0, 34, 0, 0, 0, 0, 0, 0,
889
900
  0, 0, 0, 0, 0, 0, 0, 0,
890
901
  0, 65, 65, 65, 0, 0, 0, 0,
891
- 0, 0, 65, 65, 0, 0, 0, 0,
902
+ 0, 0, 65, 0, 0, 65, 0, 0,
892
903
  0, 0, 0, 0, 0, 0, 0, 0,
893
- 0, 65, 0, 0, 0, 0
904
+ 0, 0, 0, 65, 0, 0, 0, 0
894
905
  ]
895
906
 
896
907
  class << self
@@ -907,12 +918,12 @@ self._re_scanner_from_state_actions = [
907
918
  0, 0, 0, 0, 0, 0, 0, 0,
908
919
  0, 0, 0, 0, 0, 0, 0, 0,
909
920
  0, 0, 0, 0, 0, 0, 0, 0,
910
- 0, 34, 0, 0, 0, 0, 0, 0,
921
+ 0, 35, 0, 0, 0, 0, 0, 0,
911
922
  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,
923
+ 0, 35, 35, 35, 0, 0, 0, 0,
924
+ 0, 0, 35, 0, 0, 35, 0, 0,
914
925
  0, 0, 0, 0, 0, 0, 0, 0,
915
- 0, 34, 0, 0, 0, 0
926
+ 0, 0, 0, 35, 0, 0, 0, 0
916
927
  ]
917
928
 
918
929
  class << self
@@ -925,16 +936,16 @@ self._re_scanner_eof_actions = [
925
936
  0, 0, 0, 0, 0, 0, 0, 0,
926
937
  0, 0, 0, 0, 0, 0, 0, 0,
927
938
  0, 0, 0, 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,
939
+ 14, 14, 14, 14, 0, 0, 0, 0,
940
+ 0, 0, 0, 25, 25, 0, 25, 25,
941
+ 0, 25, 25, 25, 25, 25, 25, 25,
942
+ 25, 25, 25, 25, 25, 0, 0, 0,
932
943
  0, 0, 0, 0, 0, 0, 0, 0,
933
944
  0, 0, 0, 0, 0, 0, 0, 0,
934
- 0, 0, 0, 24, 0, 0, 0, 0,
935
- 0, 0, 0, 24, 0, 0, 0, 0,
945
+ 0, 0, 0, 25, 0, 0, 0, 0,
946
+ 0, 0, 0, 0, 0, 25, 0, 0,
936
947
  0, 0, 0, 0, 0, 0, 0, 0,
937
- 0, 0, 0, 0, 0, 0
948
+ 0, 0, 0, 0, 0, 0, 0, 0
938
949
  ]
939
950
 
940
951
  class << self
@@ -943,20 +954,20 @@ class << self
943
954
  end
944
955
  self._re_scanner_eof_trans = [
945
956
  0, 1, 1, 1, 5, 5, 5, 5,
946
- 1, 12, 12, 12, 12, 12, 12, 12,
947
- 12, 12, 12, 12, 12, 12, 12, 12,
948
- 12, 12, 12, 12, 12, 12, 12, 12,
949
- 12, 12, 12, 12, 12, 41, 41, 41,
950
- 0, 0, 0, 0, 50, 50, 53, 55,
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,
957
+ 1, 13, 13, 13, 13, 13, 13, 13,
958
+ 13, 13, 13, 13, 13, 13, 13, 13,
959
+ 13, 13, 13, 13, 13, 13, 13, 13,
960
+ 13, 13, 13, 13, 13, 42, 42, 42,
961
+ 0, 0, 0, 0, 51, 51, 54, 56,
962
+ 56, 61, 61, 0, 0, 67, 0, 0,
963
+ 72, 0, 0, 0, 0, 0, 0, 0,
964
+ 0, 0, 0, 0, 0, 87, 87, 87,
965
+ 87, 0, 112, 112, 113, 113, 112, 114,
966
+ 116, 118, 118, 124, 125, 127, 129, 131,
956
967
  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
968
+ 153, 156, 0, 161, 161, 0, 178, 178,
969
+ 178, 180, 182, 184, 184, 184, 188, 188,
970
+ 188, 188, 193, 0, 200, 200, 200, 200
960
971
  ]
961
972
 
962
973
  class << self
@@ -991,20 +1002,20 @@ self.re_scanner_en_set_escape_sequence = 98;
991
1002
  class << self
992
1003
  attr_accessor :re_scanner_en_escape_sequence
993
1004
  end
994
- self.re_scanner_en_escape_sequence = 99;
1005
+ self.re_scanner_en_escape_sequence = 101;
995
1006
  class << self
996
1007
  attr_accessor :re_scanner_en_conditional_expression
997
1008
  end
998
- self.re_scanner_en_conditional_expression = 113;
1009
+ self.re_scanner_en_conditional_expression = 115;
999
1010
  class << self
1000
1011
  attr_accessor :re_scanner_en_main
1001
1012
  end
1002
1013
  self.re_scanner_en_main = 73;
1003
1014
 
1004
1015
 
1005
- # line 744 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1016
+ # line 749 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1006
1017
 
1007
- # line 1007 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
1018
+ # line 1018 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
1008
1019
  begin
1009
1020
  p ||= 0
1010
1021
  pe ||= data.length
@@ -1015,9 +1026,9 @@ begin
1015
1026
  act = 0
1016
1027
  end
1017
1028
 
1018
- # line 745 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1029
+ # line 750 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1019
1030
 
1020
- # line 1020 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
1031
+ # line 1031 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
1021
1032
  begin
1022
1033
  testEof = false
1023
1034
  _slen, _trans, _keys, _inds, _acts, _nacts = nil
@@ -1040,12 +1051,12 @@ begin
1040
1051
  end
1041
1052
  if _goto_level <= _resume
1042
1053
  case _re_scanner_from_state_actions[cs]
1043
- when 34 then
1054
+ when 35 then
1044
1055
  # line 1 "NONE"
1045
1056
  begin
1046
1057
  ts = p
1047
1058
  end
1048
- # line 1048 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
1059
+ # line 1059 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
1049
1060
  end
1050
1061
  _keys = cs << 1
1051
1062
  _inds = _re_scanner_index_offsets[cs]
@@ -1064,21 +1075,21 @@ ts = p
1064
1075
  cs = _re_scanner_trans_targs[_trans]
1065
1076
  if _re_scanner_trans_actions[_trans] != 0
1066
1077
  case _re_scanner_trans_actions[_trans]
1067
- when 36 then
1068
- # line 152 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1078
+ when 37 then
1079
+ # line 147 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1069
1080
  begin
1070
1081
  self.group_depth = group_depth + 1 end
1071
1082
  when 4 then
1072
- # line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1083
+ # line 148 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1073
1084
  begin
1074
1085
  self.group_depth = group_depth - 1 end
1075
- when 40 then
1086
+ when 41 then
1076
1087
  # line 1 "NONE"
1077
1088
  begin
1078
1089
  te = p+1
1079
1090
  end
1080
1091
  when 66 then
1081
- # line 12 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/char_type.rl"
1092
+ # line 12 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/char_type.rl"
1082
1093
  begin
1083
1094
  te = p+1
1084
1095
  begin
@@ -1103,15 +1114,15 @@ te = p+1
1103
1114
 
1104
1115
  end
1105
1116
  end
1106
- when 14 then
1107
- # line 16 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/property.rl"
1117
+ when 15 then
1118
+ # line 16 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/property.rl"
1108
1119
  begin
1109
1120
  te = p+1
1110
1121
  begin
1111
1122
  text = copy(data, ts-1, te)
1112
1123
  type = (text[1] == 'P') ^ (text[3] == '^') ? :nonproperty : :property
1113
1124
 
1114
- name = data[ts+2..te-2].pack('c*').gsub(/[\^\s_\-]/, '').downcase
1125
+ name = text[3..-2].gsub(/[\^\s_\-]/, '').downcase
1115
1126
 
1116
1127
  token = self.class.short_prop_map[name] || self.class.long_prop_map[name]
1117
1128
  validation_error(:property, name) unless token
@@ -1127,8 +1138,8 @@ te = p+1
1127
1138
 
1128
1139
  end
1129
1140
  end
1130
- when 18 then
1131
- # line 180 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1141
+ when 19 then
1142
+ # line 175 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1132
1143
  begin
1133
1144
  te = p+1
1134
1145
  begin # special case, emits two tokens
@@ -1137,28 +1148,27 @@ te = p+1
1137
1148
  end
1138
1149
  end
1139
1150
  when 71 then
1140
- # line 185 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1151
+ # line 180 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1141
1152
  begin
1142
1153
  te = p+1
1143
1154
  begin
1144
- text = copy(data, ts, te)
1145
- if tokens.last[1] == :open
1146
- emit(:set, :negate, text)
1155
+ if prev_token[1] == :open
1156
+ emit(:set, :negate, '^')
1147
1157
  else
1148
- emit(:literal, :literal, text)
1158
+ emit(:literal, :literal, '^')
1149
1159
  end
1150
1160
  end
1151
1161
  end
1152
1162
  when 73 then
1153
- # line 206 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1163
+ # line 200 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1154
1164
  begin
1155
1165
  te = p+1
1156
1166
  begin
1157
- emit(:set, :intersection, copy(data, ts, te))
1167
+ emit(:set, :intersection, '&&')
1158
1168
  end
1159
1169
  end
1160
1170
  when 69 then
1161
- # line 210 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1171
+ # line 204 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1162
1172
  begin
1163
1173
  te = p+1
1164
1174
  begin
@@ -1173,15 +1183,15 @@ te = p+1
1173
1183
  end
1174
1184
  end
1175
1185
  when 67 then
1176
- # line 244 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1186
+ # line 238 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1177
1187
  begin
1178
1188
  te = p+1
1179
1189
  begin
1180
1190
  emit(:literal, :literal, copy(data, ts, te))
1181
1191
  end
1182
1192
  end
1183
- when 16 then
1184
- # line 248 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1193
+ when 17 then
1194
+ # line 242 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1185
1195
  begin
1186
1196
  te = p+1
1187
1197
  begin
@@ -1190,25 +1200,25 @@ te = p+1
1190
1200
  end
1191
1201
  end
1192
1202
  when 74 then
1193
- # line 194 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1203
+ # line 188 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1194
1204
  begin
1195
1205
  te = p
1196
1206
  p = p - 1; begin
1197
- text = copy(data, ts, te)
1198
- # ranges cant start with a subset or intersection/negation/range operator
1199
- if tokens.last[0] == :set
1200
- emit(:literal, :literal, text)
1207
+ # ranges cant start with the opening bracket, a subset, or
1208
+ # intersection/negation/range operators
1209
+ if prev_token[0] == :set
1210
+ emit(:literal, :literal, '-')
1201
1211
  else
1202
- emit(:set, :range, text)
1212
+ emit(:set, :range, '-')
1203
1213
  end
1204
1214
  end
1205
1215
  end
1206
1216
  when 77 then
1207
- # line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1217
+ # line 208 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1208
1218
  begin
1209
1219
  te = p
1210
1220
  p = p - 1; begin
1211
- emit(:set, :open, copy(data, ts, te))
1221
+ emit(:set, :open, '[')
1212
1222
  begin
1213
1223
  stack[top] = cs
1214
1224
  top+= 1
@@ -1220,7 +1230,7 @@ p = p - 1; begin
1220
1230
  end
1221
1231
  end
1222
1232
  when 72 then
1223
- # line 248 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1233
+ # line 242 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1224
1234
  begin
1225
1235
  te = p
1226
1236
  p = p - 1; begin
@@ -1228,26 +1238,26 @@ p = p - 1; begin
1228
1238
  emit(:literal, :literal, text)
1229
1239
  end
1230
1240
  end
1231
- when 17 then
1232
- # line 194 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1241
+ when 18 then
1242
+ # line 188 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1233
1243
  begin
1234
1244
  begin p = ((te))-1; end
1235
1245
  begin
1236
- text = copy(data, ts, te)
1237
- # ranges cant start with a subset or intersection/negation/range operator
1238
- if tokens.last[0] == :set
1239
- emit(:literal, :literal, text)
1246
+ # ranges cant start with the opening bracket, a subset, or
1247
+ # intersection/negation/range operators
1248
+ if prev_token[0] == :set
1249
+ emit(:literal, :literal, '-')
1240
1250
  else
1241
- emit(:set, :range, text)
1251
+ emit(:set, :range, '-')
1242
1252
  end
1243
1253
  end
1244
1254
  end
1245
- when 20 then
1246
- # line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1255
+ when 21 then
1256
+ # line 208 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1247
1257
  begin
1248
1258
  begin p = ((te))-1; end
1249
1259
  begin
1250
- emit(:set, :open, copy(data, ts, te))
1260
+ emit(:set, :open, '[')
1251
1261
  begin
1252
1262
  stack[top] = cs
1253
1263
  top+= 1
@@ -1258,17 +1268,32 @@ p = p - 1; begin
1258
1268
 
1259
1269
  end
1260
1270
  end
1261
- when 15 then
1262
- # line 248 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1271
+ when 16 then
1272
+ # line 242 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1263
1273
  begin
1264
1274
  begin p = ((te))-1; end
1265
1275
  begin
1266
1276
  text = copy(data, ts, te)
1267
1277
  emit(:literal, :literal, text)
1278
+ end
1279
+ end
1280
+ when 81 then
1281
+ # line 252 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1282
+ begin
1283
+ te = p+1
1284
+ begin
1285
+ emit(:escape, :octal, copy(data, ts-1, te))
1286
+ begin
1287
+ top -= 1
1288
+ cs = stack[top]
1289
+ _goto_level = _again
1290
+ next
1291
+ end
1292
+
1268
1293
  end
1269
1294
  end
1270
1295
  when 79 then
1271
- # line 257 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1296
+ # line 258 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1272
1297
  begin
1273
1298
  te = p+1
1274
1299
  begin
@@ -1277,7 +1302,7 @@ te = p+1
1277
1302
  begin
1278
1303
  stack[top] = cs
1279
1304
  top+= 1
1280
- cs = 99
1305
+ cs = 101
1281
1306
  _goto_level = _again
1282
1307
  next
1283
1308
  end
@@ -1285,7 +1310,7 @@ te = p+1
1285
1310
  end
1286
1311
  end
1287
1312
  when 78 then
1288
- # line 263 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1313
+ # line 267 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1289
1314
  begin
1290
1315
  te = p+1
1291
1316
  begin
@@ -1299,8 +1324,23 @@ te = p+1
1299
1324
 
1300
1325
  end
1301
1326
  end
1302
- when 83 then
1303
- # line 273 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1327
+ when 80 then
1328
+ # line 252 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1329
+ begin
1330
+ te = p
1331
+ p = p - 1; begin
1332
+ emit(:escape, :octal, copy(data, ts-1, te))
1333
+ begin
1334
+ top -= 1
1335
+ cs = stack[top]
1336
+ _goto_level = _again
1337
+ next
1338
+ end
1339
+
1340
+ end
1341
+ end
1342
+ when 85 then
1343
+ # line 277 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1304
1344
  begin
1305
1345
  te = p+1
1306
1346
  begin
@@ -1315,8 +1355,8 @@ te = p+1
1315
1355
 
1316
1356
  end
1317
1357
  end
1318
- when 90 then
1319
- # line 279 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1358
+ when 92 then
1359
+ # line 283 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1320
1360
  begin
1321
1361
  te = p+1
1322
1362
  begin
@@ -1330,8 +1370,8 @@ te = p+1
1330
1370
 
1331
1371
  end
1332
1372
  end
1333
- when 80 then
1334
- # line 284 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1373
+ when 82 then
1374
+ # line 288 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1335
1375
  begin
1336
1376
  te = p+1
1337
1377
  begin
@@ -1361,8 +1401,8 @@ te = p+1
1361
1401
 
1362
1402
  end
1363
1403
  end
1364
- when 86 then
1365
- # line 305 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1404
+ when 88 then
1405
+ # line 309 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1366
1406
  begin
1367
1407
  te = p+1
1368
1408
  begin
@@ -1387,8 +1427,8 @@ te = p+1
1387
1427
 
1388
1428
  end
1389
1429
  end
1390
- when 29 then
1391
- # line 321 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1430
+ when 30 then
1431
+ # line 325 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1392
1432
  begin
1393
1433
  te = p+1
1394
1434
  begin
@@ -1407,8 +1447,8 @@ te = p+1
1407
1447
 
1408
1448
  end
1409
1449
  end
1410
- when 96 then
1411
- # line 331 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1450
+ when 98 then
1451
+ # line 335 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1412
1452
  begin
1413
1453
  te = p+1
1414
1454
  begin
@@ -1422,8 +1462,8 @@ te = p+1
1422
1462
 
1423
1463
  end
1424
1464
  end
1425
- when 25 then
1426
- # line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1465
+ when 26 then
1466
+ # line 344 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1427
1467
  begin
1428
1468
  te = p+1
1429
1469
  begin
@@ -1437,8 +1477,8 @@ te = p+1
1437
1477
 
1438
1478
  end
1439
1479
  end
1440
- when 27 then
1441
- # line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1480
+ when 28 then
1481
+ # line 349 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1442
1482
  begin
1443
1483
  te = p+1
1444
1484
  begin
@@ -1452,8 +1492,8 @@ te = p+1
1452
1492
 
1453
1493
  end
1454
1494
  end
1455
- when 84 then
1456
- # line 350 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1495
+ when 86 then
1496
+ # line 354 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1457
1497
  begin
1458
1498
  te = p+1
1459
1499
  begin
@@ -1469,8 +1509,8 @@ te = p+1
1469
1509
 
1470
1510
  end
1471
1511
  end
1472
- when 85 then
1473
- # line 356 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1512
+ when 87 then
1513
+ # line 360 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1474
1514
  begin
1475
1515
  te = p+1
1476
1516
  begin
@@ -1486,8 +1526,8 @@ te = p+1
1486
1526
 
1487
1527
  end
1488
1528
  end
1489
- when 23 then
1490
- # line 362 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1529
+ when 24 then
1530
+ # line 366 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1491
1531
  begin
1492
1532
  te = p+1
1493
1533
  begin
@@ -1501,8 +1541,8 @@ te = p+1
1501
1541
 
1502
1542
  end
1503
1543
  end
1504
- when 89 then
1505
- # line 279 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1544
+ when 91 then
1545
+ # line 283 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1506
1546
  begin
1507
1547
  te = p
1508
1548
  p = p - 1; begin
@@ -1516,8 +1556,8 @@ p = p - 1; begin
1516
1556
 
1517
1557
  end
1518
1558
  end
1519
- when 95 then
1520
- # line 331 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1559
+ when 97 then
1560
+ # line 335 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1521
1561
  begin
1522
1562
  te = p
1523
1563
  p = p - 1; begin
@@ -1531,8 +1571,8 @@ p = p - 1; begin
1531
1571
 
1532
1572
  end
1533
1573
  end
1534
- when 92 then
1535
- # line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1574
+ when 94 then
1575
+ # line 344 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1536
1576
  begin
1537
1577
  te = p
1538
1578
  p = p - 1; begin
@@ -1546,8 +1586,8 @@ p = p - 1; begin
1546
1586
 
1547
1587
  end
1548
1588
  end
1549
- when 94 then
1550
- # line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1589
+ when 96 then
1590
+ # line 349 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1551
1591
  begin
1552
1592
  te = p
1553
1593
  p = p - 1; begin
@@ -1561,8 +1601,8 @@ p = p - 1; begin
1561
1601
 
1562
1602
  end
1563
1603
  end
1564
- when 87 then
1565
- # line 362 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1604
+ when 89 then
1605
+ # line 366 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1566
1606
  begin
1567
1607
  te = p
1568
1608
  p = p - 1; begin
@@ -1576,8 +1616,8 @@ p = p - 1; begin
1576
1616
 
1577
1617
  end
1578
1618
  end
1579
- when 22 then
1580
- # line 362 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1619
+ when 23 then
1620
+ # line 366 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1581
1621
  begin
1582
1622
  begin p = ((te))-1; end
1583
1623
  begin
@@ -1591,11 +1631,11 @@ p = p - 1; begin
1591
1631
 
1592
1632
  end
1593
1633
  end
1594
- when 88 then
1634
+ when 90 then
1595
1635
  # line 1 "NONE"
1596
1636
  begin
1597
1637
  case act
1598
- when 16 then
1638
+ when 17 then
1599
1639
  begin begin p = ((te))-1; end
1600
1640
 
1601
1641
  text = copy(data, ts-1, te)
@@ -1608,7 +1648,7 @@ p = p - 1; begin
1608
1648
  end
1609
1649
 
1610
1650
  end
1611
- when 17 then
1651
+ when 18 then
1612
1652
  begin begin p = ((te))-1; end
1613
1653
 
1614
1654
  emit(:escape, :octal, copy(data, ts-1, te))
@@ -1622,8 +1662,8 @@ p = p - 1; begin
1622
1662
  end
1623
1663
  end
1624
1664
  end
1625
- when 32 then
1626
- # line 372 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1665
+ when 33 then
1666
+ # line 376 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1627
1667
  begin
1628
1668
  te = p+1
1629
1669
  begin
@@ -1632,8 +1672,8 @@ te = p+1
1632
1672
  emit(:conditional, :condition_close, ')')
1633
1673
  end
1634
1674
  end
1635
- when 97 then
1636
- # line 378 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1675
+ when 99 then
1676
+ # line 382 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1637
1677
  begin
1638
1678
  te = p+1
1639
1679
  begin
@@ -1648,8 +1688,8 @@ te = p+1
1648
1688
 
1649
1689
  end
1650
1690
  end
1651
- when 98 then
1652
- # line 378 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1691
+ when 100 then
1692
+ # line 382 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1653
1693
  begin
1654
1694
  te = p
1655
1695
  p = p - 1; begin
@@ -1664,8 +1704,8 @@ p = p - 1; begin
1664
1704
 
1665
1705
  end
1666
1706
  end
1667
- when 31 then
1668
- # line 378 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1707
+ when 32 then
1708
+ # line 382 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1669
1709
  begin
1670
1710
  begin p = ((te))-1; end
1671
1711
  begin
@@ -1680,16 +1720,16 @@ p = p - 1; begin
1680
1720
 
1681
1721
  end
1682
1722
  end
1683
- when 38 then
1684
- # line 391 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1723
+ when 39 then
1724
+ # line 395 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1685
1725
  begin
1686
1726
  te = p+1
1687
1727
  begin
1688
1728
  emit(:meta, :dot, copy(data, ts, te))
1689
1729
  end
1690
1730
  end
1691
- when 43 then
1692
- # line 395 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1731
+ when 44 then
1732
+ # line 399 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1693
1733
  begin
1694
1734
  te = p+1
1695
1735
  begin
@@ -1700,16 +1740,16 @@ te = p+1
1700
1740
  end
1701
1741
  end
1702
1742
  end
1703
- when 42 then
1704
- # line 405 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1743
+ when 43 then
1744
+ # line 409 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1705
1745
  begin
1706
1746
  te = p+1
1707
1747
  begin
1708
1748
  emit(:anchor, :bol, copy(data, ts, te))
1709
1749
  end
1710
1750
  end
1711
- when 35 then
1712
- # line 409 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1751
+ when 36 then
1752
+ # line 413 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1713
1753
  begin
1714
1754
  te = p+1
1715
1755
  begin
@@ -1717,7 +1757,7 @@ te = p+1
1717
1757
  end
1718
1758
  end
1719
1759
  when 63 then
1720
- # line 413 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1760
+ # line 417 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1721
1761
  begin
1722
1762
  te = p+1
1723
1763
  begin
@@ -1725,7 +1765,7 @@ te = p+1
1725
1765
  end
1726
1766
  end
1727
1767
  when 62 then
1728
- # line 417 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1768
+ # line 421 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1729
1769
  begin
1730
1770
  te = p+1
1731
1771
  begin
@@ -1739,8 +1779,8 @@ te = p+1
1739
1779
  end
1740
1780
  end
1741
1781
  end
1742
- when 41 then
1743
- # line 428 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1782
+ when 42 then
1783
+ # line 432 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1744
1784
  begin
1745
1785
  te = p+1
1746
1786
  begin
@@ -1748,7 +1788,7 @@ te = p+1
1748
1788
  end
1749
1789
  end
1750
1790
  when 52 then
1751
- # line 443 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1791
+ # line 447 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1752
1792
  begin
1753
1793
  te = p+1
1754
1794
  begin
@@ -1761,7 +1801,7 @@ te = p+1
1761
1801
  begin
1762
1802
  stack[top] = cs
1763
1803
  top+= 1
1764
- cs = 113
1804
+ cs = 115
1765
1805
  _goto_level = _again
1766
1806
  next
1767
1807
  end
@@ -1769,7 +1809,7 @@ te = p+1
1769
1809
  end
1770
1810
  end
1771
1811
  when 53 then
1772
- # line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1812
+ # line 478 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1773
1813
  begin
1774
1814
  te = p+1
1775
1815
  begin
@@ -1780,8 +1820,8 @@ te = p+1
1780
1820
  emit_options(text)
1781
1821
  end
1782
1822
  end
1783
- when 51 then
1784
- # line 488 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1823
+ when 7 then
1824
+ # line 492 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1785
1825
  begin
1786
1826
  te = p+1
1787
1827
  begin
@@ -1794,7 +1834,7 @@ te = p+1
1794
1834
  end
1795
1835
  end
1796
1836
  when 6 then
1797
- # line 505 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1837
+ # line 509 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1798
1838
  begin
1799
1839
  te = p+1
1800
1840
  begin
@@ -1815,8 +1855,8 @@ te = p+1
1815
1855
  end
1816
1856
  end
1817
1857
  end
1818
- when 10 then
1819
- # line 546 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1858
+ when 11 then
1859
+ # line 550 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1820
1860
  begin
1821
1861
  te = p+1
1822
1862
  begin
@@ -1836,8 +1876,8 @@ te = p+1
1836
1876
  end
1837
1877
  end
1838
1878
  end
1839
- when 9 then
1840
- # line 565 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1879
+ when 10 then
1880
+ # line 569 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1841
1881
  begin
1842
1882
  te = p+1
1843
1883
  begin
@@ -1854,7 +1894,7 @@ te = p+1
1854
1894
  end
1855
1895
  end
1856
1896
  when 60 then
1857
- # line 581 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1897
+ # line 585 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1858
1898
  begin
1859
1899
  te = p+1
1860
1900
  begin
@@ -1866,7 +1906,7 @@ te = p+1
1866
1906
  end
1867
1907
  end
1868
1908
  when 56 then
1869
- # line 589 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1909
+ # line 593 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1870
1910
  begin
1871
1911
  te = p+1
1872
1912
  begin
@@ -1878,7 +1918,7 @@ te = p+1
1878
1918
  end
1879
1919
  end
1880
1920
  when 58 then
1881
- # line 597 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1921
+ # line 601 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1882
1922
  begin
1883
1923
  te = p+1
1884
1924
  begin
@@ -1889,16 +1929,16 @@ te = p+1
1889
1929
  end
1890
1930
  end
1891
1931
  end
1892
- when 12 then
1893
- # line 605 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1932
+ when 13 then
1933
+ # line 609 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1894
1934
  begin
1895
1935
  te = p+1
1896
1936
  begin
1897
1937
  emit(:quantifier, :interval, copy(data, ts, te))
1898
1938
  end
1899
1939
  end
1900
- when 47 then
1901
- # line 620 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1940
+ when 48 then
1941
+ # line 624 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1902
1942
  begin
1903
1943
  te = p+1
1904
1944
  begin
@@ -1912,8 +1952,8 @@ te = p+1
1912
1952
  end
1913
1953
  end
1914
1954
  end
1915
- when 50 then
1916
- # line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1955
+ when 51 then
1956
+ # line 478 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1917
1957
  begin
1918
1958
  te = p
1919
1959
  p = p - 1; begin
@@ -1925,7 +1965,7 @@ p = p - 1; begin
1925
1965
  end
1926
1966
  end
1927
1967
  when 54 then
1928
- # line 488 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1968
+ # line 492 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1929
1969
  begin
1930
1970
  te = p
1931
1971
  p = p - 1; begin
@@ -1937,8 +1977,8 @@ p = p - 1; begin
1937
1977
  end
1938
1978
  end
1939
1979
  end
1940
- when 48 then
1941
- # line 523 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1980
+ when 49 then
1981
+ # line 527 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1942
1982
  begin
1943
1983
  te = p
1944
1984
  p = p - 1; begin
@@ -1947,7 +1987,7 @@ p = p - 1; begin
1947
1987
  end
1948
1988
  end
1949
1989
  when 59 then
1950
- # line 581 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1990
+ # line 585 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1951
1991
  begin
1952
1992
  te = p
1953
1993
  p = p - 1; begin
@@ -1959,7 +1999,7 @@ p = p - 1; begin
1959
1999
  end
1960
2000
  end
1961
2001
  when 55 then
1962
- # line 589 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2002
+ # line 593 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1963
2003
  begin
1964
2004
  te = p
1965
2005
  p = p - 1; begin
@@ -1971,7 +2011,7 @@ p = p - 1; begin
1971
2011
  end
1972
2012
  end
1973
2013
  when 57 then
1974
- # line 597 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2014
+ # line 601 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1975
2015
  begin
1976
2016
  te = p
1977
2017
  p = p - 1; begin
@@ -1983,7 +2023,7 @@ p = p - 1; begin
1983
2023
  end
1984
2024
  end
1985
2025
  when 64 then
1986
- # line 610 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2026
+ # line 614 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1987
2027
  begin
1988
2028
  te = p
1989
2029
  p = p - 1; begin
@@ -1991,22 +2031,22 @@ p = p - 1; begin
1991
2031
  end
1992
2032
  end
1993
2033
  when 61 then
1994
- # line 616 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2034
+ # line 620 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
1995
2035
  begin
1996
2036
  te = p
1997
2037
  p = p - 1; begin
1998
2038
  begin
1999
2039
  stack[top] = cs
2000
2040
  top+= 1
2001
- cs = 99
2041
+ cs = 101
2002
2042
  _goto_level = _again
2003
2043
  next
2004
2044
  end
2005
2045
 
2006
2046
  end
2007
2047
  end
2008
- when 46 then
2009
- # line 620 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2048
+ when 47 then
2049
+ # line 624 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2010
2050
  begin
2011
2051
  te = p
2012
2052
  p = p - 1; begin
@@ -2020,8 +2060,8 @@ p = p - 1; begin
2020
2060
  end
2021
2061
  end
2022
2062
  end
2023
- when 45 then
2024
- # line 630 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2063
+ when 46 then
2064
+ # line 634 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2025
2065
  begin
2026
2066
  te = p
2027
2067
  p = p - 1; begin
@@ -2032,8 +2072,8 @@ p = p - 1; begin
2032
2072
  end
2033
2073
  end
2034
2074
  end
2035
- when 44 then
2036
- # line 641 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2075
+ when 45 then
2076
+ # line 645 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2037
2077
  begin
2038
2078
  te = p
2039
2079
  p = p - 1; begin
@@ -2041,7 +2081,7 @@ p = p - 1; begin
2041
2081
  end
2042
2082
  end
2043
2083
  when 3 then
2044
- # line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2084
+ # line 478 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2045
2085
  begin
2046
2086
  begin p = ((te))-1; end
2047
2087
  begin
@@ -2052,23 +2092,23 @@ p = p - 1; begin
2052
2092
  emit_options(text)
2053
2093
  end
2054
2094
  end
2055
- when 11 then
2056
- # line 610 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2095
+ when 12 then
2096
+ # line 614 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2057
2097
  begin
2058
2098
  begin p = ((te))-1; end
2059
2099
  begin
2060
2100
  append_literal(data, ts, te)
2061
2101
  end
2062
2102
  end
2063
- when 8 then
2064
- # line 616 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2103
+ when 9 then
2104
+ # line 620 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2065
2105
  begin
2066
2106
  begin p = ((te))-1; end
2067
2107
  begin
2068
2108
  begin
2069
2109
  stack[top] = cs
2070
2110
  top+= 1
2071
- cs = 99
2111
+ cs = 101
2072
2112
  _goto_level = _again
2073
2113
  next
2074
2114
  end
@@ -2086,7 +2126,7 @@ p = p - 1; begin
2086
2126
  next
2087
2127
  end
2088
2128
  end
2089
- when 40 then
2129
+ when 41 then
2090
2130
  begin begin p = ((te))-1; end
2091
2131
 
2092
2132
  text = copy(data, ts, te)
@@ -2095,7 +2135,7 @@ end
2095
2135
  end
2096
2136
  emit_options(text)
2097
2137
  end
2098
- when 41 then
2138
+ when 42 then
2099
2139
  begin begin p = ((te))-1; end
2100
2140
 
2101
2141
  case text = copy(data, ts, te)
@@ -2105,7 +2145,7 @@ end
2105
2145
  when '(?<!'; emit(:assertion, :nlookbehind, text)
2106
2146
  end
2107
2147
  end
2108
- when 55 then
2148
+ when 56 then
2109
2149
  begin begin p = ((te))-1; end
2110
2150
 
2111
2151
  append_literal(data, ts, te)
@@ -2113,17 +2153,17 @@ end
2113
2153
  end
2114
2154
  end
2115
2155
  when 76 then
2116
- # line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2156
+ # line 135 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2117
2157
  begin
2118
2158
 
2119
2159
  text = copy(data, ts ? ts-1 : 0, -1)
2120
2160
  raise PrematureEndError.new( text )
2121
2161
  end
2122
- # line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2162
+ # line 208 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2123
2163
  begin
2124
2164
  te = p
2125
2165
  p = p - 1; begin
2126
- emit(:set, :open, copy(data, ts, te))
2166
+ emit(:set, :open, '[')
2127
2167
  begin
2128
2168
  stack[top] = cs
2129
2169
  top+= 1
@@ -2134,18 +2174,18 @@ p = p - 1; begin
2134
2174
 
2135
2175
  end
2136
2176
  end
2137
- when 19 then
2138
- # line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2177
+ when 20 then
2178
+ # line 135 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2139
2179
  begin
2140
2180
 
2141
2181
  text = copy(data, ts ? ts-1 : 0, -1)
2142
2182
  raise PrematureEndError.new( text )
2143
2183
  end
2144
- # line 214 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2184
+ # line 208 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2145
2185
  begin
2146
2186
  begin p = ((te))-1; end
2147
2187
  begin
2148
- emit(:set, :open, copy(data, ts, te))
2188
+ emit(:set, :open, '[')
2149
2189
  begin
2150
2190
  stack[top] = cs
2151
2191
  top+= 1
@@ -2156,14 +2196,14 @@ p = p - 1; begin
2156
2196
 
2157
2197
  end
2158
2198
  end
2159
- when 91 then
2160
- # line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2199
+ when 93 then
2200
+ # line 135 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2161
2201
  begin
2162
2202
 
2163
2203
  text = copy(data, ts ? ts-1 : 0, -1)
2164
2204
  raise PrematureEndError.new( text )
2165
2205
  end
2166
- # line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2206
+ # line 344 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2167
2207
  begin
2168
2208
  te = p
2169
2209
  p = p - 1; begin
@@ -2177,14 +2217,14 @@ p = p - 1; begin
2177
2217
 
2178
2218
  end
2179
2219
  end
2180
- when 93 then
2181
- # line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2220
+ when 95 then
2221
+ # line 135 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2182
2222
  begin
2183
2223
 
2184
2224
  text = copy(data, ts ? ts-1 : 0, -1)
2185
2225
  raise PrematureEndError.new( text )
2186
2226
  end
2187
- # line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2227
+ # line 349 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2188
2228
  begin
2189
2229
  te = p
2190
2230
  p = p - 1; begin
@@ -2198,14 +2238,14 @@ p = p - 1; begin
2198
2238
 
2199
2239
  end
2200
2240
  end
2201
- when 26 then
2202
- # line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2241
+ when 27 then
2242
+ # line 135 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2203
2243
  begin
2204
2244
 
2205
2245
  text = copy(data, ts ? ts-1 : 0, -1)
2206
2246
  raise PrematureEndError.new( text )
2207
2247
  end
2208
- # line 340 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2248
+ # line 344 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2209
2249
  begin
2210
2250
  begin p = ((te))-1; end
2211
2251
  begin
@@ -2219,14 +2259,14 @@ p = p - 1; begin
2219
2259
 
2220
2260
  end
2221
2261
  end
2222
- when 28 then
2223
- # line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2262
+ when 29 then
2263
+ # line 135 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2224
2264
  begin
2225
2265
 
2226
2266
  text = copy(data, ts ? ts-1 : 0, -1)
2227
2267
  raise PrematureEndError.new( text )
2228
2268
  end
2229
- # line 345 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2269
+ # line 349 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2230
2270
  begin
2231
2271
  begin p = ((te))-1; end
2232
2272
  begin
@@ -2240,14 +2280,14 @@ p = p - 1; begin
2240
2280
 
2241
2281
  end
2242
2282
  end
2243
- when 30 then
2244
- # line 146 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2283
+ when 31 then
2284
+ # line 141 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2245
2285
  begin
2246
2286
 
2247
2287
  text = copy(data, ts ? ts-1 : 0, -1)
2248
2288
  validation_error(:sequence, 'sequence', text)
2249
2289
  end
2250
- # line 336 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2290
+ # line 340 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2251
2291
  begin
2252
2292
  te = p+1
2253
2293
  begin
@@ -2261,27 +2301,27 @@ te = p+1
2261
2301
  end
2262
2302
  end
2263
2303
  when 5 then
2264
- # line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2304
+ # line 148 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2265
2305
  begin
2266
2306
  self.group_depth = group_depth - 1 end
2267
- # line 459 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2307
+ # line 463 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2268
2308
  begin
2269
2309
  te = p+1
2270
2310
  begin
2271
2311
  emit(:group, :comment, copy(data, ts, te))
2272
2312
  end
2273
2313
  end
2274
- when 37 then
2275
- # line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2314
+ when 38 then
2315
+ # line 148 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2276
2316
  begin
2277
2317
  self.group_depth = group_depth - 1 end
2278
- # line 528 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2318
+ # line 532 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2279
2319
  begin
2280
2320
  te = p+1
2281
2321
  begin
2282
2322
  if conditional_stack.last == group_depth + 1
2283
2323
  conditional_stack.pop
2284
- emit(:conditional, :close, copy(data, ts, te))
2324
+ emit(:conditional, :close, ')')
2285
2325
  else
2286
2326
  if spacing_stack.length > 1 &&
2287
2327
  spacing_stack.last[:depth] == group_depth + 1
@@ -2289,15 +2329,15 @@ te = p+1
2289
2329
  self.free_spacing = spacing_stack.last[:free_spacing]
2290
2330
  end
2291
2331
 
2292
- emit(:group, :close, copy(data, ts, te))
2332
+ emit(:group, :close, ')')
2293
2333
  end
2294
2334
  end
2295
2335
  end
2296
- when 39 then
2297
- # line 154 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2336
+ when 40 then
2337
+ # line 149 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2298
2338
  begin
2299
2339
  self.set_depth = set_depth + 1 end
2300
- # line 434 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2340
+ # line 438 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2301
2341
  begin
2302
2342
  te = p+1
2303
2343
  begin
@@ -2313,10 +2353,10 @@ te = p+1
2313
2353
  end
2314
2354
  end
2315
2355
  when 70 then
2316
- # line 155 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2356
+ # line 150 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2317
2357
  begin
2318
2358
  self.set_depth = set_depth - 1 end
2319
- # line 161 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2359
+ # line 156 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2320
2360
  begin
2321
2361
  te = p+1
2322
2362
  begin
@@ -2340,15 +2380,15 @@ te = p+1
2340
2380
  end
2341
2381
  end
2342
2382
  when 75 then
2343
- # line 155 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2383
+ # line 150 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2344
2384
  begin
2345
2385
  self.set_depth = set_depth - 1 end
2346
- # line 170 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2386
+ # line 165 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2347
2387
  begin
2348
2388
  te = p+1
2349
2389
  begin # special case, emits two tokens
2350
- emit(:literal, :literal, copy(data, ts, te-1))
2351
- emit(:set, :close, copy(data, ts+1, te))
2390
+ emit(:literal, :literal, '-')
2391
+ emit(:set, :close, ']')
2352
2392
  if in_set?
2353
2393
  begin
2354
2394
  top -= 1
@@ -2367,11 +2407,11 @@ te = p+1
2367
2407
  end
2368
2408
  end
2369
2409
  end
2370
- when 21 then
2371
- # line 155 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2410
+ when 22 then
2411
+ # line 150 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2372
2412
  begin
2373
2413
  self.set_depth = set_depth - 1 end
2374
- # line 219 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2414
+ # line 213 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2375
2415
  begin
2376
2416
  te = p+1
2377
2417
  begin
@@ -2396,56 +2436,56 @@ te = p+1
2396
2436
  begin
2397
2437
  te = p+1
2398
2438
  end
2399
- # line 154 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2439
+ # line 149 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2400
2440
  begin
2401
2441
  self.set_depth = set_depth + 1 end
2402
- when 82 then
2442
+ when 84 then
2403
2443
  # line 1 "NONE"
2404
2444
  begin
2405
2445
  te = p+1
2406
2446
  end
2407
- # line 273 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2447
+ # line 277 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2408
2448
  begin
2409
- act = 16; end
2410
- when 81 then
2449
+ act = 17; end
2450
+ when 83 then
2411
2451
  # line 1 "NONE"
2412
2452
  begin
2413
2453
  te = p+1
2414
2454
  end
2415
- # line 279 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2455
+ # line 283 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2416
2456
  begin
2417
- act = 17; end
2418
- when 7 then
2457
+ act = 18; end
2458
+ when 8 then
2419
2459
  # line 1 "NONE"
2420
2460
  begin
2421
2461
  te = p+1
2422
2462
  end
2423
- # line 488 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2463
+ # line 492 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2424
2464
  begin
2425
- act = 41; end
2465
+ act = 42; end
2426
2466
  when 2 then
2427
2467
  # line 1 "NONE"
2428
2468
  begin
2429
2469
  te = p+1
2430
2470
  end
2431
- # line 641 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2471
+ # line 645 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2432
2472
  begin
2433
- act = 55; end
2434
- when 49 then
2473
+ act = 56; end
2474
+ when 50 then
2435
2475
  # line 1 "NONE"
2436
2476
  begin
2437
2477
  te = p+1
2438
2478
  end
2439
- # line 153 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2479
+ # line 148 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2440
2480
  begin
2441
2481
  self.group_depth = group_depth - 1 end
2442
- # line 152 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2482
+ # line 147 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2443
2483
  begin
2444
2484
  self.group_depth = group_depth + 1 end
2445
- # line 474 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2485
+ # line 478 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2446
2486
  begin
2447
- act = 40; end
2448
- # line 2448 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
2487
+ act = 41; end
2488
+ # line 2488 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
2449
2489
  end
2450
2490
  end
2451
2491
  end
@@ -2455,7 +2495,7 @@ act = 40; end
2455
2495
  # line 1 "NONE"
2456
2496
  begin
2457
2497
  ts = nil; end
2458
- when 33 then
2498
+ when 34 then
2459
2499
  # line 1 "NONE"
2460
2500
  begin
2461
2501
  ts = nil; end
@@ -2463,7 +2503,7 @@ ts = nil; end
2463
2503
  begin
2464
2504
  act = 0
2465
2505
  end
2466
- # line 2466 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
2506
+ # line 2506 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
2467
2507
  end
2468
2508
 
2469
2509
  if cs == 0
@@ -2484,20 +2524,20 @@ act = 0
2484
2524
  next;
2485
2525
  end
2486
2526
  case _re_scanner_eof_actions[cs]
2487
- when 13 then
2488
- # line 8 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/property.rl"
2527
+ when 14 then
2528
+ # line 8 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/property.rl"
2489
2529
  begin
2490
2530
 
2491
2531
  raise PrematureEndError.new('unicode property')
2492
2532
  end
2493
- when 24 then
2494
- # line 140 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2533
+ when 25 then
2534
+ # line 135 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2495
2535
  begin
2496
2536
 
2497
2537
  text = copy(data, ts ? ts-1 : 0, -1)
2498
2538
  raise PrematureEndError.new( text )
2499
2539
  end
2500
- # line 2500 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
2540
+ # line 2540 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner.rb"
2501
2541
  end
2502
2542
  end
2503
2543
 
@@ -2508,7 +2548,7 @@ act = 0
2508
2548
  end
2509
2549
  end
2510
2550
 
2511
- # line 746 "/Users/janoschmuller/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2551
+ # line 751 "/Users/janosch/code/regexp_parser/tasks/../lib/regexp_parser/scanner/scanner.rl"
2512
2552
 
2513
2553
  # to avoid "warning: assigned but unused variable - testEof"
2514
2554
  testEof = testEof
@@ -2524,7 +2564,7 @@ end
2524
2564
  "[#{set_depth}]") if in_set?
2525
2565
 
2526
2566
  # when the entire expression is a literal run
2527
- emit_literal if literal
2567
+ emit_literal if literal_run
2528
2568
 
2529
2569
  tokens
2530
2570
  end
@@ -2551,26 +2591,37 @@ end
2551
2591
  def emit(type, token, text)
2552
2592
  #puts "EMIT: type: #{type}, token: #{token}, text: #{text}, ts: #{ts}, te: #{te}"
2553
2593
 
2554
- emit_literal if literal
2594
+ emit_literal if literal_run
2555
2595
 
2556
2596
  # Ragel runs with byte-based indices (ts, te). These are of little value to
2557
2597
  # end-users, so we keep track of char-based indices and emit those instead.
2558
2598
  ts_char_pos = char_pos
2559
2599
  te_char_pos = char_pos + text.length
2560
2600
 
2561
- if block
2562
- block.call type, token, text, ts_char_pos, te_char_pos
2563
- end
2601
+ tok = [type, token, text, ts_char_pos, te_char_pos]
2564
2602
 
2565
- tokens << [type, token, text, ts_char_pos, te_char_pos]
2603
+ self.prev_token = tok
2566
2604
 
2567
2605
  self.char_pos = te_char_pos
2606
+
2607
+ if block
2608
+ block.call type, token, text, ts_char_pos, te_char_pos
2609
+ # TODO: in v3.0.0, remove `collect_tokens:` kwarg and only collect if no block given
2610
+ tokens << tok if collect_tokens
2611
+ elsif collect_tokens
2612
+ tokens << tok
2613
+ end
2568
2614
  end
2569
2615
 
2616
+ attr_accessor :literal_run # only public for #||= to work on ruby <= 2.5
2617
+
2570
2618
  private
2571
2619
 
2572
- attr_accessor :tokens, :literal, :block, :free_spacing, :spacing_stack,
2573
- :group_depth, :set_depth, :conditional_stack, :char_pos
2620
+ attr_accessor :block,
2621
+ :collect_tokens, :tokens, :prev_token,
2622
+ :free_spacing, :spacing_stack,
2623
+ :group_depth, :set_depth, :conditional_stack,
2624
+ :char_pos
2574
2625
 
2575
2626
  def free_spacing?(input_object, options)
2576
2627
  if options && !input_object.is_a?(String)
@@ -2600,14 +2651,13 @@ end
2600
2651
  # Appends one or more characters to the literal buffer, to be emitted later
2601
2652
  # by a call to emit_literal.
2602
2653
  def append_literal(data, ts, te)
2603
- self.literal = literal || []
2604
- literal << copy(data, ts, te)
2654
+ (self.literal_run ||= []) << copy(data, ts, te)
2605
2655
  end
2606
2656
 
2607
2657
  # Emits the literal run collected by calls to the append_literal method.
2608
2658
  def emit_literal
2609
- text = literal.join
2610
- self.literal = nil
2659
+ text = literal_run.join
2660
+ self.literal_run = nil
2611
2661
  emit(:literal, :literal, text)
2612
2662
  end
2613
2663