radius-ts 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,4 +1,8 @@
1
1
  = Change Log
2
+ === 1.1.0-ts
3
+ * Allow switching scanners that tokenize templates.
4
+ * Include SquiggleScanner to parse tags that look like "{ hello /}"
5
+
2
6
  === 1.0.0-ts
3
7
  * Create a fork that is threadsafe (per-parser).
4
8
  * Bump revision to 1.0.0 since the API is stable
@@ -9,8 +9,9 @@ lib/radius/delegating_open_struct.rb
9
9
  lib/radius/error.rb
10
10
  lib/radius/parse_tag.rb
11
11
  lib/radius/parser.rb
12
- lib/radius/parser/scan.rb
13
- lib/radius/parser/scan.rl
12
+ lib/radius/parser/scanner.rb
13
+ lib/radius/parser/squiggle_scanner.rb
14
+ lib/radius/parser/scanner.rl
14
15
  lib/radius/tag_binding.rb
15
16
  lib/radius/tag_definitions.rb
16
17
  lib/radius/utility.rb
@@ -18,4 +19,4 @@ lib/radius/version.rb
18
19
  tasks/scan.rake
19
20
  test/context_test.rb
20
21
  test/parser_test.rb
21
- test/test_helper.rb
22
+ test/test_helper.rb
@@ -5,6 +5,6 @@ require 'radius/delegating_open_struct'
5
5
  require 'radius/tag_binding'
6
6
  require 'radius/context'
7
7
  require 'radius/parse_tag'
8
- require 'radius/parser/scan'
8
+ require 'radius/parser/scanner'
9
9
  require 'radius/parser'
10
- require 'radius/utility'
10
+ require 'radius/utility'
@@ -11,6 +11,9 @@ module Radius
11
11
  # The string that prefixes all tags that are expanded by a parser
12
12
  # (the part in the tag name before the first colon).
13
13
  attr_accessor :tag_prefix
14
+
15
+ # The class that performs tokenization of the input string
16
+ attr_accessor :scanner
14
17
 
15
18
  # Creates a new parser object initialized with a Context.
16
19
  def initialize(context = Context.new, options = {})
@@ -20,6 +23,7 @@ module Radius
20
23
  options = Utility.symbolize_keys(options)
21
24
  self.context = context ? context.dup : Context.new
22
25
  self.tag_prefix = options[:tag_prefix] || 'radius'
26
+ self.scanner = options[:scanner] || Radius::Scanner.new
23
27
  end
24
28
 
25
29
  # Parses string for tags, expands them, and returns the result.
@@ -33,7 +37,7 @@ module Radius
33
37
  protected
34
38
  # Convert the string into a list of text blocks and scanners (tokens)
35
39
  def tokenize(string)
36
- @tokens = Scanner.new.operate(tag_prefix, string)
40
+ @tokens = scanner.operate(tag_prefix, string)
37
41
  end
38
42
 
39
43
  def stack_up
