radius 0.6.1 → 0.7.0.prerelease

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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