dbc 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/dbcparse.rb +47 -38
- data/lib/dbc/ctokenizer.rb +112 -92
- data/lib/dbc/ctype.rb +392 -373
- data/lib/dbc/dbc.rb +16 -5
- data/lib/dbc/define.rb +60 -62
- data/lib/dbc/ocl.rb +824 -828
- data/lib/dbc/parameters.rb +13 -11
- data/lib/dbc/preprocessor.rb +449 -439
- metadata +2 -2
data/bin/dbcparse.rb
CHANGED
@@ -206,51 +206,59 @@ case RUBY_PLATFORM
|
|
206
206
|
# I have found that these setting work best with GNU C libs
|
207
207
|
# experiance may vary :)
|
208
208
|
defines << ['__GLIBC_HAVE_LONG_LONG', nil, '1']
|
209
|
-
defines << ['__extension__', nil, ' ']
|
210
|
-
defines << ['__inline__', nil, ' ']
|
211
209
|
when /powerpc|darwin/
|
212
210
|
defines << ['__ppc__', nil, nil]
|
213
211
|
else
|
214
212
|
warn "unrecognized platform: #{RUBY_PLATFORM}"
|
215
213
|
end
|
214
|
+
|
215
|
+
# for gcc compatibility
|
216
|
+
defines << ['__extension__', nil, ' ']
|
217
|
+
defines << ['__const__', nil, ' ']
|
218
|
+
defines << ['__inline__', nil, ' ']
|
219
|
+
defines << ['__attribute__', ['arg'], ' ']
|
220
|
+
|
216
221
|
# for gcc 3.4+ compatibility
|
217
222
|
defines << ['__builtin_va_list', nil, 'int *']
|
218
223
|
defines << ['SHLIB_COMPAT', ['arg'], '(0)']
|
224
|
+
|
219
225
|
# so '##' is used to paste tokens, not '/**/'
|
220
226
|
defines << ['__STDC__', nil, '1']
|
221
227
|
#############################################
|
222
228
|
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
out_str << t[1]
|
240
|
-
end
|
229
|
+
begin
|
230
|
+
if docs
|
231
|
+
out_str = DBC.parse_docs(CTokenizer::Lexer.new(text, src_file))
|
232
|
+
elsif preprocess_only
|
233
|
+
out_str = ''
|
234
|
+
preproc = Preprocessor::Parser.new( search_path,
|
235
|
+
search_path_limited,
|
236
|
+
text, src_file )
|
237
|
+
|
238
|
+
defines.each { |d,p,v| preproc.define(d, p, v) }
|
239
|
+
preproc.each do |t|
|
240
|
+
out_str << t[1]
|
241
|
+
end
|
242
|
+
else
|
243
|
+
if check_level == DBC::NONE
|
244
|
+
out_str = text
|
241
245
|
else
|
246
|
+
# Cache Tokens => Preprocessor => Parse OCL => Parse C Types
|
247
|
+
# Cached tokens are output, not Preprocessed tokens
|
242
248
|
out_str = ''
|
243
249
|
# cache statements
|
244
250
|
cache = DBC::Cache.new(text, src_file)
|
245
251
|
# preprocesses all tokens
|
246
|
-
preproc = Preprocessor::Parser.new(search_path,
|
252
|
+
preproc = Preprocessor::Parser.new( search_path,
|
253
|
+
search_path_limited,
|
254
|
+
cache )
|
247
255
|
|
248
256
|
# define tokens passed
|
249
257
|
defines.each { |d| preproc.define(*d) }
|
250
|
-
|
258
|
+
|
251
259
|
# extracts DBC condtions
|
252
260
|
source = DBC::OCLParser.new(preproc)
|
253
|
-
|
261
|
+
|
254
262
|
# extract all C Statements
|
255
263
|
DBC.parse(source) do |context, f_body|
|
256
264
|
stmt = cache.reset
|
@@ -258,7 +266,7 @@ else
|
|
258
266
|
stmt = stmt.cache
|
259
267
|
# remove end of file token if it exists
|
260
268
|
stmt.pop unless stmt.empty? or stmt.last[0]
|
261
|
-
|
269
|
+
|
262
270
|
# define C types
|
263
271
|
context.each do |ctxt|
|
264
272
|
CType[ctxt.identifier] = ctxt if ctxt.typedef?
|
@@ -268,25 +276,26 @@ else
|
|
268
276
|
unless context.first
|
269
277
|
raise CTokenizer.error(nil, line, "unmatched braket")
|
270
278
|
end
|
271
|
-
out_str << expand_function(source.conditions,
|
272
|
-
|
279
|
+
out_str << expand_function( source.conditions,
|
280
|
+
context.first,
|
281
|
+
stmt, line, line_info )
|
273
282
|
else
|
274
283
|
stmt.each do |t|
|
275
284
|
out_str << t[1]
|
276
285
|
end
|
277
286
|
end
|
278
|
-
end
|
279
|
-
end
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
287
|
+
end # do
|
288
|
+
end #if
|
289
|
+
end # if
|
290
|
+
rescue CTokenizer::Error, CType::EvaluationError
|
291
|
+
warn $!
|
292
|
+
exit(-1)
|
293
|
+
ensure
|
294
|
+
if !$! or always_output
|
295
|
+
if dest_file
|
296
|
+
File.open(dest_file, 'w') { |f| f.write(out_str) }
|
297
|
+
else
|
298
|
+
$stdout.write(out_str)
|
290
299
|
end
|
291
300
|
end
|
292
301
|
end
|
data/lib/dbc/ctokenizer.rb
CHANGED
@@ -13,38 +13,36 @@ module CTokenizer
|
|
13
13
|
|
14
14
|
SPACE_1 = /[\t ]+/
|
15
15
|
SPACE_2 = /\\[\t ]*#{NEWLINE}/
|
16
|
-
SPACE = %r(#{SPACE_1}|#{SPACE_2})
|
16
|
+
#SPACE = %r(#{SPACE_1}|#{SPACE_2})
|
17
17
|
|
18
18
|
IDENTIFIER = /[a-zA-Z_]\w*/
|
19
19
|
|
20
|
-
|
20
|
+
comment_1 = /\/\*.*?\*\//m
|
21
21
|
# scarry comment - bad style - beward of '\' at end of line...
|
22
|
-
|
23
|
-
COMMENT = %r(#{
|
22
|
+
comment_2 = /\/\/(?:\\[ \t]*#{NEWLINE}|[^\r\n])+/m
|
23
|
+
COMMENT = %r(#{comment_1}|#{comment_2})m
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
sym_1 = /\+=|\-=|\*=|\/=|%=|\&=|\^=|\|=|<<=|>>=|##|\.\.\./
|
26
|
+
sym_2 = /==|!=|<=|>=|->|\&\&|\|\||<<|>>|\+\+|\-\-/
|
27
|
+
sym_3 = /<:|:>|<%|%>|%:%:|%:/ # Digraph
|
28
|
+
sym_4 = /[\(\)\[\]\{\}\|\&\+\-\/\*%<>\.,=!:;\?\^~#]/
|
29
|
+
SYMBOL = %r(#{sym_1}|#{sym_2}|#{sym_3}|#{sym_4})
|
29
30
|
|
30
31
|
CHARACTER = /L?'(?:[^']|\\.)*'/
|
31
32
|
STRING = /L?"(?:[^"]|\\.)*"/
|
32
33
|
|
33
|
-
# Note: FLOAT should come before INTEGER
|
34
34
|
f_e = /[eE][-+]?[0-9]+/
|
35
35
|
f_s = /[fFlL]/
|
36
|
-
|
37
|
-
|
38
|
-
#
|
39
|
-
#
|
40
|
-
#FLOAT = %r(#{FLOAT_1}|#{FLOAT_2}|#{FLOAT_3})
|
41
|
-
FLOAT = %r(#{FLOAT_1}|#{FLOAT_2})
|
36
|
+
flt_1 = /[0-9]+#{f_e}#{f_s}?/
|
37
|
+
flt_2 = /[0-9]*\.[0-9]+#{f_e}?#{f_s}?/
|
38
|
+
# flt_3 causes ambiguities... :(
|
39
|
+
#flt_3 = /[0-9]+\.[0-9]*#{f_e}?#{f_s}?/
|
42
40
|
|
43
41
|
i_s = /[uUlL]*/
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
42
|
+
int_1 = /0[xX][0-9a-fA-F]+#{i_s}/
|
43
|
+
int_2 = /0[0-7]+#{i_s}/
|
44
|
+
int_3 = /[0-9]+#{i_s}/
|
45
|
+
CONSTANT = %r(#{int_1}|#{int_2}|#{int_3}|#{flt_1}|#{flt_2})
|
48
46
|
end # Expression
|
49
47
|
|
50
48
|
class Error < StandardError
|
@@ -134,33 +132,44 @@ module CTokenizer
|
|
134
132
|
attr_reader :file, :line
|
135
133
|
|
136
134
|
alias empty? eos?
|
135
|
+
alias scan_super scan
|
136
|
+
|
137
|
+
def scan(re)
|
138
|
+
m = scan_super(re)
|
139
|
+
@line += CTokenizer.line_count(m)
|
140
|
+
m
|
141
|
+
end
|
137
142
|
|
138
143
|
def shift
|
139
144
|
# don't need \A in regexp's cause StringScanner does this automatically.
|
145
|
+
# try to put most common tokens first
|
140
146
|
t = case
|
141
|
-
when m =
|
142
|
-
|
147
|
+
#when m = scan_super(Expression::SPACE)
|
148
|
+
# @line += CTokenizer.line_count(m)
|
149
|
+
# [:SPACE, m]
|
150
|
+
when m = scan_super(Expression::SPACE_1)
|
143
151
|
[:SPACE, m]
|
144
|
-
when m =
|
152
|
+
when m = scan_super(Expression::IDENTIFIER)
|
145
153
|
[:IDENTIFIER, m]
|
146
|
-
when m =
|
154
|
+
when m = scan_super(Expression::COMMENT)
|
147
155
|
@line += CTokenizer.line_count(m)
|
148
156
|
[:COMMENT, m]
|
149
|
-
# SYMBOL should come before
|
150
|
-
when m =
|
157
|
+
# SYMBOL should come before CONSTANT
|
158
|
+
when m = scan_super(Expression::SYMBOL)
|
151
159
|
[:SYMBOL, m]
|
152
|
-
when m =
|
153
|
-
|
160
|
+
when m = scan_super(Expression::NEWLINE)
|
161
|
+
#@line += CTokenizer.line_count(m)
|
162
|
+
@line += 1
|
154
163
|
[:NEWLINE, m]
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
when m = scan(Expression::INTEGER)
|
159
|
-
[:INTEGER, m]
|
160
|
-
when m = scan(Expression::CHARACTER)
|
161
|
-
[:CHARACTER, m]
|
162
|
-
when m = scan(Expression::STRING)
|
164
|
+
when m = scan_super(Expression::CONSTANT)
|
165
|
+
[:CONSTANT, m]
|
166
|
+
when m = scan_super(Expression::STRING)
|
163
167
|
[:STRING, m]
|
168
|
+
when m = scan_super(Expression::SPACE_2)
|
169
|
+
@line += 1
|
170
|
+
[:SPACE, m]
|
171
|
+
when m = scan_super(Expression::CHARACTER)
|
172
|
+
[:CHARACTER, m]
|
164
173
|
when eos?
|
165
174
|
EOF_TOKEN # end of file, \Z don't work with StringScanner
|
166
175
|
when m = getch
|
@@ -320,73 +329,84 @@ module CTokenizer
|
|
320
329
|
end
|
321
330
|
end
|
322
331
|
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
332
|
+
## Diagraph
|
333
|
+
diagraph = {}
|
334
|
+
# pair[1] maps to pair[0], Digraph -> Punctuator
|
335
|
+
[ ['[', '<:'], [']', ':>'], ['{', '<%'], ['}', '%>'],
|
336
|
+
['#', '%:'], ['##', '%:%:'] ].each do |p|
|
337
|
+
p[0].freeze
|
338
|
+
diagraph[p[1].freeze] = p.freeze
|
339
|
+
end
|
340
|
+
diagraph.freeze
|
341
|
+
##
|
342
|
+
|
343
|
+
## C Preprocessor
|
344
|
+
cp_reserved_word = {}
|
345
|
+
[ 'if','ifdef','ifndef','else','elif','endif','include','include_next',
|
346
|
+
'define','defined','undef','line','error','warning','pragma' ].each do |t|
|
347
|
+
t.freeze
|
348
|
+
cp_reserved_word[t] = [t, t].freeze
|
349
|
+
end
|
350
|
+
cp_reserved_word.freeze
|
329
351
|
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
352
|
+
cp_reserved_symbol = {}
|
353
|
+
[ '!','*','/','%','+','-','<<','>>','(',')','<','<=','>','>=','==','!=',
|
354
|
+
'&','^','|','~','&&','||','?',':','#','##','...',',' ].each do |t|
|
355
|
+
t.freeze
|
356
|
+
cp_reserved_symbol[t] = [t, t].freeze
|
357
|
+
end
|
358
|
+
cp_reserved_symbol.freeze
|
359
|
+
##
|
360
|
+
|
361
|
+
## C
|
362
|
+
c_reserved_word = {}
|
363
|
+
[ 'auto','break','case','char','const','continue','default','do', 'double',
|
364
|
+
'else','enum','extern','float','for','goto','if','inline', 'int','long',
|
365
|
+
'register','return','short','signed','sizeof','static', 'struct',
|
366
|
+
'switch','typedef','union','unsigned','void','volatile', 'while' ].each do |t|
|
367
|
+
t.freeze
|
368
|
+
c_reserved_word[t] = [t, t].freeze
|
369
|
+
end
|
370
|
+
c_reserved_word.freeze
|
371
|
+
|
372
|
+
# share symbols between C and CP
|
373
|
+
c_reserved_symbol = {}
|
374
|
+
[ '+=','-=','*=','/=','%=','&=','^=','|=', '<<=', '>>=', '##', '...',
|
375
|
+
'==','!=','<=','>=','->','&&','||', '<<','>>','++','--',
|
376
|
+
'(',')','[',']','{','}','|','&','+','-','*','/','%','<','>',
|
377
|
+
'.',',','=','!',':',';','?','^','~','#' ].each do |t|
|
378
|
+
unless cp_reserved_symbol.include?(t)
|
379
|
+
t.freeze
|
380
|
+
c_reserved_symbol[t] = [t, t].freeze
|
351
381
|
end
|
382
|
+
end
|
383
|
+
c_reserved_symbol.merge!(cp_reserved_symbol)
|
384
|
+
c_reserved_symbol.freeze
|
385
|
+
##
|
386
|
+
C_RESERVED = c_reserved_symbol.dup
|
387
|
+
C_RESERVED.merge!(diagraph)
|
388
|
+
C_RESERVED.merge!(c_reserved_word)
|
389
|
+
C_RESERVED.freeze
|
390
|
+
|
391
|
+
CP_RESERVED = cp_reserved_symbol.dup
|
392
|
+
CP_RESERVED.merge!(diagraph)
|
393
|
+
CP_RESERVED.merge!(cp_reserved_word)
|
394
|
+
CP_RESERVED.freeze
|
352
395
|
|
396
|
+
# C Lexer
|
397
|
+
class CLexer < LexerBase
|
353
398
|
def shift
|
354
|
-
|
399
|
+
t = super
|
400
|
+
C_RESERVED.fetch(t.at(1), t)
|
355
401
|
end
|
356
|
-
|
357
402
|
end # CLexer
|
358
|
-
|
403
|
+
|
359
404
|
# C Preprocessor Lexer
|
360
405
|
class CPLexer < LexerBase
|
361
|
-
|
362
|
-
def CPLexer.reserved_word?(str)
|
363
|
-
str =~ /\A(?:if|ifdef|ifndef|else|elif|endif|include|include_next|define|defined|undef|line|error|warning|pragma)\Z/
|
364
|
-
end
|
365
|
-
|
366
|
-
def CPLexer.convert_token(t)
|
367
|
-
str = t[1]
|
368
|
-
case t[0]
|
369
|
-
when :SYMBOL
|
370
|
-
case str
|
371
|
-
when '!', '*', '/', '%', '+', '-', \
|
372
|
-
'<<', '>>', '(', ')', \
|
373
|
-
'<', '<=', '>', '>=', '==', '!=', \
|
374
|
-
'&', '^', '|', '&&', '||', \
|
375
|
-
'?', ':', '#', '##', '...', ','
|
376
|
-
t = [str, str].freeze
|
377
|
-
end # case
|
378
|
-
when :IDENTIFIER
|
379
|
-
if CPLexer.reserved_word?(str)
|
380
|
-
t = [str, str].freeze
|
381
|
-
end
|
382
|
-
end # case
|
383
|
-
t
|
384
|
-
end
|
385
|
-
|
386
406
|
def shift
|
387
|
-
|
407
|
+
t = super
|
408
|
+
CP_RESERVED.fetch(t.at(1), t)
|
388
409
|
end
|
389
|
-
|
390
410
|
end # CPLexer
|
391
411
|
|
392
412
|
end # Tokenizer
|
data/lib/dbc/ctype.rb
CHANGED
@@ -39,7 +39,6 @@ module CType
|
|
39
39
|
raise EvaluationError, "cannot evaluate '#{part}'"
|
40
40
|
end
|
41
41
|
|
42
|
-
@@typedefs = {}
|
43
42
|
def CType.parse(source)
|
44
43
|
tokens = CTokenizer::SkipMacros.new(source)
|
45
44
|
ctype_parser = Parser.new()
|
@@ -53,24 +52,30 @@ module CType
|
|
53
52
|
if results
|
54
53
|
results = [results] unless results.class == Array
|
55
54
|
results.each do |t|
|
56
|
-
|
55
|
+
CType[t.to_s] = t if t.typedef?
|
57
56
|
end
|
58
57
|
end
|
59
58
|
end
|
60
59
|
end
|
61
60
|
|
61
|
+
@@typedefs = {}
|
62
|
+
|
62
63
|
def CType.[](val)
|
63
|
-
@@typedefs[val]
|
64
|
+
t = @@typedefs[val]
|
65
|
+
t && t.at(1)
|
66
|
+
end
|
67
|
+
|
68
|
+
def CType.convert_token(t)
|
69
|
+
@@typedefs.fetch(t.at(1), t)
|
64
70
|
end
|
65
71
|
|
66
|
-
def CType.include?(
|
67
|
-
@@typedefs.include?(
|
72
|
+
def CType.include?(name)
|
73
|
+
@@typedefs.include?(name)
|
68
74
|
end
|
69
75
|
|
70
|
-
def CType.[]=(
|
71
|
-
raise "
|
72
|
-
|
73
|
-
@@typedefs[val] = new_val
|
76
|
+
def CType.[]=(name, tdef)
|
77
|
+
raise ParseError, "type #{name} already defined" if @@typedefs.include?(name)
|
78
|
+
@@typedefs[name.freeze] = [:TYPEDEF_NAME, tdef].freeze
|
74
79
|
end
|
75
80
|
|
76
81
|
class StructUnion
|
@@ -601,7 +606,7 @@ module CType
|
|
601
606
|
|
602
607
|
class Parser < Racc::Parser
|
603
608
|
|
604
|
-
module_eval <<'..end src/ctype.y modeval..
|
609
|
+
module_eval <<'..end src/ctype.y modeval..id38effc9221', 'src/ctype.y', 1142
|
605
610
|
|
606
611
|
def parse(str, file=nil, line=1)
|
607
612
|
@tokens = CTokenizer::CLexer.new(str, file, line)
|
@@ -622,25 +627,22 @@ protected
|
|
622
627
|
attr_writer :in_member
|
623
628
|
|
624
629
|
def next_token
|
625
|
-
t = nil
|
630
|
+
t_sym = t = nil
|
626
631
|
loop do
|
627
632
|
t = @tokens.shift
|
633
|
+
t_sym = t.at(0)
|
628
634
|
# ignore comments, newlines, and spaces
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
t = [:TYPEDEF_NAME, tdef] if tdef
|
636
|
-
end
|
637
|
-
end
|
638
|
-
break
|
635
|
+
break t[0] unless t_sym == :SPACE or
|
636
|
+
t_sym == :COMMENT or
|
637
|
+
t_sym == :NEWLINE
|
638
|
+
end # loop
|
639
|
+
if t_sym == :IDENTIFIER and not @in_member
|
640
|
+
t = CType.convert_token(t)
|
639
641
|
end
|
640
642
|
t
|
641
643
|
end
|
642
644
|
|
643
|
-
..end src/ctype.y modeval..
|
645
|
+
..end src/ctype.y modeval..id38effc9221
|
644
646
|
|
645
647
|
##### racc 1.4.4 generates ###
|
646
648
|
|
@@ -679,9 +681,9 @@ racc_reduce_table = [
|
|
679
681
|
1, 91, :_reduce_none,
|
680
682
|
1, 91, :_reduce_none,
|
681
683
|
1, 91, :_reduce_none,
|
682
|
-
|
683
|
-
3, 91, :_reduce_35,
|
684
|
+
3, 91, :_reduce_34,
|
684
685
|
1, 93, :_reduce_none,
|
686
|
+
2, 93, :_reduce_36,
|
685
687
|
2, 93, :_reduce_37,
|
686
688
|
2, 93, :_reduce_38,
|
687
689
|
2, 93, :_reduce_39,
|
@@ -833,275 +835,287 @@ racc_reduce_table = [
|
|
833
835
|
|
834
836
|
racc_reduce_n = 185
|
835
837
|
|
836
|
-
racc_shift_n =
|
838
|
+
racc_shift_n = 273
|
837
839
|
|
838
840
|
racc_action_table = [
|
839
|
-
|
840
|
-
|
841
|
-
18, 48,
|
841
|
+
132, 134, 137, 112, 50, 48, 117, 122, 132, 134,
|
842
|
+
137, 112, 84, 182, 117, 122, 246, 119, 123, 50,
|
843
|
+
18, 48, 48, 242, 78, 119, 123, 161, 48, 48,
|
842
844
|
16, 22, 25, 29, 33, 36, 1, 3, 6, 9,
|
843
|
-
12, 15, 21,
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
154, 48,
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
4, 7, 10, 13, 16, 22, 25, 29, 33, 36,
|
853
|
-
1, 3, 6, 9, 12, 15, 21, 242, 223, 167,
|
854
|
-
168, 169, 170, 258, 59, 171, 172, 37, 2, 4,
|
855
|
-
7, 10, 13, 167, 168, 169, 170, 196, 195, 159,
|
856
|
-
148, 30, 18, 48, 15, 21, 37, 2, 4, 7,
|
857
|
-
10, 13, 16, 22, 25, 29, 33, 36, 1, 3,
|
858
|
-
6, 9, 12, 15, 21, 161, 223, 59, 47, 48,
|
859
|
-
61, 188, 186, 187, 130, 132, 135, 171, 172, 113,
|
860
|
-
116, 59, 59, 188, 186, 187, 48, 159, 96, 30,
|
861
|
-
114, 118, 121, 140, 48, 48, 142, 188, 186, 187,
|
862
|
-
48, 48, 57, 57, 47, 48, 49, 166, 53, 190,
|
863
|
-
191, 190, 191, 190, 191, 241, 92, 127, 173, 133,
|
864
|
-
196, 195, 53, 53, 176, 18, 196, 195, 268, 37,
|
845
|
+
12, 15, 21, 129, 161, 135, 79, 50, 183, 159,
|
846
|
+
50, 129, 50, 135, 132, 134, 137, 112, 50, 243,
|
847
|
+
117, 122, 132, 134, 137, 112, 159, 30, 117, 122,
|
848
|
+
48, 119, 123, 50, 130, 48, 48, 50, 96, 119,
|
849
|
+
123, 159, 154, 48, 50, 15, 21, 75, 15, 21,
|
850
|
+
243, 48, 54, 58, 64, 48, 48, 129, 54, 135,
|
851
|
+
92, 228, 48, 63, 58, 129, 92, 135, 50, 173,
|
852
|
+
174, 153, 159, 54, 173, 174, 74, 54, 54, 256,
|
853
|
+
223, 257, 102, 229, 54, 18, 196, 195, 264, 37,
|
865
854
|
2, 4, 7, 10, 13, 16, 22, 25, 29, 33,
|
866
|
-
36, 1, 3, 6, 9, 12, 15, 21,
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
9, 12, 15, 21,
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
33, 36, 1, 3, 6, 114, 118, 121, 18, 64,
|
876
|
-
48, 30, 37, 2, 4, 7, 10, 13, 16, 22,
|
877
|
-
25, 29, 33, 36, 1, 3, 6, 9, 12, 15,
|
878
|
-
21, 18, 127, 266, 133, 48, 63, 38, 269, 270,
|
879
|
-
259, 16, 22, 25, 29, 33, 36, 1, 3, 6,
|
880
|
-
9, 12, 15, 21, 18, 30, -78, nil, 37, 2,
|
855
|
+
36, 1, 3, 6, 9, 12, 15, 21, 243, 224,
|
856
|
+
47, 48, 61, 78, 196, 195, 50, 208, 50, 209,
|
857
|
+
210, 211, 200, 201, 202, 203, 204, 205, 207, 48,
|
858
|
+
159, 148, 30, 18, 48, 79, 48, 37, 2, 4,
|
859
|
+
7, 10, 13, 16, 22, 25, 29, 33, 36, 1,
|
860
|
+
3, 6, 9, 12, 15, 21, 161, 224, 54, 167,
|
861
|
+
168, 169, 170, 258, 132, 134, 137, 112, 196, 195,
|
862
|
+
117, 122, 167, 168, 169, 170, 191, 192, 159, 259,
|
863
|
+
30, 119, 123, 142, 18, 48, 144, 260, 37, 2,
|
881
864
|
4, 7, 10, 13, 16, 22, 25, 29, 33, 36,
|
882
|
-
1, 3, 6, 9, 12, 15, 21,
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
6, 9, 12, 15, 21,
|
887
|
-
nil, nil, 127, nil, 133, nil, 151, nil, nil, nil,
|
888
|
-
nil, nil, 114, 118, 121, nil, 18, 48, nil, 30,
|
865
|
+
1, 3, 6, 9, 12, 15, 21, 129, 228, 135,
|
866
|
+
37, 2, 4, 7, 10, 13, 196, 195, 269, 191,
|
867
|
+
192, 119, 123, 18, 149, 48, 150, 15, 21, 155,
|
868
|
+
229, 30, 220, 16, 22, 25, 29, 33, 36, 1,
|
869
|
+
3, 6, 9, 12, 15, 21, 18, 172, 191, 192,
|
889
870
|
37, 2, 4, 7, 10, 13, 16, 22, 25, 29,
|
890
|
-
33, 36, 1, 3, 6, 9, 12, 15, 21,
|
891
|
-
|
871
|
+
33, 36, 1, 3, 6, 9, 12, 15, 21, 18,
|
872
|
+
30, 119, 123, 119, 123, 48, 81, 48, 156, 16,
|
873
|
+
22, 25, 29, 33, 36, 1, 3, 6, 9, 12,
|
874
|
+
15, 21, 18, 30, 119, 123, 157, 172, 48, 172,
|
875
|
+
196, 195, 16, 22, 25, 29, 33, 36, 1, 3,
|
876
|
+
6, 9, 12, 15, 21, 48, 30, 187, 188, 189,
|
877
|
+
172, 167, 168, 169, 170, 158, 151, 47, 48, 49,
|
878
|
+
187, 188, 189, 119, 123, 166, 18, 48, 48, 30,
|
879
|
+
37, 2, 4, 7, 10, 13, 16, 22, 25, 29,
|
880
|
+
33, 36, 1, 3, 6, 9, 12, 15, 21, 172,
|
881
|
+
18, 187, 188, 189, 37, 2, 4, 7, 10, 13,
|
892
882
|
16, 22, 25, 29, 33, 36, 1, 3, 6, 9,
|
893
|
-
12, 15, 21, 30,
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
nil,
|
901
|
-
nil, nil, 114, 118, 121, 18, nil, 48, 30, 37,
|
902
|
-
2, 4, 7, 10, 13, 16, 22, 25, 29, 33,
|
903
|
-
36, 1, 3, 6, 9, 12, 15, 21, 18, 127,
|
904
|
-
nil, 133, 114, 118, 121, nil, nil, 48, 16, 22,
|
883
|
+
12, 15, 21, 30, 261, 16, 22, 25, 29, 33,
|
884
|
+
36, 1, 3, 6, 175, 176, 179, 181, 265, 214,
|
885
|
+
175, 119, 123, 39, 18, 48, -78, 30, 37, 2,
|
886
|
+
4, 7, 10, 13, 16, 22, 25, 29, 33, 36,
|
887
|
+
1, 3, 6, 9, 12, 15, 21, 172, 142, 176,
|
888
|
+
181, 179, 267, 38, 270, 271, 178, 81, nil, nil,
|
889
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 18, nil,
|
890
|
+
nil, 30, 37, 2, 4, 7, 10, 13, 16, 22,
|
905
891
|
25, 29, 33, 36, 1, 3, 6, 9, 12, 15,
|
906
|
-
21, nil,
|
907
|
-
208, 209, 210, 199, 200, 201, 202, 203, 204, 206,
|
908
|
-
nil, nil, 18, 48, nil, 30, 37, 2, 4, 7,
|
892
|
+
21, nil, 18, 48, nil, nil, 37, 2, 4, 7,
|
909
893
|
10, 13, 16, 22, 25, 29, 33, 36, 1, 3,
|
910
|
-
6, 9, 12, 15, 21,
|
911
|
-
|
912
|
-
nil,
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
nil,
|
937
|
-
nil,
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
nil, nil,
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
894
|
+
6, 9, 12, 15, 21, 30, 109, 132, 134, 137,
|
895
|
+
112, nil, nil, 117, 122, nil, nil, nil, nil, nil,
|
896
|
+
18, nil, nil, nil, 119, 123, nil, nil, 48, 30,
|
897
|
+
16, 22, 25, 29, 33, 36, 1, 3, 6, 9,
|
898
|
+
12, 15, 21, 18, nil, nil, nil, nil, nil, nil,
|
899
|
+
129, nil, 135, 16, 22, 25, 29, 33, 36, 1,
|
900
|
+
3, 6, 9, 12, 15, 21, nil, 30, nil, nil,
|
901
|
+
nil, nil, nil, nil, nil, nil, nil, 91, nil, nil,
|
902
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 18, nil,
|
903
|
+
30, 34, 37, 2, 4, 7, 10, 13, 16, 22,
|
904
|
+
25, 29, 33, 36, 1, 3, 6, 9, 12, 15,
|
905
|
+
21, 18, nil, nil, nil, nil, nil, nil, nil, nil,
|
906
|
+
nil, 16, 22, 25, 29, 33, 36, 1, 3, 6,
|
907
|
+
9, 12, 15, 21, 18, 30, nil, nil, nil, nil,
|
908
|
+
nil, nil, nil, nil, 16, 22, 25, 29, 33, 36,
|
909
|
+
1, 3, 6, 9, 12, 15, 21, 198, 30, 132,
|
910
|
+
134, 137, 112, nil, nil, 117, 122, 132, 134, 137,
|
911
|
+
112, nil, nil, 117, 122, nil, 119, 123, nil, nil,
|
912
|
+
48, 30, nil, nil, 119, 123, nil, nil, 48, nil,
|
913
|
+
132, 134, 137, 112, nil, nil, 117, 122, nil, nil,
|
914
|
+
nil, nil, 129, nil, 135, nil, nil, 119, 123, nil,
|
915
|
+
129, 48, 135, 132, 134, 137, 112, nil, nil, 117,
|
916
|
+
122, 132, 134, 137, 112, nil, nil, 117, 122, nil,
|
917
|
+
119, 123, nil, 129, 48, 135, nil, nil, 119, 123,
|
918
|
+
142, nil, 48, 144, 132, 134, 137, 112, nil, nil,
|
919
|
+
117, 122, nil, nil, nil, nil, 129, nil, 135, nil,
|
920
|
+
nil, 119, 123, nil, 129, 48, 135, 132, 134, 137,
|
921
|
+
112, nil, nil, 117, 122, 132, 134, 137, 112, nil,
|
922
|
+
nil, 117, 122, nil, 119, 123, nil, 129, 48, 135,
|
923
|
+
nil, nil, 119, 123, nil, nil, 48, nil, 132, 134,
|
924
|
+
137, 112, nil, nil, 117, 122, nil, nil, nil, nil,
|
925
|
+
129, nil, 135, nil, nil, 119, 123, nil, 129, 48,
|
926
|
+
135, 132, 134, 137, 112, nil, nil, 117, 122, 132,
|
927
|
+
134, 137, 112, nil, nil, 117, 122, nil, 119, 123,
|
928
|
+
nil, 129, 48, 135, nil, nil, 119, 123, nil, nil,
|
929
|
+
48, nil, 132, 134, 137, 112, nil, nil, 117, 122,
|
930
|
+
nil, nil, nil, nil, 129, nil, 135, nil, nil, 119,
|
931
|
+
123, nil, 129, 48, 135, 132, 134, 137, 112, nil,
|
932
|
+
nil, 117, 122, 132, 134, 137, 112, nil, nil, 117,
|
933
|
+
122, nil, 119, 123, nil, 129, 48, 135, nil, nil,
|
934
|
+
119, 123, nil, nil, 48, nil, 132, 134, 137, 112,
|
935
|
+
nil, nil, 117, 122, nil, nil, nil, nil, 129, nil,
|
936
|
+
135, nil, nil, 119, 123, nil, 129, 48, 135, 132,
|
937
|
+
134, 137, 112, nil, nil, 117, 122, 132, 134, 137,
|
938
|
+
112, nil, nil, 117, 122, nil, 119, 123, nil, 129,
|
939
|
+
48, 135, nil, nil, 119, 123, nil, nil, 48, nil,
|
940
|
+
132, 134, 137, 112, nil, nil, 117, 122, nil, nil,
|
941
|
+
nil, nil, 129, nil, 135, nil, nil, 119, 123, nil,
|
942
|
+
129, 48, 135, 132, 134, 137, 112, nil, nil, 117,
|
943
|
+
122, 132, 134, 137, 112, nil, nil, 117, 122, nil,
|
944
|
+
119, 123, nil, 129, 48, 135, nil, nil, 119, 123,
|
945
|
+
nil, nil, 48, nil, 132, 134, 137, 112, nil, nil,
|
946
|
+
117, 122, nil, nil, nil, nil, 129, nil, 135, nil,
|
947
|
+
nil, 119, 123, nil, 129, 48, 135, 132, 134, 137,
|
948
|
+
112, nil, nil, 117, 122, 132, 134, 137, 112, nil,
|
949
|
+
nil, 117, 122, nil, 119, 123, 142, 129, 48, 135,
|
950
|
+
nil, nil, 119, 123, nil, nil, 48, nil, nil, nil,
|
954
951
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
955
|
-
nil, nil, nil,
|
952
|
+
129, nil, 135, nil, nil, nil, nil, nil, 129, nil,
|
953
|
+
135, 132, 134, 137, 112, nil, nil, 117, 122, 132,
|
954
|
+
134, 137, 112, nil, nil, 117, 122, nil, 119, 123,
|
955
|
+
142, nil, 48, 144, nil, nil, 119, 123, nil, nil,
|
956
|
+
48, nil, 132, 134, 137, 112, nil, nil, 117, 122,
|
957
|
+
nil, nil, nil, nil, 129, nil, 135, nil, nil, 119,
|
958
|
+
123, nil, 129, 48, 135, 132, 134, 137, 112, nil,
|
959
|
+
nil, 117, 122, nil, nil, nil, nil, nil, nil, nil,
|
960
|
+
nil, nil, 119, 123, nil, 129, 48, 135, nil, nil,
|
961
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
962
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 129, nil,
|
963
|
+
135 ]
|
956
964
|
|
957
965
|
racc_action_check = [
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
93,
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
85,
|
966
|
+
129, 129, 129, 129, 108, 162, 129, 129, 79, 79,
|
967
|
+
79, 79, 60, 126, 79, 79, 186, 129, 129, 185,
|
968
|
+
129, 129, 108, 184, 57, 79, 79, 162, 61, 79,
|
969
|
+
129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
|
970
|
+
129, 129, 129, 129, 108, 129, 57, 50, 126, 162,
|
971
|
+
71, 79, 153, 79, 159, 159, 159, 159, 67, 185,
|
972
|
+
159, 159, 229, 229, 229, 229, 108, 129, 229, 229,
|
973
|
+
153, 159, 159, 28, 79, 159, 67, 74, 67, 229,
|
974
|
+
229, 185, 93, 229, 82, 50, 50, 51, 71, 71,
|
975
|
+
245, 28, 153, 28, 44, 74, 56, 159, 67, 159,
|
976
|
+
153, 165, 82, 38, 82, 229, 67, 229, 243, 113,
|
977
|
+
113, 93, 245, 28, 236, 236, 51, 74, 56, 213,
|
978
|
+
159, 213, 76, 165, 82, 243, 230, 230, 229, 243,
|
979
|
+
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
|
980
|
+
243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
|
981
|
+
30, 30, 30, 77, 231, 231, 161, 141, 54, 141,
|
982
|
+
141, 141, 141, 141, 141, 141, 141, 141, 141, 84,
|
983
|
+
243, 85, 243, 161, 161, 77, 54, 161, 161, 161,
|
976
984
|
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
|
977
|
-
161, 161, 161, 161, 161, 161, 161,
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
28, 79, 28, 79, 26, 26, 26, 108, 67, 131,
|
982
|
-
131, 252, 252, 253, 253, 183, 67, 255, 112, 255,
|
983
|
-
134, 134, 28, 79, 115, 157, 230, 230, 255, 157,
|
985
|
+
161, 161, 161, 161, 161, 161, 161, 161, 54, 111,
|
986
|
+
111, 111, 111, 222, 256, 256, 256, 256, 136, 136,
|
987
|
+
256, 256, 234, 234, 234, 234, 133, 133, 161, 225,
|
988
|
+
161, 256, 256, 256, 157, 256, 256, 226, 157, 157,
|
984
989
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
985
|
-
157, 157, 157, 157, 157, 157, 157,
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
49, 49, 49, 49, 132, 0, 236, 103, 238, 239,
|
991
|
-
240, 135, 17, 60, 132, 132, 132, 132, 132, 132,
|
992
|
-
132, 132, 132, 132, 132, 132, 132, 132, 49, 195,
|
993
|
-
195, 195, 61, 150, 195, 195, 23, 23, 23, 23,
|
994
|
-
23, 23, 23, 23, 23, 195, 195, 195, 32, 44,
|
995
|
-
195, 132, 32, 32, 32, 32, 32, 32, 32, 32,
|
990
|
+
157, 157, 157, 157, 157, 157, 157, 256, 227, 256,
|
991
|
+
20, 20, 20, 20, 20, 20, 232, 232, 256, 252,
|
992
|
+
252, 117, 117, 49, 86, 117, 87, 20, 20, 95,
|
993
|
+
227, 157, 157, 49, 49, 49, 49, 49, 49, 49,
|
994
|
+
49, 49, 49, 49, 49, 49, 32, 117, 253, 253,
|
996
995
|
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
997
|
-
32,
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
155, 65, 65, 65, 65, 65, 65, 65, 65, 65,
|
1018
|
-
65, 65, 65, 65, nil, 64, 245, 245, 245, nil,
|
1019
|
-
nil, 245, 245, nil, nil, 65, nil, nil, nil, nil,
|
1020
|
-
nil, nil, 245, 245, 245, 19, nil, 245, 65, 19,
|
996
|
+
32, 32, 32, 32, 32, 32, 32, 32, 32, 198,
|
997
|
+
49, 135, 135, 134, 134, 135, 101, 134, 103, 198,
|
998
|
+
198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
|
999
|
+
198, 198, 89, 32, 132, 132, 105, 135, 132, 134,
|
1000
|
+
233, 233, 89, 89, 89, 89, 89, 89, 89, 89,
|
1001
|
+
89, 89, 89, 89, 89, 158, 198, 251, 251, 251,
|
1002
|
+
132, 235, 235, 235, 235, 107, 89, 26, 26, 26,
|
1003
|
+
131, 131, 131, 112, 112, 110, 83, 112, 150, 89,
|
1004
|
+
83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
|
1005
|
+
83, 83, 83, 83, 83, 83, 83, 83, 83, 112,
|
1006
|
+
228, 250, 250, 250, 228, 228, 228, 228, 228, 228,
|
1007
|
+
228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
|
1008
|
+
228, 228, 228, 83, 228, 23, 23, 23, 23, 23,
|
1009
|
+
23, 23, 23, 23, 237, 238, 239, 240, 241, 147,
|
1010
|
+
115, 122, 122, 17, 59, 122, 59, 228, 59, 59,
|
1011
|
+
59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
|
1012
|
+
59, 59, 59, 59, 59, 59, 59, 122, 138, 116,
|
1013
|
+
124, 121, 254, 5, 262, 263, 120, 59, nil, nil,
|
1014
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 19, nil,
|
1015
|
+
nil, 59, 19, 19, 19, 19, 19, 19, 19, 19,
|
1021
1016
|
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
|
1022
|
-
19,
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
nil,
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
nil,
|
1051
|
-
|
1052
|
-
|
1053
|
-
nil,
|
1054
|
-
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
|
1060
|
-
|
1061
|
-
|
1062
|
-
nil,
|
1063
|
-
|
1064
|
-
|
1065
|
-
nil, nil,
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
nil, nil, nil,
|
1072
|
-
|
1017
|
+
19, nil, 78, 78, nil, nil, 78, 78, 78, 78,
|
1018
|
+
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
|
1019
|
+
78, 78, 78, 78, 78, 19, 78, 182, 182, 182,
|
1020
|
+
182, nil, nil, 182, 182, nil, nil, nil, nil, nil,
|
1021
|
+
64, nil, nil, nil, 182, 182, nil, nil, 182, 78,
|
1022
|
+
64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
|
1023
|
+
64, 64, 64, 65, nil, nil, nil, nil, nil, nil,
|
1024
|
+
182, nil, 182, 65, 65, 65, 65, 65, 65, 65,
|
1025
|
+
65, 65, 65, 65, 65, 65, nil, 64, nil, nil,
|
1026
|
+
nil, nil, nil, nil, nil, nil, nil, 65, nil, nil,
|
1027
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 0, nil,
|
1028
|
+
65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
1029
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
1030
|
+
0, 70, nil, nil, nil, nil, nil, nil, nil, nil,
|
1031
|
+
nil, 70, 70, 70, 70, 70, 70, 70, 70, 70,
|
1032
|
+
70, 70, 70, 70, 137, 0, nil, nil, nil, nil,
|
1033
|
+
nil, nil, nil, nil, 137, 137, 137, 137, 137, 137,
|
1034
|
+
137, 137, 137, 137, 137, 137, 137, 137, 70, 179,
|
1035
|
+
179, 179, 179, nil, nil, 179, 179, 176, 176, 176,
|
1036
|
+
176, nil, nil, 176, 176, nil, 179, 179, nil, nil,
|
1037
|
+
179, 137, nil, nil, 176, 176, nil, nil, 176, nil,
|
1038
|
+
183, 183, 183, 183, nil, nil, 183, 183, nil, nil,
|
1039
|
+
nil, nil, 179, nil, 179, nil, nil, 183, 183, nil,
|
1040
|
+
176, 183, 176, 187, 187, 187, 187, nil, nil, 187,
|
1041
|
+
187, 81, 81, 81, 81, nil, nil, 81, 81, nil,
|
1042
|
+
187, 187, nil, 183, 187, 183, nil, nil, 81, 81,
|
1043
|
+
81, nil, 81, 81, 175, 175, 175, 175, nil, nil,
|
1044
|
+
175, 175, nil, nil, nil, nil, 187, nil, 187, nil,
|
1045
|
+
nil, 175, 175, nil, 81, 175, 81, 188, 188, 188,
|
1046
|
+
188, nil, nil, 188, 188, 174, 174, 174, 174, nil,
|
1047
|
+
nil, 174, 174, nil, 188, 188, nil, 175, 188, 175,
|
1048
|
+
nil, nil, 174, 174, nil, nil, 174, nil, 173, 173,
|
1049
|
+
173, 173, nil, nil, 173, 173, nil, nil, nil, nil,
|
1050
|
+
188, nil, 188, nil, nil, 173, 173, nil, 174, 173,
|
1051
|
+
174, 172, 172, 172, 172, nil, nil, 172, 172, 170,
|
1052
|
+
170, 170, 170, nil, nil, 170, 170, nil, 172, 172,
|
1053
|
+
nil, 173, 172, 173, nil, nil, 170, 170, nil, nil,
|
1054
|
+
170, nil, 189, 189, 189, 189, nil, nil, 189, 189,
|
1055
|
+
nil, nil, nil, nil, 172, nil, 172, nil, nil, 189,
|
1056
|
+
189, nil, 170, 189, 170, 92, 92, 92, 92, nil,
|
1057
|
+
nil, 92, 92, 169, 169, 169, 169, nil, nil, 169,
|
1058
|
+
169, nil, 92, 92, nil, 189, 92, 189, nil, nil,
|
1059
|
+
169, 169, nil, nil, 169, nil, 168, 168, 168, 168,
|
1060
|
+
nil, nil, 168, 168, nil, nil, nil, nil, 92, nil,
|
1061
|
+
92, nil, nil, 168, 168, nil, 169, 168, 169, 167,
|
1062
|
+
167, 167, 167, nil, nil, 167, 167, 191, 191, 191,
|
1063
|
+
191, nil, nil, 191, 191, nil, 167, 167, nil, 168,
|
1064
|
+
167, 168, nil, nil, 191, 191, nil, nil, 191, nil,
|
1065
|
+
192, 192, 192, 192, nil, nil, 192, 192, nil, nil,
|
1066
|
+
nil, nil, 167, nil, 167, nil, nil, 192, 192, nil,
|
1067
|
+
191, 192, 191, 195, 195, 195, 195, nil, nil, 195,
|
1068
|
+
195, 196, 196, 196, 196, nil, nil, 196, 196, nil,
|
1069
|
+
195, 195, nil, 192, 195, 192, nil, nil, 196, 196,
|
1070
|
+
nil, nil, 196, nil, 155, 155, 155, 155, nil, nil,
|
1071
|
+
155, 155, nil, nil, nil, nil, 195, nil, 195, nil,
|
1072
|
+
nil, 155, 155, nil, 196, 155, 196, 206, 206, 206,
|
1073
|
+
206, nil, nil, 206, 206, 148, 148, 148, 148, nil,
|
1074
|
+
nil, 148, 148, nil, 206, 206, 206, 155, 206, 155,
|
1075
|
+
nil, nil, 148, 148, nil, nil, 148, nil, nil, nil,
|
1076
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
1077
|
+
206, nil, 206, nil, nil, nil, nil, nil, 148, nil,
|
1078
|
+
148, 144, 144, 144, 144, nil, nil, 144, 144, 246,
|
1079
|
+
246, 246, 246, nil, nil, 246, 246, nil, 144, 144,
|
1080
|
+
144, nil, 144, 144, nil, nil, 246, 246, nil, nil,
|
1081
|
+
246, nil, 181, 181, 181, 181, nil, nil, 181, 181,
|
1082
|
+
nil, nil, nil, nil, 144, nil, 144, nil, nil, 181,
|
1083
|
+
181, nil, 246, 181, 246, 265, 265, 265, 265, nil,
|
1084
|
+
nil, 265, 265, nil, nil, nil, nil, nil, nil, nil,
|
1085
|
+
nil, nil, 265, 265, nil, 181, 265, 181, nil, nil,
|
1073
1086
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
1074
|
-
nil, nil, nil,
|
1087
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 265, nil,
|
1088
|
+
265 ]
|
1075
1089
|
|
1076
1090
|
racc_action_pointer = [
|
1077
|
-
|
1078
|
-
nil, nil, nil, nil, nil, nil, nil,
|
1079
|
-
|
1080
|
-
|
1081
|
-
nil, nil, nil, nil,
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
nil, nil,
|
1087
|
-
nil,
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
nil,
|
1092
|
-
|
1093
|
-
nil,
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
nil, nil, nil, nil, nil,
|
1098
|
-
nil, nil,
|
1099
|
-
nil,
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
nil,
|
1104
|
-
nil, nil ]
|
1091
|
+
590, nil, nil, nil, nil, 473, nil, nil, nil, nil,
|
1092
|
+
nil, nil, nil, nil, nil, nil, nil, 413, nil, 460,
|
1093
|
+
218, nil, nil, 387, nil, nil, 339, nil, 62, nil,
|
1094
|
+
122, nil, 258, nil, nil, nil, nil, nil, 103, nil,
|
1095
|
+
nil, nil, nil, nil, 64, nil, nil, nil, nil, 235,
|
1096
|
+
36, 56, nil, nil, 147, nil, 67, -27, nil, 416,
|
1097
|
+
-18, -1, nil, nil, 522, 545, nil, 47, nil, nil,
|
1098
|
+
613, 39, nil, nil, 66, nil, 70, 102, 484, 0,
|
1099
|
+
nil, 743, 73, 348, 140, 110, 202, 206, nil, 304,
|
1100
|
+
nil, nil, 897, 51, nil, 210, nil, nil, nil, nil,
|
1101
|
+
nil, 255, nil, 266, nil, 276, nil, 305, -7, nil,
|
1102
|
+
323, 183, 348, 89, nil, 387, 413, 236, nil, nil,
|
1103
|
+
402, 414, 416, nil, 448, nil, -10, nil, nil, -8,
|
1104
|
+
nil, 359, 309, 202, 288, 286, 154, 636, 441, nil,
|
1105
|
+
nil, 96, nil, nil, 1113, nil, nil, 377, 1067, nil,
|
1106
|
+
349, nil, nil, 41, nil, 1036, nil, 196, 326, 46,
|
1107
|
+
nil, 145, -24, nil, nil, 50, nil, 951, 928, 905,
|
1108
|
+
851, nil, 843, 820, 797, 766, 689, nil, nil, 681,
|
1109
|
+
nil, 1144, 529, 712, -29, 8, -36, 735, 789, 874,
|
1110
|
+
nil, 959, 982, nil, nil, 1005, 1013, nil, 281, nil,
|
1111
|
+
nil, nil, nil, nil, nil, nil, 1059, nil, nil, nil,
|
1112
|
+
nil, nil, nil, 59, nil, nil, nil, nil, nil, nil,
|
1113
|
+
nil, nil, 129, nil, nil, 167, 175, 197, 372, 54,
|
1114
|
+
72, 100, 202, 286, 196, 345, 94, 381, 379, 379,
|
1115
|
+
415, 379, nil, 97, nil, 39, 1121, nil, nil, nil,
|
1116
|
+
390, 346, 245, 274, 420, nil, 196, nil, nil, nil,
|
1117
|
+
nil, nil, 422, 401, nil, 1167, nil, nil, nil, nil,
|
1118
|
+
nil, nil, nil ]
|
1105
1119
|
|
1106
1120
|
racc_action_default = [
|
1107
1121
|
-5, -19, -8, -20, -9, -185, -21, -10, -1, -22,
|
@@ -1109,97 +1123,97 @@ racc_action_default = [
|
|
1109
1123
|
-109, -25, -14, -112, -106, -15, -185, -114, -185, -16,
|
1110
1124
|
-185, -115, -185, -17, -6, -116, -18, -7, -185, -4,
|
1111
1125
|
-110, -107, -108, -113, -122, -118, -119, -30, -29, -185,
|
1112
|
-
-185, -138, -83, -185, -135, -185, -137, -82, -85,
|
1113
|
-
-147, -185, -111,
|
1114
|
-
-185, -
|
1115
|
-
-
|
1116
|
-
-124, -121, -185, -185, -130, -132, -126, -129,
|
1117
|
-
-139, -185, -168, -160, -162, -167, -166, -144,
|
1118
|
-
|
1119
|
-
-70, -
|
1120
|
-
-185, -53, -185, -185, -56, -185, -93, -86,
|
1121
|
-
-26, -92, -185, -27, -80, -
|
1126
|
+
-155, -185, -138, -83, -185, -135, -185, -137, -82, -85,
|
1127
|
+
-147, -185, -111, 273, -185, -185, -123, -185, -127, -128,
|
1128
|
+
-185, -154, -157, -158, -185, -81, -185, -136, -185, -185,
|
1129
|
+
-79, -185, -185, -77, -185, -152, -185, -148, -150, -185,
|
1130
|
+
-124, -121, -185, -185, -130, -132, -126, -129, -156, -159,
|
1131
|
+
-84, -85, -139, -185, -168, -160, -162, -167, -166, -144,
|
1132
|
+
-185, -61, -185, -64, -33, -66, -68, -185, -35, -31,
|
1133
|
+
-185, -70, -185, -32, -72, -44, -74, -76, -46, -185,
|
1134
|
+
-141, -50, -185, -53, -185, -185, -56, -185, -93, -86,
|
1135
|
+
-87, -44, -26, -92, -185, -27, -80, -185, -185, -146,
|
1122
1136
|
-149, -120, -133, -185, -125, -185, -143, -185, -185, -185,
|
1123
1137
|
-165, -185, -173, -172, -164, -174, -142, -185, -185, -185,
|
1124
|
-
-185, -185, -185, -185,
|
1125
|
-
-185, -185, -185, -185, -170, -185, -185, -185, -185,
|
1126
|
-
-185, -185, -
|
1127
|
-
-100, -101, -102, -103, -104, -185, -105, -95, -96,
|
1128
|
-
-98, -90, -185, -145, -153, -151, -131, -134, -163,
|
1129
|
-
-169, -185, -177, -181, -185, -185, -175, -185, -185,
|
1130
|
-
-59, -58, -60, -62, -63, -65, -67, -69, -71,
|
1131
|
-
-185, -
|
1132
|
-
-
|
1133
|
-
-183, -185, -185, -179, -185, -45, -43, -91, -89,
|
1134
|
-
-180, -75 ]
|
1138
|
+
-185, -37, -185, -185, -185, -185, -185, -38, -140, -185,
|
1139
|
+
-39, -185, -185, -185, -185, -170, -185, -185, -185, -185,
|
1140
|
+
-40, -185, -185, -41, -36, -185, -185, -42, -185, -28,
|
1141
|
+
-99, -100, -101, -102, -103, -104, -185, -105, -95, -96,
|
1142
|
+
-97, -98, -90, -185, -145, -153, -151, -131, -134, -163,
|
1143
|
+
-161, -169, -185, -177, -181, -185, -185, -175, -185, -185,
|
1144
|
+
-57, -59, -58, -60, -62, -63, -65, -67, -69, -71,
|
1145
|
+
-73, -185, -34, -185, -171, -173, -185, -47, -48, -49,
|
1146
|
+
-51, -52, -55, -54, -185, -94, -185, -88, -178, -176,
|
1147
|
+
-182, -183, -185, -185, -179, -185, -45, -43, -91, -89,
|
1148
|
+
-184, -180, -75 ]
|
1135
1149
|
|
1136
1150
|
racc_goto_table = [
|
1137
|
-
141,
|
1138
|
-
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1149
|
-
70, nil, nil, nil, nil,
|
1150
|
-
|
1151
|
-
nil, nil, nil,
|
1152
|
-
nil, nil, nil, nil, nil,
|
1151
|
+
72, 143, 141, 42, 139, 110, 120, 76, 94, 69,
|
1152
|
+
97, 77, 14, 227, 160, 186, 225, 90, 83, 152,
|
1153
|
+
28, 98, 59, 197, 69, 69, 247, 248, 249, 65,
|
1154
|
+
69, 44, 70, 73, 86, 60, 250, 251, 206, 40,
|
1155
|
+
171, 90, 234, 235, 89, 177, 255, 70, 70, 69,
|
1156
|
+
180, 43, 62, 70, 99, 252, 253, 147, 162, 100,
|
1157
|
+
190, 213, 193, 194, 143, 141, 240, 212, 101, 185,
|
1158
|
+
93, 80, 70, 239, 238, 215, 101, 185, 237, 82,
|
1159
|
+
236, 199, 218, 41, 254, 266, 222, 103, 45, 69,
|
1160
|
+
52, 244, 45, 17, 217, 146, 227, 69, 225, 216,
|
1161
|
+
71, 219, 164, 82, 230, 231, 232, 233, 11, 107,
|
1162
|
+
241, 162, 70, 8, 76, 5, 52, 77, 52, nil,
|
1163
|
+
70, nil, nil, 85, nil, nil, 143, 141, nil, 52,
|
1164
|
+
nil, nil, nil, nil, nil, 245, 52, nil, 185, nil,
|
1165
|
+
104, nil, nil, nil, 52, nil, 85, nil, nil, nil,
|
1166
|
+
nil, nil, nil, nil, nil, 262, 263, nil, 69, nil,
|
1153
1167
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
1154
|
-
|
1155
|
-
|
1168
|
+
52, nil, nil, nil, nil, nil, 143, 141, nil, 268,
|
1169
|
+
nil, 70, nil, nil, nil, 272, nil, nil, nil, nil,
|
1170
|
+
nil, nil, nil, 245, nil, nil, nil, nil, nil, nil,
|
1156
1171
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
1157
|
-
nil, nil,
|
1158
|
-
|
1159
|
-
nil, nil, 220, nil, nil, 51, 51 ]
|
1172
|
+
nil, nil, 85, nil, nil, 52, nil, nil, nil, nil,
|
1173
|
+
221, nil, nil, 52, 52 ]
|
1160
1174
|
|
1161
1175
|
racc_goto_check = [
|
1162
|
-
|
1163
|
-
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
12, 62, 12,
|
1172
|
-
|
1173
|
-
|
1174
|
-
9, nil, nil, nil, nil,
|
1175
|
-
|
1176
|
-
nil, nil, nil, 12, nil, nil, nil, nil,
|
1177
|
-
nil, nil, nil, nil, nil,
|
1178
|
-
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
1179
|
-
12, nil, nil, nil, nil, nil, nil, 29, nil, 35,
|
1180
|
-
16, 9, nil, nil, 52, nil, 29, nil, nil, nil,
|
1176
|
+
52, 29, 16, 9, 35, 54, 15, 51, 50, 40,
|
1177
|
+
49, 53, 4, 65, 62, 17, 64, 46, 32, 15,
|
1178
|
+
30, 52, 31, 17, 40, 40, 18, 18, 18, 45,
|
1179
|
+
40, 44, 9, 9, 56, 44, 19, 19, 38, 30,
|
1180
|
+
14, 46, 22, 22, 45, 14, 36, 9, 9, 40,
|
1181
|
+
14, 41, 30, 9, 9, 20, 20, 56, 52, 34,
|
1182
|
+
14, 37, 14, 14, 29, 16, 27, 35, 31, 49,
|
1183
|
+
48, 4, 9, 26, 25, 15, 31, 49, 24, 30,
|
1184
|
+
23, 10, 15, 6, 17, 18, 15, 55, 12, 40,
|
1185
|
+
12, 62, 12, 5, 50, 4, 65, 40, 64, 58,
|
1186
|
+
59, 61, 31, 30, 21, 21, 21, 21, 3, 63,
|
1187
|
+
15, 52, 9, 2, 51, 1, 12, 53, 12, nil,
|
1188
|
+
9, nil, nil, 12, nil, nil, 29, 16, nil, 12,
|
1189
|
+
nil, nil, nil, nil, nil, 52, 12, nil, 49, nil,
|
1190
|
+
12, nil, nil, nil, 12, nil, 12, nil, nil, nil,
|
1191
|
+
nil, nil, nil, nil, nil, 54, 15, nil, 40, nil,
|
1181
1192
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
1193
|
+
12, nil, nil, nil, nil, nil, 29, 16, nil, 35,
|
1194
|
+
nil, 9, nil, nil, nil, 29, nil, nil, nil, nil,
|
1195
|
+
nil, nil, nil, 52, nil, nil, nil, nil, nil, nil,
|
1182
1196
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
1183
|
-
nil, nil, nil, nil, 12, nil, nil,
|
1184
|
-
|
1197
|
+
nil, nil, 12, nil, nil, 12, nil, nil, nil, nil,
|
1198
|
+
12, nil, nil, 12, 12 ]
|
1185
1199
|
|
1186
1200
|
racc_goto_pointer = [
|
1187
|
-
nil,
|
1188
|
-
-
|
1189
|
-
-
|
1190
|
-
|
1191
|
-
-
|
1192
|
-
-
|
1193
|
-
nil, -
|
1201
|
+
nil, 115, 113, 108, 12, 93, 63, nil, nil, -17,
|
1202
|
+
-57, nil, 62, nil, -72, -73, -79, -114, -161, -155,
|
1203
|
+
-140, -63, -131, -95, -98, -105, -108, -116, nil, -80,
|
1204
|
+
20, -6, -41, nil, -15, -77, -160, -83, -103, nil,
|
1205
|
+
-40, 28, nil, nil, 5, -20, -48, nil, 3, -60,
|
1206
|
+
-59, -47, -50, -45, -73, 9, -27, nil, -51, 50,
|
1207
|
+
nil, -56, -94, 31, -145, -149 ]
|
1194
1208
|
|
1195
1209
|
racc_goto_default = [
|
1196
1210
|
nil, nil, nil, nil, nil, nil, 19, 23, 26, 32,
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1211
|
+
145, 138, 114, 46, 118, 184, 125, nil, 128, 131,
|
1212
|
+
133, 136, 111, 113, 115, 116, 121, 124, 126, 127,
|
1213
|
+
108, 95, nil, 51, 53, nil, 140, nil, nil, 20,
|
1200
1214
|
24, 27, 31, 35, nil, nil, 66, 67, nil, 68,
|
1201
|
-
nil,
|
1202
|
-
|
1215
|
+
nil, 55, 56, 57, 226, nil, nil, 87, 88, nil,
|
1216
|
+
105, 106, nil, nil, 163, 165 ]
|
1203
1217
|
|
1204
1218
|
racc_token_table = {
|
1205
1219
|
false => 0,
|
@@ -1211,23 +1225,23 @@ racc_token_table = {
|
|
1211
1225
|
:UPLUS => 6,
|
1212
1226
|
:UMINUS => 7,
|
1213
1227
|
"!" => 8,
|
1214
|
-
"
|
1215
|
-
"
|
1216
|
-
"
|
1217
|
-
"
|
1218
|
-
"
|
1219
|
-
"
|
1220
|
-
"
|
1221
|
-
"
|
1222
|
-
"
|
1223
|
-
"
|
1224
|
-
"
|
1225
|
-
"
|
1226
|
-
"
|
1227
|
-
"
|
1228
|
-
|
1229
|
-
:
|
1230
|
-
:
|
1228
|
+
"~" => 9,
|
1229
|
+
"sizeof" => 10,
|
1230
|
+
"*" => 11,
|
1231
|
+
"/" => 12,
|
1232
|
+
"%" => 13,
|
1233
|
+
"+" => 14,
|
1234
|
+
"-" => 15,
|
1235
|
+
"<" => 16,
|
1236
|
+
"<=" => 17,
|
1237
|
+
">" => 18,
|
1238
|
+
">=" => 19,
|
1239
|
+
"==" => 20,
|
1240
|
+
"!=" => 21,
|
1241
|
+
"&&" => 22,
|
1242
|
+
"||" => 23,
|
1243
|
+
:POINTER => 24,
|
1244
|
+
:CONSTANT => 25,
|
1231
1245
|
:CHARACTER => 26,
|
1232
1246
|
:STRING => 27,
|
1233
1247
|
:TYPEDEF_NAME => 28,
|
@@ -1310,6 +1324,7 @@ Racc_token_to_s_table = [
|
|
1310
1324
|
'UPLUS',
|
1311
1325
|
'UMINUS',
|
1312
1326
|
'"!"',
|
1327
|
+
'"~"',
|
1313
1328
|
'"sizeof"',
|
1314
1329
|
'"*"',
|
1315
1330
|
'"/"',
|
@@ -1325,8 +1340,7 @@ Racc_token_to_s_table = [
|
|
1325
1340
|
'"&&"',
|
1326
1341
|
'"||"',
|
1327
1342
|
'POINTER',
|
1328
|
-
'
|
1329
|
-
'FLOAT',
|
1343
|
+
'CONSTANT',
|
1330
1344
|
'CHARACTER',
|
1331
1345
|
'STRING',
|
1332
1346
|
'TYPEDEF_NAME',
|
@@ -1557,16 +1571,21 @@ module_eval <<'.,.,', 'src/ctype.y', 89
|
|
1557
1571
|
|
1558
1572
|
# reduce 33 omitted
|
1559
1573
|
|
1560
|
-
|
1561
|
-
|
1562
|
-
module_eval <<'.,.,', 'src/ctype.y', 97
|
1563
|
-
def _reduce_35( val, _values, result )
|
1574
|
+
module_eval <<'.,.,', 'src/ctype.y', 96
|
1575
|
+
def _reduce_34( val, _values, result )
|
1564
1576
|
result = val[1]
|
1565
1577
|
result
|
1566
1578
|
end
|
1567
1579
|
.,.,
|
1568
1580
|
|
1569
|
-
# reduce
|
1581
|
+
# reduce 35 omitted
|
1582
|
+
|
1583
|
+
module_eval <<'.,.,', 'src/ctype.y', 101
|
1584
|
+
def _reduce_36( val, _values, result )
|
1585
|
+
result = val[0,2].join
|
1586
|
+
result
|
1587
|
+
end
|
1588
|
+
.,.,
|
1570
1589
|
|
1571
1590
|
module_eval <<'.,.,', 'src/ctype.y', 102
|
1572
1591
|
def _reduce_37( val, _values, result )
|