@@ -0,0 +1,1180 @@
1
+
2
+ # line 1 "squiggle_scanner.rl"
3
+
4
+ # line 85 "squiggle_scanner.rl"
5
+
6
+
7
+ module Radius
8
+ class SquiggleScanner
9
+ def operate(prefix, data)
10
+ buf = ""
11
+ csel = ""
12
+ @prematch = ''
13
+ @starttag = nil
14
+ @attrs = {}
15
+ @flavor = :tasteless
16
+ @cursor = 0
17
+ @tagstart = 0
18
+ @nodes = ['']
19
+ remainder = data.dup
20
+
21
+ until remainder.length == 0
22
+ p = perform_parse(prefix, remainder)
23
+ remainder = remainder[p..-1]
24
+ end
25
+
26
+ return @nodes
27
+ end
28
+
29
+ private
30
+ def perform_parse(prefix, data)
31
+ stack = []
32
+ p = 0
33
+ ts = 0
34
+ te = 0
35
+ act = 0
36
+ eof = data.length
37
+
38
+ @prefix = prefix
39
+
40
+ # line 41 "squiggle_scanner.rb"
41
+ class << self
42
+ attr_accessor :_parser_trans_keys
43
+ private :_parser_trans_keys, :_parser_trans_keys=
44
+ end
45
+ self._parser_trans_keys = [
46
+ 0, 0, 9, 122, 9, 125,
47
+ 9, 125, 9, 122, 9,
48
+ 61, 9, 39, 34, 92,
49
+ 34, 92, 9, 125, 9, 125,
50
+ 125, 125, 34, 92, 9,
51
+ 125, 9, 125, 9, 122,
52
+ 9, 92, 9, 92, 9, 125,
53
+ 34, 125, 34, 92, 34,
54
+ 92, 9, 125, 39, 92,
55
+ 39, 92, 9, 125, 9, 122,
56
+ 9, 92, 9, 92, 34,
57
+ 92, 34, 92, 9, 125,
58
+ 9, 125, 9, 122, 9, 92,
59
+ 9, 92, 9, 125, 34,
60
+ 125, 9, 125, 9, 125,
61
+ 39, 125, 39, 92, 45, 122,
62
+ 9, 125, 9, 125, 0,
63
+ 0, 123, 123, 9, 122,
64
+ 0, 0, 0, 0, 34, 92,
65
+ 34, 92, 34, 92, 34,
66
+ 92, 39, 92, 39, 92,
67
+ 0, 0, 0
68
+ ]
69
+
70
+ class << self
71
+ attr_accessor :_parser_key_spans
72
+ private :_parser_key_spans, :_parser_key_spans=
73
+ end
74
+ self._parser_key_spans = [
75
+ 0, 114, 117, 117, 114, 53, 31, 59,
76
+ 59, 117, 117, 1, 59, 117, 117, 114,
77
+ 84, 84, 117, 92, 59, 59, 117, 54,
78
+ 54, 117, 114, 84, 84, 59, 59, 117,
79
+ 117, 114, 84, 84, 117, 92, 117, 117,
80
+ 87, 54, 78, 117, 117, 0, 1, 114,
81
+ 0, 0, 59, 59, 59, 59, 54, 54,
82
+ 0
83
+ ]
84
+
85
+ class << self
86
+ attr_accessor :_parser_index_offsets
87
+ private :_parser_index_offsets, :_parser_index_offsets=
88
+ end
89
+ self._parser_index_offsets = [
90
+ 0, 0, 115, 233, 351, 466, 520, 552,
91
+ 612, 672, 790, 908, 910, 970, 1088, 1206,
92
+ 1321, 1406, 1491, 1609, 1702, 1762, 1822, 1940,
93
+ 1995, 2050, 2168, 2283, 2368, 2453, 2513, 2573,
94
+ 2691, 2809, 2924, 3009, 3094, 3212, 3305, 3423,
95
+ 3541, 3629, 3684, 3763, 3881, 3999, 4000, 4002,
96
+ 4117, 4118, 4119, 4179, 4239, 4299, 4359, 4414,
97
+ 4469
98
+ ]
99
+
100
+ class << self
101
+ attr_accessor :_parser_indicies
102
+ private :_parser_indicies, :_parser_indicies=
103
+ end
104
+ self._parser_indicies = [
105
+ 1, 1, 1, 1, 1, 0, 0, 0,
106
+ 0, 0, 0, 0, 0, 0, 0, 0,
107
+ 0, 0, 0, 0, 0, 0, 0, 1,
108
+ 0, 0, 0, 0, 0, 0, 0, 0,
109
+ 0, 0, 0, 0, 2, 2, 3, 2,
110
+ 2, 2, 2, 2, 2, 2, 2, 2,
111
+ 2, 2, 0, 0, 0, 0, 2, 0,
112
+ 2, 2, 2, 2, 2, 2, 2, 2,
113
+ 2, 2, 2, 2, 2, 2, 2, 2,
114
+ 2, 2, 2, 2, 2, 2, 2, 2,
115
+ 2, 2, 0, 0, 0, 0, 2, 0,
116
+ 2, 2, 2, 2, 2, 2, 2, 2,
117
+ 2, 2, 2, 2, 2, 2, 2, 2,
118
+ 2, 2, 2, 2, 2, 2, 2, 2,
119
+ 2, 2, 0, 4, 4, 4, 4, 4,
120
+ 0, 0, 0, 0, 0, 0, 0, 0,
121
+ 0, 0, 0, 0, 0, 0, 0, 0,
122
+ 0, 0, 4, 0, 0, 0, 0, 0,
123
+ 0, 0, 0, 0, 0, 0, 0, 5,
124
+ 5, 6, 5, 5, 5, 5, 5, 5,
125
+ 5, 5, 5, 5, 5, 0, 0, 0,
126
+ 0, 5, 0, 5, 5, 5, 5, 5,
127
+ 5, 5, 5, 5, 5, 5, 5, 5,
128
+ 5, 5, 5, 5, 5, 5, 5, 5,
129
+ 5, 5, 5, 5, 5, 0, 0, 0,
130
+ 0, 5, 0, 5, 5, 5, 5, 5,
131
+ 5, 5, 5, 5, 5, 5, 5, 5,
132
+ 5, 5, 5, 5, 5, 5, 5, 5,
133
+ 5, 5, 5, 5, 5, 0, 0, 7,
134
+ 0, 8, 8, 8, 8, 8, 0, 0,
135
+ 0, 0, 0, 0, 0, 0, 0, 0,
136
+ 0, 0, 0, 0, 0, 0, 0, 0,
137
+ 8, 0, 0, 0, 0, 0, 0, 0,
138
+ 0, 0, 0, 0, 0, 9, 9, 10,
139
+ 9, 9, 9, 9, 9, 9, 9, 9,
140
+ 9, 9, 9, 0, 0, 0, 0, 9,
141
+ 0, 9, 9, 9, 9, 9, 9, 9,
142
+ 9, 9, 9, 9, 9, 9, 9, 9,
143
+ 9, 9, 9, 9, 9, 9, 9, 9,
144
+ 9, 9, 9, 0, 0, 0, 0, 9,
145
+ 0, 9, 9, 9, 9, 9, 9, 9,
146
+ 9, 9, 9, 9, 9, 9, 9, 9,
147
+ 9, 9, 9, 9, 9, 9, 9, 9,
148
+ 9, 9, 9, 0, 0, 11, 0, 13,
149
+ 13, 13, 13, 13, 12, 12, 12, 12,
150
+ 12, 12, 12, 12, 12, 12, 12, 12,
151
+ 12, 12, 12, 12, 12, 12, 13, 12,
152
+ 12, 12, 12, 12, 12, 12, 12, 12,
153
+ 12, 12, 12, 14, 14, 12, 14, 14,
154
+ 14, 14, 14, 14, 14, 14, 14, 14,
155
+ 14, 12, 12, 15, 12, 14, 12, 14,
156
+ 14, 14, 14, 14, 14, 14, 14, 14,
157
+ 14, 14, 14, 14, 14, 14, 14, 14,
158
+ 14, 14, 14, 14, 14, 14, 14, 14,
159
+ 14, 12, 12, 12, 12, 14, 12, 14,
160
+ 14, 14, 14, 14, 14, 14, 14, 14,
161
+ 14, 14, 14, 14, 14, 14, 14, 14,
162
+ 14, 14, 14, 14, 14, 14, 14, 14,
163
+ 14, 12, 16, 16, 16, 16, 16, 12,
164
+ 12, 12, 12, 12, 12, 12, 12, 12,
165
+ 12, 12, 12, 12, 12, 12, 12, 12,
166
+ 12, 16, 12, 12, 12, 12, 12, 12,
167
+ 12, 12, 12, 12, 12, 12, 12, 12,
168
+ 12, 12, 12, 12, 12, 12, 12, 12,
169
+ 12, 12, 12, 12, 12, 12, 17, 12,
170
+ 17, 17, 17, 17, 17, 12, 12, 12,
171
+ 12, 12, 12, 12, 12, 12, 12, 12,
172
+ 12, 12, 12, 12, 12, 12, 12, 17,
173
+ 12, 18, 12, 12, 12, 12, 19, 12,
174
+ 21, 20, 20, 20, 20, 20, 20, 20,
175
+ 20, 20, 20, 20, 20, 20, 20, 20,
176
+ 20, 20, 20, 20, 20, 20, 20, 20,
177
+ 20, 20, 20, 20, 20, 20, 20, 20,
178
+ 20, 20, 20, 20, 20, 20, 20, 20,
179
+ 20, 20, 20, 20, 20, 20, 20, 20,
180
+ 20, 20, 20, 20, 20, 20, 20, 20,
181
+ 20, 20, 22, 20, 24, 23, 23, 23,
182
+ 23, 23, 23, 23, 23, 23, 23, 23,
183
+ 23, 23, 23, 23, 23, 23, 23, 23,
184
+ 23, 23, 23, 23, 23, 23, 23, 23,
185
+ 23, 23, 23, 23, 23, 23, 23, 23,
186
+ 23, 23, 23, 23, 23, 23, 23, 23,
187
+ 23, 23, 23, 23, 23, 23, 23, 23,
188
+ 23, 23, 23, 23, 23, 23, 25, 23,
189
+ 26, 26, 26, 26, 26, 12, 12, 12,
190
+ 12, 12, 12, 12, 12, 12, 12, 12,
191
+ 12, 12, 12, 12, 12, 12, 12, 26,
192
+ 12, 12, 12, 12, 12, 12, 12, 12,
193
+ 12, 12, 12, 12, 27, 27, 28, 27,
194
+ 27, 27, 27, 27, 27, 27, 27, 27,
195
+ 27, 27, 12, 12, 12, 12, 27, 12,
196
+ 27, 27, 27, 27, 27, 27, 27, 27,
197
+ 27, 27, 27, 27, 27, 27, 27, 27,
198
+ 27, 27, 27, 27, 27, 27, 27, 27,
199
+ 27, 27, 12, 12, 12, 12, 27, 12,
200
+ 27, 27, 27, 27, 27, 27, 27, 27,
201
+ 27, 27, 27, 27, 27, 27, 27, 27,
202
+ 27, 27, 27, 27, 27, 27, 27, 27,
203
+ 27, 27, 12, 12, 29, 12, 30, 30,
204
+ 30, 30, 30, 12, 12, 12, 12, 12,
205
+ 12, 12, 12, 12, 12, 12, 12, 12,
206
+ 12, 12, 12, 12, 12, 30, 12, 12,
207
+ 12, 12, 12, 12, 12, 12, 12, 12,
208
+ 12, 12, 31, 31, 32, 31, 31, 31,
209
+ 31, 31, 31, 31, 31, 31, 31, 31,
210
+ 12, 12, 12, 12, 31, 12, 31, 31,
211
+ 31, 31, 31, 31, 31, 31, 31, 31,
212
+ 31, 31, 31, 31, 31, 31, 31, 31,
213
+ 31, 31, 31, 31, 31, 31, 31, 31,
214
+ 12, 12, 12, 12, 31, 12, 31, 31,
215
+ 31, 31, 31, 31, 31, 31, 31, 31,
216
+ 31, 31, 31, 31, 31, 31, 31, 31,
217
+ 31, 31, 31, 31, 31, 31, 31, 31,
218
+ 12, 12, 33, 12, 34, 12, 35, 23,
219
+ 23, 23, 23, 23, 23, 23, 23, 23,
220
+ 23, 23, 23, 23, 23, 23, 23, 23,
221
+ 23, 23, 23, 23, 23, 23, 23, 23,
222
+ 23, 23, 23, 23, 23, 23, 23, 23,
223
+ 23, 23, 23, 23, 23, 23, 23, 23,
224
+ 23, 23, 23, 23, 23, 23, 23, 23,
225
+ 23, 23, 23, 23, 23, 23, 23, 23,
226
+ 25, 23, 36, 36, 36, 36, 36, 23,
227
+ 23, 23, 23, 23, 23, 23, 23, 23,
228
+ 23, 23, 23, 23, 23, 23, 23, 23,
229
+ 23, 36, 23, 24, 23, 23, 23, 23,
230
+ 23, 23, 23, 23, 23, 23, 37, 37,
231
+ 38, 37, 37, 37, 37, 37, 37, 37,
232
+ 37, 37, 37, 37, 23, 23, 23, 23,
233
+ 37, 23, 37, 37, 37, 37, 37, 37,
234
+ 37, 37, 37, 37, 37, 37, 37, 37,
235
+ 37, 37, 37, 37, 37, 37, 37, 37,
236
+ 37, 37, 37, 37, 23, 25, 23, 23,
237
+ 37, 23, 37, 37, 37, 37, 37, 37,
238
+ 37, 37, 37, 37, 37, 37, 37, 37,
239
+ 37, 37, 37, 37, 37, 37, 37, 37,
240
+ 37, 37, 37, 37, 23, 23, 39, 23,
241
+ 40, 40, 40, 40, 40, 23, 23, 23,
242
+ 23, 23, 23, 23, 23, 23, 23, 23,
243
+ 23, 23, 23, 23, 23, 23, 23, 40,
244
+ 23, 24, 23, 23, 23, 23, 23, 23,
245
+ 23, 23, 23, 23, 41, 41, 42, 41,
246
+ 41, 41, 41, 41, 41, 41, 41, 41,
247
+ 41, 41, 23, 23, 23, 23, 41, 23,
248
+ 41, 41, 41, 41, 41, 41, 41, 41,
249
+ 41, 41, 41, 41, 41, 41, 41, 41,
250
+ 41, 41, 41, 41, 41, 41, 41, 41,
251
+ 41, 41, 23, 25, 23, 23, 41, 23,
252
+ 41, 41, 41, 41, 41, 41, 41, 41,
253
+ 41, 41, 41, 41, 41, 41, 41, 41,
254
+ 41, 41, 41, 41, 41, 41, 41, 41,
255
+ 41, 41, 23, 23, 43, 23, 44, 44,
256
+ 44, 44, 44, 23, 23, 23, 23, 23,
257
+ 23, 23, 23, 23, 23, 23, 23, 23,
258
+ 23, 23, 23, 23, 23, 44, 23, 24,
259
+ 23, 23, 23, 23, 23, 23, 23, 23,
260
+ 23, 23, 45, 45, 23, 45, 45, 45,
261
+ 45, 45, 45, 45, 45, 45, 45, 45,
262
+ 23, 23, 46, 23, 45, 23, 45, 45,
263
+ 45, 45, 45, 45, 45, 45, 45, 45,
264
+ 45, 45, 45, 45, 45, 45, 45, 45,
265
+ 45, 45, 45, 45, 45, 45, 45, 45,
266
+ 23, 25, 23, 23, 45, 23, 45, 45,
267
+ 45, 45, 45, 45, 45, 45, 45, 45,
268
+ 45, 45, 45, 45, 45, 45, 45, 45,
269
+ 45, 45, 45, 45, 45, 45, 45, 45,
270
+ 23, 47, 47, 47, 47, 47, 23, 23,
271
+ 23, 23, 23, 23, 23, 23, 23, 23,
272
+ 23, 23, 23, 23, 23, 23, 23, 23,
273
+ 47, 23, 24, 23, 23, 23, 23, 23,
274
+ 23, 23, 23, 23, 23, 23, 23, 23,
275
+ 23, 23, 23, 23, 23, 23, 23, 23,
276
+ 23, 23, 23, 23, 23, 48, 23, 23,
277
+ 23, 23, 23, 23, 23, 23, 23, 23,
278
+ 23, 23, 23, 23, 23, 23, 23, 23,
279
+ 23, 23, 23, 23, 23, 23, 23, 23,
280
+ 23, 23, 23, 23, 25, 23, 48, 48,
281
+ 48, 48, 48, 23, 23, 23, 23, 23,
282
+ 23, 23, 23, 23, 23, 23, 23, 23,
283
+ 23, 23, 23, 23, 23, 48, 23, 49,
284
+ 23, 23, 23, 23, 50, 23, 23, 23,
285
+ 23, 23, 23, 23, 23, 23, 23, 23,
286
+ 23, 23, 23, 23, 23, 23, 23, 23,
287
+ 23, 23, 23, 23, 23, 23, 23, 23,
288
+ 23, 23, 23, 23, 23, 23, 23, 23,
289
+ 23, 23, 23, 23, 23, 23, 23, 23,
290
+ 23, 23, 23, 23, 23, 23, 23, 23,
291
+ 23, 25, 23, 51, 51, 51, 51, 51,
292
+ 20, 20, 20, 20, 20, 20, 20, 20,
293
+ 20, 20, 20, 20, 20, 20, 20, 20,
294
+ 20, 20, 51, 20, 21, 20, 20, 20,
295
+ 20, 20, 20, 20, 20, 20, 20, 52,
296
+ 52, 53, 52, 52, 52, 52, 52, 52,
297
+ 52, 52, 52, 52, 52, 20, 20, 20,
298
+ 20, 52, 20, 52, 52, 52, 52, 52,
299
+ 52, 52, 52, 52, 52, 52, 52, 52,
300
+ 52, 52, 52, 52, 52, 52, 52, 52,
301
+ 52, 52, 52, 52, 52, 20, 22, 20,
302
+ 20, 52, 20, 52, 52, 52, 52, 52,
303
+ 52, 52, 52, 52, 52, 52, 52, 52,
304
+ 52, 52, 52, 52, 52, 52, 52, 52,
305
+ 52, 52, 52, 52, 52, 20, 20, 54,
306
+ 20, 24, 23, 23, 23, 23, 23, 23,
307
+ 23, 23, 23, 23, 23, 23, 23, 23,
308
+ 23, 23, 23, 23, 23, 23, 23, 23,
309
+ 23, 23, 23, 23, 23, 23, 23, 23,
310
+ 23, 23, 23, 23, 23, 23, 23, 23,
311
+ 23, 23, 23, 23, 23, 23, 23, 23,
312
+ 23, 23, 23, 23, 23, 23, 23, 23,
313
+ 23, 23, 23, 25, 23, 23, 23, 23,
314
+ 23, 23, 23, 23, 23, 23, 23, 23,
315
+ 23, 23, 23, 23, 23, 23, 23, 23,
316
+ 23, 23, 23, 23, 23, 23, 23, 23,
317
+ 23, 23, 23, 23, 55, 23, 57, 56,
318
+ 56, 56, 56, 58, 56, 56, 56, 56,
319
+ 56, 56, 56, 56, 56, 56, 56, 56,
320
+ 56, 56, 56, 56, 56, 56, 56, 56,
321
+ 56, 56, 56, 56, 56, 56, 56, 56,
322
+ 56, 56, 56, 56, 56, 56, 56, 56,
323
+ 56, 56, 56, 56, 56, 56, 56, 56,
324
+ 56, 56, 56, 56, 56, 56, 56, 56,
325
+ 59, 56, 61, 60, 60, 60, 60, 35,
326
+ 60, 60, 60, 60, 60, 60, 60, 60,
327
+ 60, 60, 60, 60, 60, 60, 60, 60,
328
+ 60, 60, 60, 60, 60, 60, 60, 60,
329
+ 60, 60, 60, 60, 60, 60, 60, 60,
330
+ 60, 60, 60, 60, 60, 60, 60, 60,
331
+ 60, 60, 60, 60, 60, 60, 60, 60,
332
+ 60, 60, 60, 60, 62, 60, 64, 64,
333
+ 64, 64, 64, 63, 63, 63, 63, 63,
334
+ 63, 63, 63, 63, 63, 63, 63, 63,
335
+ 63, 63, 63, 63, 63, 64, 63, 63,
336
+ 63, 63, 63, 63, 24, 63, 63, 63,
337
+ 63, 63, 65, 65, 66, 65, 65, 65,
338
+ 65, 65, 65, 65, 65, 65, 65, 65,
339
+ 63, 63, 63, 63, 65, 63, 65, 65,
340
+ 65, 65, 65, 65, 65, 65, 65, 65,
341
+ 65, 65, 65, 65, 65, 65, 65, 65,
342
+ 65, 65, 65, 65, 65, 65, 65, 65,
343
+ 63, 67, 63, 63, 65, 63, 65, 65,
344
+ 65, 65, 65, 65, 65, 65, 65, 65,
345
+ 65, 65, 65, 65, 65, 65, 65, 65,
346
+ 65, 65, 65, 65, 65, 65, 65, 65,
347
+ 63, 63, 68, 63, 24, 63, 63, 63,
348
+ 63, 63, 63, 63, 63, 63, 63, 63,
349
+ 63, 63, 63, 63, 63, 63, 63, 63,
350
+ 63, 63, 63, 63, 63, 63, 63, 63,
351
+ 63, 63, 63, 63, 63, 63, 63, 63,
352
+ 63, 63, 63, 63, 63, 63, 63, 63,
353
+ 63, 63, 63, 63, 63, 63, 63, 63,
354
+ 63, 67, 63, 61, 63, 63, 63, 63,
355
+ 63, 63, 63, 63, 63, 63, 63, 63,
356
+ 63, 63, 63, 63, 63, 63, 63, 63,
357
+ 63, 63, 63, 63, 63, 63, 63, 63,
358
+ 63, 63, 63, 63, 63, 63, 63, 63,
359
+ 63, 63, 63, 63, 63, 63, 63, 63,
360
+ 63, 63, 63, 63, 63, 63, 63, 63,
361
+ 67, 63, 69, 69, 69, 69, 69, 63,
362
+ 63, 63, 63, 63, 63, 63, 63, 63,
363
+ 63, 63, 63, 63, 63, 63, 63, 63,
364
+ 63, 69, 63, 63, 63, 63, 63, 63,
365
+ 24, 63, 63, 63, 63, 63, 70, 70,
366
+ 71, 70, 70, 70, 70, 70, 70, 70,
367
+ 70, 70, 70, 70, 63, 63, 63, 63,
368
+ 70, 63, 70, 70, 70, 70, 70, 70,
369
+ 70, 70, 70, 70, 70, 70, 70, 70,
370
+ 70, 70, 70, 70, 70, 70, 70, 70,
371
+ 70, 70, 70, 70, 63, 67, 63, 63,
372
+ 70, 63, 70, 70, 70, 70, 70, 70,
373
+ 70, 70, 70, 70, 70, 70, 70, 70,
374
+ 70, 70, 70, 70, 70, 70, 70, 70,
375
+ 70, 70, 70, 70, 63, 63, 72, 63,
376
+ 73, 73, 73, 73, 73, 63, 63, 63,
377
+ 63, 63, 63, 63, 63, 63, 63, 63,
378
+ 63, 63, 63, 63, 63, 63, 63, 73,
379
+ 63, 63, 63, 63, 63, 63, 24, 63,
380
+ 63, 63, 63, 63, 74, 74, 63, 74,
381
+ 74, 74, 74, 74, 74, 74, 74, 74,
382
+ 74, 74, 63, 63, 75, 63, 74, 63,
383
+ 74, 74, 74, 74, 74, 74, 74, 74,
384
+ 74, 74, 74, 74, 74, 74, 74, 74,
385
+ 74, 74, 74, 74, 74, 74, 74, 74,
386
+ 74, 74, 63, 67, 63, 63, 74, 63,
387
+ 74, 74, 74, 74, 74, 74, 74, 74,
388
+ 74, 74, 74, 74, 74, 74, 74, 74,
389
+ 74, 74, 74, 74, 74, 74, 74, 74,
390
+ 74, 74, 63, 76, 76, 76, 76, 76,
391
+ 63, 63, 63, 63, 63, 63, 63, 63,
392
+ 63, 63, 63, 63, 63, 63, 63, 63,
393
+ 63, 63, 76, 63, 63, 63, 63, 63,
394
+ 63, 24, 63, 63, 63, 63, 63, 63,
395
+ 63, 63, 63, 63, 63, 63, 63, 63,
396
+ 63, 63, 63, 63, 63, 63, 63, 77,
397
+ 63, 63, 63, 63, 63, 63, 63, 63,
398
+ 63, 63, 63, 63, 63, 63, 63, 63,
399
+ 63, 63, 63, 63, 63, 63, 63, 63,
400
+ 63, 63, 63, 63, 63, 63, 67, 63,
401
+ 77, 77, 77, 77, 77, 63, 63, 63,
402
+ 63, 63, 63, 63, 63, 63, 63, 63,
403
+ 63, 63, 63, 63, 63, 63, 63, 77,
404
+ 63, 78, 63, 63, 63, 63, 79, 63,
405
+ 63, 63, 63, 63, 63, 63, 63, 63,
406
+ 63, 63, 63, 63, 63, 63, 63, 63,
407
+ 63, 63, 63, 63, 63, 63, 63, 63,
408
+ 63, 63, 63, 63, 63, 63, 63, 63,
409
+ 63, 63, 63, 63, 63, 63, 63, 63,
410
+ 63, 63, 63, 63, 63, 63, 63, 63,
411
+ 63, 63, 63, 67, 63, 80, 56, 56,
412
+ 56, 56, 58, 56, 56, 56, 56, 56,
413
+ 56, 56, 56, 56, 56, 56, 56, 56,
414
+ 56, 56, 56, 56, 56, 56, 56, 56,
415
+ 56, 56, 56, 56, 56, 56, 56, 56,
416
+ 56, 56, 56, 56, 56, 56, 56, 56,
417
+ 56, 56, 56, 56, 56, 56, 56, 56,
418
+ 56, 56, 56, 56, 56, 56, 56, 59,
419
+ 56, 81, 60, 60, 60, 60, 81, 60,
420
+ 60, 60, 60, 60, 60, 60, 60, 60,
421
+ 60, 60, 60, 60, 60, 60, 60, 60,
422
+ 60, 60, 60, 60, 60, 60, 60, 60,
423
+ 60, 60, 60, 60, 60, 60, 60, 60,
424
+ 60, 60, 60, 60, 60, 60, 60, 60,
425
+ 60, 60, 60, 60, 60, 60, 60, 60,
426
+ 60, 60, 60, 62, 60, 82, 82, 82,
427
+ 82, 82, 60, 60, 60, 60, 60, 60,
428
+ 60, 60, 60, 60, 60, 60, 60, 60,
429
+ 60, 60, 60, 60, 82, 60, 61, 60,
430
+ 60, 60, 60, 35, 60, 60, 60, 60,
431
+ 60, 83, 83, 84, 83, 83, 83, 83,
432
+ 83, 83, 83, 83, 83, 83, 83, 60,
433
+ 60, 60, 60, 83, 60, 83, 83, 83,
434
+ 83, 83, 83, 83, 83, 83, 83, 83,
435
+ 83, 83, 83, 83, 83, 83, 83, 83,
436
+ 83, 83, 83, 83, 83, 83, 83, 60,
437
+ 62, 60, 60, 83, 60, 83, 83, 83,
438
+ 83, 83, 83, 83, 83, 83, 83, 83,
439
+ 83, 83, 83, 83, 83, 83, 83, 83,
440
+ 83, 83, 83, 83, 83, 83, 83, 60,
441
+ 60, 85, 60, 86, 86, 86, 86, 86,
442
+ 60, 60, 60, 60, 60, 60, 60, 60,
443
+ 60, 60, 60, 60, 60, 60, 60, 60,
444
+ 60, 60, 86, 60, 61, 60, 60, 60,
445
+ 60, 35, 60, 60, 60, 60, 60, 87,
446
+ 87, 88, 87, 87, 87, 87, 87, 87,
447
+ 87, 87, 87, 87, 87, 60, 60, 60,
448
+ 60, 87, 60, 87, 87, 87, 87, 87,
449
+ 87, 87, 87, 87, 87, 87, 87, 87,
450
+ 87, 87, 87, 87, 87, 87, 87, 87,
451
+ 87, 87, 87, 87, 87, 60, 62, 60,
452
+ 60, 87, 60, 87, 87, 87, 87, 87,
453
+ 87, 87, 87, 87, 87, 87, 87, 87,
454
+ 87, 87, 87, 87, 87, 87, 87, 87,
455
+ 87, 87, 87, 87, 87, 60, 60, 89,
456
+ 60, 90, 90, 90, 90, 90, 60, 60,
457
+ 60, 60, 60, 60, 60, 60, 60, 60,
458
+ 60, 60, 60, 60, 60, 60, 60, 60,
459
+ 90, 60, 61, 60, 60, 60, 60, 35,
460
+ 60, 60, 60, 60, 60, 91, 91, 60,
461
+ 91, 91, 91, 91, 91, 91, 91, 91,
462
+ 91, 91, 91, 60, 60, 92, 60, 91,
463
+ 60, 91, 91, 91, 91, 91, 91, 91,
464
+ 91, 91, 91, 91, 91, 91, 91, 91,
465
+ 91, 91, 91, 91, 91, 91, 91, 91,
466
+ 91, 91, 91, 60, 62, 60, 60, 91,
467
+ 60, 91, 91, 91, 91, 91, 91, 91,
468
+ 91, 91, 91, 91, 91, 91, 91, 91,
469
+ 91, 91, 91, 91, 91, 91, 91, 91,
470
+ 91, 91, 91, 60, 93, 93, 93, 93,
471
+ 93, 60, 60, 60, 60, 60, 60, 60,
472
+ 60, 60, 60, 60, 60, 60, 60, 60,
473
+ 60, 60, 60, 93, 60, 61, 60, 60,
474
+ 60, 60, 35, 60, 60, 60, 60, 60,
475
+ 60, 60, 60, 60, 60, 60, 60, 60,
476
+ 60, 60, 60, 60, 60, 60, 60, 60,
477
+ 94, 60, 60, 60, 60, 60, 60, 60,
478
+ 60, 60, 60, 60, 60, 60, 60, 60,
479
+ 60, 60, 60, 60, 60, 60, 60, 60,
480
+ 60, 60, 60, 60, 60, 60, 60, 62,
481
+ 60, 94, 94, 94, 94, 94, 60, 60,
482
+ 60, 60, 60, 60, 60, 60, 60, 60,
483
+ 60, 60, 60, 60, 60, 60, 60, 60,
484
+ 94, 60, 95, 60, 60, 60, 60, 96,
485
+ 60, 60, 60, 60, 60, 60, 60, 60,
486
+ 60, 60, 60, 60, 60, 60, 60, 60,
487
+ 60, 60, 60, 60, 60, 60, 60, 60,
488
+ 60, 60, 60, 60, 60, 60, 60, 60,
489
+ 60, 60, 60, 60, 60, 60, 60, 60,
490
+ 60, 60, 60, 60, 60, 60, 60, 60,
491
+ 60, 60, 60, 60, 62, 60, 97, 97,
492
+ 97, 97, 97, 56, 56, 56, 56, 56,
493
+ 56, 56, 56, 56, 56, 56, 56, 56,
494
+ 56, 56, 56, 56, 56, 97, 56, 80,
495
+ 56, 56, 56, 56, 58, 56, 56, 56,
496
+ 56, 56, 98, 98, 99, 98, 98, 98,
497
+ 98, 98, 98, 98, 98, 98, 98, 98,
498
+ 56, 56, 56, 56, 98, 56, 98, 98,
499
+ 98, 98, 98, 98, 98, 98, 98, 98,
500
+ 98, 98, 98, 98, 98, 98, 98, 98,
501
+ 98, 98, 98, 98, 98, 98, 98, 98,
502
+ 56, 59, 56, 56, 98, 56, 98, 98,
503
+ 98, 98, 98, 98, 98, 98, 98, 98,
504
+ 98, 98, 98, 98, 98, 98, 98, 98,
505
+ 98, 98, 98, 98, 98, 98, 98, 98,
506
+ 56, 56, 100, 56, 61, 60, 60, 60,
507
+ 60, 35, 60, 60, 60, 60, 60, 60,
508
+ 60, 60, 60, 60, 60, 60, 60, 60,
509
+ 60, 60, 60, 60, 60, 60, 60, 60,
510
+ 60, 60, 60, 60, 60, 60, 60, 60,
511
+ 60, 60, 60, 60, 60, 60, 60, 60,
512
+ 60, 60, 60, 60, 60, 60, 60, 60,
513
+ 60, 60, 60, 60, 60, 60, 62, 60,
514
+ 60, 60, 60, 60, 60, 60, 60, 60,
515
+ 60, 60, 60, 60, 60, 60, 60, 60,
516
+ 60, 60, 60, 60, 60, 60, 60, 60,
517
+ 60, 60, 60, 60, 60, 60, 60, 101,
518
+ 60, 97, 97, 97, 97, 97, 56, 56,
519
+ 56, 56, 56, 56, 56, 56, 56, 56,
520
+ 56, 56, 56, 56, 56, 56, 56, 56,
521
+ 97, 56, 57, 56, 56, 56, 56, 58,
522
+ 56, 56, 56, 56, 56, 98, 98, 99,
523
+ 98, 98, 98, 98, 98, 98, 98, 98,
524
+ 98, 98, 98, 56, 56, 56, 56, 98,
525
+ 56, 98, 98, 98, 98, 98, 98, 98,
526
+ 98, 98, 98, 98, 98, 98, 98, 98,
527
+ 98, 98, 98, 98, 98, 98, 98, 98,
528
+ 98, 98, 98, 56, 59, 56, 56, 98,
529
+ 56, 98, 98, 98, 98, 98, 98, 98,
530
+ 98, 98, 98, 98, 98, 98, 98, 98,
531
+ 98, 98, 98, 98, 98, 98, 98, 98,
532
+ 98, 98, 98, 56, 56, 100, 56, 103,
533
+ 103, 103, 103, 103, 102, 102, 102, 102,
534
+ 102, 102, 102, 102, 102, 102, 102, 102,
535
+ 102, 102, 102, 102, 102, 102, 103, 102,
536
+ 102, 102, 102, 102, 102, 21, 102, 102,
537
+ 102, 102, 102, 104, 104, 105, 104, 104,
538
+ 104, 104, 104, 104, 104, 104, 104, 104,
539
+ 104, 102, 102, 102, 102, 104, 102, 104,
540
+ 104, 104, 104, 104, 104, 104, 104, 104,
541
+ 104, 104, 104, 104, 104, 104, 104, 104,
542
+ 104, 104, 104, 104, 104, 104, 104, 104,
543
+ 104, 102, 106, 102, 102, 104, 102, 104,
544
+ 104, 104, 104, 104, 104, 104, 104, 104,
545
+ 104, 104, 104, 104, 104, 104, 104, 104,
546
+ 104, 104, 104, 104, 104, 104, 104, 104,
547
+ 104, 102, 102, 107, 102, 24, 63, 63,
548
+ 63, 63, 63, 63, 63, 63, 63, 63,
549
+ 63, 63, 63, 63, 63, 63, 63, 63,
550
+ 63, 63, 63, 63, 63, 63, 63, 63,
551
+ 63, 63, 63, 63, 63, 63, 63, 63,
552
+ 63, 63, 63, 63, 63, 63, 63, 63,
553
+ 63, 63, 63, 63, 63, 63, 63, 63,
554
+ 63, 63, 67, 63, 63, 63, 63, 63,
555
+ 63, 63, 63, 63, 63, 63, 63, 63,
556
+ 63, 63, 63, 63, 63, 63, 63, 63,
557
+ 63, 63, 63, 63, 63, 63, 63, 63,
558
+ 63, 63, 63, 108, 63, 21, 102, 102,
559
+ 102, 102, 102, 102, 102, 102, 102, 102,
560
+ 102, 102, 102, 102, 102, 102, 102, 102,
561
+ 102, 102, 102, 102, 102, 102, 102, 102,
562
+ 102, 102, 102, 102, 102, 102, 102, 102,
563
+ 102, 102, 102, 102, 102, 102, 102, 102,
564
+ 102, 102, 102, 102, 102, 102, 102, 102,
565
+ 102, 102, 106, 102, 109, 109, 0, 109,
566
+ 109, 109, 109, 109, 109, 109, 109, 109,
567
+ 109, 109, 0, 0, 0, 0, 109, 0,
568
+ 109, 109, 109, 109, 109, 109, 109, 109,
569
+ 109, 109, 109, 109, 109, 109, 109, 109,
570
+ 109, 109, 109, 109, 109, 109, 109, 109,
571
+ 109, 109, 0, 0, 0, 0, 109, 0,
572
+ 109, 109, 109, 109, 109, 109, 109, 109,
573
+ 109, 109, 109, 109, 109, 109, 109, 109,
574
+ 109, 109, 109, 109, 109, 109, 109, 109,
575
+ 109, 109, 0, 110, 110, 110, 110, 110,
576
+ 0, 0, 0, 0, 0, 0, 0, 0,
577
+ 0, 0, 0, 0, 0, 0, 0, 0,
578
+ 0, 0, 110, 0, 0, 0, 0, 0,
579
+ 0, 0, 0, 0, 0, 0, 0, 111,
580
+ 111, 0, 111, 111, 111, 111, 111, 111,
581
+ 111, 111, 111, 111, 111, 0, 0, 0,
582
+ 0, 111, 0, 111, 111, 111, 111, 111,
583
+ 111, 111, 111, 111, 111, 111, 111, 111,
584
+ 111, 111, 111, 111, 111, 111, 111, 111,
585
+ 111, 111, 111, 111, 111, 0, 0, 0,
586
+ 0, 111, 0, 111, 111, 111, 111, 111,
587
+ 111, 111, 111, 111, 111, 111, 111, 111,
588
+ 111, 111, 111, 111, 111, 111, 111, 111,
589
+ 111, 111, 111, 111, 111, 0, 0, 112,
590
+ 0, 113, 113, 113, 113, 113, 0, 0,
591
+ 0, 0, 0, 0, 0, 0, 0, 0,
592
+ 0, 0, 0, 0, 0, 0, 0, 0,
593
+ 113, 0, 0, 0, 0, 0, 0, 0,
594
+ 0, 0, 0, 0, 0, 0, 0, 0,
595
+ 0, 0, 0, 0, 0, 0, 0, 0,
596
+ 0, 0, 0, 0, 0, 0, 0, 0,
597
+ 0, 0, 0, 0, 0, 0, 0, 0,
598
+ 0, 0, 0, 0, 0, 0, 0, 0,
599
+ 0, 0, 0, 0, 0, 0, 0, 0,
600
+ 0, 0, 0, 0, 0, 0, 0, 0,
601
+ 0, 0, 0, 0, 0, 0, 0, 0,
602
+ 0, 0, 0, 0, 0, 0, 0, 0,
603
+ 0, 0, 0, 0, 0, 0, 0, 0,
604
+ 0, 0, 0, 0, 0, 114, 0, 115,
605
+ 117, 116, 1, 1, 1, 1, 1, 118,
606
+ 118, 118, 118, 118, 118, 118, 118, 118,
607
+ 118, 118, 118, 118, 118, 118, 118, 118,
608
+ 118, 1, 118, 118, 118, 118, 118, 118,
609
+ 118, 118, 118, 118, 118, 118, 2, 2,
610
+ 3, 2, 2, 2, 2, 2, 2, 2,
611
+ 2, 2, 2, 2, 118, 118, 118, 118,
612
+ 2, 118, 2, 2, 2, 2, 2, 2,
613
+ 2, 2, 2, 2, 2, 2, 2, 2,
614
+ 2, 2, 2, 2, 2, 2, 2, 2,
615
+ 2, 2, 2, 2, 118, 118, 118, 118,
616
+ 2, 118, 2, 2, 2, 2, 2, 2,
617
+ 2, 2, 2, 2, 2, 2, 2, 2,
618
+ 2, 2, 2, 2, 2, 2, 2, 2,
619
+ 2, 2, 2, 2, 118, 119, 120, 24,
620
+ 23, 23, 23, 23, 23, 23, 23, 23,
621
+ 23, 23, 23, 23, 23, 23, 23, 23,
622
+ 23, 23, 23, 23, 23, 23, 23, 23,
623
+ 23, 23, 23, 23, 23, 23, 23, 23,
624
+ 23, 23, 23, 23, 23, 23, 23, 23,
625
+ 23, 23, 23, 23, 23, 23, 23, 23,
626
+ 23, 23, 23, 23, 23, 23, 23, 23,
627
+ 23, 25, 23, 24, 23, 23, 23, 23,
628
+ 23, 23, 23, 23, 23, 23, 23, 23,
629
+ 23, 23, 23, 23, 23, 23, 23, 23,
630
+ 23, 23, 23, 23, 23, 23, 23, 23,
631
+ 23, 23, 23, 23, 23, 23, 23, 23,
632
+ 23, 23, 23, 23, 23, 23, 23, 23,
633
+ 23, 23, 23, 23, 23, 23, 23, 23,
634
+ 23, 23, 23, 23, 23, 25, 23, 61,
635
+ 60, 60, 60, 60, 35, 60, 60, 60,
636
+ 60, 60, 60, 60, 60, 60, 60, 60,
637
+ 60, 60, 60, 60, 60, 60, 60, 60,
638
+ 60, 60, 60, 60, 60, 60, 60, 60,
639
+ 60, 60, 60, 60, 60, 60, 60, 60,
640
+ 60, 60, 60, 60, 60, 60, 60, 60,
641
+ 60, 60, 60, 60, 60, 60, 60, 60,
642
+ 60, 62, 60, 61, 60, 60, 60, 60,
643
+ 35, 60, 60, 60, 60, 60, 60, 60,
644
+ 60, 60, 60, 60, 60, 60, 60, 60,
645
+ 60, 60, 60, 60, 60, 60, 60, 60,
646
+ 60, 60, 60, 60, 60, 60, 60, 60,
647
+ 60, 60, 60, 60, 60, 60, 60, 60,
648
+ 60, 60, 60, 60, 60, 60, 60, 60,
649
+ 60, 60, 60, 60, 60, 62, 60, 24,
650
+ 63, 63, 63, 63, 63, 63, 63, 63,
651
+ 63, 63, 63, 63, 63, 63, 63, 63,
652
+ 63, 63, 63, 63, 63, 63, 63, 63,
653
+ 63, 63, 63, 63, 63, 63, 63, 63,
654
+ 63, 63, 63, 63, 63, 63, 63, 63,
655
+ 63, 63, 63, 63, 63, 63, 63, 63,
656
+ 63, 63, 63, 63, 67, 63, 24, 63,
657
+ 63, 63, 63, 63, 63, 63, 63, 63,
658
+ 63, 63, 63, 63, 63, 63, 63, 63,
659
+ 63, 63, 63, 63, 63, 63, 63, 63,
660
+ 63, 63, 63, 63, 63, 63, 63, 63,
661
+ 63, 63, 63, 63, 63, 63, 63, 63,
662
+ 63, 63, 63, 63, 63, 63, 63, 63,
663
+ 63, 63, 63, 67, 63, 121, 0
664
+ ]
665
+
666
+ class << self
667
+ attr_accessor :_parser_trans_targs
668
+ private :_parser_trans_targs, :_parser_trans_targs=
669
+ end
670
+ self._parser_trans_targs = [
671
+ 46, 1, 2, 42, 3, 2, 11, 49,
672
+ 3, 4, 11, 49, 46, 5, 4, 6,
673
+ 5, 6, 7, 41, 8, 9, 12, 8,
674
+ 9, 12, 10, 4, 11, 49, 10, 4,
675
+ 11, 49, 48, 13, 14, 15, 19, 51,
676
+ 14, 15, 19, 51, 16, 15, 17, 16,
677
+ 17, 18, 20, 14, 15, 19, 51, 50,
678
+ 21, 22, 13, 30, 21, 22, 30, 23,
679
+ 25, 26, 40, 24, 55, 25, 26, 40,
680
+ 55, 27, 26, 28, 27, 28, 29, 39,
681
+ 22, 31, 32, 33, 37, 53, 32, 33,
682
+ 37, 53, 34, 33, 35, 34, 35, 36,
683
+ 38, 32, 33, 37, 53, 52, 23, 25,
684
+ 26, 40, 24, 55, 54, 43, 44, 43,
685
+ 56, 44, 56, 0, 46, 47, 46, 46,
686
+ 46, 46
687
+ ]
688
+
689
+ class << self
690
+ attr_accessor :_parser_trans_actions
691
+ private :_parser_trans_actions, :_parser_trans_actions=
692
+ end
693
+ self._parser_trans_actions = [
694
+ 1, 0, 2, 0, 3, 0, 3, 3,
695
+ 0, 4, 0, 0, 5, 6, 0, 6,
696
+ 0, 0, 0, 0, 7, 8, 7, 0,
697
+ 9, 0, 10, 11, 12, 12, 0, 13,
698
+ 14, 14, 0, 9, 10, 11, 12, 15,
699
+ 0, 13, 14, 16, 6, 0, 6, 0,
700
+ 0, 9, 0, 17, 18, 19, 20, 21,
701
+ 7, 22, 8, 7, 0, 9, 0, 0,
702
+ 10, 11, 12, 0, 15, 0, 13, 14,
703
+ 16, 6, 0, 6, 0, 0, 0, 9,
704
+ 8, 9, 10, 11, 12, 15, 0, 13,
705
+ 14, 16, 6, 0, 6, 0, 0, 9,
706
+ 9, 17, 18, 19, 20, 21, 7, 17,
707
+ 18, 19, 7, 20, 21, 2, 3, 0,
708
+ 3, 0, 0, 0, 25, 26, 27, 28,
709
+ 29, 30
710
+ ]
711
+
712
+ class << self
713
+ attr_accessor :_parser_to_state_actions
714
+ private :_parser_to_state_actions, :_parser_to_state_actions=
715
+ end
716
+ self._parser_to_state_actions = [
717
+ 0, 0, 0, 0, 0, 0, 0, 0,
718
+ 0, 0, 0, 0, 0, 0, 0, 0,
719
+ 0, 0, 0, 0, 0, 0, 0, 0,
720
+ 0, 0, 0, 0, 0, 0, 0, 0,
721
+ 0, 0, 0, 0, 0, 0, 0, 0,
722
+ 0, 0, 0, 0, 0, 23, 23, 0,
723
+ 0, 0, 0, 0, 0, 0, 0, 0,
724
+ 0
725
+ ]
726
+
727
+ class << self
728
+ attr_accessor :_parser_from_state_actions
729
+ private :_parser_from_state_actions, :_parser_from_state_actions=
730
+ end
731
+ self._parser_from_state_actions = [
732
+ 0, 0, 0, 0, 0, 0, 0, 0,
733
+ 0, 0, 0, 0, 0, 0, 0, 0,
734
+ 0, 0, 0, 0, 0, 0, 0, 0,
735
+ 0, 0, 0, 0, 0, 0, 0, 0,
736
+ 0, 0, 0, 0, 0, 0, 0, 0,
737
+ 0, 0, 0, 0, 0, 0, 24, 0,
738
+ 0, 0, 0, 0, 0, 0, 0, 0,
739
+ 0
740
+ ]
741
+
742
+ class << self
743
+ attr_accessor :_parser_eof_trans
744
+ private :_parser_eof_trans, :_parser_eof_trans=
745
+ end
746
+ self._parser_eof_trans = [
747
+ 0, 1, 1, 1, 13, 13, 13, 13,
748
+ 13, 13, 13, 13, 13, 13, 13, 13,
749
+ 13, 13, 13, 13, 13, 13, 13, 13,
750
+ 13, 13, 13, 13, 13, 13, 13, 13,
751
+ 13, 13, 13, 13, 13, 13, 13, 13,
752
+ 13, 13, 1, 1, 1, 0, 0, 119,
753
+ 120, 121, 120, 121, 120, 121, 120, 121,
754
+ 122
755
+ ]
756
+
757
+ class << self
758
+ attr_accessor :parser_start
759
+ end
760
+ self.parser_start = 46;
761
+ class << self
762
+ attr_accessor :parser_first_final
763
+ end
764
+ self.parser_first_final = 46;
765
+ class << self
766
+ attr_accessor :parser_error
767
+ end
768
+ self.parser_error = 0;
769
+
770
+ class << self
771
+ attr_accessor :parser_en_Closeout
772
+ end
773
+ self.parser_en_Closeout = 45;
774
+ class << self
775
+ attr_accessor :parser_en_main
776
+ end
777
+ self.parser_en_main = 46;
778
+
779
+
780
+ # line 120 "squiggle_scanner.rl"
781
+
782
+ # line 783 "squiggle_scanner.rb"
783
+ begin
784
+ p ||= 0
785
+ pe ||= data.length
786
+ cs = parser_start
787
+ ts = nil
788
+ te = nil
789
+ act = 0
790
+ end
791
+
792
+ # line 121 "squiggle_scanner.rl"
793
+
794
+ # line 795 "squiggle_scanner.rb"
795
+ begin
796
+ testEof = false
797
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
798
+ _goto_level = 0
799
+ _resume = 10
800
+ _eof_trans = 15
801
+ _again = 20
802
+ _test_eof = 30
803
+ _out = 40
804
+ while true
805
+ if _goto_level <= 0
806
+ if p == pe
807
+ _goto_level = _test_eof
808
+ next
809
+ end
810
+ if cs == 0
811
+ _goto_level = _out
812
+ next
813
+ end
814
+ end
815
+ if _goto_level <= _resume
816
+ case _parser_from_state_actions[cs]
817
+ when 24 then
818
+ # line 1 "NONE"
819
+ begin
820
+ ts = p
821
+ end
822
+ # line 823 "squiggle_scanner.rb"
823
+ end
824
+ _keys = cs << 1
825
+ _inds = _parser_index_offsets[cs]
826
+ _slen = _parser_key_spans[cs]
827
+ _trans = if ( _slen > 0 &&
828
+ _parser_trans_keys[_keys] <= data[p] &&
829
+ data[p] <= _parser_trans_keys[_keys + 1]
830
+ ) then
831
+ _parser_indicies[ _inds + data[p] - _parser_trans_keys[_keys] ]
832
+ else
833
+ _parser_indicies[ _inds + _slen ]
834
+ end
835
+ end
836
+ if _goto_level <= _eof_trans
837
+ cs = _parser_trans_targs[_trans]
838
+ if _parser_trans_actions[_trans] != 0
839
+ case _parser_trans_actions[_trans]
840
+ when 2 then
841
+ # line 12 "squiggle_scanner.rl"
842
+ begin
843
+ mark_stg = p end
844
+ when 3 then
845
+ # line 13 "squiggle_scanner.rl"
846
+ begin
847
+ @starttag = data[mark_stg..p-1] end
848
+ when 10 then
849
+ # line 14 "squiggle_scanner.rl"
850
+ begin
851
+ mark_attr = p end
852
+ when 14 then
853
+ # line 15 "squiggle_scanner.rl"
854
+ begin
855
+
856
+ @attrs[@nat] = @vat
857
+ end
858
+ when 4 then
859
+ # line 24 "squiggle_scanner.rl"
860
+ begin
861
+ mark_nat = p end
862
+ when 6 then
863
+ # line 25 "squiggle_scanner.rl"
864
+ begin
865
+ @nat = data[mark_nat..p-1] end
866
+ when 7 then
867
+ # line 26 "squiggle_scanner.rl"
868
+ begin
869
+ mark_vat = p end
870
+ when 9 then
871
+ # line 27 "squiggle_scanner.rl"
872
+ begin
873
+ @vat = data[mark_vat..p-1] end
874
+ when 25 then
875
+ # line 80 "squiggle_scanner.rl"
876
+ begin
877
+ te = p+1
878
+ begin
879
+ @nodes.last << data[p]
880
+ @tagstart = p
881
+ end
882
+ end
883
+ when 27 then
884
+ # line 80 "squiggle_scanner.rl"
885
+ begin
886
+ te = p
887
+ p = p - 1; begin
888
+ @nodes.last << data[p]
889
+ @tagstart = p
890
+ end
891
+ end
892
+ when 1 then
893
+ # line 80 "squiggle_scanner.rl"
894
+ begin
895
+ begin p = ((te))-1; end
896
+ begin
897
+ @nodes.last << data[p]
898
+ @tagstart = p
899
+ end
900
+ end
901
+ when 5 then
902
+ # line 1 "NONE"
903
+ begin
904
+ case act
905
+ when 1 then
906
+ begin begin p = ((te))-1; end
907
+
908
+ tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs}
909
+ @prefix = nil
910
+ @name = nil
911
+ @flavor = :tasteless
912
+ @attrs = {}
913
+ @nodes << tag << ''
914
+ begin
915
+ p += 1
916
+ _goto_level = _out
917
+ next
918
+ end
919
+
920
+ end
921
+ when 2 then
922
+ begin begin p = ((te))-1; end
923
+
924
+ @nodes.last << data[p]
925
+ @tagstart = p
926
+ end
927
+ end
928
+ end
929
+ when 12 then
930
+ # line 14 "squiggle_scanner.rl"
931
+ begin
932
+ mark_attr = p end
933
+ # line 15 "squiggle_scanner.rl"
934
+ begin
935
+
936
+ @attrs[@nat] = @vat
937
+ end
938
+ when 13 then
939
+ # line 15 "squiggle_scanner.rl"
940
+ begin
941
+
942
+ @attrs[@nat] = @vat
943
+ end
944
+ # line 24 "squiggle_scanner.rl"
945
+ begin
946
+ mark_nat = p end
947
+ when 17 then
948
+ # line 26 "squiggle_scanner.rl"
949
+ begin
950
+ mark_vat = p end
951
+ # line 14 "squiggle_scanner.rl"
952
+ begin
953
+ mark_attr = p end
954
+ when 8 then
955
+ # line 26 "squiggle_scanner.rl"
956
+ begin
957
+ mark_vat = p end
958
+ # line 27 "squiggle_scanner.rl"
959
+ begin
960
+ @vat = data[mark_vat..p-1] end
961
+ when 22 then
962
+ # line 27 "squiggle_scanner.rl"
963
+ begin
964
+ @vat = data[mark_vat..p-1] end
965
+ # line 26 "squiggle_scanner.rl"
966
+ begin
967
+ mark_vat = p end
968
+ when 29 then
969
+ # line 29 "squiggle_scanner.rl"
970
+ begin
971
+ @flavor = :open end
972
+ # line 71 "squiggle_scanner.rl"
973
+ begin
974
+ te = p
975
+ p = p - 1; begin
976
+ tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs}
977
+ @prefix = nil
978
+ @name = nil
979
+ @flavor = :tasteless
980
+ @attrs = {}
981
+ @nodes << tag << ''
982
+ begin
983
+ p += 1
984
+ _goto_level = _out
985
+ next
986
+ end
987
+
988
+ end
989
+ end
990
+ when 28 then
991
+ # line 30 "squiggle_scanner.rl"
992
+ begin
993
+ @flavor = :self end
994
+ # line 71 "squiggle_scanner.rl"
995
+ begin
996
+ te = p
997
+ p = p - 1; begin
998
+ tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs}
999
+ @prefix = nil
1000
+ @name = nil
1001
+ @flavor = :tasteless
1002
+ @attrs = {}
1003
+ @nodes << tag << ''
1004
+ begin
1005
+ p += 1
1006
+ _goto_level = _out
1007
+ next
1008
+ end
1009
+
1010
+ end
1011
+ end
1012
+ when 30 then
1013
+ # line 31 "squiggle_scanner.rl"
1014
+ begin
1015
+ @flavor = :close end
1016
+ # line 71 "squiggle_scanner.rl"
1017
+ begin
1018
+ te = p
1019
+ p = p - 1; begin
1020
+ tag = {:prefix=>@prefix, :name=>@starttag, :flavor => @flavor, :attrs => @attrs}
1021
+ @prefix = nil
1022
+ @name = nil
1023
+ @flavor = :tasteless
1024
+ @attrs = {}
1025
+ @nodes << tag << ''
1026
+ begin
1027
+ p += 1
1028
+ _goto_level = _out
1029
+ next
1030
+ end
1031
+
1032
+ end
1033
+ end
1034
+ when 21 then
1035
+ # line 1 "NONE"
1036
+ begin
1037
+ te = p+1
1038
+ end
1039
+ # line 71 "squiggle_scanner.rl"
1040
+ begin
1041
+ act = 1; end
1042
+ when 26 then
1043
+ # line 1 "NONE"
1044
+ begin
1045
+ te = p+1
1046
+ end
1047
+ # line 80 "squiggle_scanner.rl"
1048
+ begin
1049
+ act = 2; end
1050
+ when 11 then
1051
+ # line 14 "squiggle_scanner.rl"
1052
+ begin
1053
+ mark_attr = p end
1054
+ # line 15 "squiggle_scanner.rl"
1055
+ begin
1056
+
1057
+ @attrs[@nat] = @vat
1058
+ end
1059
+ # line 24 "squiggle_scanner.rl"
1060
+ begin
1061
+ mark_nat = p end
1062
+ when 19 then
1063
+ # line 26 "squiggle_scanner.rl"
1064
+ begin
1065
+ mark_vat = p end
1066
+ # line 14 "squiggle_scanner.rl"
1067
+ begin
1068
+ mark_attr = p end
1069
+ # line 15 "squiggle_scanner.rl"
1070
+ begin
1071
+
1072
+ @attrs[@nat] = @vat
1073
+ end
1074
+ when 16 then
1075
+ # line 1 "NONE"
1076
+ begin
1077
+ te = p+1
1078
+ end
1079
+ # line 15 "squiggle_scanner.rl"
1080
+ begin
1081
+
1082
+ @attrs[@nat] = @vat
1083
+ end
1084
+ # line 71 "squiggle_scanner.rl"
1085
+ begin
1086
+ act = 1; end
1087
+ when 18 then
1088
+ # line 26 "squiggle_scanner.rl"
1089
+ begin
1090
+ mark_vat = p end
1091
+ # line 14 "squiggle_scanner.rl"
1092
+ begin
1093
+ mark_attr = p end
1094
+ # line 15 "squiggle_scanner.rl"
1095
+ begin
1096
+
1097
+ @attrs[@nat] = @vat
1098
+ end
1099
+ # line 24 "squiggle_scanner.rl"
1100
+ begin
1101
+ mark_nat = p end
1102
+ when 15 then
1103
+ # line 1 "NONE"
1104
+ begin
1105
+ te = p+1
1106
+ end
1107
+ # line 14 "squiggle_scanner.rl"
1108
+ begin
1109
+ mark_attr = p end
1110
+ # line 15 "squiggle_scanner.rl"
1111
+ begin
1112
+
1113
+ @attrs[@nat] = @vat
1114
+ end
1115
+ # line 71 "squiggle_scanner.rl"
1116
+ begin
1117
+ act = 1; end
1118
+ when 20 then
1119
+ # line 1 "NONE"
1120
+ begin
1121
+ te = p+1
1122
+ end
1123
+ # line 26 "squiggle_scanner.rl"
1124
+ begin
1125
+ mark_vat = p end
1126
+ # line 14 "squiggle_scanner.rl"
1127
+ begin
1128
+ mark_attr = p end
1129
+ # line 15 "squiggle_scanner.rl"
1130
+ begin
1131
+
1132
+ @attrs[@nat] = @vat
1133
+ end
1134
+ # line 71 "squiggle_scanner.rl"
1135
+ begin
1136
+ act = 1; end
1137
+ # line 1138 "squiggle_scanner.rb"
1138
+ end
1139
+ end
1140
+ end
1141
+ if _goto_level <= _again
1142
+ case _parser_to_state_actions[cs]
1143
+ when 23 then
1144
+ # line 1 "NONE"
1145
+ begin
1146
+ ts = nil; end
1147
+ # line 1148 "squiggle_scanner.rb"
1148
+ end
1149
+
1150
+ if cs == 0
1151
+ _goto_level = _out
1152
+ next
1153
+ end
1154
+ p += 1
1155
+ if p != pe
1156
+ _goto_level = _resume
1157
+ next
1158
+ end
1159
+ end
1160
+ if _goto_level <= _test_eof
1161
+ if p == eof
1162
+ if _parser_eof_trans[cs] > 0
1163
+ _trans = _parser_eof_trans[cs] - 1;
1164
+ _goto_level = _eof_trans
1165
+ next;
1166
+ end
1167
+ end
1168
+
1169
+ end
1170
+ if _goto_level <= _out
1171
+ break
1172
+ end
1173
+ end
1174
+ end
1175
+
1176
+ # line 122 "squiggle_scanner.rl"
1177
+ return p
1178
+ end
1179
+ end
1180
+ end