regexp_parser 1.6.0 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +57 -0
- data/Gemfile +1 -1
- data/README.md +24 -12
- data/lib/regexp_parser/expression.rb +6 -2
- data/lib/regexp_parser/expression/methods/match_length.rb +1 -1
- data/lib/regexp_parser/expression/methods/traverse.rb +3 -1
- data/lib/regexp_parser/lexer.rb +4 -4
- data/lib/regexp_parser/parser.rb +18 -12
- data/lib/regexp_parser/scanner.rb +1023 -992
- data/lib/regexp_parser/scanner/scanner.rl +42 -18
- data/lib/regexp_parser/syntax/version_lookup.rb +2 -2
- data/lib/regexp_parser/version.rb +1 -1
- data/regexp_parser.gemspec +1 -1
- data/spec/expression/methods/match_length_spec.rb +7 -0
- data/spec/expression/methods/traverse_spec.rb +21 -0
- data/spec/expression/options_spec.rb +33 -33
- data/spec/lexer/delimiters_spec.rb +68 -0
- data/spec/parser/options_spec.rb +28 -0
- data/spec/parser/quantifiers_spec.rb +1 -0
- data/spec/scanner/delimiters_spec.rb +52 -0
- data/spec/scanner/errors_spec.rb +0 -1
- data/spec/scanner/escapes_spec.rb +4 -0
- data/spec/scanner/free_space_spec.rb +32 -0
- data/spec/scanner/options_spec.rb +36 -0
- metadata +67 -59
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d1c795eb67eee01aa7976a672349b9a0c7f6364262ffb8f53488f6d9949db07
|
4
|
+
data.tar.gz: a38fddc769f16841e54f5dde90535e31ef7145e5bd41560ccf70443968495493
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8dfcd3ba9f2a09370142e892184ccb9a1a973e24dea691582ca43cc670589dd7050eb30dbd924ae9e0584d124183dc2f62adca475628a726ecffaa22fcfb8903
|
7
|
+
data.tar.gz: cd23a308e4d62af9a07bbec164c96ca3213de5a4f686c450fc90bca56387faa88febb8a3387e810d0fd8b78e06b191bd76777fe8b3f3cda9da5582b9009d1144
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,62 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
### [1.8.2] - 2020-10-11 - [Janosch Müller](mailto:janosch84@gmail.com)
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
|
7
|
+
- fix `FrozenError` in `Expression::Base#repetitions` on Ruby 3.0
|
8
|
+
* thanks to [Thomas Walpole](https://github.com/twalpole)
|
9
|
+
- removed "unknown future version" warning on Ruby 3.0
|
10
|
+
|
11
|
+
### [1.8.1] - 2020-09-28 - [Janosch Müller](mailto:janosch84@gmail.com)
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
|
15
|
+
- fixed scanning of comment-like text in normal mode
|
16
|
+
* this was an old bug, but had become more prevalent in v1.8.0
|
17
|
+
* thanks to [Tietew](https://github.com/Tietew) for the report
|
18
|
+
- specified correct minimum Ruby version in gemspec
|
19
|
+
* it said 1.9 but really required 2.0 as of v1.8.0
|
20
|
+
|
21
|
+
### [1.8.0] - 2020-09-20 - [Janosch Müller](mailto:janosch84@gmail.com)
|
22
|
+
|
23
|
+
### Changed
|
24
|
+
|
25
|
+
- dropped support for running on Ruby 1.9.x
|
26
|
+
|
27
|
+
### Added
|
28
|
+
|
29
|
+
- regexp flags can now be passed when parsing a `String` as regexp body
|
30
|
+
* see the [README](/README.md#usage) for details
|
31
|
+
* thanks to [Owen Stephens](https://github.com/owst)
|
32
|
+
- bare occurrences of `\g` and `\k` are now allowed and scanned as literal escapes
|
33
|
+
* matches Onigmo behavior
|
34
|
+
* thanks for the report to [Marc-André Lafortune](https://github.com/marcandre)
|
35
|
+
|
36
|
+
### Fixed
|
37
|
+
|
38
|
+
- fixed parsing comments without preceding space or trailing newline in x-mode
|
39
|
+
* thanks to [Owen Stephens](https://github.com/owst)
|
40
|
+
|
41
|
+
### [1.7.1] - 2020-06-07 - [Ammar Ali](mailto:ammarabuali@gmail.com)
|
42
|
+
|
43
|
+
### Fixed
|
44
|
+
|
45
|
+
- Support for literals that include the unescaped delimiters `{`, `}`, and `]`. These
|
46
|
+
delimiters are informally supported by various regexp engines.
|
47
|
+
|
48
|
+
### [1.7.0] - 2020-02-23 - [Janosch Müller](mailto:janosch84@gmail.com)
|
49
|
+
|
50
|
+
### Added
|
51
|
+
|
52
|
+
- `Expression#each_expression` and `#traverse` can now be called without a block
|
53
|
+
* this returns an `Enumerator` and allows chaining, e.g. `each_expression.select`
|
54
|
+
* thanks to [Masataka Kuwabara](https://github.com/pocke)
|
55
|
+
|
56
|
+
### Fixed
|
57
|
+
|
58
|
+
- `MatchLength#each` no longer ignores the given `limit:` when called without a block
|
59
|
+
|
3
60
|
### [1.6.0] - 2019-06-16 - [Janosch Müller](mailto:janosch84@gmail.com)
|
4
61
|
|
5
62
|
### Added
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -8,8 +8,8 @@ A Ruby gem for tokenizing, parsing, and transforming regular expressions.
|
|
8
8
|
* A scanner/tokenizer based on [Ragel](http://www.colm.net/open-source/ragel/)
|
9
9
|
* A lexer that produces a "stream" of token objects.
|
10
10
|
* A parser that produces a "tree" of Expression objects (OO API)
|
11
|
-
* Runs on Ruby
|
12
|
-
* Recognizes Ruby 1.8, 1.9, and
|
11
|
+
* Runs on Ruby 2.x, 3.x and JRuby runtimes
|
12
|
+
* Recognizes Ruby 1.8, 1.9, 2.x and 3.x regular expressions [See Supported Syntax](#supported-syntax)
|
13
13
|
|
14
14
|
|
15
15
|
_For examples of regexp_parser in use, see [Example Projects](#example-projects)._
|
@@ -18,7 +18,7 @@ _For examples of regexp_parser in use, see [Example Projects](#example-projects)
|
|
18
18
|
---
|
19
19
|
## Requirements
|
20
20
|
|
21
|
-
* Ruby >=
|
21
|
+
* Ruby >= 2.0
|
22
22
|
* Ragel >= 6.0, but only if you want to build the gem or work on the scanner.
|
23
23
|
|
24
24
|
|
@@ -72,6 +72,17 @@ called with the results as follows:
|
|
72
72
|
* **Parser**: after completion, the block gets passed the root expression.
|
73
73
|
_The result of the block is returned._
|
74
74
|
|
75
|
+
All three methods accept either a `Regexp` or `String` (containing the pattern)
|
76
|
+
- if a String is passed, `options` can be supplied:
|
77
|
+
|
78
|
+
```ruby
|
79
|
+
require 'regexp_parser'
|
80
|
+
|
81
|
+
Regexp::Parser.parse(
|
82
|
+
"a+ # Recognises a and A...",
|
83
|
+
options: ::Regexp::EXTENDED | ::Regexp::IGNORECASE
|
84
|
+
)
|
85
|
+
```
|
75
86
|
|
76
87
|
---
|
77
88
|
## Components
|
@@ -136,11 +147,8 @@ Regexp::Scanner.scan( /(cat?([bhm]at)){3,5}/ ).map {|token| token[2]}
|
|
136
147
|
to the lexer.
|
137
148
|
|
138
149
|
* The MRI implementation may accept expressions that either conflict with
|
139
|
-
the documentation or are undocumented
|
140
|
-
|
141
|
-
_(See issues [#3](https://github.com/ammar/regexp_parser/issues/3) and
|
142
|
-
[#15](https://github.com/ammar/regexp_parser/issues/15) for examples)_
|
143
|
-
|
150
|
+
the documentation or are undocumented, like `{}` and `]` _(unescaped)_.
|
151
|
+
The scanner will try to support as many of these cases as possible.
|
144
152
|
|
145
153
|
---
|
146
154
|
### Syntax
|
@@ -309,7 +317,7 @@ Expression class. See the next section for details._
|
|
309
317
|
|
310
318
|
## Supported Syntax
|
311
319
|
The three modules support all the regular expression syntax features of Ruby 1.8,
|
312
|
-
1.9, and
|
320
|
+
1.9, 2.x and 3.x:
|
313
321
|
|
314
322
|
_Note that not all of these are available in all versions of Ruby_
|
315
323
|
|
@@ -432,13 +440,17 @@ rake install
|
|
432
440
|
## Example Projects
|
433
441
|
Projects using regexp_parser.
|
434
442
|
|
443
|
+
- [capybara](https://github.com/teamcapybara/capybara) is an integration testing tool that uses regexp_parser to convert Regexps to css/xpath selectors.
|
444
|
+
|
445
|
+
- [js_regex](https://github.com/janosch-x/js_regex) converts Ruby regular expressions to JavaScript-compatible regular expressions.
|
446
|
+
|
435
447
|
- [meta_re](https://github.com/ammar/meta_re) is a regular expression preprocessor with alias support.
|
436
448
|
|
437
449
|
- [mutant](https://github.com/mbj/mutant) (before v0.9.0) manipulates your regular expressions (amongst others) to see if your tests cover their behavior.
|
438
450
|
|
439
|
-
- [
|
451
|
+
- [rubocop](https://github.com/rubocop-hq/rubocop) is a linter for Ruby that uses regexp_parser to lint Regexps.
|
440
452
|
|
441
|
-
- [
|
453
|
+
- [twitter-cldr-rb](https://github.com/twitter/twitter-cldr-rb) is a localization helper that uses regexp_parser to generate examples of postal codes.
|
442
454
|
|
443
455
|
|
444
456
|
## References
|
@@ -467,4 +479,4 @@ Documentation and books used while working on this project.
|
|
467
479
|
|
468
480
|
---
|
469
481
|
##### Copyright
|
470
|
-
_Copyright (c) 2010-
|
482
|
+
_Copyright (c) 2010-2020 Ammar Ali. See LICENSE file for details._
|
@@ -80,8 +80,12 @@ module Regexp::Expression
|
|
80
80
|
return 1..1 unless quantified?
|
81
81
|
min = quantifier.min
|
82
82
|
max = quantifier.max < 0 ? Float::INFINITY : quantifier.max
|
83
|
-
|
84
|
-
|
83
|
+
range = min..max
|
84
|
+
# fix Range#minmax on old Rubies - https://bugs.ruby-lang.org/issues/15807
|
85
|
+
if RUBY_VERSION.to_f < 2.7
|
86
|
+
range.define_singleton_method(:minmax) { [min, max] }
|
87
|
+
end
|
88
|
+
range
|
85
89
|
end
|
86
90
|
|
87
91
|
def greedy?
|
@@ -14,7 +14,7 @@ module Regexp::Expression
|
|
14
14
|
#
|
15
15
|
# Returns self.
|
16
16
|
def traverse(include_self = false, &block)
|
17
|
-
|
17
|
+
return enum_for(__method__, include_self) unless block_given?
|
18
18
|
|
19
19
|
block.call(:enter, self, 0) if include_self
|
20
20
|
|
@@ -37,6 +37,8 @@ module Regexp::Expression
|
|
37
37
|
# Iterates over the expressions of this expression as an array, passing
|
38
38
|
# the expression and its index within its parent to the given block.
|
39
39
|
def each_expression(include_self = false, &block)
|
40
|
+
return enum_for(__method__, include_self) unless block_given?
|
41
|
+
|
40
42
|
traverse(include_self) do |event, exp, index|
|
41
43
|
yield(exp, index) unless event == :exit
|
42
44
|
end
|
data/lib/regexp_parser/lexer.rb
CHANGED
@@ -11,11 +11,11 @@ class Regexp::Lexer
|
|
11
11
|
|
12
12
|
CLOSING_TOKENS = [:close].freeze
|
13
13
|
|
14
|
-
def self.lex(input, syntax = "ruby/#{RUBY_VERSION}", &block)
|
15
|
-
new.lex(input, syntax, &block)
|
14
|
+
def self.lex(input, syntax = "ruby/#{RUBY_VERSION}", options: nil, &block)
|
15
|
+
new.lex(input, syntax, options: options, &block)
|
16
16
|
end
|
17
17
|
|
18
|
-
def lex(input, syntax = "ruby/#{RUBY_VERSION}", &block)
|
18
|
+
def lex(input, syntax = "ruby/#{RUBY_VERSION}", options: nil, &block)
|
19
19
|
syntax = Regexp::Syntax.new(syntax)
|
20
20
|
|
21
21
|
self.tokens = []
|
@@ -25,7 +25,7 @@ class Regexp::Lexer
|
|
25
25
|
self.shift = 0
|
26
26
|
|
27
27
|
last = nil
|
28
|
-
Regexp::Scanner.scan(input) do |type, token, text, ts, te|
|
28
|
+
Regexp::Scanner.scan(input, options: options) do |type, token, text, ts, te|
|
29
29
|
type, token = *syntax.normalize(type, token)
|
30
30
|
syntax.check! type, token
|
31
31
|
|
data/lib/regexp_parser/parser.rb
CHANGED
@@ -18,12 +18,12 @@ class Regexp::Parser
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
def self.parse(input, syntax = "ruby/#{RUBY_VERSION}", &block)
|
22
|
-
new.parse(input, syntax, &block)
|
21
|
+
def self.parse(input, syntax = "ruby/#{RUBY_VERSION}", options: nil, &block)
|
22
|
+
new.parse(input, syntax, options: options, &block)
|
23
23
|
end
|
24
24
|
|
25
|
-
def parse(input, syntax = "ruby/#{RUBY_VERSION}", &block)
|
26
|
-
root = Root.build(
|
25
|
+
def parse(input, syntax = "ruby/#{RUBY_VERSION}", options: nil, &block)
|
26
|
+
root = Root.build(extract_options(input, options))
|
27
27
|
|
28
28
|
self.root = root
|
29
29
|
self.node = root
|
@@ -35,7 +35,7 @@ class Regexp::Parser
|
|
35
35
|
|
36
36
|
self.captured_group_counts = Hash.new(0)
|
37
37
|
|
38
|
-
Regexp::Lexer.scan(input, syntax) do |token|
|
38
|
+
Regexp::Lexer.scan(input, syntax, options: options) do |token|
|
39
39
|
parse_token(token)
|
40
40
|
end
|
41
41
|
|
@@ -54,14 +54,20 @@ class Regexp::Parser
|
|
54
54
|
:options_stack, :switching_options, :conditional_nesting,
|
55
55
|
:captured_group_counts
|
56
56
|
|
57
|
-
def
|
58
|
-
|
57
|
+
def extract_options(input, options)
|
58
|
+
if options && !input.is_a?(String)
|
59
|
+
raise ArgumentError, 'options cannot be supplied unless parsing a String'
|
60
|
+
end
|
61
|
+
|
62
|
+
options = input.options if input.is_a?(::Regexp)
|
63
|
+
|
64
|
+
return {} unless options
|
59
65
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
66
|
+
enabled_options = {}
|
67
|
+
enabled_options[:i] = true if options & ::Regexp::IGNORECASE != 0
|
68
|
+
enabled_options[:m] = true if options & ::Regexp::MULTILINE != 0
|
69
|
+
enabled_options[:x] = true if options & ::Regexp::EXTENDED != 0
|
70
|
+
enabled_options
|
65
71
|
end
|
66
72
|
|
67
73
|
def nest(exp)
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# line 1 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
4
4
|
|
5
|
-
# line
|
5
|
+
# line 678 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
6
6
|
|
7
7
|
|
8
8
|
# THIS IS A GENERATED FILE, DO NOT EDIT DIRECTLY
|
@@ -67,21 +67,16 @@ class Regexp::Scanner
|
|
67
67
|
#
|
68
68
|
# This method may raise errors if a syntax error is encountered.
|
69
69
|
# --------------------------------------------------------------------------
|
70
|
-
def self.scan(input_object, &block)
|
71
|
-
new.scan(input_object, &block)
|
70
|
+
def self.scan(input_object, options: nil, &block)
|
71
|
+
new.scan(input_object, options: options, &block)
|
72
72
|
end
|
73
73
|
|
74
|
-
def scan(input_object, &block)
|
74
|
+
def scan(input_object, options: nil, &block)
|
75
75
|
self.literal = nil
|
76
76
|
stack = []
|
77
77
|
|
78
|
-
|
79
|
-
|
80
|
-
self.free_spacing = (input_object.options & Regexp::EXTENDED != 0)
|
81
|
-
else
|
82
|
-
input = input_object
|
83
|
-
self.free_spacing = false
|
84
|
-
end
|
78
|
+
input = input_object.is_a?(Regexp) ? input_object.source : input_object
|
79
|
+
self.free_spacing = free_spacing?(input_object, options)
|
85
80
|
self.spacing_stack = [{:free_spacing => free_spacing, :depth => 0}]
|
86
81
|
|
87
82
|
data = input.unpack("c*") if input.is_a?(String)
|
@@ -95,7 +90,7 @@ class Regexp::Scanner
|
|
95
90
|
self.conditional_stack = []
|
96
91
|
|
97
92
|
|
98
|
-
# line
|
93
|
+
# line 93 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
|
99
94
|
class << self
|
100
95
|
attr_accessor :_re_scanner_trans_keys
|
101
96
|
private :_re_scanner_trans_keys, :_re_scanner_trans_keys=
|
@@ -103,14 +98,14 @@ end
|
|
103
98
|
self._re_scanner_trans_keys = [
|
104
99
|
0, 0, -128, -65, -128, -65,
|
105
100
|
-128, -65, -128, -65, -128,
|
106
|
-
-65, -128, -65,
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
101
|
+
-65, -128, -65, 41, 41,
|
102
|
+
39, 122, 33, 122, 48, 122,
|
103
|
+
39, 60, 39, 122, 48,
|
104
|
+
57, 39, 57, 48, 57,
|
105
|
+
39, 57, 39, 122, 43, 122,
|
106
|
+
48, 57, 48, 62, 48,
|
107
|
+
57, 43, 62, 43, 122,
|
108
|
+
48, 57, 48, 125, 44, 125,
|
114
109
|
123, 123, 9, 122, 9,
|
115
110
|
125, 9, 122, -128, -65,
|
116
111
|
-128, -65, 38, 38, 45, 122,
|
@@ -142,23 +137,23 @@ self._re_scanner_trans_keys = [
|
|
142
137
|
125, 9, 125, 9, 125,
|
143
138
|
9, 125, 48, 123, 41, 41,
|
144
139
|
39, 122, 41, 57, 48,
|
145
|
-
122, -
|
140
|
+
122, -128, 127, -62, -33,
|
146
141
|
-32, -17, -16, -12, 1, 127,
|
147
142
|
1, 127, 9, 32, 33,
|
148
|
-
126, 10,
|
143
|
+
126, 10, 10, 63, 63,
|
149
144
|
33, 126, 33, 126, 43, 63,
|
150
145
|
43, 63, 43, 63, 65,
|
151
|
-
122,
|
152
|
-
80, 112, -62, 125,
|
153
|
-
-128, -65, -128, -65,
|
154
|
-
|
155
|
-
48, 122, 36, 125,
|
156
|
-
48, 55,
|
157
|
-
45,
|
158
|
-
45, 45, 0, 0,
|
159
|
-
|
160
|
-
|
161
|
-
48, 122, 0
|
146
|
+
122, 44, 57, 43, 63,
|
147
|
+
68, 119, 80, 112, -62, 125,
|
148
|
+
-128, -65, -128, -65, -128,
|
149
|
+
-65, 38, 38, 38, 93,
|
150
|
+
46, 61, 48, 122, 36, 125,
|
151
|
+
48, 55, 48, 55, 77,
|
152
|
+
77, 45, 45, 0, 0,
|
153
|
+
67, 99, 45, 45, 0, 0,
|
154
|
+
92, 92, 48, 102, 39,
|
155
|
+
60, 39, 122, 49, 57,
|
156
|
+
41, 57, 48, 122, 0
|
162
157
|
]
|
163
158
|
|
164
159
|
class << self
|
@@ -167,9 +162,9 @@ class << self
|
|
167
162
|
end
|
168
163
|
self._re_scanner_key_spans = [
|
169
164
|
0, 64, 64, 64, 64, 64, 64, 1,
|
170
|
-
|
171
|
-
|
172
|
-
|
165
|
+
84, 90, 75, 22, 84, 10, 19, 10,
|
166
|
+
19, 84, 80, 10, 15, 10, 20, 80,
|
167
|
+
10, 78, 82, 1, 114, 117, 114, 64,
|
173
168
|
64, 1, 78, 78, 1, 27, 24, 8,
|
174
169
|
3, 1, 1, 1, 1, 1, 1, 1,
|
175
170
|
1, 1, 1, 1, 1, 1, 1, 1,
|
@@ -179,13 +174,13 @@ self._re_scanner_key_spans = [
|
|
179
174
|
1, 1, 1, 1, 1, 58, 1, 1,
|
180
175
|
1, 1, 1, 1, 1, 1, 76, 55,
|
181
176
|
55, 55, 55, 117, 117, 117, 117, 117,
|
182
|
-
117, 76, 1, 84, 17, 75,
|
183
|
-
16, 5, 127, 127, 24, 94,
|
184
|
-
94, 94, 21, 21, 21, 58,
|
185
|
-
33, 188, 64, 64, 64, 1, 56,
|
186
|
-
75, 90, 8, 8, 1, 1, 0,
|
187
|
-
1, 0, 1, 55, 22, 84, 9,
|
188
|
-
75
|
177
|
+
117, 76, 1, 84, 17, 75, 256, 30,
|
178
|
+
16, 5, 127, 127, 24, 94, 1, 1,
|
179
|
+
94, 94, 21, 21, 21, 58, 14, 21,
|
180
|
+
52, 33, 188, 64, 64, 64, 1, 56,
|
181
|
+
16, 75, 90, 8, 8, 1, 1, 0,
|
182
|
+
33, 1, 0, 1, 55, 22, 84, 9,
|
183
|
+
17, 75
|
189
184
|
]
|
190
185
|
|
191
186
|
class << self
|
@@ -194,25 +189,25 @@ class << self
|
|
194
189
|
end
|
195
190
|
self._re_scanner_index_offsets = [
|
196
191
|
0, 0, 65, 130, 195, 260, 325, 390,
|
197
|
-
392,
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
192
|
+
392, 477, 568, 644, 667, 752, 763, 783,
|
193
|
+
794, 814, 899, 980, 991, 1007, 1018, 1039,
|
194
|
+
1120, 1131, 1210, 1293, 1295, 1410, 1528, 1643,
|
195
|
+
1708, 1773, 1775, 1854, 1933, 1935, 1963, 1988,
|
196
|
+
1997, 2001, 2003, 2005, 2007, 2009, 2011, 2013,
|
197
|
+
2015, 2017, 2019, 2021, 2023, 2025, 2027, 2029,
|
198
|
+
2031, 2033, 2035, 2037, 2039, 2041, 2043, 2045,
|
199
|
+
2047, 2049, 2051, 2053, 2055, 2057, 2059, 2064,
|
200
|
+
2066, 2068, 2070, 2072, 2074, 2076, 2078, 2080,
|
201
|
+
2082, 2084, 2086, 2088, 2090, 2092, 2151, 2153,
|
202
|
+
2155, 2157, 2159, 2161, 2163, 2165, 2167, 2244,
|
203
|
+
2300, 2356, 2412, 2468, 2586, 2704, 2822, 2940,
|
204
|
+
3058, 3176, 3253, 3255, 3340, 3358, 3434, 3691,
|
205
|
+
3722, 3739, 3745, 3873, 4001, 4026, 4121, 4123,
|
206
|
+
4125, 4220, 4315, 4337, 4359, 4381, 4440, 4455,
|
207
|
+
4477, 4530, 4564, 4753, 4818, 4883, 4948, 4950,
|
208
|
+
5007, 5024, 5100, 5191, 5200, 5209, 5211, 5213,
|
209
|
+
5214, 5248, 5250, 5251, 5253, 5309, 5332, 5417,
|
210
|
+
5427, 5445
|
216
211
|
]
|
217
212
|
|
218
213
|
class << self
|
@@ -269,420 +264,447 @@ self._re_scanner_indicies = [
|
|
269
264
|
6, 6, 6, 6, 6, 6, 6, 6,
|
270
265
|
6, 6, 6, 6, 6, 6, 6, 6,
|
271
266
|
6, 6, 6, 6, 6, 0, 9, 8,
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
267
|
+
10, 7, 7, 7, 7, 7, 7, 7,
|
268
|
+
7, 11, 11, 11, 11, 11, 11, 11,
|
269
|
+
11, 11, 11, 7, 7, 7, 7, 7,
|
270
|
+
7, 7, 11, 11, 11, 11, 11, 11,
|
271
|
+
11, 11, 11, 11, 11, 11, 11, 11,
|
272
|
+
11, 11, 11, 11, 11, 11, 11, 11,
|
273
|
+
11, 11, 11, 11, 7, 7, 7, 7,
|
274
|
+
11, 7, 11, 11, 11, 11, 11, 11,
|
275
|
+
11, 11, 11, 11, 11, 11, 11, 11,
|
276
|
+
11, 11, 11, 11, 11, 11, 11, 11,
|
277
|
+
11, 11, 11, 11, 7, 12, 7, 7,
|
278
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
279
|
+
7, 7, 7, 7, 13, 13, 13, 13,
|
280
|
+
13, 13, 13, 13, 13, 13, 7, 7,
|
281
|
+
7, 12, 10, 7, 7, 13, 13, 13,
|
282
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
283
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
284
|
+
13, 13, 13, 13, 13, 13, 13, 7,
|
285
|
+
7, 7, 7, 13, 7, 13, 13, 13,
|
286
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
287
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
288
|
+
13, 13, 13, 13, 13, 13, 13, 7,
|
289
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
290
|
+
13, 13, 7, 7, 7, 7, 10, 7,
|
291
|
+
7, 13, 13, 13, 13, 13, 13, 13,
|
292
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
293
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
294
|
+
13, 13, 13, 7, 7, 7, 7, 13,
|
295
|
+
7, 13, 13, 13, 13, 13, 13, 13,
|
296
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
297
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
298
|
+
13, 13, 13, 7, 15, 14, 14, 14,
|
276
299
|
14, 14, 14, 14, 14, 14, 14, 14,
|
277
300
|
14, 14, 14, 14, 14, 14, 14, 14,
|
278
|
-
14,
|
279
|
-
|
280
|
-
|
281
|
-
14, 14, 14, 14, 14,
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
20, 17, 17, 28, 28, 28, 28, 28,
|
301
|
+
14, 16, 14, 17, 14, 14, 14, 18,
|
302
|
+
14, 19, 14, 14, 20, 20, 20, 20,
|
303
|
+
20, 20, 20, 20, 20, 20, 14, 14,
|
304
|
+
14, 14, 14, 14, 14, 20, 20, 20,
|
305
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
306
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
307
|
+
20, 20, 20, 20, 20, 20, 20, 14,
|
308
|
+
14, 14, 14, 20, 14, 20, 20, 20,
|
309
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
310
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
311
|
+
20, 20, 20, 20, 20, 20, 20, 14,
|
312
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
313
|
+
21, 21, 14, 17, 14, 14, 14, 14,
|
314
|
+
14, 14, 14, 14, 21, 21, 21, 21,
|
315
|
+
21, 21, 21, 21, 21, 21, 14, 21,
|
316
|
+
22, 22, 22, 22, 22, 22, 22, 22,
|
317
|
+
22, 14, 17, 14, 14, 14, 18, 14,
|
318
|
+
18, 14, 14, 22, 22, 22, 22, 22,
|
319
|
+
22, 22, 22, 22, 22, 14, 17, 14,
|
320
|
+
14, 14, 18, 14, 18, 14, 14, 20,
|
321
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
322
|
+
20, 14, 14, 14, 14, 14, 14, 14,
|
323
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
324
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
325
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
326
|
+
20, 20, 14, 14, 14, 14, 20, 14,
|
327
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
328
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
329
|
+
20, 20, 20, 20, 20, 20, 20, 20,
|
330
|
+
20, 20, 14, 23, 14, 24, 14, 14,
|
331
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
332
|
+
25, 25, 14, 14, 14, 14, 17, 14,
|
333
|
+
14, 25, 25, 25, 25, 25, 25, 25,
|
334
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
335
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
336
|
+
25, 25, 25, 14, 14, 14, 14, 25,
|
337
|
+
14, 25, 25, 25, 25, 25, 25, 25,
|
338
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
339
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
340
|
+
25, 25, 25, 14, 26, 26, 26, 26,
|
341
|
+
26, 26, 26, 26, 26, 26, 14, 26,
|
342
|
+
26, 26, 26, 26, 26, 26, 26, 26,
|
343
|
+
26, 14, 14, 14, 14, 17, 14, 26,
|
344
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
345
|
+
27, 14, 23, 14, 23, 14, 14, 27,
|
346
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
347
|
+
27, 14, 14, 14, 14, 17, 14, 23,
|
348
|
+
14, 23, 14, 14, 25, 25, 25, 25,
|
349
|
+
25, 25, 25, 25, 25, 25, 14, 14,
|
350
|
+
14, 14, 17, 14, 14, 25, 25, 25,
|
351
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
352
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
353
|
+
25, 25, 25, 25, 25, 25, 25, 14,
|
354
|
+
14, 14, 14, 25, 14, 25, 25, 25,
|
355
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
356
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
357
|
+
25, 25, 25, 25, 25, 25, 25, 14,
|
358
|
+
29, 29, 29, 29, 29, 29, 29, 29,
|
359
|
+
29, 29, 28, 29, 29, 29, 29, 29,
|
360
|
+
29, 29, 29, 29, 29, 28, 28, 28,
|
339
361
|
28, 28, 28, 28, 28, 28, 28, 28,
|
340
362
|
28, 28, 28, 28, 28, 28, 28, 28,
|
341
|
-
28, 28, 28, 28, 28, 17, 17, 17,
|
342
|
-
17, 28, 17, 28, 28, 28, 28, 28,
|
343
363
|
28, 28, 28, 28, 28, 28, 28, 28,
|
344
364
|
28, 28, 28, 28, 28, 28, 28, 28,
|
345
|
-
28, 28, 28, 28, 28, 17, 29, 29,
|
346
|
-
29, 29, 29, 29, 29, 29, 29, 29,
|
347
|
-
17, 29, 29, 29, 29, 29, 29, 29,
|
348
|
-
29, 29, 29, 17, 17, 17, 17, 20,
|
349
|
-
17, 29, 30, 30, 30, 30, 30, 30,
|
350
|
-
30, 30, 30, 17, 26, 17, 26, 17,
|
351
|
-
17, 30, 30, 30, 30, 30, 30, 30,
|
352
|
-
30, 30, 30, 17, 17, 17, 17, 20,
|
353
|
-
17, 26, 17, 26, 17, 17, 28, 28,
|
354
365
|
28, 28, 28, 28, 28, 28, 28, 28,
|
355
|
-
17, 17, 17, 17, 20, 17, 17, 28,
|
356
366
|
28, 28, 28, 28, 28, 28, 28, 28,
|
357
367
|
28, 28, 28, 28, 28, 28, 28, 28,
|
358
368
|
28, 28, 28, 28, 28, 28, 28, 28,
|
359
|
-
|
369
|
+
30, 28, 29, 28, 28, 28, 31, 31,
|
370
|
+
31, 31, 31, 31, 31, 31, 31, 31,
|
371
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
372
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
373
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
374
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
360
375
|
28, 28, 28, 28, 28, 28, 28, 28,
|
361
376
|
28, 28, 28, 28, 28, 28, 28, 28,
|
362
377
|
28, 28, 28, 28, 28, 28, 28, 28,
|
363
|
-
28,
|
378
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
379
|
+
28, 28, 28, 30, 28, 32, 33, 34,
|
380
|
+
34, 34, 34, 34, 33, 33, 33, 33,
|
364
381
|
33, 33, 33, 33, 33, 33, 33, 33,
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
111, 111, 111,
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
113, 113, 113, 113, 113,
|
504
|
-
|
505
|
-
113, 113,
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
113, 113,
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
382
|
+
33, 33, 33, 33, 33, 33, 34, 33,
|
383
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
384
|
+
33, 33, 33, 34, 34, 33, 34, 34,
|
385
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
386
|
+
33, 33, 33, 34, 33, 33, 33, 34,
|
387
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
388
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
389
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
390
|
+
34, 33, 33, 33, 35, 34, 33, 34,
|
391
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
392
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
393
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
394
|
+
34, 33, 34, 34, 34, 34, 34, 33,
|
395
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
396
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
397
|
+
33, 34, 33, 33, 33, 33, 33, 33,
|
398
|
+
33, 33, 33, 33, 33, 33, 34, 34,
|
399
|
+
33, 34, 34, 34, 34, 34, 34, 34,
|
400
|
+
34, 34, 34, 33, 33, 33, 34, 33,
|
401
|
+
33, 33, 34, 34, 34, 34, 34, 34,
|
402
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
403
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
404
|
+
34, 34, 34, 34, 33, 33, 33, 33,
|
405
|
+
34, 33, 34, 34, 34, 34, 34, 34,
|
406
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
407
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
408
|
+
34, 34, 34, 34, 33, 33, 36, 33,
|
409
|
+
34, 34, 34, 34, 34, 33, 33, 33,
|
410
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
411
|
+
33, 33, 33, 33, 33, 33, 33, 34,
|
412
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
413
|
+
33, 33, 33, 33, 34, 34, 33, 34,
|
414
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
415
|
+
34, 33, 33, 33, 34, 33, 33, 33,
|
416
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
417
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
418
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
419
|
+
34, 34, 33, 33, 33, 33, 34, 33,
|
420
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
421
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
422
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
423
|
+
34, 34, 33, 38, 38, 38, 38, 38,
|
424
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
425
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
426
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
427
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
428
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
429
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
430
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
431
|
+
38, 38, 38, 37, 39, 39, 39, 39,
|
432
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
433
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
434
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
435
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
436
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
437
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
438
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
439
|
+
39, 39, 39, 39, 37, 41, 40, 44,
|
440
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
441
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
442
|
+
43, 43, 43, 44, 44, 44, 44, 44,
|
443
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
444
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
445
|
+
44, 44, 44, 44, 44, 43, 43, 43,
|
446
|
+
43, 43, 43, 44, 44, 44, 44, 44,
|
447
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
448
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
449
|
+
44, 44, 44, 44, 44, 43, 44, 45,
|
450
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
451
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
452
|
+
43, 43, 44, 44, 44, 44, 44, 44,
|
453
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
454
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
455
|
+
44, 44, 44, 44, 43, 43, 43, 43,
|
456
|
+
43, 43, 44, 44, 44, 44, 44, 44,
|
457
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
458
|
+
44, 44, 44, 44, 44, 44, 44, 44,
|
459
|
+
44, 44, 44, 44, 43, 46, 43, 47,
|
460
|
+
43, 43, 48, 49, 50, 51, 43, 43,
|
461
|
+
52, 43, 43, 43, 43, 53, 43, 43,
|
462
|
+
43, 54, 43, 43, 55, 43, 56, 43,
|
463
|
+
57, 58, 43, 48, 49, 50, 51, 43,
|
464
|
+
43, 52, 43, 43, 43, 43, 53, 43,
|
465
|
+
43, 43, 54, 43, 43, 55, 43, 56,
|
466
|
+
43, 57, 58, 43, 59, 43, 43, 43,
|
467
|
+
43, 43, 43, 60, 43, 61, 43, 62,
|
468
|
+
43, 63, 43, 64, 43, 65, 43, 66,
|
469
|
+
43, 67, 43, 64, 43, 68, 43, 69,
|
470
|
+
43, 64, 43, 70, 43, 71, 43, 72,
|
471
|
+
43, 64, 43, 73, 43, 74, 43, 75,
|
472
|
+
43, 64, 43, 76, 43, 77, 43, 78,
|
473
|
+
43, 64, 43, 79, 43, 80, 43, 81,
|
474
|
+
43, 64, 43, 82, 43, 83, 43, 84,
|
475
|
+
43, 64, 43, 85, 43, 43, 86, 43,
|
476
|
+
87, 43, 78, 43, 88, 43, 78, 43,
|
477
|
+
89, 43, 90, 43, 91, 43, 64, 43,
|
478
|
+
92, 43, 83, 43, 93, 43, 94, 43,
|
479
|
+
64, 43, 51, 43, 95, 95, 95, 95,
|
480
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
481
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
482
|
+
95, 95, 95, 95, 95, 95, 43, 43,
|
483
|
+
43, 43, 43, 43, 95, 95, 95, 95,
|
484
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
485
|
+
95, 95, 95, 95, 95, 95, 95, 95,
|
486
|
+
95, 95, 95, 95, 95, 95, 43, 96,
|
487
|
+
43, 97, 43, 98, 33, 100, 99, 102,
|
488
|
+
99, 103, 33, 105, 104, 107, 104, 108,
|
489
|
+
108, 108, 108, 108, 108, 108, 108, 108,
|
490
|
+
108, 33, 33, 33, 33, 33, 33, 33,
|
491
|
+
108, 108, 108, 108, 108, 108, 33, 33,
|
492
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
493
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
494
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
495
|
+
108, 108, 108, 108, 108, 108, 33, 33,
|
496
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
497
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
498
|
+
33, 33, 109, 33, 110, 110, 110, 110,
|
499
|
+
110, 110, 110, 110, 110, 110, 33, 33,
|
500
|
+
33, 33, 33, 33, 33, 110, 110, 110,
|
501
|
+
110, 110, 110, 33, 33, 33, 33, 33,
|
502
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
503
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
504
|
+
33, 33, 33, 33, 33, 110, 110, 110,
|
505
|
+
110, 110, 110, 33, 111, 111, 111, 111,
|
506
|
+
111, 111, 111, 111, 111, 111, 33, 33,
|
507
|
+
33, 33, 33, 33, 33, 111, 111, 111,
|
508
|
+
111, 111, 111, 33, 33, 33, 33, 33,
|
509
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
510
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
511
|
+
33, 33, 33, 33, 33, 111, 111, 111,
|
512
|
+
111, 111, 111, 33, 112, 112, 112, 112,
|
513
|
+
112, 112, 112, 112, 112, 112, 33, 33,
|
514
|
+
33, 33, 33, 33, 33, 112, 112, 112,
|
515
|
+
112, 112, 112, 33, 33, 33, 33, 33,
|
516
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
517
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
518
|
+
33, 33, 33, 33, 33, 112, 112, 112,
|
519
|
+
112, 112, 112, 33, 113, 113, 113, 113,
|
520
|
+
113, 113, 113, 113, 113, 113, 33, 33,
|
521
|
+
33, 33, 33, 33, 33, 113, 113, 113,
|
522
|
+
113, 113, 113, 33, 33, 33, 33, 33,
|
523
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
524
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
525
|
+
33, 33, 33, 33, 33, 113, 113, 113,
|
526
|
+
113, 113, 113, 33, 109, 109, 109, 109,
|
527
|
+
109, 33, 33, 33, 33, 33, 33, 33,
|
528
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
529
|
+
33, 33, 33, 109, 33, 33, 33, 33,
|
530
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
531
|
+
33, 33, 33, 114, 114, 114, 114, 114,
|
532
|
+
114, 114, 114, 114, 114, 33, 33, 33,
|
533
|
+
33, 33, 33, 33, 114, 114, 114, 114,
|
534
|
+
114, 114, 33, 33, 33, 33, 33, 33,
|
535
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
536
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
537
|
+
33, 33, 33, 33, 114, 114, 114, 114,
|
538
|
+
114, 114, 33, 33, 33, 33, 33, 33,
|
539
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
540
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
541
|
+
112, 33, 109, 109, 109, 109, 109, 33,
|
542
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
543
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
544
|
+
33, 109, 33, 33, 33, 33, 33, 33,
|
545
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
546
|
+
33, 115, 115, 115, 115, 115, 115, 115,
|
547
|
+
115, 115, 115, 33, 33, 33, 33, 33,
|
548
|
+
33, 33, 115, 115, 115, 115, 115, 115,
|
549
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
550
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
551
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
552
|
+
33, 33, 115, 115, 115, 115, 115, 115,
|
553
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
554
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
555
|
+
33, 33, 33, 33, 33, 33, 112, 33,
|
556
|
+
109, 109, 109, 109, 109, 33, 33, 33,
|
557
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
558
|
+
33, 33, 33, 33, 33, 33, 33, 109,
|
559
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
560
|
+
33, 33, 33, 33, 33, 33, 33, 116,
|
561
|
+
116, 116, 116, 116, 116, 116, 116, 116,
|
562
|
+
116, 33, 33, 33, 33, 33, 33, 33,
|
563
|
+
116, 116, 116, 116, 116, 116, 33, 33,
|
564
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
565
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
566
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
567
|
+
116, 116, 116, 116, 116, 116, 33, 33,
|
568
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
569
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
570
|
+
33, 33, 33, 33, 112, 33, 109, 109,
|
571
|
+
109, 109, 109, 33, 33, 33, 33, 33,
|
572
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
573
|
+
33, 33, 33, 33, 33, 109, 33, 33,
|
574
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
575
|
+
33, 33, 33, 33, 33, 117, 117, 117,
|
576
|
+
117, 117, 117, 117, 117, 117, 117, 33,
|
577
|
+
33, 33, 33, 33, 33, 33, 117, 117,
|
578
|
+
117, 117, 117, 117, 33, 33, 33, 33,
|
579
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
580
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
581
|
+
33, 33, 33, 33, 33, 33, 117, 117,
|
582
|
+
117, 117, 117, 117, 33, 33, 33, 33,
|
583
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
584
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
585
|
+
33, 33, 112, 33, 109, 109, 109, 109,
|
586
|
+
109, 33, 33, 33, 33, 33, 33, 33,
|
587
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
588
|
+
33, 33, 33, 109, 33, 33, 33, 33,
|
589
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
590
|
+
33, 33, 33, 118, 118, 118, 118, 118,
|
591
|
+
118, 118, 118, 118, 118, 33, 33, 33,
|
592
|
+
33, 33, 33, 33, 118, 118, 118, 118,
|
593
|
+
118, 118, 33, 33, 33, 33, 33, 33,
|
594
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
595
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
596
|
+
33, 33, 33, 33, 118, 118, 118, 118,
|
597
|
+
118, 118, 33, 33, 33, 33, 33, 33,
|
598
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
599
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
600
|
+
112, 33, 109, 109, 109, 109, 109, 33,
|
601
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
602
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
603
|
+
33, 109, 33, 33, 33, 33, 33, 33,
|
604
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
605
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
606
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
607
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
608
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
609
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
610
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
611
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
612
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
613
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
614
|
+
33, 33, 33, 33, 33, 33, 112, 33,
|
615
|
+
120, 120, 120, 120, 120, 120, 120, 120,
|
616
|
+
120, 120, 119, 119, 119, 119, 119, 119,
|
617
|
+
119, 120, 120, 120, 120, 120, 120, 119,
|
565
618
|
119, 119, 119, 119, 119, 119, 119, 119,
|
566
|
-
|
567
|
-
119, 119, 119, 119, 119,
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
119, 119, 119,
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
36, 36, 36, 36, 36, 36, 36, 115,
|
604
|
-
36, 112, 112, 112, 112, 112, 36, 36,
|
605
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
606
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
607
|
-
112, 36, 36, 36, 36, 36, 36, 36,
|
608
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
609
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
610
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
611
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
612
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
613
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
614
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
615
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
616
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
617
|
-
36, 36, 36, 36, 36, 36, 36, 36,
|
618
|
-
36, 36, 36, 36, 36, 115, 36, 123,
|
619
|
-
123, 123, 123, 123, 123, 123, 123, 123,
|
620
|
-
123, 122, 122, 122, 122, 122, 122, 122,
|
621
|
-
123, 123, 123, 123, 123, 123, 122, 122,
|
622
|
-
122, 122, 122, 122, 122, 122, 122, 122,
|
623
|
-
122, 122, 122, 122, 122, 122, 122, 122,
|
624
|
-
122, 122, 122, 122, 122, 122, 122, 122,
|
625
|
-
123, 123, 123, 123, 123, 123, 122, 122,
|
626
|
-
122, 122, 122, 122, 122, 122, 122, 122,
|
627
|
-
122, 122, 122, 122, 122, 122, 122, 122,
|
628
|
-
122, 122, 36, 122, 125, 124, 126, 124,
|
629
|
-
124, 124, 124, 124, 124, 124, 124, 127,
|
630
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
631
|
-
127, 124, 124, 124, 124, 124, 124, 124,
|
619
|
+
119, 119, 119, 119, 119, 119, 119, 119,
|
620
|
+
119, 119, 119, 119, 119, 119, 119, 119,
|
621
|
+
119, 120, 120, 120, 120, 120, 120, 119,
|
622
|
+
119, 119, 119, 119, 119, 119, 119, 119,
|
623
|
+
119, 119, 119, 119, 119, 119, 119, 119,
|
624
|
+
119, 119, 119, 33, 119, 122, 121, 123,
|
625
|
+
121, 121, 121, 121, 121, 121, 121, 121,
|
626
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
627
|
+
124, 124, 121, 121, 121, 121, 121, 121,
|
628
|
+
121, 124, 124, 124, 124, 124, 124, 124,
|
629
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
630
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
631
|
+
124, 124, 124, 121, 121, 121, 121, 124,
|
632
|
+
121, 124, 124, 124, 124, 124, 124, 124,
|
633
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
634
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
635
|
+
124, 124, 124, 121, 122, 121, 121, 121,
|
636
|
+
121, 121, 121, 125, 125, 125, 125, 125,
|
637
|
+
125, 125, 125, 125, 125, 121, 126, 126,
|
638
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
639
|
+
121, 121, 121, 121, 123, 121, 121, 126,
|
640
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
641
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
642
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
643
|
+
126, 121, 121, 121, 121, 126, 121, 126,
|
644
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
645
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
646
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
647
|
+
126, 121, 33, 33, 33, 33, 33, 33,
|
648
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
649
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
650
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
651
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
652
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
653
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
654
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
655
|
+
33, 33, 33, 33, 127, 127, 127, 127,
|
632
656
|
127, 127, 127, 127, 127, 127, 127, 127,
|
633
657
|
127, 127, 127, 127, 127, 127, 127, 127,
|
634
658
|
127, 127, 127, 127, 127, 127, 127, 127,
|
635
|
-
127, 127,
|
659
|
+
127, 127, 128, 128, 128, 128, 128, 128,
|
660
|
+
128, 128, 128, 128, 128, 128, 128, 128,
|
661
|
+
128, 128, 129, 129, 129, 129, 129, 33,
|
662
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
663
|
+
33, 33, 33, 130, 130, 130, 130, 130,
|
664
|
+
130, 130, 130, 131, 131, 131, 131, 131,
|
665
|
+
130, 130, 130, 130, 130, 130, 130, 130,
|
666
|
+
130, 130, 130, 130, 130, 130, 130, 130,
|
667
|
+
130, 130, 132, 133, 133, 134, 135, 133,
|
668
|
+
133, 133, 136, 137, 138, 139, 133, 133,
|
669
|
+
140, 133, 133, 133, 133, 133, 133, 133,
|
670
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
671
|
+
133, 141, 133, 133, 133, 133, 133, 133,
|
672
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
673
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
674
|
+
133, 133, 133, 133, 133, 142, 143, 144,
|
675
|
+
145, 133, 133, 133, 133, 133, 133, 133,
|
676
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
677
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
678
|
+
133, 133, 133, 133, 133, 146, 147, 144,
|
679
|
+
133, 130, 133, 127, 127, 127, 127, 127,
|
636
680
|
127, 127, 127, 127, 127, 127, 127, 127,
|
637
681
|
127, 127, 127, 127, 127, 127, 127, 127,
|
638
682
|
127, 127, 127, 127, 127, 127, 127, 127,
|
639
|
-
127,
|
640
|
-
|
641
|
-
128, 128,
|
642
|
-
|
643
|
-
124, 124, 124, 126, 124, 124, 129, 129,
|
644
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
645
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
646
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
647
|
-
124, 124, 124, 124, 129, 124, 129, 129,
|
648
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
649
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
650
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
651
|
-
124, 130, 130, 130, 130, 130, 130, 130,
|
683
|
+
127, 148, 128, 128, 128, 128, 128, 128,
|
684
|
+
128, 128, 128, 128, 128, 128, 128, 128,
|
685
|
+
128, 128, 148, 129, 129, 129, 129, 129,
|
686
|
+
148, 130, 130, 130, 130, 130, 130, 130,
|
652
687
|
130, 130, 130, 130, 130, 130, 130, 130,
|
653
688
|
130, 130, 130, 130, 130, 130, 130, 130,
|
654
|
-
130, 130, 130, 130, 130, 130, 130, 131,
|
655
|
-
131, 131, 131, 131, 131, 131, 131, 131,
|
656
|
-
131, 131, 131, 131, 131, 131, 131, 132,
|
657
|
-
132, 132, 132, 132, 31, 31, 31, 31,
|
658
|
-
31, 31, 31, 31, 31, 31, 31, 31,
|
659
|
-
133, 133, 133, 133, 133, 133, 133, 133,
|
660
|
-
134, 134, 134, 134, 134, 133, 133, 133,
|
661
|
-
133, 133, 133, 133, 133, 133, 133, 133,
|
662
|
-
133, 133, 133, 133, 133, 133, 133, 135,
|
663
|
-
136, 136, 137, 138, 136, 136, 136, 139,
|
664
|
-
140, 141, 142, 136, 136, 143, 136, 136,
|
665
|
-
136, 136, 136, 136, 136, 136, 136, 136,
|
666
|
-
136, 136, 136, 136, 136, 136, 144, 136,
|
667
|
-
136, 136, 136, 136, 136, 136, 136, 136,
|
668
|
-
136, 136, 136, 136, 136, 136, 136, 136,
|
669
|
-
136, 136, 136, 136, 136, 136, 136, 136,
|
670
|
-
136, 136, 145, 146, 31, 147, 136, 136,
|
671
|
-
136, 136, 136, 136, 136, 136, 136, 136,
|
672
|
-
136, 136, 136, 136, 136, 136, 136, 136,
|
673
|
-
136, 136, 136, 136, 136, 136, 136, 136,
|
674
|
-
136, 136, 33, 148, 31, 136, 133, 31,
|
675
689
|
130, 130, 130, 130, 130, 130, 130, 130,
|
690
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
691
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
692
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
693
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
694
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
695
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
696
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
697
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
698
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
699
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
700
|
+
148, 148, 148, 148, 148, 148, 148, 148,
|
701
|
+
148, 148, 148, 148, 148, 148, 148, 130,
|
702
|
+
148, 130, 130, 130, 130, 130, 130, 130,
|
703
|
+
130, 131, 131, 131, 131, 131, 130, 130,
|
676
704
|
130, 130, 130, 130, 130, 130, 130, 130,
|
677
705
|
130, 130, 130, 130, 130, 130, 130, 130,
|
678
|
-
|
679
|
-
|
680
|
-
131, 131, 131, 131, 131, 131, 131, 149,
|
681
|
-
132, 132, 132, 132, 132, 149, 133, 133,
|
682
|
-
133, 133, 133, 133, 133, 133, 133, 133,
|
683
|
-
133, 133, 133, 133, 133, 133, 133, 133,
|
684
|
-
133, 133, 133, 133, 133, 133, 133, 133,
|
685
|
-
133, 133, 133, 133, 133, 149, 149, 149,
|
706
|
+
132, 149, 149, 149, 149, 149, 149, 149,
|
707
|
+
149, 149, 149, 149, 149, 149, 149, 149,
|
686
708
|
149, 149, 149, 149, 149, 149, 149, 149,
|
687
709
|
149, 149, 149, 149, 149, 149, 149, 149,
|
688
710
|
149, 149, 149, 149, 149, 149, 149, 149,
|
@@ -692,228 +714,198 @@ self._re_scanner_indicies = [
|
|
692
714
|
149, 149, 149, 149, 149, 149, 149, 149,
|
693
715
|
149, 149, 149, 149, 149, 149, 149, 149,
|
694
716
|
149, 149, 149, 149, 149, 149, 149, 149,
|
717
|
+
149, 149, 149, 149, 149, 149, 149, 130,
|
718
|
+
149, 132, 132, 132, 132, 132, 149, 149,
|
695
719
|
149, 149, 149, 149, 149, 149, 149, 149,
|
696
720
|
149, 149, 149, 149, 149, 149, 149, 149,
|
697
|
-
|
698
|
-
133,
|
699
|
-
134, 134, 134, 133, 133, 133, 133, 133,
|
721
|
+
132, 149, 133, 133, 148, 148, 133, 133,
|
722
|
+
133, 148, 148, 148, 148, 133, 133, 148,
|
700
723
|
133, 133, 133, 133, 133, 133, 133, 133,
|
701
|
-
133, 133, 133, 133, 133,
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
221, 221, 221, 221, 221, 221, 221, 221,
|
887
|
-
221, 221, 221, 221, 221, 221, 221, 221,
|
888
|
-
221, 221, 221, 221, 221, 221, 221, 221,
|
889
|
-
222, 222, 222, 222, 222, 222, 221, 224,
|
890
|
-
223, 223, 223, 223, 223, 225, 223, 223,
|
891
|
-
223, 226, 226, 226, 226, 226, 226, 226,
|
892
|
-
226, 226, 223, 223, 227, 223, 126, 228,
|
893
|
-
228, 228, 228, 228, 228, 228, 228, 127,
|
894
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
895
|
-
127, 228, 228, 228, 228, 228, 228, 228,
|
896
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
897
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
898
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
899
|
-
127, 127, 228, 228, 228, 228, 127, 228,
|
900
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
901
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
902
|
-
127, 127, 127, 127, 127, 127, 127, 127,
|
903
|
-
127, 127, 228, 128, 128, 128, 128, 128,
|
904
|
-
128, 128, 128, 128, 228, 125, 228, 228,
|
905
|
-
228, 228, 228, 228, 128, 128, 128, 128,
|
906
|
-
128, 128, 128, 128, 128, 128, 228, 129,
|
907
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
908
|
-
129, 228, 228, 228, 228, 126, 228, 228,
|
909
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
910
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
911
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
912
|
-
129, 129, 228, 228, 228, 228, 129, 228,
|
913
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
914
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
915
|
-
129, 129, 129, 129, 129, 129, 129, 129,
|
916
|
-
129, 129, 228, 0
|
724
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
725
|
+
148, 133, 133, 133, 133, 133, 133, 133,
|
726
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
727
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
728
|
+
133, 133, 133, 133, 148, 148, 148, 148,
|
729
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
730
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
731
|
+
133, 133, 133, 133, 133, 133, 133, 133,
|
732
|
+
133, 133, 133, 133, 148, 148, 148, 133,
|
733
|
+
148, 151, 134, 153, 152, 12, 155, 8,
|
734
|
+
155, 155, 155, 11, 156, 154, 155, 155,
|
735
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
736
|
+
155, 155, 155, 155, 155, 155, 10, 155,
|
737
|
+
157, 12, 10, 155, 155, 155, 155, 155,
|
738
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
739
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
740
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
741
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
742
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
743
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
744
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
745
|
+
155, 155, 10, 155, 154, 155, 154, 155,
|
746
|
+
155, 155, 154, 154, 154, 155, 155, 155,
|
747
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
748
|
+
155, 155, 155, 155, 155, 158, 155, 154,
|
749
|
+
154, 154, 155, 155, 155, 155, 155, 155,
|
750
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
751
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
752
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
753
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
754
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
755
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
756
|
+
155, 155, 155, 155, 155, 155, 155, 155,
|
757
|
+
155, 154, 155, 160, 159, 159, 159, 159,
|
758
|
+
159, 159, 159, 159, 159, 159, 159, 159,
|
759
|
+
159, 159, 159, 159, 159, 159, 159, 160,
|
760
|
+
159, 162, 161, 161, 161, 161, 161, 161,
|
761
|
+
161, 161, 161, 161, 161, 161, 161, 161,
|
762
|
+
161, 161, 161, 161, 161, 162, 161, 164,
|
763
|
+
163, 163, 163, 163, 163, 163, 163, 163,
|
764
|
+
163, 163, 163, 163, 163, 163, 163, 163,
|
765
|
+
163, 163, 163, 164, 163, 166, 166, 165,
|
766
|
+
165, 165, 165, 166, 165, 165, 165, 167,
|
767
|
+
165, 165, 165, 165, 165, 165, 165, 165,
|
768
|
+
165, 165, 165, 165, 165, 165, 166, 165,
|
769
|
+
165, 165, 165, 165, 165, 165, 166, 165,
|
770
|
+
165, 165, 165, 168, 165, 165, 165, 168,
|
771
|
+
165, 165, 165, 165, 165, 165, 165, 165,
|
772
|
+
165, 165, 165, 165, 165, 165, 166, 165,
|
773
|
+
170, 169, 169, 169, 31, 31, 31, 31,
|
774
|
+
31, 31, 31, 31, 31, 31, 169, 172,
|
775
|
+
171, 171, 171, 171, 171, 171, 171, 171,
|
776
|
+
171, 171, 171, 171, 171, 171, 171, 171,
|
777
|
+
171, 171, 171, 172, 171, 173, 33, 33,
|
778
|
+
33, 173, 33, 33, 33, 33, 33, 33,
|
779
|
+
33, 33, 33, 173, 173, 33, 33, 33,
|
780
|
+
173, 173, 33, 33, 33, 33, 33, 33,
|
781
|
+
33, 33, 33, 33, 33, 173, 33, 33,
|
782
|
+
33, 173, 33, 33, 33, 33, 33, 33,
|
783
|
+
33, 33, 33, 33, 173, 33, 33, 33,
|
784
|
+
173, 33, 174, 33, 33, 33, 33, 33,
|
785
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
786
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
787
|
+
33, 33, 33, 33, 33, 33, 33, 33,
|
788
|
+
33, 33, 174, 33, 175, 175, 175, 175,
|
789
|
+
175, 175, 175, 175, 175, 175, 175, 175,
|
790
|
+
175, 175, 175, 175, 175, 175, 175, 175,
|
791
|
+
175, 175, 175, 175, 175, 175, 175, 175,
|
792
|
+
175, 175, 176, 176, 176, 176, 176, 176,
|
793
|
+
176, 176, 176, 176, 176, 176, 176, 176,
|
794
|
+
176, 176, 177, 177, 177, 177, 177, 38,
|
795
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
796
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
797
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
798
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
799
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
800
|
+
38, 38, 38, 38, 38, 38, 178, 38,
|
801
|
+
179, 38, 178, 178, 178, 178, 38, 180,
|
802
|
+
178, 38, 38, 38, 38, 38, 38, 38,
|
803
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
804
|
+
38, 178, 38, 38, 38, 38, 38, 38,
|
805
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
806
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
807
|
+
38, 38, 38, 38, 38, 181, 182, 183,
|
808
|
+
184, 38, 38, 38, 38, 38, 38, 38,
|
809
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
810
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
811
|
+
38, 38, 38, 38, 38, 178, 178, 178,
|
812
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
813
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
814
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
815
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
816
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
817
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
818
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
819
|
+
38, 38, 38, 38, 38, 38, 38, 38,
|
820
|
+
38, 185, 39, 39, 39, 39, 39, 39,
|
821
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
822
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
823
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
824
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
825
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
826
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
827
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
828
|
+
39, 39, 185, 186, 186, 186, 186, 186,
|
829
|
+
186, 186, 186, 186, 186, 186, 186, 186,
|
830
|
+
186, 186, 186, 186, 186, 186, 186, 186,
|
831
|
+
186, 186, 186, 186, 186, 186, 186, 186,
|
832
|
+
186, 186, 186, 186, 186, 186, 186, 186,
|
833
|
+
186, 186, 186, 186, 186, 186, 186, 186,
|
834
|
+
186, 186, 186, 186, 186, 186, 186, 186,
|
835
|
+
186, 186, 186, 186, 186, 186, 186, 186,
|
836
|
+
186, 186, 186, 185, 187, 185, 189, 188,
|
837
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
838
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
839
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
840
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
841
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
842
|
+
188, 188, 188, 188, 188, 188, 188, 188,
|
843
|
+
188, 188, 188, 188, 188, 190, 188, 193,
|
844
|
+
192, 192, 192, 192, 192, 192, 192, 192,
|
845
|
+
192, 192, 192, 194, 192, 192, 195, 192,
|
846
|
+
197, 197, 197, 197, 197, 197, 197, 197,
|
847
|
+
197, 197, 196, 196, 196, 196, 196, 196,
|
848
|
+
196, 197, 197, 197, 196, 196, 196, 197,
|
849
|
+
196, 196, 196, 197, 196, 197, 196, 196,
|
850
|
+
196, 196, 197, 196, 196, 196, 196, 196,
|
851
|
+
197, 196, 197, 196, 196, 196, 196, 196,
|
852
|
+
196, 196, 196, 197, 196, 196, 196, 197,
|
853
|
+
196, 196, 196, 197, 196, 196, 196, 196,
|
854
|
+
196, 196, 196, 196, 196, 196, 196, 196,
|
855
|
+
196, 196, 197, 196, 199, 198, 198, 198,
|
856
|
+
199, 199, 199, 199, 198, 198, 199, 198,
|
857
|
+
200, 201, 201, 201, 201, 201, 201, 201,
|
858
|
+
202, 202, 198, 198, 198, 198, 198, 199,
|
859
|
+
198, 33, 33, 203, 204, 198, 198, 33,
|
860
|
+
204, 198, 198, 33, 198, 205, 198, 198,
|
861
|
+
206, 198, 204, 204, 198, 198, 198, 204,
|
862
|
+
204, 198, 33, 199, 199, 199, 199, 198,
|
863
|
+
198, 207, 207, 98, 204, 207, 207, 198,
|
864
|
+
204, 198, 198, 198, 198, 198, 207, 198,
|
865
|
+
206, 198, 207, 204, 207, 208, 207, 204,
|
866
|
+
209, 198, 33, 199, 199, 199, 198, 211,
|
867
|
+
211, 211, 211, 211, 211, 211, 211, 210,
|
868
|
+
213, 213, 213, 213, 213, 213, 213, 213,
|
869
|
+
212, 215, 99, 217, 216, 99, 219, 104,
|
870
|
+
104, 104, 104, 104, 104, 104, 104, 104,
|
871
|
+
104, 104, 104, 104, 104, 104, 104, 104,
|
872
|
+
104, 104, 104, 104, 104, 104, 104, 104,
|
873
|
+
104, 104, 104, 104, 104, 104, 220, 104,
|
874
|
+
222, 221, 104, 107, 104, 225, 225, 225,
|
875
|
+
225, 225, 225, 225, 225, 225, 225, 224,
|
876
|
+
224, 224, 224, 224, 224, 224, 225, 225,
|
877
|
+
225, 225, 225, 225, 224, 224, 224, 224,
|
878
|
+
224, 224, 224, 224, 224, 224, 224, 224,
|
879
|
+
224, 224, 224, 224, 224, 224, 224, 224,
|
880
|
+
224, 224, 224, 224, 224, 224, 225, 225,
|
881
|
+
225, 225, 225, 225, 224, 227, 226, 226,
|
882
|
+
226, 226, 226, 228, 226, 226, 226, 229,
|
883
|
+
229, 229, 229, 229, 229, 229, 229, 229,
|
884
|
+
226, 226, 230, 226, 123, 231, 231, 231,
|
885
|
+
231, 231, 231, 231, 231, 124, 124, 124,
|
886
|
+
124, 124, 124, 124, 124, 124, 124, 231,
|
887
|
+
231, 231, 231, 231, 231, 231, 124, 124,
|
888
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
889
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
890
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
891
|
+
231, 231, 231, 231, 124, 231, 124, 124,
|
892
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
893
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
894
|
+
124, 124, 124, 124, 124, 124, 124, 124,
|
895
|
+
231, 125, 125, 125, 125, 125, 125, 125,
|
896
|
+
125, 125, 231, 122, 231, 231, 231, 231,
|
897
|
+
231, 231, 125, 125, 125, 125, 125, 125,
|
898
|
+
125, 125, 125, 125, 231, 126, 126, 126,
|
899
|
+
126, 126, 126, 126, 126, 126, 126, 231,
|
900
|
+
231, 231, 231, 123, 231, 231, 126, 126,
|
901
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
902
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
903
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
904
|
+
231, 231, 231, 231, 126, 231, 126, 126,
|
905
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
906
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
907
|
+
126, 126, 126, 126, 126, 126, 126, 126,
|
908
|
+
231, 0
|
917
909
|
]
|
918
910
|
|
919
911
|
class << self
|
@@ -922,34 +914,34 @@ class << self
|
|
922
914
|
end
|
923
915
|
self._re_scanner_trans_targs = [
|
924
916
|
110, 111, 3, 112, 5, 6, 113, 110,
|
925
|
-
7, 110, 110, 8, 110,
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
120, 110, 121, 110,
|
944
|
-
110, 110, 110, 110, 110, 110, 110,
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
149, 150, 151, 152,
|
917
|
+
7, 110, 110, 8, 110, 10, 110, 12,
|
918
|
+
18, 110, 13, 15, 17, 14, 16, 19,
|
919
|
+
21, 23, 20, 22, 110, 25, 127, 26,
|
920
|
+
28, 0, 29, 30, 129, 130, 130, 31,
|
921
|
+
130, 130, 130, 130, 35, 36, 130, 38,
|
922
|
+
39, 50, 54, 58, 62, 66, 70, 75,
|
923
|
+
79, 81, 84, 40, 47, 41, 45, 42,
|
924
|
+
43, 44, 130, 46, 48, 49, 51, 52,
|
925
|
+
53, 55, 56, 57, 59, 60, 61, 63,
|
926
|
+
64, 65, 67, 68, 69, 71, 73, 72,
|
927
|
+
74, 76, 77, 78, 80, 82, 83, 86,
|
928
|
+
87, 130, 89, 138, 141, 138, 143, 92,
|
929
|
+
138, 144, 138, 146, 95, 98, 96, 97,
|
930
|
+
138, 99, 100, 101, 102, 103, 104, 138,
|
931
|
+
148, 149, 149, 106, 107, 108, 109, 1,
|
932
|
+
2, 4, 114, 115, 116, 117, 118, 110,
|
933
|
+
119, 110, 122, 123, 110, 124, 110, 125,
|
934
|
+
110, 110, 126, 110, 110, 110, 110, 110,
|
935
|
+
110, 120, 110, 121, 110, 9, 110, 110,
|
936
|
+
110, 110, 110, 110, 110, 110, 110, 110,
|
937
|
+
11, 110, 24, 110, 110, 128, 27, 131,
|
938
|
+
132, 133, 130, 134, 135, 136, 130, 130,
|
939
|
+
130, 130, 32, 130, 130, 33, 130, 130,
|
940
|
+
130, 34, 37, 85, 137, 137, 138, 138,
|
941
|
+
139, 139, 138, 88, 138, 91, 138, 138,
|
942
|
+
94, 105, 138, 140, 138, 138, 138, 142,
|
943
|
+
138, 90, 138, 145, 147, 138, 93, 138,
|
944
|
+
138, 138, 149, 150, 151, 152, 153, 149
|
953
945
|
]
|
954
946
|
|
955
947
|
class << self
|
@@ -958,34 +950,34 @@ class << self
|
|
958
950
|
end
|
959
951
|
self._re_scanner_trans_actions = [
|
960
952
|
1, 2, 0, 2, 0, 0, 2, 3,
|
961
|
-
|
962
|
-
0,
|
963
|
-
0, 0, 0, 0,
|
964
|
-
0, 0, 0, 0,
|
965
|
-
15, 16,
|
966
|
-
0, 21, 0, 0, 0, 0, 0, 0,
|
953
|
+
4, 5, 6, 0, 7, 0, 8, 0,
|
954
|
+
0, 9, 0, 0, 0, 0, 0, 0,
|
955
|
+
0, 0, 0, 0, 10, 0, 0, 0,
|
956
|
+
0, 0, 0, 0, 12, 13, 14, 0,
|
957
|
+
15, 16, 17, 18, 0, 0, 19, 0,
|
967
958
|
0, 0, 0, 0, 0, 0, 0, 0,
|
968
|
-
0, 0, 0, 0, 0, 22, 0, 0,
|
969
959
|
0, 0, 0, 0, 0, 0, 0, 0,
|
960
|
+
0, 0, 20, 0, 0, 0, 0, 0,
|
970
961
|
0, 0, 0, 0, 0, 0, 0, 0,
|
971
962
|
0, 0, 0, 0, 0, 0, 0, 0,
|
972
|
-
0, 0, 0, 0, 23, 0, 24, 0,
|
973
|
-
25, 0, 0, 26, 0, 27, 0, 0,
|
974
|
-
0, 0, 0, 28, 0, 0, 0, 0,
|
975
|
-
0, 0, 29, 0, 30, 31, 0, 0,
|
976
963
|
0, 0, 0, 0, 0, 0, 0, 0,
|
977
|
-
0,
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
0,
|
987
|
-
|
988
|
-
|
964
|
+
0, 21, 0, 23, 0, 24, 0, 0,
|
965
|
+
25, 0, 26, 0, 0, 0, 0, 0,
|
966
|
+
27, 0, 0, 0, 0, 0, 0, 28,
|
967
|
+
0, 29, 30, 0, 0, 0, 0, 0,
|
968
|
+
0, 0, 0, 0, 0, 0, 0, 33,
|
969
|
+
34, 35, 0, 0, 36, 0, 37, 38,
|
970
|
+
39, 40, 38, 41, 42, 43, 44, 45,
|
971
|
+
46, 47, 48, 0, 49, 0, 50, 51,
|
972
|
+
52, 53, 54, 55, 56, 57, 58, 59,
|
973
|
+
0, 60, 0, 61, 62, 64, 0, 0,
|
974
|
+
38, 38, 65, 0, 38, 66, 67, 68,
|
975
|
+
69, 70, 0, 71, 72, 0, 73, 74,
|
976
|
+
75, 0, 0, 0, 76, 77, 78, 79,
|
977
|
+
80, 81, 82, 0, 83, 0, 84, 85,
|
978
|
+
0, 0, 86, 0, 87, 88, 89, 38,
|
979
|
+
90, 0, 91, 38, 0, 92, 0, 93,
|
980
|
+
94, 95, 96, 38, 38, 38, 38, 97
|
989
981
|
]
|
990
982
|
|
991
983
|
class << self
|
@@ -1006,13 +998,13 @@ self._re_scanner_to_state_actions = [
|
|
1006
998
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1007
999
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1008
1000
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1009
|
-
0, 0, 0, 0, 0, 0,
|
1001
|
+
0, 0, 0, 0, 0, 0, 31, 0,
|
1002
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1010
1003
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
0, 0
|
1015
|
-
0
|
1004
|
+
63, 63, 63, 0, 0, 0, 0, 0,
|
1005
|
+
0, 63, 63, 0, 0, 0, 0, 0,
|
1006
|
+
0, 0, 0, 0, 0, 63, 0, 0,
|
1007
|
+
0, 0
|
1016
1008
|
]
|
1017
1009
|
|
1018
1010
|
class << self
|
@@ -1033,13 +1025,13 @@ self._re_scanner_from_state_actions = [
|
|
1033
1025
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1034
1026
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1035
1027
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1036
|
-
0, 0, 0, 0, 0, 0,
|
1028
|
+
0, 0, 0, 0, 0, 0, 32, 0,
|
1037
1029
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1038
|
-
0, 0, 0, 0, 0, 0, 0,
|
1039
|
-
|
1040
|
-
|
1041
|
-
0, 0, 0, 0,
|
1042
|
-
0
|
1030
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1031
|
+
32, 32, 32, 0, 0, 0, 0, 0,
|
1032
|
+
0, 32, 32, 0, 0, 0, 0, 0,
|
1033
|
+
0, 0, 0, 0, 0, 32, 0, 0,
|
1034
|
+
0, 0
|
1043
1035
|
]
|
1044
1036
|
|
1045
1037
|
class << self
|
@@ -1050,7 +1042,7 @@ self._re_scanner_eof_actions = [
|
|
1050
1042
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1051
1043
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1052
1044
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1053
|
-
0,
|
1045
|
+
0, 0, 0, 11, 11, 11, 11, 0,
|
1054
1046
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1055
1047
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1056
1048
|
0, 0, 0, 0, 0, 0, 0, 0,
|
@@ -1058,15 +1050,15 @@ self._re_scanner_eof_actions = [
|
|
1058
1050
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1059
1051
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1060
1052
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1061
|
-
|
1062
|
-
|
1063
|
-
|
1053
|
+
22, 22, 0, 22, 22, 0, 22, 22,
|
1054
|
+
22, 22, 22, 22, 22, 22, 22, 22,
|
1055
|
+
22, 22, 0, 0, 0, 0, 0, 0,
|
1064
1056
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1065
1057
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1066
|
-
0,
|
1067
|
-
0,
|
1058
|
+
0, 0, 22, 0, 0, 0, 0, 0,
|
1059
|
+
0, 0, 22, 0, 0, 0, 0, 0,
|
1068
1060
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1069
|
-
0
|
1061
|
+
0, 0
|
1070
1062
|
]
|
1071
1063
|
|
1072
1064
|
class << self
|
@@ -1075,25 +1067,25 @@ class << self
|
|
1075
1067
|
end
|
1076
1068
|
self._re_scanner_eof_trans = [
|
1077
1069
|
0, 1, 1, 1, 1, 1, 1, 8,
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
0, 0,
|
1070
|
+
8, 8, 8, 15, 15, 15, 15, 15,
|
1071
|
+
15, 15, 15, 15, 15, 15, 15, 15,
|
1072
|
+
29, 29, 29, 0, 0, 0, 0, 38,
|
1073
|
+
38, 41, 43, 43, 43, 43, 43, 43,
|
1074
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
1075
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
1076
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
1077
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
1078
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
1079
|
+
43, 43, 43, 43, 43, 43, 43, 43,
|
1080
|
+
0, 0, 102, 0, 0, 107, 0, 0,
|
1089
1081
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1090
|
-
0, 0,
|
1091
|
-
|
1092
|
-
|
1093
|
-
0, 0,
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1082
|
+
0, 0, 122, 122, 122, 122, 0, 149,
|
1083
|
+
149, 149, 149, 150, 150, 149, 151, 153,
|
1084
|
+
155, 155, 160, 162, 164, 166, 170, 172,
|
1085
|
+
0, 0, 0, 186, 186, 186, 186, 189,
|
1086
|
+
192, 0, 0, 211, 213, 215, 215, 215,
|
1087
|
+
219, 219, 219, 219, 224, 0, 232, 232,
|
1088
|
+
232, 232
|
1097
1089
|
]
|
1098
1090
|
|
1099
1091
|
class << self
|
@@ -1112,36 +1104,36 @@ self.re_scanner_error = 0;
|
|
1112
1104
|
class << self
|
1113
1105
|
attr_accessor :re_scanner_en_char_type
|
1114
1106
|
end
|
1115
|
-
self.re_scanner_en_char_type =
|
1107
|
+
self.re_scanner_en_char_type = 128;
|
1116
1108
|
class << self
|
1117
1109
|
attr_accessor :re_scanner_en_unicode_property
|
1118
1110
|
end
|
1119
|
-
self.re_scanner_en_unicode_property =
|
1111
|
+
self.re_scanner_en_unicode_property = 129;
|
1120
1112
|
class << self
|
1121
1113
|
attr_accessor :re_scanner_en_character_set
|
1122
1114
|
end
|
1123
|
-
self.re_scanner_en_character_set =
|
1115
|
+
self.re_scanner_en_character_set = 130;
|
1124
1116
|
class << self
|
1125
1117
|
attr_accessor :re_scanner_en_set_escape_sequence
|
1126
1118
|
end
|
1127
|
-
self.re_scanner_en_set_escape_sequence =
|
1119
|
+
self.re_scanner_en_set_escape_sequence = 137;
|
1128
1120
|
class << self
|
1129
1121
|
attr_accessor :re_scanner_en_escape_sequence
|
1130
1122
|
end
|
1131
|
-
self.re_scanner_en_escape_sequence =
|
1123
|
+
self.re_scanner_en_escape_sequence = 138;
|
1132
1124
|
class << self
|
1133
1125
|
attr_accessor :re_scanner_en_conditional_expression
|
1134
1126
|
end
|
1135
|
-
self.re_scanner_en_conditional_expression =
|
1127
|
+
self.re_scanner_en_conditional_expression = 149;
|
1136
1128
|
class << self
|
1137
1129
|
attr_accessor :re_scanner_en_main
|
1138
1130
|
end
|
1139
1131
|
self.re_scanner_en_main = 110;
|
1140
1132
|
|
1141
1133
|
|
1142
|
-
# line
|
1134
|
+
# line 765 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1143
1135
|
|
1144
|
-
# line
|
1136
|
+
# line 1136 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
|
1145
1137
|
begin
|
1146
1138
|
p ||= 0
|
1147
1139
|
pe ||= data.length
|
@@ -1152,9 +1144,9 @@ begin
|
|
1152
1144
|
act = 0
|
1153
1145
|
end
|
1154
1146
|
|
1155
|
-
# line
|
1147
|
+
# line 766 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1156
1148
|
|
1157
|
-
# line
|
1149
|
+
# line 1149 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
|
1158
1150
|
begin
|
1159
1151
|
testEof = false
|
1160
1152
|
_slen, _trans, _keys, _inds, _acts, _nacts = nil
|
@@ -1177,12 +1169,12 @@ begin
|
|
1177
1169
|
end
|
1178
1170
|
if _goto_level <= _resume
|
1179
1171
|
case _re_scanner_from_state_actions[cs]
|
1180
|
-
when
|
1172
|
+
when 32 then
|
1181
1173
|
# line 1 "NONE"
|
1182
1174
|
begin
|
1183
1175
|
ts = p
|
1184
1176
|
end
|
1185
|
-
# line
|
1177
|
+
# line 1177 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
|
1186
1178
|
end
|
1187
1179
|
_keys = cs << 1
|
1188
1180
|
_inds = _re_scanner_index_offsets[cs]
|
@@ -1201,27 +1193,20 @@ ts = p
|
|
1201
1193
|
cs = _re_scanner_trans_targs[_trans]
|
1202
1194
|
if _re_scanner_trans_actions[_trans] != 0
|
1203
1195
|
case _re_scanner_trans_actions[_trans]
|
1204
|
-
when
|
1205
|
-
# line
|
1206
|
-
begin
|
1207
|
-
|
1208
|
-
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
1209
|
-
raise PrematureEndError.new( text )
|
1210
|
-
end
|
1211
|
-
when 36 then
|
1212
|
-
# line 143 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1196
|
+
when 34 then
|
1197
|
+
# line 149 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1213
1198
|
begin
|
1214
1199
|
self.group_depth = group_depth + 1 end
|
1215
|
-
when
|
1216
|
-
# line
|
1200
|
+
when 4 then
|
1201
|
+
# line 150 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1217
1202
|
begin
|
1218
1203
|
self.group_depth = group_depth - 1 end
|
1219
|
-
when
|
1204
|
+
when 38 then
|
1220
1205
|
# line 1 "NONE"
|
1221
1206
|
begin
|
1222
1207
|
te = p+1
|
1223
1208
|
end
|
1224
|
-
when
|
1209
|
+
when 64 then
|
1225
1210
|
# line 12 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/char_type.rl"
|
1226
1211
|
begin
|
1227
1212
|
te = p+1
|
@@ -1247,7 +1232,7 @@ te = p+1
|
|
1247
1232
|
|
1248
1233
|
end
|
1249
1234
|
end
|
1250
|
-
when
|
1235
|
+
when 12 then
|
1251
1236
|
# line 16 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/property.rl"
|
1252
1237
|
begin
|
1253
1238
|
te = p+1
|
@@ -1271,8 +1256,8 @@ te = p+1
|
|
1271
1256
|
|
1272
1257
|
end
|
1273
1258
|
end
|
1274
|
-
when
|
1275
|
-
# line
|
1259
|
+
when 16 then
|
1260
|
+
# line 177 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1276
1261
|
begin
|
1277
1262
|
te = p+1
|
1278
1263
|
begin # special case, emits two tokens
|
@@ -1280,8 +1265,8 @@ te = p+1
|
|
1280
1265
|
emit(:set, :intersection, '&&', ts, te)
|
1281
1266
|
end
|
1282
1267
|
end
|
1283
|
-
when
|
1284
|
-
# line
|
1268
|
+
when 69 then
|
1269
|
+
# line 182 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1285
1270
|
begin
|
1286
1271
|
te = p+1
|
1287
1272
|
begin
|
@@ -1293,39 +1278,39 @@ te = p+1
|
|
1293
1278
|
end
|
1294
1279
|
end
|
1295
1280
|
end
|
1296
|
-
when
|
1297
|
-
# line
|
1281
|
+
when 71 then
|
1282
|
+
# line 203 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1298
1283
|
begin
|
1299
1284
|
te = p+1
|
1300
1285
|
begin
|
1301
1286
|
emit(:set, :intersection, *text(data, ts, te))
|
1302
1287
|
end
|
1303
1288
|
end
|
1304
|
-
when
|
1305
|
-
# line
|
1289
|
+
when 67 then
|
1290
|
+
# line 207 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1306
1291
|
begin
|
1307
1292
|
te = p+1
|
1308
1293
|
begin
|
1309
1294
|
begin
|
1310
1295
|
stack[top] = cs
|
1311
1296
|
top+= 1
|
1312
|
-
cs =
|
1297
|
+
cs = 137
|
1313
1298
|
_goto_level = _again
|
1314
1299
|
next
|
1315
1300
|
end
|
1316
1301
|
|
1317
1302
|
end
|
1318
1303
|
end
|
1319
|
-
when
|
1320
|
-
# line
|
1304
|
+
when 65 then
|
1305
|
+
# line 237 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1321
1306
|
begin
|
1322
1307
|
te = p+1
|
1323
1308
|
begin
|
1324
1309
|
emit(:literal, :literal, *text(data, ts, te))
|
1325
1310
|
end
|
1326
1311
|
end
|
1327
|
-
when
|
1328
|
-
# line
|
1312
|
+
when 14 then
|
1313
|
+
# line 245 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1329
1314
|
begin
|
1330
1315
|
te = p+1
|
1331
1316
|
begin
|
@@ -1334,8 +1319,8 @@ te = p+1
|
|
1334
1319
|
emit(:literal, :literal, char, *rest)
|
1335
1320
|
end
|
1336
1321
|
end
|
1337
|
-
when
|
1338
|
-
# line
|
1322
|
+
when 72 then
|
1323
|
+
# line 191 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1339
1324
|
begin
|
1340
1325
|
te = p
|
1341
1326
|
p = p - 1; begin
|
@@ -1348,8 +1333,8 @@ p = p - 1; begin
|
|
1348
1333
|
end
|
1349
1334
|
end
|
1350
1335
|
end
|
1351
|
-
when
|
1352
|
-
# line
|
1336
|
+
when 75 then
|
1337
|
+
# line 211 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1353
1338
|
begin
|
1354
1339
|
te = p
|
1355
1340
|
p = p - 1; begin
|
@@ -1357,15 +1342,15 @@ p = p - 1; begin
|
|
1357
1342
|
begin
|
1358
1343
|
stack[top] = cs
|
1359
1344
|
top+= 1
|
1360
|
-
cs =
|
1345
|
+
cs = 130
|
1361
1346
|
_goto_level = _again
|
1362
1347
|
next
|
1363
1348
|
end
|
1364
1349
|
|
1365
1350
|
end
|
1366
1351
|
end
|
1367
|
-
when
|
1368
|
-
# line
|
1352
|
+
when 70 then
|
1353
|
+
# line 245 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1369
1354
|
begin
|
1370
1355
|
te = p
|
1371
1356
|
p = p - 1; begin
|
@@ -1374,8 +1359,8 @@ p = p - 1; begin
|
|
1374
1359
|
emit(:literal, :literal, char, *rest)
|
1375
1360
|
end
|
1376
1361
|
end
|
1377
|
-
when
|
1378
|
-
# line
|
1362
|
+
when 15 then
|
1363
|
+
# line 191 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1379
1364
|
begin
|
1380
1365
|
begin p = ((te))-1; end
|
1381
1366
|
begin
|
@@ -1388,8 +1373,8 @@ p = p - 1; begin
|
|
1388
1373
|
end
|
1389
1374
|
end
|
1390
1375
|
end
|
1391
|
-
when
|
1392
|
-
# line
|
1376
|
+
when 18 then
|
1377
|
+
# line 211 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1393
1378
|
begin
|
1394
1379
|
begin p = ((te))-1; end
|
1395
1380
|
begin
|
@@ -1397,15 +1382,15 @@ p = p - 1; begin
|
|
1397
1382
|
begin
|
1398
1383
|
stack[top] = cs
|
1399
1384
|
top+= 1
|
1400
|
-
cs =
|
1385
|
+
cs = 130
|
1401
1386
|
_goto_level = _again
|
1402
1387
|
next
|
1403
1388
|
end
|
1404
1389
|
|
1405
1390
|
end
|
1406
1391
|
end
|
1407
|
-
when
|
1408
|
-
# line
|
1392
|
+
when 13 then
|
1393
|
+
# line 245 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1409
1394
|
begin
|
1410
1395
|
begin p = ((te))-1; end
|
1411
1396
|
begin
|
@@ -1414,8 +1399,8 @@ p = p - 1; begin
|
|
1414
1399
|
emit(:literal, :literal, char, *rest)
|
1415
1400
|
end
|
1416
1401
|
end
|
1417
|
-
when
|
1418
|
-
# line
|
1402
|
+
when 77 then
|
1403
|
+
# line 255 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1419
1404
|
begin
|
1420
1405
|
te = p+1
|
1421
1406
|
begin
|
@@ -1429,25 +1414,25 @@ te = p+1
|
|
1429
1414
|
|
1430
1415
|
end
|
1431
1416
|
end
|
1432
|
-
when
|
1433
|
-
# line
|
1417
|
+
when 76 then
|
1418
|
+
# line 260 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1434
1419
|
begin
|
1435
1420
|
te = p+1
|
1436
1421
|
begin
|
1437
1422
|
p = p - 1;
|
1438
|
-
cs =
|
1423
|
+
cs = 130;
|
1439
1424
|
begin
|
1440
1425
|
stack[top] = cs
|
1441
1426
|
top+= 1
|
1442
|
-
cs =
|
1427
|
+
cs = 138
|
1443
1428
|
_goto_level = _again
|
1444
1429
|
next
|
1445
1430
|
end
|
1446
1431
|
|
1447
1432
|
end
|
1448
1433
|
end
|
1449
|
-
when
|
1450
|
-
# line
|
1434
|
+
when 82 then
|
1435
|
+
# line 271 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1451
1436
|
begin
|
1452
1437
|
te = p+1
|
1453
1438
|
begin
|
@@ -1462,8 +1447,8 @@ te = p+1
|
|
1462
1447
|
|
1463
1448
|
end
|
1464
1449
|
end
|
1465
|
-
when
|
1466
|
-
# line
|
1450
|
+
when 88 then
|
1451
|
+
# line 277 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1467
1452
|
begin
|
1468
1453
|
te = p+1
|
1469
1454
|
begin
|
@@ -1477,8 +1462,8 @@ te = p+1
|
|
1477
1462
|
|
1478
1463
|
end
|
1479
1464
|
end
|
1480
|
-
when
|
1481
|
-
# line
|
1465
|
+
when 79 then
|
1466
|
+
# line 282 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1482
1467
|
begin
|
1483
1468
|
te = p+1
|
1484
1469
|
begin
|
@@ -1508,8 +1493,8 @@ te = p+1
|
|
1508
1493
|
|
1509
1494
|
end
|
1510
1495
|
end
|
1511
|
-
when
|
1512
|
-
# line
|
1496
|
+
when 85 then
|
1497
|
+
# line 303 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1513
1498
|
begin
|
1514
1499
|
te = p+1
|
1515
1500
|
begin
|
@@ -1534,8 +1519,8 @@ te = p+1
|
|
1534
1519
|
|
1535
1520
|
end
|
1536
1521
|
end
|
1537
|
-
when
|
1538
|
-
# line
|
1522
|
+
when 27 then
|
1523
|
+
# line 319 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1539
1524
|
begin
|
1540
1525
|
te = p+1
|
1541
1526
|
begin
|
@@ -1554,8 +1539,8 @@ te = p+1
|
|
1554
1539
|
|
1555
1540
|
end
|
1556
1541
|
end
|
1557
|
-
when
|
1558
|
-
# line
|
1542
|
+
when 95 then
|
1543
|
+
# line 329 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1559
1544
|
begin
|
1560
1545
|
te = p+1
|
1561
1546
|
begin
|
@@ -1569,8 +1554,8 @@ te = p+1
|
|
1569
1554
|
|
1570
1555
|
end
|
1571
1556
|
end
|
1572
|
-
when
|
1573
|
-
# line
|
1557
|
+
when 23 then
|
1558
|
+
# line 338 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1574
1559
|
begin
|
1575
1560
|
te = p+1
|
1576
1561
|
begin
|
@@ -1584,8 +1569,8 @@ te = p+1
|
|
1584
1569
|
|
1585
1570
|
end
|
1586
1571
|
end
|
1587
|
-
when
|
1588
|
-
# line
|
1572
|
+
when 25 then
|
1573
|
+
# line 343 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1589
1574
|
begin
|
1590
1575
|
te = p+1
|
1591
1576
|
begin
|
@@ -1599,42 +1584,42 @@ te = p+1
|
|
1599
1584
|
|
1600
1585
|
end
|
1601
1586
|
end
|
1602
|
-
when
|
1603
|
-
# line
|
1587
|
+
when 83 then
|
1588
|
+
# line 348 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1604
1589
|
begin
|
1605
1590
|
te = p+1
|
1606
1591
|
begin
|
1607
1592
|
p = p - 1;
|
1608
|
-
cs = ((in_set? ?
|
1593
|
+
cs = ((in_set? ? 130 : 110));
|
1609
1594
|
begin
|
1610
1595
|
stack[top] = cs
|
1611
1596
|
top+= 1
|
1612
|
-
cs =
|
1597
|
+
cs = 128
|
1613
1598
|
_goto_level = _again
|
1614
1599
|
next
|
1615
1600
|
end
|
1616
1601
|
|
1617
1602
|
end
|
1618
1603
|
end
|
1619
|
-
when
|
1620
|
-
# line
|
1604
|
+
when 84 then
|
1605
|
+
# line 354 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1621
1606
|
begin
|
1622
1607
|
te = p+1
|
1623
1608
|
begin
|
1624
1609
|
p = p - 1;
|
1625
|
-
cs = ((in_set? ?
|
1610
|
+
cs = ((in_set? ? 130 : 110));
|
1626
1611
|
begin
|
1627
1612
|
stack[top] = cs
|
1628
1613
|
top+= 1
|
1629
|
-
cs =
|
1614
|
+
cs = 129
|
1630
1615
|
_goto_level = _again
|
1631
1616
|
next
|
1632
1617
|
end
|
1633
1618
|
|
1634
1619
|
end
|
1635
1620
|
end
|
1636
|
-
when
|
1637
|
-
# line
|
1621
|
+
when 78 then
|
1622
|
+
# line 360 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1638
1623
|
begin
|
1639
1624
|
te = p+1
|
1640
1625
|
begin
|
@@ -1648,8 +1633,8 @@ te = p+1
|
|
1648
1633
|
|
1649
1634
|
end
|
1650
1635
|
end
|
1651
|
-
when
|
1652
|
-
# line
|
1636
|
+
when 87 then
|
1637
|
+
# line 277 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1653
1638
|
begin
|
1654
1639
|
te = p
|
1655
1640
|
p = p - 1; begin
|
@@ -1663,8 +1648,8 @@ p = p - 1; begin
|
|
1663
1648
|
|
1664
1649
|
end
|
1665
1650
|
end
|
1666
|
-
when
|
1667
|
-
# line
|
1651
|
+
when 94 then
|
1652
|
+
# line 329 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1668
1653
|
begin
|
1669
1654
|
te = p
|
1670
1655
|
p = p - 1; begin
|
@@ -1678,8 +1663,8 @@ p = p - 1; begin
|
|
1678
1663
|
|
1679
1664
|
end
|
1680
1665
|
end
|
1681
|
-
when
|
1682
|
-
# line
|
1666
|
+
when 90 then
|
1667
|
+
# line 338 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1683
1668
|
begin
|
1684
1669
|
te = p
|
1685
1670
|
p = p - 1; begin
|
@@ -1693,8 +1678,8 @@ p = p - 1; begin
|
|
1693
1678
|
|
1694
1679
|
end
|
1695
1680
|
end
|
1696
|
-
when
|
1697
|
-
# line
|
1681
|
+
when 92 then
|
1682
|
+
# line 343 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1698
1683
|
begin
|
1699
1684
|
te = p
|
1700
1685
|
p = p - 1; begin
|
@@ -1708,7 +1693,7 @@ p = p - 1; begin
|
|
1708
1693
|
|
1709
1694
|
end
|
1710
1695
|
end
|
1711
|
-
when
|
1696
|
+
when 86 then
|
1712
1697
|
# line 1 "NONE"
|
1713
1698
|
begin
|
1714
1699
|
case act
|
@@ -1739,8 +1724,8 @@ p = p - 1; begin
|
|
1739
1724
|
end
|
1740
1725
|
end
|
1741
1726
|
end
|
1742
|
-
when
|
1743
|
-
# line
|
1727
|
+
when 30 then
|
1728
|
+
# line 370 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1744
1729
|
begin
|
1745
1730
|
te = p+1
|
1746
1731
|
begin
|
@@ -1749,8 +1734,8 @@ te = p+1
|
|
1749
1734
|
emit(:conditional, :condition_close, ')', te-1, te)
|
1750
1735
|
end
|
1751
1736
|
end
|
1752
|
-
when
|
1753
|
-
# line
|
1737
|
+
when 96 then
|
1738
|
+
# line 376 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1754
1739
|
begin
|
1755
1740
|
te = p+1
|
1756
1741
|
begin
|
@@ -1765,8 +1750,8 @@ te = p+1
|
|
1765
1750
|
|
1766
1751
|
end
|
1767
1752
|
end
|
1768
|
-
when
|
1769
|
-
# line
|
1753
|
+
when 97 then
|
1754
|
+
# line 376 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1770
1755
|
begin
|
1771
1756
|
te = p
|
1772
1757
|
p = p - 1; begin
|
@@ -1781,8 +1766,8 @@ p = p - 1; begin
|
|
1781
1766
|
|
1782
1767
|
end
|
1783
1768
|
end
|
1784
|
-
when
|
1785
|
-
# line
|
1769
|
+
when 29 then
|
1770
|
+
# line 376 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1786
1771
|
begin
|
1787
1772
|
begin p = ((te))-1; end
|
1788
1773
|
begin
|
@@ -1797,8 +1782,8 @@ p = p - 1; begin
|
|
1797
1782
|
|
1798
1783
|
end
|
1799
1784
|
end
|
1800
|
-
when
|
1801
|
-
# line
|
1785
|
+
when 36 then
|
1786
|
+
# line 389 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1802
1787
|
begin
|
1803
1788
|
te = p+1
|
1804
1789
|
begin
|
@@ -1806,7 +1791,7 @@ te = p+1
|
|
1806
1791
|
end
|
1807
1792
|
end
|
1808
1793
|
when 41 then
|
1809
|
-
# line
|
1794
|
+
# line 393 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1810
1795
|
begin
|
1811
1796
|
te = p+1
|
1812
1797
|
begin
|
@@ -1818,31 +1803,31 @@ te = p+1
|
|
1818
1803
|
end
|
1819
1804
|
end
|
1820
1805
|
when 40 then
|
1821
|
-
# line
|
1806
|
+
# line 403 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1822
1807
|
begin
|
1823
1808
|
te = p+1
|
1824
1809
|
begin
|
1825
1810
|
emit(:anchor, :bol, *text(data, ts, te))
|
1826
1811
|
end
|
1827
1812
|
end
|
1828
|
-
when
|
1829
|
-
# line
|
1813
|
+
when 33 then
|
1814
|
+
# line 407 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1830
1815
|
begin
|
1831
1816
|
te = p+1
|
1832
1817
|
begin
|
1833
1818
|
emit(:anchor, :eol, *text(data, ts, te))
|
1834
1819
|
end
|
1835
1820
|
end
|
1836
|
-
when
|
1837
|
-
# line
|
1821
|
+
when 59 then
|
1822
|
+
# line 411 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1838
1823
|
begin
|
1839
1824
|
te = p+1
|
1840
1825
|
begin
|
1841
1826
|
emit(:keep, :mark, *text(data, ts, te))
|
1842
1827
|
end
|
1843
1828
|
end
|
1844
|
-
when
|
1845
|
-
# line
|
1829
|
+
when 58 then
|
1830
|
+
# line 415 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1846
1831
|
begin
|
1847
1832
|
te = p+1
|
1848
1833
|
begin
|
@@ -1856,8 +1841,16 @@ te = p+1
|
|
1856
1841
|
end
|
1857
1842
|
end
|
1858
1843
|
end
|
1859
|
-
when
|
1860
|
-
# line
|
1844
|
+
when 39 then
|
1845
|
+
# line 426 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1846
|
+
begin
|
1847
|
+
te = p+1
|
1848
|
+
begin
|
1849
|
+
append_literal(data, ts, te)
|
1850
|
+
end
|
1851
|
+
end
|
1852
|
+
when 49 then
|
1853
|
+
# line 441 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1861
1854
|
begin
|
1862
1855
|
te = p+1
|
1863
1856
|
begin
|
@@ -1870,15 +1863,15 @@ te = p+1
|
|
1870
1863
|
begin
|
1871
1864
|
stack[top] = cs
|
1872
1865
|
top+= 1
|
1873
|
-
cs =
|
1866
|
+
cs = 149
|
1874
1867
|
_goto_level = _again
|
1875
1868
|
next
|
1876
1869
|
end
|
1877
1870
|
|
1878
1871
|
end
|
1879
1872
|
end
|
1880
|
-
when
|
1881
|
-
# line
|
1873
|
+
when 50 then
|
1874
|
+
# line 472 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1882
1875
|
begin
|
1883
1876
|
te = p+1
|
1884
1877
|
begin
|
@@ -1889,8 +1882,8 @@ te = p+1
|
|
1889
1882
|
emit_options(text, ts, te)
|
1890
1883
|
end
|
1891
1884
|
end
|
1892
|
-
when
|
1893
|
-
# line
|
1885
|
+
when 7 then
|
1886
|
+
# line 486 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1894
1887
|
begin
|
1895
1888
|
te = p+1
|
1896
1889
|
begin
|
@@ -1902,8 +1895,8 @@ te = p+1
|
|
1902
1895
|
end
|
1903
1896
|
end
|
1904
1897
|
end
|
1905
|
-
when
|
1906
|
-
# line
|
1898
|
+
when 6 then
|
1899
|
+
# line 503 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1907
1900
|
begin
|
1908
1901
|
te = p+1
|
1909
1902
|
begin
|
@@ -1924,8 +1917,8 @@ te = p+1
|
|
1924
1917
|
end
|
1925
1918
|
end
|
1926
1919
|
end
|
1927
|
-
when
|
1928
|
-
# line
|
1920
|
+
when 9 then
|
1921
|
+
# line 544 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1929
1922
|
begin
|
1930
1923
|
te = p+1
|
1931
1924
|
begin
|
@@ -1990,8 +1983,8 @@ te = p+1
|
|
1990
1983
|
end
|
1991
1984
|
end
|
1992
1985
|
end
|
1993
|
-
when
|
1994
|
-
# line
|
1986
|
+
when 56 then
|
1987
|
+
# line 609 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
1995
1988
|
begin
|
1996
1989
|
te = p+1
|
1997
1990
|
begin
|
@@ -2002,8 +1995,8 @@ te = p+1
|
|
2002
1995
|
end
|
2003
1996
|
end
|
2004
1997
|
end
|
2005
|
-
when
|
2006
|
-
# line
|
1998
|
+
when 52 then
|
1999
|
+
# line 617 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2007
2000
|
begin
|
2008
2001
|
te = p+1
|
2009
2002
|
begin
|
@@ -2014,8 +2007,8 @@ te = p+1
|
|
2014
2007
|
end
|
2015
2008
|
end
|
2016
2009
|
end
|
2017
|
-
when
|
2018
|
-
# line
|
2010
|
+
when 54 then
|
2011
|
+
# line 625 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2019
2012
|
begin
|
2020
2013
|
te = p+1
|
2021
2014
|
begin
|
@@ -2026,28 +2019,31 @@ te = p+1
|
|
2026
2019
|
end
|
2027
2020
|
end
|
2028
2021
|
end
|
2029
|
-
when
|
2030
|
-
# line
|
2022
|
+
when 62 then
|
2023
|
+
# line 633 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2031
2024
|
begin
|
2032
2025
|
te = p+1
|
2033
2026
|
begin
|
2034
2027
|
emit(:quantifier, :interval, *text(data, ts, te))
|
2035
2028
|
end
|
2036
2029
|
end
|
2037
|
-
when
|
2038
|
-
# line
|
2030
|
+
when 45 then
|
2031
|
+
# line 648 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2039
2032
|
begin
|
2040
2033
|
te = p+1
|
2041
2034
|
begin
|
2042
2035
|
if free_spacing
|
2043
2036
|
emit(:free_space, :comment, *text(data, ts, te))
|
2044
2037
|
else
|
2045
|
-
|
2038
|
+
# consume only the pound sign (#) and backtrack to do regular scanning
|
2039
|
+
append_literal(data, ts, ts + 1)
|
2040
|
+
begin p = (( ts + 1))-1; end
|
2041
|
+
|
2046
2042
|
end
|
2047
2043
|
end
|
2048
2044
|
end
|
2049
|
-
when
|
2050
|
-
# line
|
2045
|
+
when 48 then
|
2046
|
+
# line 472 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2051
2047
|
begin
|
2052
2048
|
te = p
|
2053
2049
|
p = p - 1; begin
|
@@ -2058,8 +2054,8 @@ p = p - 1; begin
|
|
2058
2054
|
emit_options(text, ts, te)
|
2059
2055
|
end
|
2060
2056
|
end
|
2061
|
-
when
|
2062
|
-
# line
|
2057
|
+
when 46 then
|
2058
|
+
# line 521 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2063
2059
|
begin
|
2064
2060
|
te = p
|
2065
2061
|
p = p - 1; begin
|
@@ -2067,8 +2063,8 @@ p = p - 1; begin
|
|
2067
2063
|
emit(:group, :capture, text, ts, te)
|
2068
2064
|
end
|
2069
2065
|
end
|
2070
|
-
when
|
2071
|
-
# line
|
2066
|
+
when 55 then
|
2067
|
+
# line 609 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2072
2068
|
begin
|
2073
2069
|
te = p
|
2074
2070
|
p = p - 1; begin
|
@@ -2079,8 +2075,8 @@ p = p - 1; begin
|
|
2079
2075
|
end
|
2080
2076
|
end
|
2081
2077
|
end
|
2082
|
-
when
|
2083
|
-
# line
|
2078
|
+
when 51 then
|
2079
|
+
# line 617 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2084
2080
|
begin
|
2085
2081
|
te = p
|
2086
2082
|
p = p - 1; begin
|
@@ -2091,8 +2087,8 @@ p = p - 1; begin
|
|
2091
2087
|
end
|
2092
2088
|
end
|
2093
2089
|
end
|
2094
|
-
when
|
2095
|
-
# line
|
2090
|
+
when 53 then
|
2091
|
+
# line 625 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2096
2092
|
begin
|
2097
2093
|
te = p
|
2098
2094
|
p = p - 1; begin
|
@@ -2103,31 +2099,54 @@ p = p - 1; begin
|
|
2103
2099
|
end
|
2104
2100
|
end
|
2105
2101
|
end
|
2106
|
-
when
|
2107
|
-
# line
|
2102
|
+
when 61 then
|
2103
|
+
# line 633 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2108
2104
|
begin
|
2109
2105
|
te = p
|
2110
2106
|
p = p - 1; begin
|
2111
2107
|
emit(:quantifier, :interval, *text(data, ts, te))
|
2112
2108
|
end
|
2113
2109
|
end
|
2114
|
-
when
|
2115
|
-
# line
|
2110
|
+
when 60 then
|
2111
|
+
# line 638 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2112
|
+
begin
|
2113
|
+
te = p
|
2114
|
+
p = p - 1; begin
|
2115
|
+
append_literal(data, ts, te)
|
2116
|
+
end
|
2117
|
+
end
|
2118
|
+
when 57 then
|
2119
|
+
# line 644 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2116
2120
|
begin
|
2117
2121
|
te = p
|
2118
2122
|
p = p - 1; begin
|
2119
2123
|
begin
|
2120
2124
|
stack[top] = cs
|
2121
2125
|
top+= 1
|
2122
|
-
cs =
|
2126
|
+
cs = 138
|
2123
2127
|
_goto_level = _again
|
2124
2128
|
next
|
2125
2129
|
end
|
2126
2130
|
|
2131
|
+
end
|
2132
|
+
end
|
2133
|
+
when 44 then
|
2134
|
+
# line 648 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2135
|
+
begin
|
2136
|
+
te = p
|
2137
|
+
p = p - 1; begin
|
2138
|
+
if free_spacing
|
2139
|
+
emit(:free_space, :comment, *text(data, ts, te))
|
2140
|
+
else
|
2141
|
+
# consume only the pound sign (#) and backtrack to do regular scanning
|
2142
|
+
append_literal(data, ts, ts + 1)
|
2143
|
+
begin p = (( ts + 1))-1; end
|
2144
|
+
|
2145
|
+
end
|
2127
2146
|
end
|
2128
2147
|
end
|
2129
2148
|
when 43 then
|
2130
|
-
# line
|
2149
|
+
# line 658 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2131
2150
|
begin
|
2132
2151
|
te = p
|
2133
2152
|
p = p - 1; begin
|
@@ -2139,15 +2158,15 @@ p = p - 1; begin
|
|
2139
2158
|
end
|
2140
2159
|
end
|
2141
2160
|
when 42 then
|
2142
|
-
# line
|
2161
|
+
# line 673 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2143
2162
|
begin
|
2144
2163
|
te = p
|
2145
2164
|
p = p - 1; begin
|
2146
2165
|
append_literal(data, ts, te)
|
2147
2166
|
end
|
2148
2167
|
end
|
2149
|
-
when
|
2150
|
-
# line
|
2168
|
+
when 3 then
|
2169
|
+
# line 472 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2151
2170
|
begin
|
2152
2171
|
begin p = ((te))-1; end
|
2153
2172
|
begin
|
@@ -2159,26 +2178,26 @@ p = p - 1; begin
|
|
2159
2178
|
end
|
2160
2179
|
end
|
2161
2180
|
when 10 then
|
2162
|
-
# line
|
2181
|
+
# line 638 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2182
|
+
begin
|
2183
|
+
begin p = ((te))-1; end
|
2184
|
+
begin
|
2185
|
+
append_literal(data, ts, te)
|
2186
|
+
end
|
2187
|
+
end
|
2188
|
+
when 8 then
|
2189
|
+
# line 644 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2163
2190
|
begin
|
2164
2191
|
begin p = ((te))-1; end
|
2165
2192
|
begin
|
2166
2193
|
begin
|
2167
2194
|
stack[top] = cs
|
2168
2195
|
top+= 1
|
2169
|
-
cs =
|
2196
|
+
cs = 138
|
2170
2197
|
_goto_level = _again
|
2171
2198
|
next
|
2172
2199
|
end
|
2173
2200
|
|
2174
|
-
end
|
2175
|
-
end
|
2176
|
-
when 3 then
|
2177
|
-
# line 656 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2178
|
-
begin
|
2179
|
-
begin p = ((te))-1; end
|
2180
|
-
begin
|
2181
|
-
append_literal(data, ts, te)
|
2182
2201
|
end
|
2183
2202
|
end
|
2184
2203
|
when 1 then
|
@@ -2192,21 +2211,21 @@ p = p - 1; begin
|
|
2192
2211
|
next
|
2193
2212
|
end
|
2194
2213
|
end
|
2195
|
-
when
|
2214
|
+
when 56 then
|
2196
2215
|
begin begin p = ((te))-1; end
|
2197
2216
|
|
2198
2217
|
append_literal(data, ts, te)
|
2199
2218
|
end
|
2200
2219
|
end
|
2201
2220
|
end
|
2202
|
-
when
|
2203
|
-
# line
|
2221
|
+
when 74 then
|
2222
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2204
2223
|
begin
|
2205
2224
|
|
2206
2225
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2207
2226
|
raise PrematureEndError.new( text )
|
2208
2227
|
end
|
2209
|
-
# line
|
2228
|
+
# line 211 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2210
2229
|
begin
|
2211
2230
|
te = p
|
2212
2231
|
p = p - 1; begin
|
@@ -2214,21 +2233,21 @@ p = p - 1; begin
|
|
2214
2233
|
begin
|
2215
2234
|
stack[top] = cs
|
2216
2235
|
top+= 1
|
2217
|
-
cs =
|
2236
|
+
cs = 130
|
2218
2237
|
_goto_level = _again
|
2219
2238
|
next
|
2220
2239
|
end
|
2221
2240
|
|
2222
2241
|
end
|
2223
2242
|
end
|
2224
|
-
when
|
2225
|
-
# line
|
2243
|
+
when 17 then
|
2244
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2226
2245
|
begin
|
2227
2246
|
|
2228
2247
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2229
2248
|
raise PrematureEndError.new( text )
|
2230
2249
|
end
|
2231
|
-
# line
|
2250
|
+
# line 211 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2232
2251
|
begin
|
2233
2252
|
begin p = ((te))-1; end
|
2234
2253
|
begin
|
@@ -2236,21 +2255,21 @@ p = p - 1; begin
|
|
2236
2255
|
begin
|
2237
2256
|
stack[top] = cs
|
2238
2257
|
top+= 1
|
2239
|
-
cs =
|
2258
|
+
cs = 130
|
2240
2259
|
_goto_level = _again
|
2241
2260
|
next
|
2242
2261
|
end
|
2243
2262
|
|
2244
2263
|
end
|
2245
2264
|
end
|
2246
|
-
when
|
2247
|
-
# line
|
2265
|
+
when 93 then
|
2266
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2248
2267
|
begin
|
2249
2268
|
|
2250
2269
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2251
2270
|
raise PrematureEndError.new( text )
|
2252
2271
|
end
|
2253
|
-
# line
|
2272
|
+
# line 329 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2254
2273
|
begin
|
2255
2274
|
te = p
|
2256
2275
|
p = p - 1; begin
|
@@ -2264,14 +2283,14 @@ p = p - 1; begin
|
|
2264
2283
|
|
2265
2284
|
end
|
2266
2285
|
end
|
2267
|
-
when
|
2268
|
-
# line
|
2286
|
+
when 89 then
|
2287
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2269
2288
|
begin
|
2270
2289
|
|
2271
2290
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2272
2291
|
raise PrematureEndError.new( text )
|
2273
2292
|
end
|
2274
|
-
# line
|
2293
|
+
# line 338 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2275
2294
|
begin
|
2276
2295
|
te = p
|
2277
2296
|
p = p - 1; begin
|
@@ -2285,14 +2304,14 @@ p = p - 1; begin
|
|
2285
2304
|
|
2286
2305
|
end
|
2287
2306
|
end
|
2288
|
-
when
|
2289
|
-
# line
|
2307
|
+
when 91 then
|
2308
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2290
2309
|
begin
|
2291
2310
|
|
2292
2311
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2293
2312
|
raise PrematureEndError.new( text )
|
2294
2313
|
end
|
2295
|
-
# line
|
2314
|
+
# line 343 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2296
2315
|
begin
|
2297
2316
|
te = p
|
2298
2317
|
p = p - 1; begin
|
@@ -2306,14 +2325,14 @@ p = p - 1; begin
|
|
2306
2325
|
|
2307
2326
|
end
|
2308
2327
|
end
|
2309
|
-
when
|
2310
|
-
# line
|
2328
|
+
when 24 then
|
2329
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2311
2330
|
begin
|
2312
2331
|
|
2313
2332
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2314
2333
|
raise PrematureEndError.new( text )
|
2315
2334
|
end
|
2316
|
-
# line
|
2335
|
+
# line 338 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2317
2336
|
begin
|
2318
2337
|
begin p = ((te))-1; end
|
2319
2338
|
begin
|
@@ -2327,14 +2346,14 @@ p = p - 1; begin
|
|
2327
2346
|
|
2328
2347
|
end
|
2329
2348
|
end
|
2330
|
-
when
|
2331
|
-
# line
|
2349
|
+
when 26 then
|
2350
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2332
2351
|
begin
|
2333
2352
|
|
2334
2353
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2335
2354
|
raise PrematureEndError.new( text )
|
2336
2355
|
end
|
2337
|
-
# line
|
2356
|
+
# line 343 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2338
2357
|
begin
|
2339
2358
|
begin p = ((te))-1; end
|
2340
2359
|
begin
|
@@ -2348,14 +2367,14 @@ p = p - 1; begin
|
|
2348
2367
|
|
2349
2368
|
end
|
2350
2369
|
end
|
2351
|
-
when
|
2352
|
-
# line
|
2370
|
+
when 28 then
|
2371
|
+
# line 143 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2353
2372
|
begin
|
2354
2373
|
|
2355
2374
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2356
2375
|
validation_error(:sequence, 'sequence', text)
|
2357
2376
|
end
|
2358
|
-
# line
|
2377
|
+
# line 334 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2359
2378
|
begin
|
2360
2379
|
te = p+1
|
2361
2380
|
begin
|
@@ -2368,22 +2387,22 @@ te = p+1
|
|
2368
2387
|
|
2369
2388
|
end
|
2370
2389
|
end
|
2371
|
-
when
|
2372
|
-
# line
|
2390
|
+
when 5 then
|
2391
|
+
# line 150 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2373
2392
|
begin
|
2374
2393
|
self.group_depth = group_depth - 1 end
|
2375
|
-
# line
|
2394
|
+
# line 457 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2376
2395
|
begin
|
2377
2396
|
te = p+1
|
2378
2397
|
begin
|
2379
2398
|
emit(:group, :comment, *text(data, ts, te))
|
2380
2399
|
end
|
2381
2400
|
end
|
2382
|
-
when
|
2383
|
-
# line
|
2401
|
+
when 35 then
|
2402
|
+
# line 150 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2384
2403
|
begin
|
2385
2404
|
self.group_depth = group_depth - 1 end
|
2386
|
-
# line
|
2405
|
+
# line 526 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2387
2406
|
begin
|
2388
2407
|
te = p+1
|
2389
2408
|
begin
|
@@ -2401,11 +2420,11 @@ te = p+1
|
|
2401
2420
|
end
|
2402
2421
|
end
|
2403
2422
|
end
|
2404
|
-
when
|
2405
|
-
# line
|
2423
|
+
when 37 then
|
2424
|
+
# line 151 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2406
2425
|
begin
|
2407
2426
|
self.set_depth = set_depth + 1 end
|
2408
|
-
# line
|
2427
|
+
# line 432 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2409
2428
|
begin
|
2410
2429
|
te = p+1
|
2411
2430
|
begin
|
@@ -2413,18 +2432,18 @@ te = p+1
|
|
2413
2432
|
begin
|
2414
2433
|
stack[top] = cs
|
2415
2434
|
top+= 1
|
2416
|
-
cs =
|
2435
|
+
cs = 130
|
2417
2436
|
_goto_level = _again
|
2418
2437
|
next
|
2419
2438
|
end
|
2420
2439
|
|
2421
2440
|
end
|
2422
2441
|
end
|
2423
|
-
when
|
2424
|
-
# line
|
2442
|
+
when 68 then
|
2443
|
+
# line 152 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2425
2444
|
begin
|
2426
2445
|
self.set_depth = set_depth - 1 end
|
2427
|
-
# line
|
2446
|
+
# line 158 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2428
2447
|
begin
|
2429
2448
|
te = p+1
|
2430
2449
|
begin
|
@@ -2447,11 +2466,11 @@ te = p+1
|
|
2447
2466
|
end
|
2448
2467
|
end
|
2449
2468
|
end
|
2450
|
-
when
|
2451
|
-
# line
|
2469
|
+
when 73 then
|
2470
|
+
# line 152 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2452
2471
|
begin
|
2453
2472
|
self.set_depth = set_depth - 1 end
|
2454
|
-
# line
|
2473
|
+
# line 167 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2455
2474
|
begin
|
2456
2475
|
te = p+1
|
2457
2476
|
begin # special case, emits two tokens
|
@@ -2475,11 +2494,11 @@ te = p+1
|
|
2475
2494
|
end
|
2476
2495
|
end
|
2477
2496
|
end
|
2478
|
-
when
|
2479
|
-
# line
|
2497
|
+
when 20 then
|
2498
|
+
# line 152 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2480
2499
|
begin
|
2481
2500
|
self.set_depth = set_depth - 1 end
|
2482
|
-
# line
|
2501
|
+
# line 216 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2483
2502
|
begin
|
2484
2503
|
te = p+1
|
2485
2504
|
begin
|
@@ -2495,50 +2514,50 @@ te = p+1
|
|
2495
2514
|
emit(type, class_name.to_sym, text, ts, te)
|
2496
2515
|
end
|
2497
2516
|
end
|
2498
|
-
when
|
2499
|
-
# line
|
2517
|
+
when 19 then
|
2518
|
+
# line 152 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2500
2519
|
begin
|
2501
2520
|
self.set_depth = set_depth - 1 end
|
2502
|
-
# line
|
2521
|
+
# line 229 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2503
2522
|
begin
|
2504
2523
|
te = p+1
|
2505
2524
|
begin
|
2506
2525
|
emit(:set, :collation, *text(data, ts, te))
|
2507
2526
|
end
|
2508
2527
|
end
|
2509
|
-
when
|
2510
|
-
# line
|
2528
|
+
when 21 then
|
2529
|
+
# line 152 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2511
2530
|
begin
|
2512
2531
|
self.set_depth = set_depth - 1 end
|
2513
|
-
# line
|
2532
|
+
# line 233 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2514
2533
|
begin
|
2515
2534
|
te = p+1
|
2516
2535
|
begin
|
2517
2536
|
emit(:set, :equivalent, *text(data, ts, te))
|
2518
2537
|
end
|
2519
2538
|
end
|
2520
|
-
when
|
2539
|
+
when 66 then
|
2521
2540
|
# line 1 "NONE"
|
2522
2541
|
begin
|
2523
2542
|
te = p+1
|
2524
2543
|
end
|
2525
|
-
# line
|
2544
|
+
# line 151 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2526
2545
|
begin
|
2527
2546
|
self.set_depth = set_depth + 1 end
|
2528
|
-
when
|
2547
|
+
when 81 then
|
2529
2548
|
# line 1 "NONE"
|
2530
2549
|
begin
|
2531
2550
|
te = p+1
|
2532
2551
|
end
|
2533
|
-
# line
|
2552
|
+
# line 271 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2534
2553
|
begin
|
2535
2554
|
act = 18; end
|
2536
|
-
when
|
2555
|
+
when 80 then
|
2537
2556
|
# line 1 "NONE"
|
2538
2557
|
begin
|
2539
2558
|
te = p+1
|
2540
2559
|
end
|
2541
|
-
# line
|
2560
|
+
# line 277 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2542
2561
|
begin
|
2543
2562
|
act = 19; end
|
2544
2563
|
when 2 then
|
@@ -2546,31 +2565,31 @@ act = 19; end
|
|
2546
2565
|
begin
|
2547
2566
|
te = p+1
|
2548
2567
|
end
|
2549
|
-
# line
|
2568
|
+
# line 673 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2550
2569
|
begin
|
2551
|
-
act =
|
2552
|
-
when
|
2570
|
+
act = 56; end
|
2571
|
+
when 47 then
|
2553
2572
|
# line 1 "NONE"
|
2554
2573
|
begin
|
2555
2574
|
te = p+1
|
2556
2575
|
end
|
2557
|
-
# line
|
2576
|
+
# line 150 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2558
2577
|
begin
|
2559
2578
|
self.group_depth = group_depth - 1 end
|
2560
|
-
# line
|
2579
|
+
# line 149 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2561
2580
|
begin
|
2562
2581
|
self.group_depth = group_depth + 1 end
|
2563
|
-
# line
|
2582
|
+
# line 2582 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
|
2564
2583
|
end
|
2565
2584
|
end
|
2566
2585
|
end
|
2567
2586
|
if _goto_level <= _again
|
2568
2587
|
case _re_scanner_to_state_actions[cs]
|
2569
|
-
when
|
2588
|
+
when 63 then
|
2570
2589
|
# line 1 "NONE"
|
2571
2590
|
begin
|
2572
2591
|
ts = nil; end
|
2573
|
-
when
|
2592
|
+
when 31 then
|
2574
2593
|
# line 1 "NONE"
|
2575
2594
|
begin
|
2576
2595
|
ts = nil; end
|
@@ -2578,7 +2597,7 @@ ts = nil; end
|
|
2578
2597
|
begin
|
2579
2598
|
act = 0
|
2580
2599
|
end
|
2581
|
-
# line
|
2600
|
+
# line 2600 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
|
2582
2601
|
end
|
2583
2602
|
|
2584
2603
|
if cs == 0
|
@@ -2599,20 +2618,20 @@ act = 0
|
|
2599
2618
|
next;
|
2600
2619
|
end
|
2601
2620
|
case _re_scanner_eof_actions[cs]
|
2602
|
-
when
|
2621
|
+
when 11 then
|
2603
2622
|
# line 8 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/property.rl"
|
2604
2623
|
begin
|
2605
2624
|
|
2606
2625
|
raise PrematureEndError.new('unicode property')
|
2607
2626
|
end
|
2608
|
-
when
|
2609
|
-
# line
|
2627
|
+
when 22 then
|
2628
|
+
# line 137 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2610
2629
|
begin
|
2611
2630
|
|
2612
2631
|
text = ts ? copy(data, ts-1..-1) : data.pack('c*')
|
2613
2632
|
raise PrematureEndError.new( text )
|
2614
2633
|
end
|
2615
|
-
# line
|
2634
|
+
# line 2634 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner.rb"
|
2616
2635
|
end
|
2617
2636
|
end
|
2618
2637
|
|
@@ -2623,7 +2642,7 @@ act = 0
|
|
2623
2642
|
end
|
2624
2643
|
end
|
2625
2644
|
|
2626
|
-
# line
|
2645
|
+
# line 767 "/Users/jannoschmuller/code/regexp_parser/lib/regexp_parser/scanner/scanner.rl"
|
2627
2646
|
|
2628
2647
|
# to avoid "warning: assigned but unused variable - testEof"
|
2629
2648
|
testEof = testEof
|
@@ -2674,6 +2693,18 @@ end
|
|
2674
2693
|
attr_accessor :tokens, :literal, :block, :free_spacing, :spacing_stack,
|
2675
2694
|
:group_depth, :set_depth, :conditional_stack
|
2676
2695
|
|
2696
|
+
def free_spacing?(input_object, options)
|
2697
|
+
if options && !input_object.is_a?(String)
|
2698
|
+
raise ArgumentError, 'options cannot be supplied unless scanning a String'
|
2699
|
+
end
|
2700
|
+
|
2701
|
+
options = input_object.options if input_object.is_a?(::Regexp)
|
2702
|
+
|
2703
|
+
return false unless options
|
2704
|
+
|
2705
|
+
options & Regexp::EXTENDED != 0
|
2706
|
+
end
|
2707
|
+
|
2677
2708
|
def in_group?
|
2678
2709
|
group_depth > 0
|
2679
2710
|
end
|