ruby-elf 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1952 @@
1
+
2
+ # line 1 "lib/elf/symbol/demangler_gcc3.rl"
3
+ # -*- coding: utf-8 -*-
4
+ # -*- ruby -*-
5
+ # Simple ELF parser for Ruby
6
+ #
7
+ # Copyright © 2010 Diego E. "Flameeyes" Pettenò <flameeyes@gmail.com>
8
+ #
9
+ # This program is free software; you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation; either version 2 of the License, or
12
+ # (at your option) any later version.
13
+ #
14
+ # This program is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with this generator; if not, write to the Free Software
21
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
+
23
+
24
+ # line 177 "lib/elf/symbol/demangler_gcc3.rl"
25
+
26
+
27
+ module Elf
28
+ class Symbol
29
+ module Demangler
30
+ class GCC3
31
+ def self.increase_string(string, idx = -1)
32
+ return "1#{string}" if string[idx].nil?
33
+
34
+ if ("0"[0].."8"[0]).include?(string[idx]) or
35
+ ("A"[0].."Y"[0]).include?(string[idx])
36
+ string[idx] = string[idx]+1
37
+ elsif string[idx] == 57 # '9'
38
+ string[idx] = "A"
39
+ elsif string[idx] == 90 # 'Z'
40
+ string[idx] = "0"
41
+ return increase_string(string, idx-1)
42
+ end
43
+
44
+ return string
45
+ end
46
+
47
+ def self.next_register(latest)
48
+ return "" if latest.nil?
49
+ return "0" if latest == ""
50
+
51
+ return increase_string(latest.dup)
52
+ end
53
+
54
+
55
+ # line 56 "lib/elf/symbol/demangler_gcc3.rb"
56
+ class << self
57
+ attr_accessor :_demangle_gcc3_actions
58
+ private :_demangle_gcc3_actions, :_demangle_gcc3_actions=
59
+ end
60
+ self._demangle_gcc3_actions = [
61
+ 0, 1, 0, 1, 1, 1, 2, 1,
62
+ 3, 1, 4, 1, 5, 1, 6, 1,
63
+ 7, 1, 8, 1, 9, 1, 10, 1,
64
+ 11, 1, 12, 1, 13, 1, 14, 1,
65
+ 15, 1, 16, 1, 17, 1, 18, 1,
66
+ 19, 1, 20, 1, 21, 1, 22, 1,
67
+ 23, 1, 24, 1, 25, 1, 26, 1,
68
+ 27, 1, 28, 1, 29, 1, 30, 1,
69
+ 31, 1, 32, 1, 33, 1, 34, 1,
70
+ 35, 1, 36, 1, 37, 1, 38, 1,
71
+ 39, 1, 40, 1, 41, 1, 42, 1,
72
+ 43, 1, 44, 1, 45, 1, 46, 1,
73
+ 49, 1, 72, 1, 73, 1, 74, 1,
74
+ 75, 1, 76, 1, 78, 1, 79, 1,
75
+ 80, 1, 81, 1, 86, 2, 1, 82,
76
+ 2, 2, 82, 2, 3, 82, 2, 4,
77
+ 82, 2, 5, 82, 2, 6, 82, 2,
78
+ 7, 82, 2, 8, 82, 2, 9, 82,
79
+ 2, 10, 82, 2, 11, 82, 2, 12,
80
+ 82, 2, 13, 82, 2, 14, 82, 2,
81
+ 15, 82, 2, 16, 82, 2, 17, 82,
82
+ 2, 18, 82, 2, 19, 82, 2, 20,
83
+ 82, 2, 21, 82, 2, 22, 82, 2,
84
+ 23, 82, 2, 24, 82, 2, 25, 82,
85
+ 2, 26, 82, 2, 27, 82, 2, 28,
86
+ 82, 2, 29, 82, 2, 30, 82, 2,
87
+ 31, 82, 2, 32, 82, 2, 33, 82,
88
+ 2, 34, 82, 2, 35, 82, 2, 36,
89
+ 82, 2, 37, 82, 2, 38, 82, 2,
90
+ 39, 82, 2, 40, 82, 2, 41, 82,
91
+ 2, 42, 82, 2, 43, 82, 2, 44,
92
+ 82, 2, 45, 82, 2, 46, 82, 2,
93
+ 70, 86, 2, 78, 77, 2, 79, 77,
94
+ 2, 80, 77, 2, 81, 77, 2, 86,
95
+ 82, 2, 87, 77, 3, 1, 82, 77,
96
+ 3, 2, 82, 77, 3, 3, 82, 77,
97
+ 3, 4, 82, 77, 3, 5, 82, 77,
98
+ 3, 6, 82, 77, 3, 7, 82, 77,
99
+ 3, 8, 82, 77, 3, 9, 82, 77,
100
+ 3, 10, 82, 77, 3, 11, 82, 77,
101
+ 3, 12, 82, 77, 3, 13, 82, 77,
102
+ 3, 14, 82, 77, 3, 15, 82, 77,
103
+ 3, 16, 82, 77, 3, 17, 82, 77,
104
+ 3, 18, 82, 77, 3, 19, 82, 77,
105
+ 3, 20, 82, 77, 3, 21, 82, 77,
106
+ 3, 22, 82, 77, 3, 23, 82, 77,
107
+ 3, 24, 82, 77, 3, 25, 82, 77,
108
+ 3, 26, 82, 77, 3, 27, 82, 77,
109
+ 3, 28, 82, 77, 3, 29, 82, 77,
110
+ 3, 30, 82, 77, 3, 31, 82, 77,
111
+ 3, 32, 82, 77, 3, 33, 82, 77,
112
+ 3, 34, 82, 77, 3, 35, 82, 77,
113
+ 3, 36, 82, 77, 3, 37, 82, 77,
114
+ 3, 38, 82, 77, 3, 39, 82, 77,
115
+ 3, 40, 82, 77, 3, 41, 82, 77,
116
+ 3, 42, 82, 77, 3, 43, 82, 77,
117
+ 3, 44, 82, 77, 3, 45, 82, 77,
118
+ 3, 46, 82, 77, 3, 70, 86, 82,
119
+ 3, 73, 47, 0, 3, 74, 47, 0,
120
+ 3, 86, 82, 77, 3, 88, 47, 0,
121
+ 4, 47, 0, 48, 71, 4, 48, 83,
122
+ 84, 82, 4, 48, 83, 84, 85, 4,
123
+ 50, 83, 84, 82, 4, 50, 83, 84,
124
+ 85, 4, 51, 83, 84, 82, 4, 51,
125
+ 83, 84, 85, 4, 52, 83, 84, 82,
126
+ 4, 52, 83, 84, 85, 4, 53, 83,
127
+ 84, 82, 4, 53, 83, 84, 85, 4,
128
+ 54, 83, 84, 82, 4, 54, 83, 84,
129
+ 85, 4, 55, 83, 84, 82, 4, 55,
130
+ 83, 84, 85, 4, 56, 83, 84, 82,
131
+ 4, 56, 83, 84, 85, 4, 57, 83,
132
+ 84, 82, 4, 57, 83, 84, 85, 4,
133
+ 58, 83, 84, 82, 4, 58, 83, 84,
134
+ 85, 4, 59, 83, 84, 82, 4, 59,
135
+ 83, 84, 85, 4, 60, 83, 84, 82,
136
+ 4, 60, 83, 84, 85, 4, 61, 83,
137
+ 84, 82, 4, 61, 83, 84, 85, 4,
138
+ 62, 83, 84, 82, 4, 62, 83, 84,
139
+ 85, 4, 63, 83, 84, 82, 4, 63,
140
+ 83, 84, 85, 4, 64, 83, 84, 82,
141
+ 4, 64, 83, 84, 85, 4, 65, 83,
142
+ 84, 82, 4, 65, 83, 84, 85, 4,
143
+ 66, 83, 84, 82, 4, 66, 83, 84,
144
+ 85, 4, 67, 83, 84, 82, 4, 67,
145
+ 83, 84, 85, 4, 68, 83, 84, 82,
146
+ 4, 68, 83, 84, 85, 4, 69, 83,
147
+ 84, 82, 4, 69, 83, 84, 85, 4,
148
+ 70, 86, 82, 77, 5, 48, 83, 84,
149
+ 82, 77, 5, 50, 83, 84, 82, 77,
150
+ 5, 51, 83, 84, 82, 77, 5, 52,
151
+ 83, 84, 82, 77, 5, 53, 83, 84,
152
+ 82, 77, 5, 54, 83, 84, 82, 77,
153
+ 5, 55, 83, 84, 82, 77, 5, 56,
154
+ 83, 84, 82, 77, 5, 57, 83, 84,
155
+ 82, 77, 5, 58, 83, 84, 82, 77,
156
+ 5, 59, 83, 84, 82, 77, 5, 60,
157
+ 83, 84, 82, 77, 5, 61, 83, 84,
158
+ 82, 77, 5, 62, 83, 84, 82, 77,
159
+ 5, 63, 83, 84, 82, 77, 5, 64,
160
+ 83, 84, 82, 77, 5, 65, 83, 84,
161
+ 82, 77, 5, 66, 83, 84, 82, 77,
162
+ 5, 67, 83, 84, 82, 77, 5, 68,
163
+ 83, 84, 82, 77, 5, 69, 83, 84,
164
+ 82, 77, 5, 70, 48, 71, 47, 0,
165
+ 5, 70, 48, 83, 84, 82, 5, 70,
166
+ 48, 83, 84, 85, 5, 73, 47, 0,
167
+ 48, 71, 6, 70, 48, 83, 84, 82,
168
+ 77
169
+ ]
170
+
171
+ class << self
172
+ attr_accessor :_demangle_gcc3_key_offsets
173
+ private :_demangle_gcc3_key_offsets, :_demangle_gcc3_key_offsets=
174
+ end
175
+ self._demangle_gcc3_key_offsets = [
176
+ 0, 0, 1, 2, 18, 25, 27, 48,
177
+ 51, 58, 61, 68, 74, 76, 78, 80,
178
+ 81, 104, 110, 115, 138, 160, 162, 169,
179
+ 170, 173, 179, 184, 186, 193, 196, 199,
180
+ 206, 209, 216, 222, 224, 226, 228, 229,
181
+ 230, 233, 239, 244, 246, 253, 256, 262,
182
+ 267, 269, 274, 277, 282, 285, 286, 287,
183
+ 291, 296, 301, 304, 310, 315, 340, 365,
184
+ 390, 415, 440, 465, 490, 515, 540, 565,
185
+ 590, 615, 640, 665, 690, 715, 740, 765,
186
+ 790, 815, 840, 865, 890, 915, 940, 965,
187
+ 990, 1015, 1040, 1065, 1090, 1115, 1140, 1165,
188
+ 1190, 1215, 1240, 1265, 1290, 1315, 1340, 1365,
189
+ 1390, 1415, 1440, 1465, 1490, 1515, 1540, 1565,
190
+ 1590, 1615, 1640, 1665, 1690, 1715, 1740, 1765,
191
+ 1790, 1815, 1840, 1865, 1890, 1915, 1940, 1965,
192
+ 1990, 2015, 2040
193
+ ]
194
+
195
+ class << self
196
+ attr_accessor :_demangle_gcc3_trans_keys
197
+ private :_demangle_gcc3_trans_keys, :_demangle_gcc3_trans_keys=
198
+ end
199
+ self._demangle_gcc3_trans_keys = [
200
+ 95, 90, 78, 83, 97, 99, 100, 101,
201
+ 103, 105, 108, 109, 110, 111, 112, 114,
202
+ 48, 57, 95, 48, 57, 65, 90, 97,
203
+ 122, 100, 102, 67, 78, 83, 97, 98,
204
+ 99, 100, 101, 102, 104, 105, 106, 108,
205
+ 109, 115, 116, 118, 119, 120, 121, 122,
206
+ 83, 48, 57, 95, 48, 57, 65, 90,
207
+ 97, 122, 83, 48, 57, 95, 48, 57,
208
+ 65, 90, 97, 122, 67, 68, 69, 83,
209
+ 48, 57, 49, 51, 68, 69, 48, 50,
210
+ 69, 67, 75, 78, 83, 86, 97, 98,
211
+ 99, 100, 101, 102, 104, 105, 106, 108,
212
+ 109, 115, 116, 118, 119, 120, 121, 122,
213
+ 95, 116, 48, 57, 65, 90, 95, 48,
214
+ 57, 65, 90, 67, 75, 78, 83, 86,
215
+ 97, 98, 99, 100, 101, 102, 104, 105,
216
+ 106, 108, 109, 115, 116, 118, 119, 120,
217
+ 121, 122, 67, 75, 78, 83, 97, 98,
218
+ 99, 100, 101, 102, 104, 105, 106, 108,
219
+ 109, 115, 116, 118, 119, 120, 121, 122,
220
+ 48, 57, 95, 48, 57, 65, 90, 97,
221
+ 122, 116, 83, 48, 57, 95, 116, 48,
222
+ 57, 65, 90, 95, 48, 57, 65, 90,
223
+ 48, 57, 95, 48, 57, 65, 90, 97,
224
+ 122, 67, 68, 69, 83, 48, 57, 95,
225
+ 48, 57, 65, 90, 97, 122, 83, 48,
226
+ 57, 95, 48, 57, 65, 90, 97, 122,
227
+ 67, 68, 69, 83, 48, 57, 49, 51,
228
+ 68, 69, 48, 50, 69, 116, 83, 48,
229
+ 57, 95, 116, 48, 57, 65, 90, 95,
230
+ 48, 57, 65, 90, 48, 57, 95, 48,
231
+ 57, 65, 90, 97, 122, 67, 68, 69,
232
+ 95, 116, 48, 57, 65, 90, 95, 48,
233
+ 57, 65, 90, 48, 57, 78, 83, 97,
234
+ 100, 110, 108, 109, 111, 86, 97, 101,
235
+ 108, 118, 79, 111, 113, 101, 120, 83,
236
+ 101, 115, 116, 73, 76, 105, 108, 109,
237
+ 97, 101, 103, 116, 119, 82, 111, 114,
238
+ 76, 108, 109, 112, 115, 116, 77, 83,
239
+ 109, 115, 116, 67, 75, 78, 80, 82,
240
+ 83, 86, 97, 98, 99, 100, 101, 102,
241
+ 104, 105, 106, 108, 109, 115, 116, 118,
242
+ 119, 120, 121, 122, 67, 75, 78, 80,
243
+ 82, 83, 86, 97, 98, 99, 100, 101,
244
+ 102, 104, 105, 106, 108, 109, 115, 116,
245
+ 118, 119, 120, 121, 122, 67, 75, 78,
246
+ 80, 82, 83, 86, 97, 98, 99, 100,
247
+ 101, 102, 104, 105, 106, 108, 109, 115,
248
+ 116, 118, 119, 120, 121, 122, 67, 75,
249
+ 78, 80, 82, 83, 86, 97, 98, 99,
250
+ 100, 101, 102, 104, 105, 106, 108, 109,
251
+ 115, 116, 118, 119, 120, 121, 122, 67,
252
+ 75, 78, 80, 82, 83, 86, 97, 98,
253
+ 99, 100, 101, 102, 104, 105, 106, 108,
254
+ 109, 115, 116, 118, 119, 120, 121, 122,
255
+ 67, 75, 78, 80, 82, 83, 86, 97,
256
+ 98, 99, 100, 101, 102, 104, 105, 106,
257
+ 108, 109, 115, 116, 118, 119, 120, 121,
258
+ 122, 67, 75, 78, 80, 82, 83, 86,
259
+ 97, 98, 99, 100, 101, 102, 104, 105,
260
+ 106, 108, 109, 115, 116, 118, 119, 120,
261
+ 121, 122, 67, 75, 78, 80, 82, 83,
262
+ 86, 97, 98, 99, 100, 101, 102, 104,
263
+ 105, 106, 108, 109, 115, 116, 118, 119,
264
+ 120, 121, 122, 67, 75, 78, 80, 82,
265
+ 83, 86, 97, 98, 99, 100, 101, 102,
266
+ 104, 105, 106, 108, 109, 115, 116, 118,
267
+ 119, 120, 121, 122, 67, 75, 78, 80,
268
+ 82, 83, 86, 97, 98, 99, 100, 101,
269
+ 102, 104, 105, 106, 108, 109, 115, 116,
270
+ 118, 119, 120, 121, 122, 67, 75, 78,
271
+ 80, 82, 83, 86, 97, 98, 99, 100,
272
+ 101, 102, 104, 105, 106, 108, 109, 115,
273
+ 116, 118, 119, 120, 121, 122, 67, 75,
274
+ 78, 80, 82, 83, 86, 97, 98, 99,
275
+ 100, 101, 102, 104, 105, 106, 108, 109,
276
+ 115, 116, 118, 119, 120, 121, 122, 67,
277
+ 75, 78, 80, 82, 83, 86, 97, 98,
278
+ 99, 100, 101, 102, 104, 105, 106, 108,
279
+ 109, 115, 116, 118, 119, 120, 121, 122,
280
+ 67, 75, 78, 80, 82, 83, 86, 97,
281
+ 98, 99, 100, 101, 102, 104, 105, 106,
282
+ 108, 109, 115, 116, 118, 119, 120, 121,
283
+ 122, 67, 75, 78, 80, 82, 83, 86,
284
+ 97, 98, 99, 100, 101, 102, 104, 105,
285
+ 106, 108, 109, 115, 116, 118, 119, 120,
286
+ 121, 122, 67, 75, 78, 80, 82, 83,
287
+ 86, 97, 98, 99, 100, 101, 102, 104,
288
+ 105, 106, 108, 109, 115, 116, 118, 119,
289
+ 120, 121, 122, 67, 75, 78, 80, 82,
290
+ 83, 86, 97, 98, 99, 100, 101, 102,
291
+ 104, 105, 106, 108, 109, 115, 116, 118,
292
+ 119, 120, 121, 122, 67, 75, 78, 80,
293
+ 82, 83, 86, 97, 98, 99, 100, 101,
294
+ 102, 104, 105, 106, 108, 109, 115, 116,
295
+ 118, 119, 120, 121, 122, 67, 75, 78,
296
+ 80, 82, 83, 86, 97, 98, 99, 100,
297
+ 101, 102, 104, 105, 106, 108, 109, 115,
298
+ 116, 118, 119, 120, 121, 122, 67, 75,
299
+ 78, 80, 82, 83, 86, 97, 98, 99,
300
+ 100, 101, 102, 104, 105, 106, 108, 109,
301
+ 115, 116, 118, 119, 120, 121, 122, 67,
302
+ 75, 78, 80, 82, 83, 86, 97, 98,
303
+ 99, 100, 101, 102, 104, 105, 106, 108,
304
+ 109, 115, 116, 118, 119, 120, 121, 122,
305
+ 67, 75, 78, 80, 82, 83, 86, 97,
306
+ 98, 99, 100, 101, 102, 104, 105, 106,
307
+ 108, 109, 115, 116, 118, 119, 120, 121,
308
+ 122, 67, 75, 78, 80, 82, 83, 86,
309
+ 97, 98, 99, 100, 101, 102, 104, 105,
310
+ 106, 108, 109, 115, 116, 118, 119, 120,
311
+ 121, 122, 67, 75, 78, 80, 82, 83,
312
+ 86, 97, 98, 99, 100, 101, 102, 104,
313
+ 105, 106, 108, 109, 115, 116, 118, 119,
314
+ 120, 121, 122, 67, 75, 78, 80, 82,
315
+ 83, 86, 97, 98, 99, 100, 101, 102,
316
+ 104, 105, 106, 108, 109, 115, 116, 118,
317
+ 119, 120, 121, 122, 67, 75, 78, 80,
318
+ 82, 83, 86, 97, 98, 99, 100, 101,
319
+ 102, 104, 105, 106, 108, 109, 115, 116,
320
+ 118, 119, 120, 121, 122, 67, 75, 78,
321
+ 80, 82, 83, 86, 97, 98, 99, 100,
322
+ 101, 102, 104, 105, 106, 108, 109, 115,
323
+ 116, 118, 119, 120, 121, 122, 67, 75,
324
+ 78, 80, 82, 83, 86, 97, 98, 99,
325
+ 100, 101, 102, 104, 105, 106, 108, 109,
326
+ 115, 116, 118, 119, 120, 121, 122, 67,
327
+ 75, 78, 80, 82, 83, 86, 97, 98,
328
+ 99, 100, 101, 102, 104, 105, 106, 108,
329
+ 109, 115, 116, 118, 119, 120, 121, 122,
330
+ 67, 75, 78, 80, 82, 83, 86, 97,
331
+ 98, 99, 100, 101, 102, 104, 105, 106,
332
+ 108, 109, 115, 116, 118, 119, 120, 121,
333
+ 122, 67, 75, 78, 80, 82, 83, 86,
334
+ 97, 98, 99, 100, 101, 102, 104, 105,
335
+ 106, 108, 109, 115, 116, 118, 119, 120,
336
+ 121, 122, 67, 75, 78, 80, 82, 83,
337
+ 86, 97, 98, 99, 100, 101, 102, 104,
338
+ 105, 106, 108, 109, 115, 116, 118, 119,
339
+ 120, 121, 122, 67, 75, 78, 80, 82,
340
+ 83, 86, 97, 98, 99, 100, 101, 102,
341
+ 104, 105, 106, 108, 109, 115, 116, 118,
342
+ 119, 120, 121, 122, 67, 75, 78, 80,
343
+ 82, 83, 86, 97, 98, 99, 100, 101,
344
+ 102, 104, 105, 106, 108, 109, 115, 116,
345
+ 118, 119, 120, 121, 122, 67, 75, 78,
346
+ 80, 82, 83, 86, 97, 98, 99, 100,
347
+ 101, 102, 104, 105, 106, 108, 109, 115,
348
+ 116, 118, 119, 120, 121, 122, 67, 75,
349
+ 78, 80, 82, 83, 86, 97, 98, 99,
350
+ 100, 101, 102, 104, 105, 106, 108, 109,
351
+ 115, 116, 118, 119, 120, 121, 122, 67,
352
+ 75, 78, 80, 82, 83, 86, 97, 98,
353
+ 99, 100, 101, 102, 104, 105, 106, 108,
354
+ 109, 115, 116, 118, 119, 120, 121, 122,
355
+ 67, 75, 78, 80, 82, 83, 86, 97,
356
+ 98, 99, 100, 101, 102, 104, 105, 106,
357
+ 108, 109, 115, 116, 118, 119, 120, 121,
358
+ 122, 67, 75, 78, 80, 82, 83, 86,
359
+ 97, 98, 99, 100, 101, 102, 104, 105,
360
+ 106, 108, 109, 115, 116, 118, 119, 120,
361
+ 121, 122, 67, 75, 78, 80, 82, 83,
362
+ 86, 97, 98, 99, 100, 101, 102, 104,
363
+ 105, 106, 108, 109, 115, 116, 118, 119,
364
+ 120, 121, 122, 67, 75, 78, 80, 82,
365
+ 83, 86, 97, 98, 99, 100, 101, 102,
366
+ 104, 105, 106, 108, 109, 115, 116, 118,
367
+ 119, 120, 121, 122, 67, 75, 78, 80,
368
+ 82, 83, 86, 97, 98, 99, 100, 101,
369
+ 102, 104, 105, 106, 108, 109, 115, 116,
370
+ 118, 119, 120, 121, 122, 67, 75, 78,
371
+ 80, 82, 83, 86, 97, 98, 99, 100,
372
+ 101, 102, 104, 105, 106, 108, 109, 115,
373
+ 116, 118, 119, 120, 121, 122, 67, 75,
374
+ 78, 80, 82, 83, 86, 97, 98, 99,
375
+ 100, 101, 102, 104, 105, 106, 108, 109,
376
+ 115, 116, 118, 119, 120, 121, 122, 67,
377
+ 75, 78, 80, 82, 83, 86, 97, 98,
378
+ 99, 100, 101, 102, 104, 105, 106, 108,
379
+ 109, 115, 116, 118, 119, 120, 121, 122,
380
+ 67, 75, 78, 80, 82, 83, 86, 97,
381
+ 98, 99, 100, 101, 102, 104, 105, 106,
382
+ 108, 109, 115, 116, 118, 119, 120, 121,
383
+ 122, 67, 75, 78, 80, 82, 83, 86,
384
+ 97, 98, 99, 100, 101, 102, 104, 105,
385
+ 106, 108, 109, 115, 116, 118, 119, 120,
386
+ 121, 122, 67, 75, 78, 80, 82, 83,
387
+ 86, 97, 98, 99, 100, 101, 102, 104,
388
+ 105, 106, 108, 109, 115, 116, 118, 119,
389
+ 120, 121, 122, 67, 75, 78, 80, 82,
390
+ 83, 86, 97, 98, 99, 100, 101, 102,
391
+ 104, 105, 106, 108, 109, 115, 116, 118,
392
+ 119, 120, 121, 122, 67, 75, 78, 80,
393
+ 82, 83, 86, 97, 98, 99, 100, 101,
394
+ 102, 104, 105, 106, 108, 109, 115, 116,
395
+ 118, 119, 120, 121, 122, 67, 75, 78,
396
+ 80, 82, 83, 86, 97, 98, 99, 100,
397
+ 101, 102, 104, 105, 106, 108, 109, 115,
398
+ 116, 118, 119, 120, 121, 122, 67, 75,
399
+ 78, 80, 82, 83, 86, 97, 98, 99,
400
+ 100, 101, 102, 104, 105, 106, 108, 109,
401
+ 115, 116, 118, 119, 120, 121, 122, 67,
402
+ 75, 78, 80, 82, 83, 86, 97, 98,
403
+ 99, 100, 101, 102, 104, 105, 106, 108,
404
+ 109, 115, 116, 118, 119, 120, 121, 122,
405
+ 67, 75, 78, 80, 82, 83, 86, 97,
406
+ 98, 99, 100, 101, 102, 104, 105, 106,
407
+ 108, 109, 115, 116, 118, 119, 120, 121,
408
+ 122, 67, 75, 78, 80, 82, 83, 86,
409
+ 97, 98, 99, 100, 101, 102, 104, 105,
410
+ 106, 108, 109, 115, 116, 118, 119, 120,
411
+ 121, 122, 67, 75, 78, 80, 82, 83,
412
+ 86, 97, 98, 99, 100, 101, 102, 104,
413
+ 105, 106, 108, 109, 115, 116, 118, 119,
414
+ 120, 121, 122, 67, 75, 78, 80, 82,
415
+ 83, 86, 97, 98, 99, 100, 101, 102,
416
+ 104, 105, 106, 108, 109, 115, 116, 118,
417
+ 119, 120, 121, 122, 67, 75, 78, 80,
418
+ 82, 83, 86, 97, 98, 99, 100, 101,
419
+ 102, 104, 105, 106, 108, 109, 115, 116,
420
+ 118, 119, 120, 121, 122, 67, 75, 78,
421
+ 80, 82, 83, 86, 97, 98, 99, 100,
422
+ 101, 102, 104, 105, 106, 108, 109, 115,
423
+ 116, 118, 119, 120, 121, 122, 67, 75,
424
+ 78, 80, 82, 83, 86, 97, 98, 99,
425
+ 100, 101, 102, 104, 105, 106, 108, 109,
426
+ 115, 116, 118, 119, 120, 121, 122, 67,
427
+ 75, 78, 80, 82, 83, 86, 97, 98,
428
+ 99, 100, 101, 102, 104, 105, 106, 108,
429
+ 109, 115, 116, 118, 119, 120, 121, 122,
430
+ 67, 75, 78, 80, 82, 83, 86, 97,
431
+ 98, 99, 100, 101, 102, 104, 105, 106,
432
+ 108, 109, 115, 116, 118, 119, 120, 121,
433
+ 122, 67, 75, 78, 80, 82, 83, 86,
434
+ 97, 98, 99, 100, 101, 102, 104, 105,
435
+ 106, 108, 109, 115, 116, 118, 119, 120,
436
+ 121, 122, 67, 75, 78, 80, 82, 83,
437
+ 86, 97, 98, 99, 100, 101, 102, 104,
438
+ 105, 106, 108, 109, 115, 116, 118, 119,
439
+ 120, 121, 122, 67, 75, 78, 80, 82,
440
+ 83, 86, 97, 98, 99, 100, 101, 102,
441
+ 104, 105, 106, 108, 109, 115, 116, 118,
442
+ 119, 120, 121, 122, 67, 75, 78, 80,
443
+ 82, 83, 86, 97, 98, 99, 100, 101,
444
+ 102, 104, 105, 106, 108, 109, 115, 116,
445
+ 118, 119, 120, 121, 122, 67, 75, 78,
446
+ 80, 82, 83, 86, 97, 98, 99, 100,
447
+ 101, 102, 104, 105, 106, 108, 109, 115,
448
+ 116, 118, 119, 120, 121, 122, 67, 75,
449
+ 78, 80, 82, 83, 86, 97, 98, 99,
450
+ 100, 101, 102, 104, 105, 106, 108, 109,
451
+ 115, 116, 118, 119, 120, 121, 122, 67,
452
+ 75, 78, 80, 82, 83, 86, 97, 98,
453
+ 99, 100, 101, 102, 104, 105, 106, 108,
454
+ 109, 115, 116, 118, 119, 120, 121, 122,
455
+ 67, 75, 78, 80, 82, 83, 86, 97,
456
+ 98, 99, 100, 101, 102, 104, 105, 106,
457
+ 108, 109, 115, 116, 118, 119, 120, 121,
458
+ 122, 0
459
+ ]
460
+
461
+ class << self
462
+ attr_accessor :_demangle_gcc3_single_lengths
463
+ private :_demangle_gcc3_single_lengths, :_demangle_gcc3_single_lengths=
464
+ end
465
+ self._demangle_gcc3_single_lengths = [
466
+ 0, 1, 1, 14, 1, 2, 21, 1,
467
+ 1, 1, 1, 4, 0, 2, 0, 1,
468
+ 23, 2, 1, 23, 22, 0, 1, 1,
469
+ 1, 2, 1, 0, 1, 3, 1, 1,
470
+ 1, 1, 4, 0, 2, 0, 1, 1,
471
+ 1, 2, 1, 0, 1, 3, 2, 1,
472
+ 0, 5, 3, 5, 3, 1, 1, 4,
473
+ 5, 5, 3, 6, 5, 25, 25, 25,
474
+ 25, 25, 25, 25, 25, 25, 25, 25,
475
+ 25, 25, 25, 25, 25, 25, 25, 25,
476
+ 25, 25, 25, 25, 25, 25, 25, 25,
477
+ 25, 25, 25, 25, 25, 25, 25, 25,
478
+ 25, 25, 25, 25, 25, 25, 25, 25,
479
+ 25, 25, 25, 25, 25, 25, 25, 25,
480
+ 25, 25, 25, 25, 25, 25, 25, 25,
481
+ 25, 25, 25, 25, 25, 25, 25, 25,
482
+ 25, 25, 25
483
+ ]
484
+
485
+ class << self
486
+ attr_accessor :_demangle_gcc3_range_lengths
487
+ private :_demangle_gcc3_range_lengths, :_demangle_gcc3_range_lengths=
488
+ end
489
+ self._demangle_gcc3_range_lengths = [
490
+ 0, 0, 0, 1, 3, 0, 0, 1,
491
+ 3, 1, 3, 1, 1, 0, 1, 0,
492
+ 0, 2, 2, 0, 0, 1, 3, 0,
493
+ 1, 2, 2, 1, 3, 0, 1, 3,
494
+ 1, 3, 1, 1, 0, 1, 0, 0,
495
+ 1, 2, 2, 1, 3, 0, 2, 2,
496
+ 1, 0, 0, 0, 0, 0, 0, 0,
497
+ 0, 0, 0, 0, 0, 0, 0, 0,
498
+ 0, 0, 0, 0, 0, 0, 0, 0,
499
+ 0, 0, 0, 0, 0, 0, 0, 0,
500
+ 0, 0, 0, 0, 0, 0, 0, 0,
501
+ 0, 0, 0, 0, 0, 0, 0, 0,
502
+ 0, 0, 0, 0, 0, 0, 0, 0,
503
+ 0, 0, 0, 0, 0, 0, 0, 0,
504
+ 0, 0, 0, 0, 0, 0, 0, 0,
505
+ 0, 0, 0, 0, 0, 0, 0, 0,
506
+ 0, 0, 0
507
+ ]
508
+
509
+ class << self
510
+ attr_accessor :_demangle_gcc3_index_offsets
511
+ private :_demangle_gcc3_index_offsets, :_demangle_gcc3_index_offsets=
512
+ end
513
+ self._demangle_gcc3_index_offsets = [
514
+ 0, 0, 2, 4, 20, 25, 28, 50,
515
+ 53, 58, 61, 66, 72, 74, 77, 79,
516
+ 81, 105, 110, 114, 138, 161, 163, 168,
517
+ 170, 173, 178, 182, 184, 189, 193, 196,
518
+ 201, 204, 209, 215, 217, 220, 222, 224,
519
+ 226, 229, 234, 238, 240, 245, 249, 254,
520
+ 258, 260, 266, 270, 276, 280, 282, 284,
521
+ 289, 295, 301, 305, 312, 318, 344, 370,
522
+ 396, 422, 448, 474, 500, 526, 552, 578,
523
+ 604, 630, 656, 682, 708, 734, 760, 786,
524
+ 812, 838, 864, 890, 916, 942, 968, 994,
525
+ 1020, 1046, 1072, 1098, 1124, 1150, 1176, 1202,
526
+ 1228, 1254, 1280, 1306, 1332, 1358, 1384, 1410,
527
+ 1436, 1462, 1488, 1514, 1540, 1566, 1592, 1618,
528
+ 1644, 1670, 1696, 1722, 1748, 1774, 1800, 1826,
529
+ 1852, 1878, 1904, 1930, 1956, 1982, 2008, 2034,
530
+ 2060, 2086, 2112
531
+ ]
532
+
533
+ class << self
534
+ attr_accessor :_demangle_gcc3_trans_targs
535
+ private :_demangle_gcc3_trans_targs, :_demangle_gcc3_trans_targs=
536
+ end
537
+ self._demangle_gcc3_trans_targs = [
538
+ 2, 0, 3, 0, 30, 46, 49, 50,
539
+ 51, 52, 53, 54, 55, 56, 57, 58,
540
+ 59, 60, 4, 0, 61, 4, 61, 61,
541
+ 0, 62, 83, 0, 5, 7, 17, 65,
542
+ 66, 67, 68, 69, 70, 71, 72, 73,
543
+ 74, 75, 76, 77, 78, 79, 80, 81,
544
+ 82, 0, 25, 8, 0, 9, 8, 9,
545
+ 9, 0, 23, 10, 0, 11, 10, 11,
546
+ 11, 0, 12, 14, 63, 23, 10, 0,
547
+ 13, 0, 14, 63, 0, 15, 0, 63,
548
+ 0, 5, 6, 7, 17, 20, 65, 66,
549
+ 67, 68, 69, 70, 71, 72, 73, 74,
550
+ 75, 76, 77, 78, 79, 80, 81, 82,
551
+ 0, 64, 21, 18, 18, 0, 64, 18,
552
+ 18, 0, 5, 6, 7, 17, 20, 65,
553
+ 66, 67, 68, 69, 70, 71, 72, 73,
554
+ 74, 75, 76, 77, 78, 79, 80, 81,
555
+ 82, 0, 5, 6, 7, 17, 65, 66,
556
+ 67, 68, 69, 70, 71, 72, 73, 74,
557
+ 75, 76, 77, 78, 79, 80, 81, 82,
558
+ 0, 22, 0, 63, 22, 63, 63, 0,
559
+ 24, 0, 23, 10, 0, 27, 24, 26,
560
+ 26, 0, 27, 26, 26, 0, 28, 0,
561
+ 29, 28, 29, 29, 0, 12, 14, 63,
562
+ 0, 41, 31, 0, 32, 31, 32, 32,
563
+ 0, 39, 33, 0, 34, 33, 34, 34,
564
+ 0, 35, 37, 61, 39, 33, 0, 36,
565
+ 0, 37, 61, 0, 38, 0, 61, 0,
566
+ 40, 0, 39, 33, 0, 43, 40, 42,
567
+ 42, 0, 43, 42, 42, 0, 44, 0,
568
+ 45, 44, 45, 45, 0, 35, 37, 61,
569
+ 0, 84, 48, 47, 47, 0, 84, 47,
570
+ 47, 0, 4, 0, 85, 86, 87, 88,
571
+ 89, 0, 90, 91, 92, 0, 93, 94,
572
+ 95, 96, 97, 0, 98, 99, 100, 0,
573
+ 101, 0, 102, 0, 103, 104, 105, 106,
574
+ 0, 107, 108, 109, 110, 111, 0, 112,
575
+ 113, 114, 115, 116, 0, 117, 118, 119,
576
+ 0, 120, 121, 122, 123, 124, 125, 0,
577
+ 126, 127, 128, 129, 130, 0, 5, 6,
578
+ 7, 16, 19, 17, 20, 65, 66, 67,
579
+ 68, 69, 70, 71, 72, 73, 74, 75,
580
+ 76, 77, 78, 79, 80, 81, 82, 0,
581
+ 5, 6, 7, 16, 19, 17, 20, 65,
582
+ 66, 67, 68, 69, 70, 71, 72, 73,
583
+ 74, 75, 76, 77, 78, 79, 80, 81,
584
+ 82, 0, 5, 6, 7, 16, 19, 17,
585
+ 20, 65, 66, 67, 68, 69, 70, 71,
586
+ 72, 73, 74, 75, 76, 77, 78, 79,
587
+ 80, 81, 82, 0, 5, 6, 7, 16,
588
+ 19, 17, 20, 65, 66, 67, 68, 69,
589
+ 70, 71, 72, 73, 74, 75, 76, 77,
590
+ 78, 79, 80, 81, 82, 0, 5, 6,
591
+ 7, 16, 19, 17, 20, 65, 66, 67,
592
+ 68, 69, 70, 71, 72, 73, 74, 75,
593
+ 76, 77, 78, 79, 80, 81, 82, 0,
594
+ 5, 6, 7, 16, 19, 17, 20, 65,
595
+ 66, 67, 68, 69, 70, 71, 72, 73,
596
+ 74, 75, 76, 77, 78, 79, 80, 81,
597
+ 82, 0, 5, 6, 7, 16, 19, 17,
598
+ 20, 65, 66, 67, 68, 69, 70, 71,
599
+ 72, 73, 74, 75, 76, 77, 78, 79,
600
+ 80, 81, 82, 0, 5, 6, 7, 16,
601
+ 19, 17, 20, 65, 66, 67, 68, 69,
602
+ 70, 71, 72, 73, 74, 75, 76, 77,
603
+ 78, 79, 80, 81, 82, 0, 5, 6,
604
+ 7, 16, 19, 17, 20, 65, 66, 67,
605
+ 68, 69, 70, 71, 72, 73, 74, 75,
606
+ 76, 77, 78, 79, 80, 81, 82, 0,
607
+ 5, 6, 7, 16, 19, 17, 20, 65,
608
+ 66, 67, 68, 69, 70, 71, 72, 73,
609
+ 74, 75, 76, 77, 78, 79, 80, 81,
610
+ 82, 0, 5, 6, 7, 16, 19, 17,
611
+ 20, 65, 66, 67, 68, 69, 70, 71,
612
+ 72, 73, 74, 75, 76, 77, 78, 79,
613
+ 80, 81, 82, 0, 5, 6, 7, 16,
614
+ 19, 17, 20, 65, 66, 67, 68, 69,
615
+ 70, 71, 72, 73, 74, 75, 76, 77,
616
+ 78, 79, 80, 81, 82, 0, 5, 6,
617
+ 7, 16, 19, 17, 20, 65, 66, 67,
618
+ 68, 69, 70, 71, 72, 73, 74, 75,
619
+ 76, 77, 78, 79, 80, 81, 82, 0,
620
+ 5, 6, 7, 16, 19, 17, 20, 65,
621
+ 66, 67, 68, 69, 70, 71, 72, 73,
622
+ 74, 75, 76, 77, 78, 79, 80, 81,
623
+ 82, 0, 5, 6, 7, 16, 19, 17,
624
+ 20, 65, 66, 67, 68, 69, 70, 71,
625
+ 72, 73, 74, 75, 76, 77, 78, 79,
626
+ 80, 81, 82, 0, 5, 6, 7, 16,
627
+ 19, 17, 20, 65, 66, 67, 68, 69,
628
+ 70, 71, 72, 73, 74, 75, 76, 77,
629
+ 78, 79, 80, 81, 82, 0, 5, 6,
630
+ 7, 16, 19, 17, 20, 65, 66, 67,
631
+ 68, 69, 70, 71, 72, 73, 74, 75,
632
+ 76, 77, 78, 79, 80, 81, 82, 0,
633
+ 5, 6, 7, 16, 19, 17, 20, 65,
634
+ 66, 67, 68, 69, 70, 71, 72, 73,
635
+ 74, 75, 76, 77, 78, 79, 80, 81,
636
+ 82, 0, 5, 6, 7, 16, 19, 17,
637
+ 20, 65, 66, 67, 68, 69, 70, 71,
638
+ 72, 73, 74, 75, 76, 77, 78, 79,
639
+ 80, 81, 82, 0, 5, 6, 7, 16,
640
+ 19, 17, 20, 65, 66, 67, 68, 69,
641
+ 70, 71, 72, 73, 74, 75, 76, 77,
642
+ 78, 79, 80, 81, 82, 0, 5, 6,
643
+ 7, 16, 19, 17, 20, 65, 66, 67,
644
+ 68, 69, 70, 71, 72, 73, 74, 75,
645
+ 76, 77, 78, 79, 80, 81, 82, 0,
646
+ 5, 6, 7, 16, 19, 17, 20, 65,
647
+ 66, 67, 68, 69, 70, 71, 72, 73,
648
+ 74, 75, 76, 77, 78, 79, 80, 81,
649
+ 82, 0, 5, 6, 7, 16, 19, 17,
650
+ 20, 65, 66, 67, 68, 69, 70, 71,
651
+ 72, 73, 74, 75, 76, 77, 78, 79,
652
+ 80, 81, 82, 0, 5, 6, 7, 16,
653
+ 19, 17, 20, 65, 66, 67, 68, 69,
654
+ 70, 71, 72, 73, 74, 75, 76, 77,
655
+ 78, 79, 80, 81, 82, 0, 5, 6,
656
+ 7, 16, 19, 17, 20, 65, 66, 67,
657
+ 68, 69, 70, 71, 72, 73, 74, 75,
658
+ 76, 77, 78, 79, 80, 81, 82, 0,
659
+ 5, 6, 7, 16, 19, 17, 20, 65,
660
+ 66, 67, 68, 69, 70, 71, 72, 73,
661
+ 74, 75, 76, 77, 78, 79, 80, 81,
662
+ 82, 0, 5, 6, 7, 16, 19, 17,
663
+ 20, 65, 66, 67, 68, 69, 70, 71,
664
+ 72, 73, 74, 75, 76, 77, 78, 79,
665
+ 80, 81, 82, 0, 5, 6, 7, 16,
666
+ 19, 17, 20, 65, 66, 67, 68, 69,
667
+ 70, 71, 72, 73, 74, 75, 76, 77,
668
+ 78, 79, 80, 81, 82, 0, 5, 6,
669
+ 7, 16, 19, 17, 20, 65, 66, 67,
670
+ 68, 69, 70, 71, 72, 73, 74, 75,
671
+ 76, 77, 78, 79, 80, 81, 82, 0,
672
+ 5, 6, 7, 16, 19, 17, 20, 65,
673
+ 66, 67, 68, 69, 70, 71, 72, 73,
674
+ 74, 75, 76, 77, 78, 79, 80, 81,
675
+ 82, 0, 5, 6, 7, 16, 19, 17,
676
+ 20, 65, 66, 67, 68, 69, 70, 71,
677
+ 72, 73, 74, 75, 76, 77, 78, 79,
678
+ 80, 81, 82, 0, 5, 6, 7, 16,
679
+ 19, 17, 20, 65, 66, 67, 68, 69,
680
+ 70, 71, 72, 73, 74, 75, 76, 77,
681
+ 78, 79, 80, 81, 82, 0, 5, 6,
682
+ 7, 16, 19, 17, 20, 65, 66, 67,
683
+ 68, 69, 70, 71, 72, 73, 74, 75,
684
+ 76, 77, 78, 79, 80, 81, 82, 0,
685
+ 5, 6, 7, 16, 19, 17, 20, 65,
686
+ 66, 67, 68, 69, 70, 71, 72, 73,
687
+ 74, 75, 76, 77, 78, 79, 80, 81,
688
+ 82, 0, 5, 6, 7, 16, 19, 17,
689
+ 20, 65, 66, 67, 68, 69, 70, 71,
690
+ 72, 73, 74, 75, 76, 77, 78, 79,
691
+ 80, 81, 82, 0, 5, 6, 7, 16,
692
+ 19, 17, 20, 65, 66, 67, 68, 69,
693
+ 70, 71, 72, 73, 74, 75, 76, 77,
694
+ 78, 79, 80, 81, 82, 0, 5, 6,
695
+ 7, 16, 19, 17, 20, 65, 66, 67,
696
+ 68, 69, 70, 71, 72, 73, 74, 75,
697
+ 76, 77, 78, 79, 80, 81, 82, 0,
698
+ 5, 6, 7, 16, 19, 17, 20, 65,
699
+ 66, 67, 68, 69, 70, 71, 72, 73,
700
+ 74, 75, 76, 77, 78, 79, 80, 81,
701
+ 82, 0, 5, 6, 7, 16, 19, 17,
702
+ 20, 65, 66, 67, 68, 69, 70, 71,
703
+ 72, 73, 74, 75, 76, 77, 78, 79,
704
+ 80, 81, 82, 0, 5, 6, 7, 16,
705
+ 19, 17, 20, 65, 66, 67, 68, 69,
706
+ 70, 71, 72, 73, 74, 75, 76, 77,
707
+ 78, 79, 80, 81, 82, 0, 5, 6,
708
+ 7, 16, 19, 17, 20, 65, 66, 67,
709
+ 68, 69, 70, 71, 72, 73, 74, 75,
710
+ 76, 77, 78, 79, 80, 81, 82, 0,
711
+ 5, 6, 7, 16, 19, 17, 20, 65,
712
+ 66, 67, 68, 69, 70, 71, 72, 73,
713
+ 74, 75, 76, 77, 78, 79, 80, 81,
714
+ 82, 0, 5, 6, 7, 16, 19, 17,
715
+ 20, 65, 66, 67, 68, 69, 70, 71,
716
+ 72, 73, 74, 75, 76, 77, 78, 79,
717
+ 80, 81, 82, 0, 5, 6, 7, 16,
718
+ 19, 17, 20, 65, 66, 67, 68, 69,
719
+ 70, 71, 72, 73, 74, 75, 76, 77,
720
+ 78, 79, 80, 81, 82, 0, 5, 6,
721
+ 7, 16, 19, 17, 20, 65, 66, 67,
722
+ 68, 69, 70, 71, 72, 73, 74, 75,
723
+ 76, 77, 78, 79, 80, 81, 82, 0,
724
+ 5, 6, 7, 16, 19, 17, 20, 65,
725
+ 66, 67, 68, 69, 70, 71, 72, 73,
726
+ 74, 75, 76, 77, 78, 79, 80, 81,
727
+ 82, 0, 5, 6, 7, 16, 19, 17,
728
+ 20, 65, 66, 67, 68, 69, 70, 71,
729
+ 72, 73, 74, 75, 76, 77, 78, 79,
730
+ 80, 81, 82, 0, 5, 6, 7, 16,
731
+ 19, 17, 20, 65, 66, 67, 68, 69,
732
+ 70, 71, 72, 73, 74, 75, 76, 77,
733
+ 78, 79, 80, 81, 82, 0, 5, 6,
734
+ 7, 16, 19, 17, 20, 65, 66, 67,
735
+ 68, 69, 70, 71, 72, 73, 74, 75,
736
+ 76, 77, 78, 79, 80, 81, 82, 0,
737
+ 5, 6, 7, 16, 19, 17, 20, 65,
738
+ 66, 67, 68, 69, 70, 71, 72, 73,
739
+ 74, 75, 76, 77, 78, 79, 80, 81,
740
+ 82, 0, 5, 6, 7, 16, 19, 17,
741
+ 20, 65, 66, 67, 68, 69, 70, 71,
742
+ 72, 73, 74, 75, 76, 77, 78, 79,
743
+ 80, 81, 82, 0, 5, 6, 7, 16,
744
+ 19, 17, 20, 65, 66, 67, 68, 69,
745
+ 70, 71, 72, 73, 74, 75, 76, 77,
746
+ 78, 79, 80, 81, 82, 0, 5, 6,
747
+ 7, 16, 19, 17, 20, 65, 66, 67,
748
+ 68, 69, 70, 71, 72, 73, 74, 75,
749
+ 76, 77, 78, 79, 80, 81, 82, 0,
750
+ 5, 6, 7, 16, 19, 17, 20, 65,
751
+ 66, 67, 68, 69, 70, 71, 72, 73,
752
+ 74, 75, 76, 77, 78, 79, 80, 81,
753
+ 82, 0, 5, 6, 7, 16, 19, 17,
754
+ 20, 65, 66, 67, 68, 69, 70, 71,
755
+ 72, 73, 74, 75, 76, 77, 78, 79,
756
+ 80, 81, 82, 0, 5, 6, 7, 16,
757
+ 19, 17, 20, 65, 66, 67, 68, 69,
758
+ 70, 71, 72, 73, 74, 75, 76, 77,
759
+ 78, 79, 80, 81, 82, 0, 5, 6,
760
+ 7, 16, 19, 17, 20, 65, 66, 67,
761
+ 68, 69, 70, 71, 72, 73, 74, 75,
762
+ 76, 77, 78, 79, 80, 81, 82, 0,
763
+ 5, 6, 7, 16, 19, 17, 20, 65,
764
+ 66, 67, 68, 69, 70, 71, 72, 73,
765
+ 74, 75, 76, 77, 78, 79, 80, 81,
766
+ 82, 0, 5, 6, 7, 16, 19, 17,
767
+ 20, 65, 66, 67, 68, 69, 70, 71,
768
+ 72, 73, 74, 75, 76, 77, 78, 79,
769
+ 80, 81, 82, 0, 5, 6, 7, 16,
770
+ 19, 17, 20, 65, 66, 67, 68, 69,
771
+ 70, 71, 72, 73, 74, 75, 76, 77,
772
+ 78, 79, 80, 81, 82, 0, 5, 6,
773
+ 7, 16, 19, 17, 20, 65, 66, 67,
774
+ 68, 69, 70, 71, 72, 73, 74, 75,
775
+ 76, 77, 78, 79, 80, 81, 82, 0,
776
+ 5, 6, 7, 16, 19, 17, 20, 65,
777
+ 66, 67, 68, 69, 70, 71, 72, 73,
778
+ 74, 75, 76, 77, 78, 79, 80, 81,
779
+ 82, 0, 5, 6, 7, 16, 19, 17,
780
+ 20, 65, 66, 67, 68, 69, 70, 71,
781
+ 72, 73, 74, 75, 76, 77, 78, 79,
782
+ 80, 81, 82, 0, 5, 6, 7, 16,
783
+ 19, 17, 20, 65, 66, 67, 68, 69,
784
+ 70, 71, 72, 73, 74, 75, 76, 77,
785
+ 78, 79, 80, 81, 82, 0, 5, 6,
786
+ 7, 16, 19, 17, 20, 65, 66, 67,
787
+ 68, 69, 70, 71, 72, 73, 74, 75,
788
+ 76, 77, 78, 79, 80, 81, 82, 0,
789
+ 5, 6, 7, 16, 19, 17, 20, 65,
790
+ 66, 67, 68, 69, 70, 71, 72, 73,
791
+ 74, 75, 76, 77, 78, 79, 80, 81,
792
+ 82, 0, 5, 6, 7, 16, 19, 17,
793
+ 20, 65, 66, 67, 68, 69, 70, 71,
794
+ 72, 73, 74, 75, 76, 77, 78, 79,
795
+ 80, 81, 82, 0, 5, 6, 7, 16,
796
+ 19, 17, 20, 65, 66, 67, 68, 69,
797
+ 70, 71, 72, 73, 74, 75, 76, 77,
798
+ 78, 79, 80, 81, 82, 0, 5, 6,
799
+ 7, 16, 19, 17, 20, 65, 66, 67,
800
+ 68, 69, 70, 71, 72, 73, 74, 75,
801
+ 76, 77, 78, 79, 80, 81, 82, 0,
802
+ 5, 6, 7, 16, 19, 17, 20, 65,
803
+ 66, 67, 68, 69, 70, 71, 72, 73,
804
+ 74, 75, 76, 77, 78, 79, 80, 81,
805
+ 82, 0, 0
806
+ ]
807
+
808
+ class << self
809
+ attr_accessor :_demangle_gcc3_trans_actions
810
+ private :_demangle_gcc3_trans_actions, :_demangle_gcc3_trans_actions=
811
+ end
812
+ self._demangle_gcc3_trans_actions = [
813
+ 0, 0, 0, 0, 273, 273, 0, 0,
814
+ 0, 0, 0, 0, 0, 0, 0, 0,
815
+ 0, 0, 476, 0, 95, 0, 95, 95,
816
+ 0, 0, 0, 0, 113, 267, 267, 113,
817
+ 113, 113, 113, 113, 113, 113, 113, 113,
818
+ 113, 113, 113, 113, 113, 113, 113, 113,
819
+ 113, 0, 101, 468, 0, 95, 0, 95,
820
+ 95, 0, 0, 480, 0, 95, 0, 95,
821
+ 95, 0, 97, 97, 97, 0, 480, 0,
822
+ 0, 0, 103, 103, 0, 0, 0, 105,
823
+ 0, 107, 107, 258, 258, 107, 107, 107,
824
+ 107, 107, 107, 107, 107, 107, 107, 107,
825
+ 107, 107, 107, 107, 107, 107, 107, 107,
826
+ 0, 1, 0, 1, 1, 0, 0, 0,
827
+ 0, 0, 109, 109, 261, 261, 109, 109,
828
+ 109, 109, 109, 109, 109, 109, 109, 109,
829
+ 109, 109, 109, 109, 109, 109, 109, 109,
830
+ 109, 0, 111, 111, 264, 264, 111, 111,
831
+ 111, 111, 111, 111, 111, 111, 111, 111,
832
+ 111, 111, 111, 111, 111, 111, 111, 111,
833
+ 0, 464, 0, 95, 0, 95, 95, 0,
834
+ 0, 0, 99, 844, 0, 1, 0, 1,
835
+ 1, 0, 0, 0, 0, 0, 826, 0,
836
+ 95, 0, 95, 95, 0, 97, 97, 97,
837
+ 0, 101, 468, 0, 95, 0, 95, 95,
838
+ 0, 0, 480, 0, 95, 0, 95, 95,
839
+ 0, 97, 97, 97, 0, 480, 0, 0,
840
+ 0, 103, 103, 0, 0, 0, 105, 0,
841
+ 0, 0, 99, 844, 0, 1, 0, 1,
842
+ 1, 0, 0, 0, 0, 0, 826, 0,
843
+ 95, 0, 95, 95, 0, 97, 97, 97,
844
+ 0, 1, 0, 1, 1, 0, 0, 0,
845
+ 0, 0, 464, 0, 0, 0, 0, 0,
846
+ 0, 0, 0, 0, 0, 0, 0, 0,
847
+ 0, 0, 0, 0, 0, 0, 0, 0,
848
+ 0, 0, 0, 0, 0, 0, 0, 0,
849
+ 0, 0, 0, 0, 0, 0, 0, 0,
850
+ 0, 0, 0, 0, 0, 0, 0, 0,
851
+ 0, 0, 0, 0, 0, 0, 0, 0,
852
+ 0, 0, 0, 0, 0, 0, 270, 270,
853
+ 472, 270, 270, 472, 270, 270, 270, 270,
854
+ 270, 270, 270, 270, 270, 270, 270, 270,
855
+ 270, 270, 270, 270, 270, 270, 270, 0,
856
+ 675, 675, 814, 675, 675, 814, 675, 675,
857
+ 675, 675, 675, 675, 675, 675, 675, 675,
858
+ 675, 675, 675, 675, 675, 675, 675, 675,
859
+ 675, 0, 485, 485, 700, 485, 485, 700,
860
+ 485, 485, 485, 485, 485, 485, 485, 485,
861
+ 485, 485, 485, 485, 485, 485, 485, 485,
862
+ 485, 485, 485, 0, 832, 832, 850, 832,
863
+ 832, 850, 832, 832, 832, 832, 832, 832,
864
+ 832, 832, 832, 832, 832, 832, 832, 832,
865
+ 832, 832, 832, 832, 832, 0, 525, 525,
866
+ 724, 525, 525, 724, 525, 525, 525, 525,
867
+ 525, 525, 525, 525, 525, 525, 525, 525,
868
+ 525, 525, 525, 525, 525, 525, 525, 0,
869
+ 505, 505, 712, 505, 505, 712, 505, 505,
870
+ 505, 505, 505, 505, 505, 505, 505, 505,
871
+ 505, 505, 505, 505, 505, 505, 505, 505,
872
+ 505, 0, 515, 515, 718, 515, 515, 718,
873
+ 515, 515, 515, 515, 515, 515, 515, 515,
874
+ 515, 515, 515, 515, 515, 515, 515, 515,
875
+ 515, 515, 515, 0, 645, 645, 796, 645,
876
+ 645, 796, 645, 645, 645, 645, 645, 645,
877
+ 645, 645, 645, 645, 645, 645, 645, 645,
878
+ 645, 645, 645, 645, 645, 0, 655, 655,
879
+ 802, 655, 655, 802, 655, 655, 655, 655,
880
+ 655, 655, 655, 655, 655, 655, 655, 655,
881
+ 655, 655, 655, 655, 655, 655, 655, 0,
882
+ 635, 635, 790, 635, 635, 790, 635, 635,
883
+ 635, 635, 635, 635, 635, 635, 635, 635,
884
+ 635, 635, 635, 635, 635, 635, 635, 635,
885
+ 635, 0, 535, 535, 730, 535, 535, 730,
886
+ 535, 535, 535, 535, 535, 535, 535, 535,
887
+ 535, 535, 535, 535, 535, 535, 535, 535,
888
+ 535, 535, 535, 0, 565, 565, 748, 565,
889
+ 565, 748, 565, 565, 565, 565, 565, 565,
890
+ 565, 565, 565, 565, 565, 565, 565, 565,
891
+ 565, 565, 565, 565, 565, 0, 575, 575,
892
+ 754, 575, 575, 754, 575, 575, 575, 575,
893
+ 575, 575, 575, 575, 575, 575, 575, 575,
894
+ 575, 575, 575, 575, 575, 575, 575, 0,
895
+ 585, 585, 760, 585, 585, 760, 585, 585,
896
+ 585, 585, 585, 585, 585, 585, 585, 585,
897
+ 585, 585, 585, 585, 585, 585, 585, 585,
898
+ 585, 0, 595, 595, 766, 595, 595, 766,
899
+ 595, 595, 595, 595, 595, 595, 595, 595,
900
+ 595, 595, 595, 595, 595, 595, 595, 595,
901
+ 595, 595, 595, 0, 545, 545, 736, 545,
902
+ 545, 736, 545, 545, 545, 545, 545, 545,
903
+ 545, 545, 545, 545, 545, 545, 545, 545,
904
+ 545, 545, 545, 545, 545, 0, 555, 555,
905
+ 742, 555, 555, 742, 555, 555, 555, 555,
906
+ 555, 555, 555, 555, 555, 555, 555, 555,
907
+ 555, 555, 555, 555, 555, 555, 555, 0,
908
+ 495, 495, 706, 495, 495, 706, 495, 495,
909
+ 495, 495, 495, 495, 495, 495, 495, 495,
910
+ 495, 495, 495, 495, 495, 495, 495, 495,
911
+ 495, 0, 625, 625, 784, 625, 625, 784,
912
+ 625, 625, 625, 625, 625, 625, 625, 625,
913
+ 625, 625, 625, 625, 625, 625, 625, 625,
914
+ 625, 625, 625, 0, 605, 605, 772, 605,
915
+ 605, 772, 605, 605, 605, 605, 605, 605,
916
+ 605, 605, 605, 605, 605, 605, 605, 605,
917
+ 605, 605, 605, 605, 605, 0, 615, 615,
918
+ 778, 615, 615, 778, 615, 615, 615, 615,
919
+ 615, 615, 615, 615, 615, 615, 615, 615,
920
+ 615, 615, 615, 615, 615, 615, 615, 0,
921
+ 685, 685, 820, 685, 685, 820, 685, 685,
922
+ 685, 685, 685, 685, 685, 685, 685, 685,
923
+ 685, 685, 685, 685, 685, 685, 685, 685,
924
+ 685, 0, 665, 665, 808, 665, 665, 808,
925
+ 665, 665, 665, 665, 665, 665, 665, 665,
926
+ 665, 665, 665, 665, 665, 665, 665, 665,
927
+ 665, 665, 665, 0, 460, 460, 695, 460,
928
+ 460, 695, 460, 460, 460, 460, 460, 460,
929
+ 460, 460, 460, 460, 460, 460, 460, 460,
930
+ 460, 460, 460, 460, 460, 0, 243, 243,
931
+ 444, 243, 243, 444, 243, 243, 243, 243,
932
+ 243, 243, 243, 243, 243, 243, 243, 243,
933
+ 243, 243, 243, 243, 243, 243, 243, 0,
934
+ 219, 219, 412, 219, 219, 412, 219, 219,
935
+ 219, 219, 219, 219, 219, 219, 219, 219,
936
+ 219, 219, 219, 219, 219, 219, 219, 219,
937
+ 219, 0, 213, 213, 404, 213, 213, 404,
938
+ 213, 213, 213, 213, 213, 213, 213, 213,
939
+ 213, 213, 213, 213, 213, 213, 213, 213,
940
+ 213, 213, 213, 0, 147, 147, 316, 147,
941
+ 147, 316, 147, 147, 147, 147, 147, 147,
942
+ 147, 147, 147, 147, 147, 147, 147, 147,
943
+ 147, 147, 147, 147, 147, 0, 204, 204,
944
+ 392, 204, 204, 392, 204, 204, 204, 204,
945
+ 204, 204, 204, 204, 204, 204, 204, 204,
946
+ 204, 204, 204, 204, 204, 204, 204, 0,
947
+ 120, 120, 280, 120, 120, 280, 120, 120,
948
+ 120, 120, 120, 120, 120, 120, 120, 120,
949
+ 120, 120, 120, 120, 120, 120, 120, 120,
950
+ 120, 0, 252, 252, 456, 252, 252, 456,
951
+ 252, 252, 252, 252, 252, 252, 252, 252,
952
+ 252, 252, 252, 252, 252, 252, 252, 252,
953
+ 252, 252, 252, 0, 159, 159, 332, 159,
954
+ 159, 332, 159, 159, 159, 159, 159, 159,
955
+ 159, 159, 159, 159, 159, 159, 159, 159,
956
+ 159, 159, 159, 159, 159, 0, 225, 225,
957
+ 420, 225, 225, 420, 225, 225, 225, 225,
958
+ 225, 225, 225, 225, 225, 225, 225, 225,
959
+ 225, 225, 225, 225, 225, 225, 225, 0,
960
+ 141, 141, 308, 141, 141, 308, 141, 141,
961
+ 141, 141, 141, 141, 141, 141, 141, 141,
962
+ 141, 141, 141, 141, 141, 141, 141, 141,
963
+ 141, 0, 144, 144, 312, 144, 144, 312,
964
+ 144, 144, 144, 144, 144, 144, 144, 144,
965
+ 144, 144, 144, 144, 144, 144, 144, 144,
966
+ 144, 144, 144, 0, 138, 138, 304, 138,
967
+ 138, 304, 138, 138, 138, 138, 138, 138,
968
+ 138, 138, 138, 138, 138, 138, 138, 138,
969
+ 138, 138, 138, 138, 138, 0, 168, 168,
970
+ 344, 168, 168, 344, 168, 168, 168, 168,
971
+ 168, 168, 168, 168, 168, 168, 168, 168,
972
+ 168, 168, 168, 168, 168, 168, 168, 0,
973
+ 249, 249, 452, 249, 249, 452, 249, 249,
974
+ 249, 249, 249, 249, 249, 249, 249, 249,
975
+ 249, 249, 249, 249, 249, 249, 249, 249,
976
+ 249, 0, 210, 210, 400, 210, 210, 400,
977
+ 210, 210, 210, 210, 210, 210, 210, 210,
978
+ 210, 210, 210, 210, 210, 210, 210, 210,
979
+ 210, 210, 210, 0, 198, 198, 384, 198,
980
+ 198, 384, 198, 198, 198, 198, 198, 198,
981
+ 198, 198, 198, 198, 198, 198, 198, 198,
982
+ 198, 198, 198, 198, 198, 0, 195, 195,
983
+ 380, 195, 195, 380, 195, 195, 195, 195,
984
+ 195, 195, 195, 195, 195, 195, 195, 195,
985
+ 195, 195, 195, 195, 195, 195, 195, 0,
986
+ 117, 117, 276, 117, 117, 276, 117, 117,
987
+ 117, 117, 117, 117, 117, 117, 117, 117,
988
+ 117, 117, 117, 117, 117, 117, 117, 117,
989
+ 117, 0, 237, 237, 436, 237, 237, 436,
990
+ 237, 237, 237, 237, 237, 237, 237, 237,
991
+ 237, 237, 237, 237, 237, 237, 237, 237,
992
+ 237, 237, 237, 0, 192, 192, 376, 192,
993
+ 192, 376, 192, 192, 192, 192, 192, 192,
994
+ 192, 192, 192, 192, 192, 192, 192, 192,
995
+ 192, 192, 192, 192, 192, 0, 180, 180,
996
+ 360, 180, 180, 360, 180, 180, 180, 180,
997
+ 180, 180, 180, 180, 180, 180, 180, 180,
998
+ 180, 180, 180, 180, 180, 180, 180, 0,
999
+ 186, 186, 368, 186, 186, 368, 186, 186,
1000
+ 186, 186, 186, 186, 186, 186, 186, 186,
1001
+ 186, 186, 186, 186, 186, 186, 186, 186,
1002
+ 186, 0, 234, 234, 432, 234, 234, 432,
1003
+ 234, 234, 234, 234, 234, 234, 234, 234,
1004
+ 234, 234, 234, 234, 234, 234, 234, 234,
1005
+ 234, 234, 234, 0, 222, 222, 416, 222,
1006
+ 222, 416, 222, 222, 222, 222, 222, 222,
1007
+ 222, 222, 222, 222, 222, 222, 222, 222,
1008
+ 222, 222, 222, 222, 222, 0, 177, 177,
1009
+ 356, 177, 177, 356, 177, 177, 177, 177,
1010
+ 177, 177, 177, 177, 177, 177, 177, 177,
1011
+ 177, 177, 177, 177, 177, 177, 177, 0,
1012
+ 165, 165, 340, 165, 165, 340, 165, 165,
1013
+ 165, 165, 165, 165, 165, 165, 165, 165,
1014
+ 165, 165, 165, 165, 165, 165, 165, 165,
1015
+ 165, 0, 129, 129, 292, 129, 129, 292,
1016
+ 129, 129, 129, 129, 129, 129, 129, 129,
1017
+ 129, 129, 129, 129, 129, 129, 129, 129,
1018
+ 129, 129, 129, 0, 135, 135, 300, 135,
1019
+ 135, 300, 135, 135, 135, 135, 135, 135,
1020
+ 135, 135, 135, 135, 135, 135, 135, 135,
1021
+ 135, 135, 135, 135, 135, 0, 201, 201,
1022
+ 388, 201, 201, 388, 201, 201, 201, 201,
1023
+ 201, 201, 201, 201, 201, 201, 201, 201,
1024
+ 201, 201, 201, 201, 201, 201, 201, 0,
1025
+ 153, 153, 324, 153, 153, 324, 153, 153,
1026
+ 153, 153, 153, 153, 153, 153, 153, 153,
1027
+ 153, 153, 153, 153, 153, 153, 153, 153,
1028
+ 153, 0, 156, 156, 328, 156, 156, 328,
1029
+ 156, 156, 156, 156, 156, 156, 156, 156,
1030
+ 156, 156, 156, 156, 156, 156, 156, 156,
1031
+ 156, 156, 156, 0, 132, 132, 296, 132,
1032
+ 132, 296, 132, 132, 132, 132, 132, 132,
1033
+ 132, 132, 132, 132, 132, 132, 132, 132,
1034
+ 132, 132, 132, 132, 132, 0, 246, 246,
1035
+ 448, 246, 246, 448, 246, 246, 246, 246,
1036
+ 246, 246, 246, 246, 246, 246, 246, 246,
1037
+ 246, 246, 246, 246, 246, 246, 246, 0,
1038
+ 216, 216, 408, 216, 216, 408, 216, 216,
1039
+ 216, 216, 216, 216, 216, 216, 216, 216,
1040
+ 216, 216, 216, 216, 216, 216, 216, 216,
1041
+ 216, 0, 207, 207, 396, 207, 207, 396,
1042
+ 207, 207, 207, 207, 207, 207, 207, 207,
1043
+ 207, 207, 207, 207, 207, 207, 207, 207,
1044
+ 207, 207, 207, 0, 231, 231, 428, 231,
1045
+ 231, 428, 231, 231, 231, 231, 231, 231,
1046
+ 231, 231, 231, 231, 231, 231, 231, 231,
1047
+ 231, 231, 231, 231, 231, 0, 174, 174,
1048
+ 352, 174, 174, 352, 174, 174, 174, 174,
1049
+ 174, 174, 174, 174, 174, 174, 174, 174,
1050
+ 174, 174, 174, 174, 174, 174, 174, 0,
1051
+ 162, 162, 336, 162, 162, 336, 162, 162,
1052
+ 162, 162, 162, 162, 162, 162, 162, 162,
1053
+ 162, 162, 162, 162, 162, 162, 162, 162,
1054
+ 162, 0, 126, 126, 288, 126, 126, 288,
1055
+ 126, 126, 126, 126, 126, 126, 126, 126,
1056
+ 126, 126, 126, 126, 126, 126, 126, 126,
1057
+ 126, 126, 126, 0, 150, 150, 320, 150,
1058
+ 150, 320, 150, 150, 150, 150, 150, 150,
1059
+ 150, 150, 150, 150, 150, 150, 150, 150,
1060
+ 150, 150, 150, 150, 150, 0, 123, 123,
1061
+ 284, 123, 123, 284, 123, 123, 123, 123,
1062
+ 123, 123, 123, 123, 123, 123, 123, 123,
1063
+ 123, 123, 123, 123, 123, 123, 123, 0,
1064
+ 228, 228, 424, 228, 228, 424, 228, 228,
1065
+ 228, 228, 228, 228, 228, 228, 228, 228,
1066
+ 228, 228, 228, 228, 228, 228, 228, 228,
1067
+ 228, 0, 240, 240, 440, 240, 240, 440,
1068
+ 240, 240, 240, 240, 240, 240, 240, 240,
1069
+ 240, 240, 240, 240, 240, 240, 240, 240,
1070
+ 240, 240, 240, 0, 171, 171, 348, 171,
1071
+ 171, 348, 171, 171, 171, 171, 171, 171,
1072
+ 171, 171, 171, 171, 171, 171, 171, 171,
1073
+ 171, 171, 171, 171, 171, 0, 183, 183,
1074
+ 364, 183, 183, 364, 183, 183, 183, 183,
1075
+ 183, 183, 183, 183, 183, 183, 183, 183,
1076
+ 183, 183, 183, 183, 183, 183, 183, 0,
1077
+ 189, 189, 372, 189, 189, 372, 189, 189,
1078
+ 189, 189, 189, 189, 189, 189, 189, 189,
1079
+ 189, 189, 189, 189, 189, 189, 189, 189,
1080
+ 189, 0, 0
1081
+ ]
1082
+
1083
+ class << self
1084
+ attr_accessor :_demangle_gcc3_eof_actions
1085
+ private :_demangle_gcc3_eof_actions, :_demangle_gcc3_eof_actions=
1086
+ end
1087
+ self._demangle_gcc3_eof_actions = [
1088
+ 0, 0, 0, 0, 0, 0, 0, 0,
1089
+ 0, 0, 0, 0, 0, 0, 0, 0,
1090
+ 0, 0, 0, 0, 0, 0, 0, 0,
1091
+ 0, 0, 0, 0, 0, 0, 0, 0,
1092
+ 0, 0, 0, 0, 0, 0, 0, 0,
1093
+ 0, 0, 0, 0, 0, 0, 0, 0,
1094
+ 0, 0, 0, 0, 0, 0, 0, 0,
1095
+ 0, 0, 0, 0, 0, 115, 680, 490,
1096
+ 838, 530, 510, 520, 650, 660, 640, 540,
1097
+ 570, 580, 590, 600, 550, 560, 500, 630,
1098
+ 610, 620, 690, 670, 255, 87, 71, 67,
1099
+ 23, 61, 5, 93, 31, 75, 19, 21,
1100
+ 17, 37, 91, 65, 57, 55, 3, 83,
1101
+ 53, 45, 49, 81, 73, 43, 35, 11,
1102
+ 15, 59, 27, 29, 13, 89, 69, 63,
1103
+ 79, 41, 33, 9, 25, 7, 77, 85,
1104
+ 39, 47, 51
1105
+ ]
1106
+
1107
+ class << self
1108
+ attr_accessor :demangle_gcc3_start
1109
+ end
1110
+ self.demangle_gcc3_start = 1;
1111
+ class << self
1112
+ attr_accessor :demangle_gcc3_first_final
1113
+ end
1114
+ self.demangle_gcc3_first_final = 61;
1115
+ class << self
1116
+ attr_accessor :demangle_gcc3_error
1117
+ end
1118
+ self.demangle_gcc3_error = 0;
1119
+
1120
+ class << self
1121
+ attr_accessor :demangle_gcc3_en_mangled_name
1122
+ end
1123
+ self.demangle_gcc3_en_mangled_name = 1;
1124
+
1125
+
1126
+ # line 207 "lib/elf/symbol/demangler_gcc3.rl"
1127
+ def self.demangle(data)
1128
+ res = ""
1129
+ currname = []
1130
+ last_register = nil
1131
+ registers = {}
1132
+
1133
+
1134
+ # line 1135 "lib/elf/symbol/demangler_gcc3.rb"
1135
+ begin
1136
+ p ||= 0
1137
+ pe ||= data.length
1138
+ cs = demangle_gcc3_start
1139
+ end
1140
+
1141
+ # line 214 "lib/elf/symbol/demangler_gcc3.rl"
1142
+ eof = pe;
1143
+
1144
+
1145
+ # line 1146 "lib/elf/symbol/demangler_gcc3.rb"
1146
+ begin
1147
+ _klen, _trans, _keys, _acts, _nacts = nil
1148
+ _goto_level = 0
1149
+ _resume = 10
1150
+ _eof_trans = 15
1151
+ _again = 20
1152
+ _test_eof = 30
1153
+ _out = 40
1154
+ while true
1155
+ _trigger_goto = false
1156
+ if _goto_level <= 0
1157
+ if p == pe
1158
+ _goto_level = _test_eof
1159
+ next
1160
+ end
1161
+ if cs == 0
1162
+ _goto_level = _out
1163
+ next
1164
+ end
1165
+ end
1166
+ if _goto_level <= _resume
1167
+ _keys = _demangle_gcc3_key_offsets[cs]
1168
+ _trans = _demangle_gcc3_index_offsets[cs]
1169
+ _klen = _demangle_gcc3_single_lengths[cs]
1170
+ _break_match = false
1171
+
1172
+ begin
1173
+ if _klen > 0
1174
+ _lower = _keys
1175
+ _upper = _keys + _klen - 1
1176
+
1177
+ loop do
1178
+ break if _upper < _lower
1179
+ _mid = _lower + ( (_upper - _lower) >> 1 )
1180
+
1181
+ if data[p].ord < _demangle_gcc3_trans_keys[_mid]
1182
+ _upper = _mid - 1
1183
+ elsif data[p].ord > _demangle_gcc3_trans_keys[_mid]
1184
+ _lower = _mid + 1
1185
+ else
1186
+ _trans += (_mid - _keys)
1187
+ _break_match = true
1188
+ break
1189
+ end
1190
+ end # loop
1191
+ break if _break_match
1192
+ _keys += _klen
1193
+ _trans += _klen
1194
+ end
1195
+ _klen = _demangle_gcc3_range_lengths[cs]
1196
+ if _klen > 0
1197
+ _lower = _keys
1198
+ _upper = _keys + (_klen << 1) - 2
1199
+ loop do
1200
+ break if _upper < _lower
1201
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1)
1202
+ if data[p].ord < _demangle_gcc3_trans_keys[_mid]
1203
+ _upper = _mid - 2
1204
+ elsif data[p].ord > _demangle_gcc3_trans_keys[_mid+1]
1205
+ _lower = _mid + 2
1206
+ else
1207
+ _trans += ((_mid - _keys) >> 1)
1208
+ _break_match = true
1209
+ break
1210
+ end
1211
+ end # loop
1212
+ break if _break_match
1213
+ _trans += _klen
1214
+ end
1215
+ end while false
1216
+ cs = _demangle_gcc3_trans_targs[_trans]
1217
+ if _demangle_gcc3_trans_actions[_trans] != 0
1218
+ _acts = _demangle_gcc3_trans_actions[_trans]
1219
+ _nacts = _demangle_gcc3_actions[_acts]
1220
+ _acts += 1
1221
+ while _nacts > 0
1222
+ _nacts -= 1
1223
+ _acts += 1
1224
+ case _demangle_gcc3_actions[_acts - 1]
1225
+ when 0 then
1226
+ # line 24 "lib/elf/symbol/demangler_gcc3.rl"
1227
+ begin
1228
+ mark = p end
1229
+ when 1 then
1230
+ # line 27 "lib/elf/symbol/demangler_gcc3.rl"
1231
+ begin
1232
+ res << "operator []" end
1233
+ when 2 then
1234
+ # line 28 "lib/elf/symbol/demangler_gcc3.rl"
1235
+ begin
1236
+ res << "operator ()" end
1237
+ when 3 then
1238
+ # line 29 "lib/elf/symbol/demangler_gcc3.rl"
1239
+ begin
1240
+ res << "operator ->" end
1241
+ when 4 then
1242
+ # line 30 "lib/elf/symbol/demangler_gcc3.rl"
1243
+ begin
1244
+ res << "operator ++" end
1245
+ when 5 then
1246
+ # line 31 "lib/elf/symbol/demangler_gcc3.rl"
1247
+ begin
1248
+ res << "operator --" end
1249
+ when 6 then
1250
+ # line 32 "lib/elf/symbol/demangler_gcc3.rl"
1251
+ begin
1252
+ res << "operator new" end
1253
+ when 7 then
1254
+ # line 33 "lib/elf/symbol/demangler_gcc3.rl"
1255
+ begin
1256
+ res << "operator new[]" end
1257
+ when 8 then
1258
+ # line 34 "lib/elf/symbol/demangler_gcc3.rl"
1259
+ begin
1260
+ res << "operator delete" end
1261
+ when 9 then
1262
+ # line 35 "lib/elf/symbol/demangler_gcc3.rl"
1263
+ begin
1264
+ res << "operator delete[]" end
1265
+ when 10 then
1266
+ # line 36 "lib/elf/symbol/demangler_gcc3.rl"
1267
+ begin
1268
+ res << "operator *" end
1269
+ when 11 then
1270
+ # line 37 "lib/elf/symbol/demangler_gcc3.rl"
1271
+ begin
1272
+ res << "operator &" end
1273
+ when 12 then
1274
+ # line 38 "lib/elf/symbol/demangler_gcc3.rl"
1275
+ begin
1276
+ res << "operator +" end
1277
+ when 13 then
1278
+ # line 39 "lib/elf/symbol/demangler_gcc3.rl"
1279
+ begin
1280
+ res << "operator -" end
1281
+ when 14 then
1282
+ # line 40 "lib/elf/symbol/demangler_gcc3.rl"
1283
+ begin
1284
+ res << "operator !" end
1285
+ when 15 then
1286
+ # line 41 "lib/elf/symbol/demangler_gcc3.rl"
1287
+ begin
1288
+ res << "operator ~" end
1289
+ when 16 then
1290
+ # line 42 "lib/elf/symbol/demangler_gcc3.rl"
1291
+ begin
1292
+ res << "operator ->*" end
1293
+ when 17 then
1294
+ # line 43 "lib/elf/symbol/demangler_gcc3.rl"
1295
+ begin
1296
+ res << "operator *" end
1297
+ when 18 then
1298
+ # line 44 "lib/elf/symbol/demangler_gcc3.rl"
1299
+ begin
1300
+ res << "operator /" end
1301
+ when 19 then
1302
+ # line 45 "lib/elf/symbol/demangler_gcc3.rl"
1303
+ begin
1304
+ res << "operator %" end
1305
+ when 20 then
1306
+ # line 46 "lib/elf/symbol/demangler_gcc3.rl"
1307
+ begin
1308
+ res << "operator +" end
1309
+ when 21 then
1310
+ # line 47 "lib/elf/symbol/demangler_gcc3.rl"
1311
+ begin
1312
+ res << "operator -" end
1313
+ when 22 then
1314
+ # line 48 "lib/elf/symbol/demangler_gcc3.rl"
1315
+ begin
1316
+ res << "operator <<" end
1317
+ when 23 then
1318
+ # line 49 "lib/elf/symbol/demangler_gcc3.rl"
1319
+ begin
1320
+ res << "operator >>" end
1321
+ when 24 then
1322
+ # line 50 "lib/elf/symbol/demangler_gcc3.rl"
1323
+ begin
1324
+ res << "operator <" end
1325
+ when 25 then
1326
+ # line 51 "lib/elf/symbol/demangler_gcc3.rl"
1327
+ begin
1328
+ res << "operator >" end
1329
+ when 26 then
1330
+ # line 52 "lib/elf/symbol/demangler_gcc3.rl"
1331
+ begin
1332
+ res << "operator <=" end
1333
+ when 27 then
1334
+ # line 53 "lib/elf/symbol/demangler_gcc3.rl"
1335
+ begin
1336
+ res << "operator >=" end
1337
+ when 28 then
1338
+ # line 54 "lib/elf/symbol/demangler_gcc3.rl"
1339
+ begin
1340
+ res << "operator ==" end
1341
+ when 29 then
1342
+ # line 55 "lib/elf/symbol/demangler_gcc3.rl"
1343
+ begin
1344
+ res << "operator !=" end
1345
+ when 30 then
1346
+ # line 56 "lib/elf/symbol/demangler_gcc3.rl"
1347
+ begin
1348
+ res << "operator &" end
1349
+ when 31 then
1350
+ # line 57 "lib/elf/symbol/demangler_gcc3.rl"
1351
+ begin
1352
+ res << "operator |" end
1353
+ when 32 then
1354
+ # line 58 "lib/elf/symbol/demangler_gcc3.rl"
1355
+ begin
1356
+ res << "operator ^" end
1357
+ when 33 then
1358
+ # line 59 "lib/elf/symbol/demangler_gcc3.rl"
1359
+ begin
1360
+ res << "operator &&" end
1361
+ when 34 then
1362
+ # line 60 "lib/elf/symbol/demangler_gcc3.rl"
1363
+ begin
1364
+ res << "operator ||" end
1365
+ when 35 then
1366
+ # line 61 "lib/elf/symbol/demangler_gcc3.rl"
1367
+ begin
1368
+ res << "operator =" end
1369
+ when 36 then
1370
+ # line 62 "lib/elf/symbol/demangler_gcc3.rl"
1371
+ begin
1372
+ res << "operator *=" end
1373
+ when 37 then
1374
+ # line 63 "lib/elf/symbol/demangler_gcc3.rl"
1375
+ begin
1376
+ res << "operator /=" end
1377
+ when 38 then
1378
+ # line 64 "lib/elf/symbol/demangler_gcc3.rl"
1379
+ begin
1380
+ res << "operator %=" end
1381
+ when 39 then
1382
+ # line 65 "lib/elf/symbol/demangler_gcc3.rl"
1383
+ begin
1384
+ res << "operator +=" end
1385
+ when 40 then
1386
+ # line 66 "lib/elf/symbol/demangler_gcc3.rl"
1387
+ begin
1388
+ res << "operator -=" end
1389
+ when 41 then
1390
+ # line 67 "lib/elf/symbol/demangler_gcc3.rl"
1391
+ begin
1392
+ res << "operator <<=" end
1393
+ when 42 then
1394
+ # line 68 "lib/elf/symbol/demangler_gcc3.rl"
1395
+ begin
1396
+ res << "operator >>=" end
1397
+ when 43 then
1398
+ # line 69 "lib/elf/symbol/demangler_gcc3.rl"
1399
+ begin
1400
+ res << "operator &=" end
1401
+ when 44 then
1402
+ # line 70 "lib/elf/symbol/demangler_gcc3.rl"
1403
+ begin
1404
+ res << "operator |=" end
1405
+ when 45 then
1406
+ # line 71 "lib/elf/symbol/demangler_gcc3.rl"
1407
+ begin
1408
+ res << "operator ^=" end
1409
+ when 46 then
1410
+ # line 72 "lib/elf/symbol/demangler_gcc3.rl"
1411
+ begin
1412
+ res << "operator ," end
1413
+ when 47 then
1414
+ # line 75 "lib/elf/symbol/demangler_gcc3.rl"
1415
+ begin
1416
+
1417
+ regmark = p unless regmark
1418
+ end
1419
+ when 48 then
1420
+ # line 79 "lib/elf/symbol/demangler_gcc3.rl"
1421
+ begin
1422
+
1423
+ unless currname[-1].empty? or registers.has_value?(currname[-1])
1424
+ last_register = next_register(last_register)
1425
+ registers[last_register] = currname[-1].dup
1426
+ end
1427
+ end
1428
+ when 49 then
1429
+ # line 88 "lib/elf/symbol/demangler_gcc3.rl"
1430
+ begin
1431
+
1432
+ len = (data[mark..(p-1)].to_i) -1
1433
+ currname[-1] << "::#{data[p..(p+len)]}"
1434
+ p += len
1435
+ end
1436
+ when 50 then
1437
+ # line 97 "lib/elf/symbol/demangler_gcc3.rl"
1438
+ begin
1439
+ typename = 'void' end
1440
+ when 51 then
1441
+ # line 98 "lib/elf/symbol/demangler_gcc3.rl"
1442
+ begin
1443
+ typename = 'bool' end
1444
+ when 52 then
1445
+ # line 99 "lib/elf/symbol/demangler_gcc3.rl"
1446
+ begin
1447
+ typename = 'char' end
1448
+ when 53 then
1449
+ # line 100 "lib/elf/symbol/demangler_gcc3.rl"
1450
+ begin
1451
+ typename = 'signed char' end
1452
+ when 54 then
1453
+ # line 101 "lib/elf/symbol/demangler_gcc3.rl"
1454
+ begin
1455
+ typename = 'unsigned char' end
1456
+ when 55 then
1457
+ # line 102 "lib/elf/symbol/demangler_gcc3.rl"
1458
+ begin
1459
+ typename = 'short' end
1460
+ when 56 then
1461
+ # line 103 "lib/elf/symbol/demangler_gcc3.rl"
1462
+ begin
1463
+ typename = 'unsigned short' end
1464
+ when 57 then
1465
+ # line 104 "lib/elf/symbol/demangler_gcc3.rl"
1466
+ begin
1467
+ typename = 'int' end
1468
+ when 58 then
1469
+ # line 105 "lib/elf/symbol/demangler_gcc3.rl"
1470
+ begin
1471
+ typename = 'unsigned int' end
1472
+ when 59 then
1473
+ # line 106 "lib/elf/symbol/demangler_gcc3.rl"
1474
+ begin
1475
+ typename = 'long' end
1476
+ when 60 then
1477
+ # line 107 "lib/elf/symbol/demangler_gcc3.rl"
1478
+ begin
1479
+ typename = 'unsigned long' end
1480
+ when 61 then
1481
+ # line 108 "lib/elf/symbol/demangler_gcc3.rl"
1482
+ begin
1483
+ typename = '__int64' end
1484
+ when 62 then
1485
+ # line 109 "lib/elf/symbol/demangler_gcc3.rl"
1486
+ begin
1487
+ typename = 'unsigned __int64' end
1488
+ when 63 then
1489
+ # line 110 "lib/elf/symbol/demangler_gcc3.rl"
1490
+ begin
1491
+ typename = 'wchar_t' end
1492
+ when 64 then
1493
+ # line 111 "lib/elf/symbol/demangler_gcc3.rl"
1494
+ begin
1495
+ typename = 'float' end
1496
+ when 65 then
1497
+ # line 112 "lib/elf/symbol/demangler_gcc3.rl"
1498
+ begin
1499
+ typename = 'double' end
1500
+ when 66 then
1501
+ # line 113 "lib/elf/symbol/demangler_gcc3.rl"
1502
+ begin
1503
+ typename = 'long double' end
1504
+ when 67 then
1505
+ # line 114 "lib/elf/symbol/demangler_gcc3.rl"
1506
+ begin
1507
+ typename = '__complex__ float' end
1508
+ when 68 then
1509
+ # line 115 "lib/elf/symbol/demangler_gcc3.rl"
1510
+ begin
1511
+ typename = '__complex__ double' end
1512
+ when 69 then
1513
+ # line 116 "lib/elf/symbol/demangler_gcc3.rl"
1514
+ begin
1515
+ typename = '...' end
1516
+ when 70 then
1517
+ # line 120 "lib/elf/symbol/demangler_gcc3.rl"
1518
+ begin
1519
+
1520
+ regname = data[mark..(p-2)]
1521
+ currname[-1] << registers[regname]
1522
+ end
1523
+ when 71 then
1524
+ # line 125 "lib/elf/symbol/demangler_gcc3.rl"
1525
+ begin
1526
+
1527
+ markbase = p
1528
+ end
1529
+ when 72 then
1530
+ # line 129 "lib/elf/symbol/demangler_gcc3.rl"
1531
+ begin
1532
+
1533
+ basename = data[(markbase)..(p-1)].sub(/^[0-9]*/, '')
1534
+ end
1535
+ when 73 then
1536
+ # line 133 "lib/elf/symbol/demangler_gcc3.rl"
1537
+ begin
1538
+ res << "::std" end
1539
+ when 74 then
1540
+ # line 139 "lib/elf/symbol/demangler_gcc3.rl"
1541
+ begin
1542
+ regmark = nil end
1543
+ when 75 then
1544
+ # line 141 "lib/elf/symbol/demangler_gcc3.rl"
1545
+ begin
1546
+ currname[-1] << "::#{basename}" end
1547
+ when 76 then
1548
+ # line 142 "lib/elf/symbol/demangler_gcc3.rl"
1549
+ begin
1550
+ currname[-1] << "::~#{basename}" end
1551
+ when 77 then
1552
+ # line 145 "lib/elf/symbol/demangler_gcc3.rl"
1553
+ begin
1554
+ currname << "" end
1555
+ when 78 then
1556
+ # line 148 "lib/elf/symbol/demangler_gcc3.rl"
1557
+ begin
1558
+ suffix = "#{suffix}*" end
1559
+ when 79 then
1560
+ # line 149 "lib/elf/symbol/demangler_gcc3.rl"
1561
+ begin
1562
+ suffix = "#{suffix}&" end
1563
+ when 80 then
1564
+ # line 151 "lib/elf/symbol/demangler_gcc3.rl"
1565
+ begin
1566
+ prefix = "volatile #{prefix}" end
1567
+ when 81 then
1568
+ # line 152 "lib/elf/symbol/demangler_gcc3.rl"
1569
+ begin
1570
+ prefix = "const #{prefix}" end
1571
+ when 82 then
1572
+ # line 155 "lib/elf/symbol/demangler_gcc3.rl"
1573
+ begin
1574
+ prefix = suffix = ''; typename = nil; currname << "" end
1575
+ when 83 then
1576
+ # line 156 "lib/elf/symbol/demangler_gcc3.rl"
1577
+ begin
1578
+ typename = "#{prefix}#{typename || currname[-1]}#{suffix}"; currname.pop end
1579
+ when 84 then
1580
+ # line 158 "lib/elf/symbol/demangler_gcc3.rl"
1581
+ begin
1582
+ params ||= []; params << typename end
1583
+ when 86 then
1584
+ # line 164 "lib/elf/symbol/demangler_gcc3.rl"
1585
+ begin
1586
+
1587
+ res << currname[-1]
1588
+ currname.pop
1589
+ end
1590
+ when 87 then
1591
+ # line 170 "lib/elf/symbol/demangler_gcc3.rl"
1592
+ begin
1593
+ currname << "" end
1594
+ when 88 then
1595
+ # line 172 "lib/elf/symbol/demangler_gcc3.rl"
1596
+ begin
1597
+ currname << "" end
1598
+ # line 1599 "lib/elf/symbol/demangler_gcc3.rb"
1599
+ end # action switch
1600
+ end
1601
+ end
1602
+ if _trigger_goto
1603
+ next
1604
+ end
1605
+ end
1606
+ if _goto_level <= _again
1607
+ if cs == 0
1608
+ _goto_level = _out
1609
+ next
1610
+ end
1611
+ p += 1
1612
+ if p != pe
1613
+ _goto_level = _resume
1614
+ next
1615
+ end
1616
+ end
1617
+ if _goto_level <= _test_eof
1618
+ if p == eof
1619
+ __acts = _demangle_gcc3_eof_actions[cs]
1620
+ __nacts = _demangle_gcc3_actions[__acts]
1621
+ __acts += 1
1622
+ while __nacts > 0
1623
+ __nacts -= 1
1624
+ __acts += 1
1625
+ case _demangle_gcc3_actions[__acts - 1]
1626
+ when 1 then
1627
+ # line 27 "lib/elf/symbol/demangler_gcc3.rl"
1628
+ begin
1629
+ res << "operator []" end
1630
+ when 2 then
1631
+ # line 28 "lib/elf/symbol/demangler_gcc3.rl"
1632
+ begin
1633
+ res << "operator ()" end
1634
+ when 3 then
1635
+ # line 29 "lib/elf/symbol/demangler_gcc3.rl"
1636
+ begin
1637
+ res << "operator ->" end
1638
+ when 4 then
1639
+ # line 30 "lib/elf/symbol/demangler_gcc3.rl"
1640
+ begin
1641
+ res << "operator ++" end
1642
+ when 5 then
1643
+ # line 31 "lib/elf/symbol/demangler_gcc3.rl"
1644
+ begin
1645
+ res << "operator --" end
1646
+ when 6 then
1647
+ # line 32 "lib/elf/symbol/demangler_gcc3.rl"
1648
+ begin
1649
+ res << "operator new" end
1650
+ when 7 then
1651
+ # line 33 "lib/elf/symbol/demangler_gcc3.rl"
1652
+ begin
1653
+ res << "operator new[]" end
1654
+ when 8 then
1655
+ # line 34 "lib/elf/symbol/demangler_gcc3.rl"
1656
+ begin
1657
+ res << "operator delete" end
1658
+ when 9 then
1659
+ # line 35 "lib/elf/symbol/demangler_gcc3.rl"
1660
+ begin
1661
+ res << "operator delete[]" end
1662
+ when 10 then
1663
+ # line 36 "lib/elf/symbol/demangler_gcc3.rl"
1664
+ begin
1665
+ res << "operator *" end
1666
+ when 11 then
1667
+ # line 37 "lib/elf/symbol/demangler_gcc3.rl"
1668
+ begin
1669
+ res << "operator &" end
1670
+ when 12 then
1671
+ # line 38 "lib/elf/symbol/demangler_gcc3.rl"
1672
+ begin
1673
+ res << "operator +" end
1674
+ when 13 then
1675
+ # line 39 "lib/elf/symbol/demangler_gcc3.rl"
1676
+ begin
1677
+ res << "operator -" end
1678
+ when 14 then
1679
+ # line 40 "lib/elf/symbol/demangler_gcc3.rl"
1680
+ begin
1681
+ res << "operator !" end
1682
+ when 15 then
1683
+ # line 41 "lib/elf/symbol/demangler_gcc3.rl"
1684
+ begin
1685
+ res << "operator ~" end
1686
+ when 16 then
1687
+ # line 42 "lib/elf/symbol/demangler_gcc3.rl"
1688
+ begin
1689
+ res << "operator ->*" end
1690
+ when 17 then
1691
+ # line 43 "lib/elf/symbol/demangler_gcc3.rl"
1692
+ begin
1693
+ res << "operator *" end
1694
+ when 18 then
1695
+ # line 44 "lib/elf/symbol/demangler_gcc3.rl"
1696
+ begin
1697
+ res << "operator /" end
1698
+ when 19 then
1699
+ # line 45 "lib/elf/symbol/demangler_gcc3.rl"
1700
+ begin
1701
+ res << "operator %" end
1702
+ when 20 then
1703
+ # line 46 "lib/elf/symbol/demangler_gcc3.rl"
1704
+ begin
1705
+ res << "operator +" end
1706
+ when 21 then
1707
+ # line 47 "lib/elf/symbol/demangler_gcc3.rl"
1708
+ begin
1709
+ res << "operator -" end
1710
+ when 22 then
1711
+ # line 48 "lib/elf/symbol/demangler_gcc3.rl"
1712
+ begin
1713
+ res << "operator <<" end
1714
+ when 23 then
1715
+ # line 49 "lib/elf/symbol/demangler_gcc3.rl"
1716
+ begin
1717
+ res << "operator >>" end
1718
+ when 24 then
1719
+ # line 50 "lib/elf/symbol/demangler_gcc3.rl"
1720
+ begin
1721
+ res << "operator <" end
1722
+ when 25 then
1723
+ # line 51 "lib/elf/symbol/demangler_gcc3.rl"
1724
+ begin
1725
+ res << "operator >" end
1726
+ when 26 then
1727
+ # line 52 "lib/elf/symbol/demangler_gcc3.rl"
1728
+ begin
1729
+ res << "operator <=" end
1730
+ when 27 then
1731
+ # line 53 "lib/elf/symbol/demangler_gcc3.rl"
1732
+ begin
1733
+ res << "operator >=" end
1734
+ when 28 then
1735
+ # line 54 "lib/elf/symbol/demangler_gcc3.rl"
1736
+ begin
1737
+ res << "operator ==" end
1738
+ when 29 then
1739
+ # line 55 "lib/elf/symbol/demangler_gcc3.rl"
1740
+ begin
1741
+ res << "operator !=" end
1742
+ when 30 then
1743
+ # line 56 "lib/elf/symbol/demangler_gcc3.rl"
1744
+ begin
1745
+ res << "operator &" end
1746
+ when 31 then
1747
+ # line 57 "lib/elf/symbol/demangler_gcc3.rl"
1748
+ begin
1749
+ res << "operator |" end
1750
+ when 32 then
1751
+ # line 58 "lib/elf/symbol/demangler_gcc3.rl"
1752
+ begin
1753
+ res << "operator ^" end
1754
+ when 33 then
1755
+ # line 59 "lib/elf/symbol/demangler_gcc3.rl"
1756
+ begin
1757
+ res << "operator &&" end
1758
+ when 34 then
1759
+ # line 60 "lib/elf/symbol/demangler_gcc3.rl"
1760
+ begin
1761
+ res << "operator ||" end
1762
+ when 35 then
1763
+ # line 61 "lib/elf/symbol/demangler_gcc3.rl"
1764
+ begin
1765
+ res << "operator =" end
1766
+ when 36 then
1767
+ # line 62 "lib/elf/symbol/demangler_gcc3.rl"
1768
+ begin
1769
+ res << "operator *=" end
1770
+ when 37 then
1771
+ # line 63 "lib/elf/symbol/demangler_gcc3.rl"
1772
+ begin
1773
+ res << "operator /=" end
1774
+ when 38 then
1775
+ # line 64 "lib/elf/symbol/demangler_gcc3.rl"
1776
+ begin
1777
+ res << "operator %=" end
1778
+ when 39 then
1779
+ # line 65 "lib/elf/symbol/demangler_gcc3.rl"
1780
+ begin
1781
+ res << "operator +=" end
1782
+ when 40 then
1783
+ # line 66 "lib/elf/symbol/demangler_gcc3.rl"
1784
+ begin
1785
+ res << "operator -=" end
1786
+ when 41 then
1787
+ # line 67 "lib/elf/symbol/demangler_gcc3.rl"
1788
+ begin
1789
+ res << "operator <<=" end
1790
+ when 42 then
1791
+ # line 68 "lib/elf/symbol/demangler_gcc3.rl"
1792
+ begin
1793
+ res << "operator >>=" end
1794
+ when 43 then
1795
+ # line 69 "lib/elf/symbol/demangler_gcc3.rl"
1796
+ begin
1797
+ res << "operator &=" end
1798
+ when 44 then
1799
+ # line 70 "lib/elf/symbol/demangler_gcc3.rl"
1800
+ begin
1801
+ res << "operator |=" end
1802
+ when 45 then
1803
+ # line 71 "lib/elf/symbol/demangler_gcc3.rl"
1804
+ begin
1805
+ res << "operator ^=" end
1806
+ when 46 then
1807
+ # line 72 "lib/elf/symbol/demangler_gcc3.rl"
1808
+ begin
1809
+ res << "operator ," end
1810
+ when 48 then
1811
+ # line 79 "lib/elf/symbol/demangler_gcc3.rl"
1812
+ begin
1813
+
1814
+ unless currname[-1].empty? or registers.has_value?(currname[-1])
1815
+ last_register = next_register(last_register)
1816
+ registers[last_register] = currname[-1].dup
1817
+ end
1818
+ end
1819
+ when 50 then
1820
+ # line 97 "lib/elf/symbol/demangler_gcc3.rl"
1821
+ begin
1822
+ typename = 'void' end
1823
+ when 51 then
1824
+ # line 98 "lib/elf/symbol/demangler_gcc3.rl"
1825
+ begin
1826
+ typename = 'bool' end
1827
+ when 52 then
1828
+ # line 99 "lib/elf/symbol/demangler_gcc3.rl"
1829
+ begin
1830
+ typename = 'char' end
1831
+ when 53 then
1832
+ # line 100 "lib/elf/symbol/demangler_gcc3.rl"
1833
+ begin
1834
+ typename = 'signed char' end
1835
+ when 54 then
1836
+ # line 101 "lib/elf/symbol/demangler_gcc3.rl"
1837
+ begin
1838
+ typename = 'unsigned char' end
1839
+ when 55 then
1840
+ # line 102 "lib/elf/symbol/demangler_gcc3.rl"
1841
+ begin
1842
+ typename = 'short' end
1843
+ when 56 then
1844
+ # line 103 "lib/elf/symbol/demangler_gcc3.rl"
1845
+ begin
1846
+ typename = 'unsigned short' end
1847
+ when 57 then
1848
+ # line 104 "lib/elf/symbol/demangler_gcc3.rl"
1849
+ begin
1850
+ typename = 'int' end
1851
+ when 58 then
1852
+ # line 105 "lib/elf/symbol/demangler_gcc3.rl"
1853
+ begin
1854
+ typename = 'unsigned int' end
1855
+ when 59 then
1856
+ # line 106 "lib/elf/symbol/demangler_gcc3.rl"
1857
+ begin
1858
+ typename = 'long' end
1859
+ when 60 then
1860
+ # line 107 "lib/elf/symbol/demangler_gcc3.rl"
1861
+ begin
1862
+ typename = 'unsigned long' end
1863
+ when 61 then
1864
+ # line 108 "lib/elf/symbol/demangler_gcc3.rl"
1865
+ begin
1866
+ typename = '__int64' end
1867
+ when 62 then
1868
+ # line 109 "lib/elf/symbol/demangler_gcc3.rl"
1869
+ begin
1870
+ typename = 'unsigned __int64' end
1871
+ when 63 then
1872
+ # line 110 "lib/elf/symbol/demangler_gcc3.rl"
1873
+ begin
1874
+ typename = 'wchar_t' end
1875
+ when 64 then
1876
+ # line 111 "lib/elf/symbol/demangler_gcc3.rl"
1877
+ begin
1878
+ typename = 'float' end
1879
+ when 65 then
1880
+ # line 112 "lib/elf/symbol/demangler_gcc3.rl"
1881
+ begin
1882
+ typename = 'double' end
1883
+ when 66 then
1884
+ # line 113 "lib/elf/symbol/demangler_gcc3.rl"
1885
+ begin
1886
+ typename = 'long double' end
1887
+ when 67 then
1888
+ # line 114 "lib/elf/symbol/demangler_gcc3.rl"
1889
+ begin
1890
+ typename = '__complex__ float' end
1891
+ when 68 then
1892
+ # line 115 "lib/elf/symbol/demangler_gcc3.rl"
1893
+ begin
1894
+ typename = '__complex__ double' end
1895
+ when 69 then
1896
+ # line 116 "lib/elf/symbol/demangler_gcc3.rl"
1897
+ begin
1898
+ typename = '...' end
1899
+ when 70 then
1900
+ # line 120 "lib/elf/symbol/demangler_gcc3.rl"
1901
+ begin
1902
+
1903
+ regname = data[mark..(p-2)]
1904
+ currname[-1] << registers[regname]
1905
+ end
1906
+ when 83 then
1907
+ # line 156 "lib/elf/symbol/demangler_gcc3.rl"
1908
+ begin
1909
+ typename = "#{prefix}#{typename || currname[-1]}#{suffix}"; currname.pop end
1910
+ when 84 then
1911
+ # line 158 "lib/elf/symbol/demangler_gcc3.rl"
1912
+ begin
1913
+ params ||= []; params << typename end
1914
+ when 85 then
1915
+ # line 159 "lib/elf/symbol/demangler_gcc3.rl"
1916
+ begin
1917
+
1918
+ params = [] if params == ['void']
1919
+ res << "(#{params.join(', ')})"
1920
+ end
1921
+ when 86 then
1922
+ # line 164 "lib/elf/symbol/demangler_gcc3.rl"
1923
+ begin
1924
+
1925
+ res << currname[-1]
1926
+ currname.pop
1927
+ end
1928
+ # line 1929 "lib/elf/symbol/demangler_gcc3.rb"
1929
+ end # eof action switch
1930
+ end
1931
+ if _trigger_goto
1932
+ next
1933
+ end
1934
+ end
1935
+ end
1936
+ if _goto_level <= _out
1937
+ break
1938
+ end
1939
+ end
1940
+ end
1941
+
1942
+ # line 217 "lib/elf/symbol/demangler_gcc3.rl"
1943
+
1944
+ return nil if cs < demangle_gcc3_first_final
1945
+
1946
+ return res unless res.empty?
1947
+ nil
1948
+ end
1949
+ end
1950
+ end
1951
+ end
1952
+ end