radius 0.6.1 → 0.7.0.prerelease

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