dbc 1.2.3 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,32 +13,33 @@ require 'dbc/parseerrorhandler'
13
13
  module Preprocessor
14
14
 
15
15
  class Parameters < Array
16
-
16
+ VA_ARGS = '__VA_ARGS__'.freeze
17
+ ELLIPSIS = '...'.freeze
18
+
17
19
  def initialize
18
20
  super
19
- @ellipses = false
21
+ @ellipses = nil
20
22
  end
21
23
 
22
- def with_ellipses()
23
- raise "already has ellipses #{self}" if ellipses?
24
- @ellipses = true
25
- self << '__VA_ARGS__'
26
- self.freeze
24
+ def with_ellipses(arg=nil)
25
+ raise "already has ellipses: #{self}" if ellipses?
26
+ if arg and arg != ELLIPSIS
27
+ self << arg
28
+ @ellipses = arg + ELLIPSIS # if arg is 'i' then 'i...'
29
+ else
30
+ self << VA_ARGS
31
+ @ellipses = ELLIPSIS
32
+ end
33
+ self
27
34
  end
28
35
 
29
36
  def ellipses?
30
37
  @ellipses
31
38
  end
32
39
 
33
- def get_args(tokens)
34
- args = Preprocessor::ArgumentParser.parse(tokens)
35
- args.each { |a| a.strip! } # remove leading, trailing white space
36
- self.arrange_args(args)
37
- end
38
-
39
40
  def to_s
40
41
  if ellipses?
41
- self[0, self.length - 1] << '...'
42
+ self[0, self.length - 1] << @ellipses
42
43
  else
43
44
  self
44
45
  end.join(',')
@@ -47,20 +48,25 @@ module Preprocessor
47
48
  def inspect
48
49
  "\#<#{self.class}:#{self.to_s}>"
49
50
  end
50
-
51
- protected
52
- def arrange_args(args)
53
- new_args = args[0,self.length]
54
- if self.ellipses?
55
- # could be an empty array
56
- new_args.push(args[self.length, args.length - self.length])
51
+
52
+ def arguments(tokens, t_sym)
53
+ args = Preprocessor::ArgumentParser.parse(tokens)
54
+ if args.length < self.length
55
+ expected = self.length
56
+ got = args.length
57
+ tokens.error("wrong number of arguments (#{got} for #{expected})") unless ellipses?
58
+ expected -= 1 # the variable argument list can be blank
59
+ tokens.error("wrong number of arguments (#{got} for #{expected}+)") \
60
+ unless got == expected
61
+ args[expected] = '' # last arg is blank
57
62
  elsif args.length > self.length
58
- raise "macro function takes no arguments" if self.length == 0
59
- # pack all the remaining arguments into one string
60
- new_args[self.length - 1] = \
61
- args[self.length - 1, args.length - self.length + 1].join(',')
63
+ #tokens.warning("extra arguments given for macro") unless self.ellipses?
64
+ args[self.length - 1] = args[self.length..-1].join(',')
65
+ end
66
+ args.collect do |a|
67
+ a.strip! # remove leading/trailing whitespace
68
+ [t_sym, a.freeze].freeze
62
69
  end
63
- new_args
64
70
  end
65
71
 
66
72
  end # Parameters
@@ -72,7 +78,7 @@ module Preprocessor
72
78
 
73
79
  class ArgumentParser < Racc::Parser
74
80
 
75
- module_eval <<'..end src/parameters.y modeval..id07a1dc2626', 'src/parameters.y', 144
81
+ module_eval <<'..end src/parameters.y modeval..id3684a7940b', 'src/parameters.y', 150
76
82
 
77
83
  def ArgumentParser.parse(tokens)
78
84
  self.new.parse(tokens)
@@ -105,7 +111,7 @@ protected
105
111
  end # case
106
112
  end
107
113
 
108
- ..end src/parameters.y modeval..id07a1dc2626
114
+ ..end src/parameters.y modeval..id3684a7940b
109
115
 
110
116
  ##### racc 1.4.4 generates ###
111
117
 
@@ -54,70 +54,34 @@ module Preprocessor
54
54
  def file
55
55
  @tokens.last.file
56
56
  end
57
+ def file=(val)
58
+ @tokens.last.file = val
59
+ end
57
60
 
58
61
  def line
59
62
  @tokens.last.line
60
63
  end
64
+ def line=(val)
65
+ @tokens.last.line = val
66
+ end
61
67
 
62
68
  def shift
63
69
  t = @tokens.last.shift
64
- while !t[0] and @tokens.length > 1
70
+ while !t.at(0) and @tokens.length > 1
65
71
  # we are done with the current file
66
72
  @tokens.pop
67
73
  t = @tokens.last.shift
68
74
  end # while
69
- case t[0]
70
- when :NEWLINE
71
- @start_line = true
72
- when :SPACE, :COMMENT, false
73
- # do nothing, keeping @start_line the same
74
- else
75
- @start_line = false
76
- end # case
75
+ t_sym = t.at(0)
76
+ unless t_sym == :SPACE or t_sym == :COMMENT
77
+ # spaces and comments don't effect @start_line
78
+ @start_line = (t_sym == :NEWLINE)
79
+ end
77
80
  t
78
81
  end
79
82
 
80
83
  end # Tokens
81
84
 
82
- # According to the C standard we must keep track of
83
- # which tokens have been resolved. Allowing each token
84
- # to be resolved at the most once for any given macro.
85
-
86
- # this is a pretty ugly mix in - but it prevents some code duplication at the moment.
87
- # uses @source, @macro_tokens, @resolving instance variables :(
88
- module Resolve
89
- def resolving?(t)
90
- @resolving.member?(t)
91
- end
92
-
93
- def args_given?
94
- if @macro_tokens.empty?
95
- @source
96
- else
97
- @macro_tokens
98
- end .match?(/\s*\(/)
99
- end
100
-
101
- def resolve(t)
102
- sym = t[1]
103
- if t[0] == :IDENTIFIER and macro = @defines[sym] and not resolving?(sym)
104
- # if no parameters are given don't expand
105
- unless macro.takes_args? and not args_given?
106
- if @macro_tokens.empty?
107
- # don't resolve macro function parameters on the first pass
108
- add_tokens(macro.value(@source))
109
- else
110
- add_tokens(macro.value(self))
111
- end
112
- @resolving[sym] = true
113
- t = self.shift
114
- @resolving.delete(sym)
115
- end
116
- end
117
- t
118
- end
119
- end # Resolve
120
-
121
85
  module FileMacro
122
86
  def FileMacro.takes_args?; false end
123
87
  def FileMacro.value(source); source.file.dup end
@@ -128,258 +92,186 @@ module Preprocessor
128
92
  def LineMacro.value(source); source.line.to_s end
129
93
  end
130
94
 
131
- class Parser < CTokenizer::LexerBase
132
-
133
- include CTokenizer
134
- include Resolve
135
-
136
- def initialize(search_path, search_path_limited, source, file=nil, line=1)
137
- if source.class <= String
138
- source = CTokenizer::Lexer.new(source, file, line)
139
- end
140
-
141
- @search_path = search_path
142
- @search_path_limited = search_path_limited
143
-
144
- @cond_comp = [true] # conditional compile is true at base
145
-
146
- @source = Tokens.new(source)
147
- @macro_tokens = CTokenizer::Lexer.new('', file, line)
148
- @defines = { '__FILE__' => FileMacro, '__LINE__' => LineMacro }
149
- @resolving = {}
150
-
151
- @parser = StatementParser.new(@defines)
152
- end
153
-
154
- def add_tokens(tokens)
155
- post_m = @macro_tokens.post_match
156
- tokens << post_m if post_m
157
- @macro_tokens = CTokenizer::Lexer.new(tokens, @source.file, @source.line)
158
- end
159
-
160
- def defined?(macro)
161
- @defines.include?(macro)
162
- end
163
-
164
- def define(macro, params=nil, tokens=nil)
165
- self.error("cannot use 'defined' as a macro name") if macro == 'defined'
166
- @defines[macro] = Define.new(params, tokens)
167
- end
168
-
169
- def undef(macro)
170
- @defines.delete(macro)
171
- end
172
-
173
- def base?
174
- @source.base?
175
- end
176
-
177
- def empty?
178
- @source.empty? and @macro_tokens.empty?
179
- end
180
-
181
- def shift
182
- if @macro_tokens.empty?
183
- t = nil
184
- loop do
185
- start_line = @source.start_line
186
- t = @source.shift
187
- if t[1] == '#'
188
- # raise token error, unless we are at the start of the line
189
- # or we are ignoring these tokens.
190
- self.token_error('#') unless start_line or not @cond_comp.last
191
- # replace t with whitespace
192
- t = self.parse_statement
193
- end
194
- # if @cond_comp.last is true then
195
- # we need to process the tokens
196
- break if @cond_comp.last or !t[0]
197
- end # loop
198
- else
199
- t = @macro_tokens.shift
200
- end # if
201
- resolve(t)
202
- end
203
-
204
- protected
205
- EMPTY_TOKEN = [:SPACE, ''.freeze].freeze
206
-
207
- def include_file(file_name)
208
- path = begin
209
- if file_name =~ /\A"(.*)"\Z/
210
- file_name = $1
211
- yield(file_name, @search_path)
212
- elsif file_name =~ /\A<(.*)>\Z/
213
- file_name = $1
214
- yield(file_name, @search_path_limited)
215
- else
216
- raise "impossible"
217
- end
218
- rescue ArgumentError
219
- self.error($!)
220
- end
221
- str = File.open(path) { |f| f.read }
222
- # could use *path* instead of *file_name* to give more info
223
- @source.add_source( CTokenizer::Lexer.new(str, file_name) )
224
- end
225
-
226
- # @macro_tokens is empty when we parse a statement
227
- def parse_statement
228
- start = self.line # save line number
229
- @in_statement = true
230
- if @cond_comp.last
231
- result = @parser.parse(@source)
232
- case result[0]
233
- when :OPEN
234
- @cond_comp.push(result[1])
235
- when :CONTINUE
236
- # conditional compilation: #if, #endif stuff
237
- # true: implies compile at current position
238
- # false: don't compile at the current position, but
239
- # do compile if you find a conditional that is true
240
- # nil: implies you don't compile at the current postion
241
- # or any subsequence position
242
- raise "impossible" unless @cond_comp.pop == true
243
- @cond_comp.push(nil)
244
- when :CLOSE
245
- @cond_comp.pop
246
- when :DEFINE
247
- self.define(result[1], result[2], result[3])
248
- when :UNDEF
249
- self.undef(result[1])
250
- when :INCLUDE
251
- # note: we don't keep track of recursive includes
252
- include_file(result[1]) do |f, search_path|
253
- search_path.find(f)
254
- end
255
- when :INCLUDE_NEXT
256
- include_file(result[1]) do |f, search_path|
257
- search_path.find_next(f)
258
- end
259
- when :PRAGMA
260
- # ignore
261
- when :ERROR
262
- warn("#{file + ':' if file}#{start}: \#error #{result[1]}")
263
- when :WARNING
264
- warn("#{file + ':' if file}#{start}: \#warning #{result[1]}")
265
- when :EMPTY
266
- # do nothing
267
- else
268
- self.error("unexpected preprocessor directive: #{result[0].to_s.downcase}")
269
- end # case
270
- else
271
- # we are ignoring these tokens
272
- result = @parser.parse_ignore(@source, @cond_comp.last == nil)
273
-
274
- case result[0]
275
- when :IGNORE_OPEN
276
- @cond_comp.push(nil)
277
- when :CONTINUE
278
- # @cond_comp.length >= 2 since the first element is
279
- # always true and we know the last is false or nil
280
- if @cond_comp[-2] # 2nd to last
281
- case @cond_comp.pop
282
- when nil
283
- # don't use rest, see :CONTINUE above
284
- @cond_comp.push(nil)
285
- when false
286
- # maybe use rest
287
- @cond_comp.push(result[1])
288
- else
289
- raise "impossible"
290
- end # case
291
- end # if
292
- when :CLOSE
293
- @cond_comp.pop
294
- end # case
295
-
296
- # eat rest of line unless token is a newline
297
- until result[0] == :NEWLINE or @source.empty?
298
- result = @source.shift
299
- end
300
-
301
- end #if
302
- @in_statement = false
303
- EMPTY_TOKEN
304
- end
305
- end # Parser
306
-
307
95
  end # Preprocessor
308
96
 
309
97
 
310
98
  module Preprocessor
311
99
 
312
- class StatementParser < Racc::Parser
100
+ class Parser < Racc::Parser
313
101
 
314
- module_eval <<'..end src/preprocessor.y modeval..id45a31204b9', 'src/preprocessor.y', 736
102
+ module_eval <<'..end src/preprocessor.y modeval..ida436b844ab', 'src/preprocessor.y', 564
315
103
 
316
- include Resolve
104
+ include CTokenizer
105
+ include Sourced
317
106
 
318
- def initialize(defines)
319
- @source = nil
320
- @macro_tokens = CTokenizer::CPLexer.new('')
107
+ def initialize(search_path, search_path_limited, source, file=nil, line=1)
108
+ if source.class <= String
109
+ source = CTokenizer::Lexer.new(source, file, line)
110
+ end
321
111
 
322
- @defines = defines
323
- @resolving = {}
112
+ @search_path = search_path
113
+ @search_path_limited = search_path_limited
324
114
 
325
- #@yydebug = true
115
+ @cond_comp = [true] # conditional compile is true at base
116
+
117
+ @source = Tokens.new(source)
118
+ @macro_tokens = CTokenizer::Lexer.new('', file, line)
119
+ @defines = { '__FILE__' => FileMacro, '__LINE__' => LineMacro }
120
+ @resolving = {}
326
121
  end
327
122
 
328
- def defined?(t)
329
- @defines.member?(t)
123
+ def defined?(macro)
124
+ @defines.include?(macro)
125
+ end
126
+
127
+ def define(macro, params=nil, tokens=nil)
128
+ self.error("cannot use 'defined' as a macro name") if macro == 'defined'
129
+ @defines[macro] = Define.new(params, tokens)
130
+ end
131
+
132
+ def undef(macro)
133
+ @defines.delete(macro)
134
+ end
135
+
136
+ def base?
137
+ @source.base?
330
138
  end
331
139
 
332
- def file
333
- @source.file
140
+ def empty?
141
+ @source.empty? and @macro_tokens.empty?
334
142
  end
335
143
 
336
- def line
337
- @source.line
144
+ def shift
145
+ if @macro_tokens.empty?
146
+ t = nil
147
+ loop do
148
+ start_line = @source.start_line
149
+ t = @source.shift
150
+ if t.at(1) == '#'
151
+ # raise token error, unless we are at the start of the line
152
+ # or we are ignoring these tokens.
153
+ self.token_error('#') unless start_line or not @cond_comp.last
154
+ # replace t with whitespace
155
+ t = self.parse_statement
156
+ end
157
+ # if @cond_comp.last is true then
158
+ # we need to process the tokens
159
+ break if @cond_comp.last or !t.at(0)
160
+ end # loop
161
+ else
162
+ t = @macro_tokens.shift
163
+ end # if
164
+ resolve(t)
165
+ end
166
+
167
+ protected
168
+ include ParseErrorHandler
169
+
170
+ def args_given?
171
+ if @macro_tokens.empty?
172
+ @source
173
+ else
174
+ @macro_tokens
175
+ end .match?(/\s*\(/)
338
176
  end
339
177
 
340
- def parse_ignore(tokens, ignore_all)
341
- @source = CTokenizer::CPLexer.new(tokens)
178
+ def add_tokens(tokens)
179
+ post_m = @macro_tokens.post_match
180
+ tokens << post_m if post_m
181
+ @macro_tokens = CTokenizer::Lexer.new(tokens, @source.file, @source.line)
182
+ end
183
+
184
+ def resolve(t)
185
+ if t.at(0) == :IDENTIFIER
186
+ t_str = t.at(1)
187
+ if macro = @defines[t_str] and not @resolving.member?(t_str)
188
+ # if no parameters are given don't expand
189
+ unless macro.takes_args? and not args_given?
190
+ if @macro_tokens.empty?
191
+ # don't resolve macro function parameters on the first pass
192
+ add_tokens(macro.value(@source))
193
+ else
194
+ add_tokens(macro.value(self))
195
+ end
196
+ @resolving[t_str] = true
197
+ # this is OK because resolved tokens cannot start a preprocessor directive
198
+ t = resolve( @macro_tokens.empty? ? @source.shift : @macro_tokens.shift )
199
+ @resolving.delete(t_str)
200
+ end
201
+ end
202
+ end
203
+ t
204
+ end
342
205
 
343
- if ignore_all
206
+ EMPTY_TOKEN = [:SPACE, ''.freeze].freeze
207
+
208
+ # @macro_tokens is empty when we parse a statement
209
+ def parse_statement
210
+ if @cond_comp.last == true
211
+ set_nonspace # start by ignoring space and comments
212
+ elsif @cond_comp.last == nil
213
+ # we are ignoring these tokens
344
214
  alias next_token next_ignore_all
345
215
  else
346
216
  alias next_token next_ignore
347
217
  end
348
-
349
218
  begin
350
219
  do_parse
351
220
  rescue ParseError
352
- tokens.error($!)
221
+ self.error($!)
353
222
  end
223
+ EMPTY_TOKEN
354
224
  end
355
225
 
356
- def parse(tokens)
357
- @source = CTokenizer::CPLexer.new(tokens)
358
-
359
- self.set_nonspace # start ignoring space tokens
360
- begin
361
- do_parse
362
- rescue ParseError
363
- tokens.error($!)
364
- end
226
+ def eat_rest_of_line
227
+ until @source.empty? or @source.shift.at(0) == :NEWLINE; end
365
228
  end
366
229
 
367
- protected
368
-
369
- include ParseErrorHandler
370
-
371
- def add_tokens(tokens)
372
- post_m = @macro_tokens.post_match
373
- tokens << post_m if post_m
374
- @macro_tokens = CTokenizer::CPLexer.new(tokens, @source.file, @source.line)
230
+ def handle_continue(val)
231
+ # @cond_comp.length >= 2 since the first element is
232
+ # always true and we know the last is false or nil
233
+ raise "impossible" if @cond_comp.last
234
+ if @cond_comp[-2] # 2nd to last
235
+ case @cond_comp.pop
236
+ when nil
237
+ # don't use rest, nil --> skip everything
238
+ @cond_comp.push(nil)
239
+ when false
240
+ # maybe use rest
241
+ @cond_comp.push(val)
242
+ else
243
+ raise "impossible"
244
+ end # case
245
+ end # if
375
246
  end
376
-
377
- def shift
378
- next_token
247
+
248
+ # note: we don't keep track of recursive includes
249
+ def include_file(file_name)
250
+ path = begin
251
+ if file_name =~ /\A"(.*)"\Z/
252
+ file_name = $1
253
+ yield(file_name, @search_path)
254
+ elsif file_name =~ /\A<(.*)>\Z/
255
+ file_name = $1
256
+ yield(file_name, @search_path_limited)
257
+ else
258
+ raise "impossible"
259
+ end
260
+ rescue ArgumentError
261
+ self.error($!)
262
+ end
263
+ ### HACK ### make sure the include file is followed by a newline
264
+ t = next_token
265
+ self.token_error(t[1]) unless t[0] == :NEWLINE or !t[0]
266
+
267
+ str = File.open(path) { |f| f.read }
268
+ # could use *path* instead of *file_name* to give more info
269
+ @source.add_source( CTokenizer::Lexer.new(str, file_name) )
379
270
  end
380
271
 
381
272
  def get_include_file
382
- f = if @macro_tokens.empty?
273
+ f = \
274
+ if @macro_tokens.empty?
383
275
  @source
384
276
  else
385
277
  @macro_tokens
@@ -388,8 +280,19 @@ protected
388
280
  "<#{f}"
389
281
  end
390
282
 
283
+ def convert_constant(str)
284
+ str = str.delete('UuLlFf')
285
+ str << ?0 if str !~ /[0-9]\Z/
286
+ eval(str)
287
+ end
288
+
289
+ def convert_character(str)
290
+ eval('?' << str[1...-1])
291
+ end
292
+
391
293
  IGNORE_TOKEN = [:IGNORE, nil].freeze
392
294
  IGNORE_ALL_TOKEN = [:IGNORE_ALL, nil].freeze
295
+
393
296
  # next_ignore and next_ignore_all are used to output the first token
394
297
  # and then set the token source to next_nonspace.
395
298
  def next_ignore
@@ -422,141 +325,142 @@ protected
422
325
  end
423
326
 
424
327
  def next_source
425
- @source.shift
328
+ t = @source.shift
329
+ CTokenizer::CP_RESERVED.fetch(t.at(1), t)
426
330
  end
427
331
 
428
332
  def next_resolve
429
- if @macro_tokens.empty?
430
- t = @source.shift
431
- else
432
- t = @macro_tokens.shift
433
- end
434
- resolve(t)
333
+ t = resolve( @macro_tokens.empty? ? @source.shift : @macro_tokens.shift )
334
+ CTokenizer::CP_RESERVED.fetch(t.at(1), t)
435
335
  end
436
336
 
437
337
  def next_nonspace
438
- t = @source.shift
439
- t_sym = t.at(0)
338
+ t = self.next_source; t_sym = t.at(0)
440
339
  while t_sym == :COMMENT or t_sym == :SPACE
441
- t = @source.shift
442
- t_sym = t.at(0)
340
+ t = self.next_source; t_sym = t.at(0)
443
341
  end
444
342
  t
445
343
  end
446
344
 
447
345
  def next_resolve_nonspace
448
- t = next_resolve; t_sym = t.at(0)
346
+ t = self.next_resolve; t_sym = t.at(0)
449
347
  while t_sym == :COMMENT or t_sym == :SPACE
450
- t = next_resolve; t_sym = t.at(0)
348
+ t = self.next_resolve; t_sym = t.at(0)
451
349
  end
452
350
  t
453
351
  end
454
352
 
455
- ..end src/preprocessor.y modeval..id45a31204b9
353
+ ..end src/preprocessor.y modeval..ida436b844ab
456
354
 
457
355
  ##### racc 1.4.4 generates ###
458
356
 
459
357
  racc_reduce_table = [
460
358
  0, 0, :racc_error,
461
- 2, 59, :_reduce_1,
462
- 1, 59, :_reduce_2,
463
- 1, 59, :_reduce_3,
464
- 1, 60, :_reduce_none,
465
- 1, 60, :_reduce_none,
359
+ 1, 59, :_reduce_1,
466
360
  1, 60, :_reduce_none,
467
361
  1, 60, :_reduce_none,
362
+ 2, 60, :_reduce_none,
363
+ 2, 60, :_reduce_none,
364
+ 2, 60, :_reduce_none,
468
365
  1, 60, :_reduce_none,
366
+ 2, 62, :_reduce_8,
469
367
  2, 62, :_reduce_9,
470
- 2, 62, :_reduce_10,
471
- 1, 68, :_reduce_none,
368
+ 2, 62, :_reduce_none,
369
+ 2, 62, :_reduce_none,
370
+ 1, 67, :_reduce_12,
371
+ 1, 67, :_reduce_none,
372
+ 1, 69, :_reduce_none,
373
+ 3, 69, :_reduce_15,
374
+ 2, 69, :_reduce_16,
375
+ 2, 69, :_reduce_17,
376
+ 2, 69, :_reduce_18,
377
+ 1, 68, :_reduce_19,
472
378
  1, 68, :_reduce_none,
473
379
  1, 68, :_reduce_none,
474
380
  1, 68, :_reduce_none,
475
- 1, 68, :_reduce_15,
476
- 1, 68, :_reduce_16,
477
- 1, 69, :_reduce_none,
478
- 1, 69, :_reduce_18,
479
- 1, 69, :_reduce_19,
480
- 1, 69, :_reduce_none,
481
- 1, 69, :_reduce_21,
482
- 1, 69, :_reduce_22,
483
- 1, 70, :_reduce_23,
484
- 1, 70, :_reduce_24,
485
- 1, 70, :_reduce_25,
486
- 1, 73, :_reduce_none,
487
- 1, 73, :_reduce_none,
488
- 1, 73, :_reduce_none,
489
- 1, 73, :_reduce_none,
490
- 1, 73, :_reduce_none,
491
- 1, 73, :_reduce_none,
492
- 1, 73, :_reduce_none,
493
- 1, 73, :_reduce_none,
494
- 1, 73, :_reduce_none,
495
- 1, 73, :_reduce_none,
496
- 1, 73, :_reduce_none,
497
- 1, 64, :_reduce_none,
498
- 1, 64, :_reduce_none,
499
- 1, 64, :_reduce_none,
500
- 1, 64, :_reduce_none,
501
- 1, 64, :_reduce_41,
502
- 1, 64, :_reduce_42,
503
- 2, 76, :_reduce_43,
504
- 2, 76, :_reduce_44,
505
- 2, 75, :_reduce_45,
506
- 2, 71, :_reduce_46,
507
- 1, 77, :_reduce_47,
508
- 1, 78, :_reduce_48,
509
- 1, 72, :_reduce_49,
510
- 1, 65, :_reduce_50,
511
- 2, 66, :_reduce_51,
512
- 1, 66, :_reduce_52,
513
- 1, 81, :_reduce_none,
514
- 1, 81, :_reduce_none,
515
- 1, 81, :_reduce_none,
516
- 1, 82, :_reduce_56,
517
- 1, 83, :_reduce_57,
518
- 1, 84, :_reduce_58,
519
- 1, 85, :_reduce_59,
520
- 2, 67, :_reduce_60,
521
- 1, 87, :_reduce_61,
522
- 1, 87, :_reduce_62,
523
- 1, 88, :_reduce_none,
524
- 1, 88, :_reduce_64,
525
- 2, 63, :_reduce_65,
526
- 3, 63, :_reduce_66,
527
- 1, 63, :_reduce_67,
528
- 2, 63, :_reduce_68,
529
- 2, 63, :_reduce_69,
530
- 2, 89, :_reduce_70,
531
- 2, 90, :_reduce_71,
532
- 3, 90, :_reduce_72,
533
- 1, 92, :_reduce_73,
534
- 1, 93, :_reduce_74,
535
- 1, 94, :_reduce_75,
536
- 1, 94, :_reduce_none,
537
- 3, 94, :_reduce_77,
538
- 1, 95, :_reduce_78,
539
- 3, 95, :_reduce_79,
381
+ 1, 70, :_reduce_none,
382
+ 2, 70, :_reduce_24,
383
+ 1, 71, :_reduce_none,
384
+ 1, 71, :_reduce_none,
385
+ 1, 71, :_reduce_none,
386
+ 1, 72, :_reduce_none,
387
+ 1, 72, :_reduce_none,
388
+ 1, 72, :_reduce_none,
389
+ 1, 72, :_reduce_none,
390
+ 1, 72, :_reduce_none,
391
+ 1, 72, :_reduce_none,
392
+ 1, 72, :_reduce_none,
393
+ 1, 72, :_reduce_none,
394
+ 1, 72, :_reduce_none,
395
+ 1, 72, :_reduce_none,
396
+ 1, 72, :_reduce_none,
397
+ 2, 65, :_reduce_39,
398
+ 2, 65, :_reduce_40,
399
+ 2, 65, :_reduce_41,
400
+ 1, 65, :_reduce_42,
401
+ 1, 65, :_reduce_43,
402
+ 1, 65, :_reduce_44,
403
+ 2, 78, :_reduce_none,
404
+ 1, 78, :_reduce_none,
405
+ 1, 78, :_reduce_none,
406
+ 1, 77, :_reduce_48,
407
+ 1, 73, :_reduce_49,
408
+ 1, 63, :_reduce_none,
409
+ 2, 63, :_reduce_none,
410
+ 1, 63, :_reduce_52,
411
+ 2, 63, :_reduce_53,
412
+ 1, 63, :_reduce_54,
413
+ 2, 63, :_reduce_55,
414
+ 2, 63, :_reduce_56,
415
+ 3, 63, :_reduce_57,
416
+ 1, 80, :_reduce_58,
417
+ 1, 79, :_reduce_59,
418
+ 1, 81, :_reduce_60,
419
+ 1, 82, :_reduce_61,
420
+ 1, 83, :_reduce_62,
421
+ 2, 66, :_reduce_63,
422
+ 2, 66, :_reduce_64,
423
+ 1, 85, :_reduce_65,
424
+ 1, 87, :_reduce_66,
425
+ 1, 86, :_reduce_none,
426
+ 1, 86, :_reduce_68,
427
+ 2, 64, :_reduce_69,
428
+ 3, 64, :_reduce_70,
429
+ 1, 64, :_reduce_71,
430
+ 2, 64, :_reduce_72,
431
+ 2, 64, :_reduce_73,
432
+ 2, 88, :_reduce_74,
433
+ 2, 89, :_reduce_75,
434
+ 3, 89, :_reduce_76,
435
+ 1, 91, :_reduce_77,
436
+ 1, 92, :_reduce_78,
437
+ 1, 93, :_reduce_79,
438
+ 1, 93, :_reduce_none,
439
+ 3, 93, :_reduce_81,
440
+ 1, 94, :_reduce_82,
441
+ 2, 94, :_reduce_83,
442
+ 1, 95, :_reduce_84,
443
+ 3, 95, :_reduce_85,
540
444
  1, 61, :_reduce_none,
541
- 1, 79, :_reduce_none,
542
- 1, 79, :_reduce_none,
543
- 1, 86, :_reduce_83,
544
- 2, 86, :_reduce_84,
545
- 1, 91, :_reduce_85,
546
- 2, 91, :_reduce_86,
445
+ 1, 76, :_reduce_none,
446
+ 1, 76, :_reduce_none,
447
+ 1, 84, :_reduce_89,
448
+ 2, 84, :_reduce_90,
449
+ 1, 90, :_reduce_91,
450
+ 2, 90, :_reduce_92,
547
451
  1, 98, :_reduce_none,
548
452
  1, 98, :_reduce_none,
549
453
  1, 98, :_reduce_none,
550
454
  1, 98, :_reduce_none,
551
- 1, 74, :_reduce_none,
552
- 1, 74, :_reduce_none,
553
- 1, 74, :_reduce_none,
554
- 1, 74, :_reduce_none,
555
- 1, 74, :_reduce_none,
556
- 1, 74, :_reduce_none,
557
- 1, 74, :_reduce_none,
558
- 1, 97, :_reduce_98,
559
- 1, 97, :_reduce_99,
455
+ 1, 75, :_reduce_none,
456
+ 1, 75, :_reduce_none,
457
+ 1, 75, :_reduce_none,
458
+ 1, 75, :_reduce_none,
459
+ 1, 75, :_reduce_none,
460
+ 1, 75, :_reduce_none,
461
+ 1, 75, :_reduce_none,
462
+ 1, 97, :_reduce_104,
463
+ 1, 97, :_reduce_105,
560
464
  1, 99, :_reduce_none,
561
465
  1, 96, :_reduce_none,
562
466
  1, 96, :_reduce_none,
@@ -599,544 +503,544 @@ racc_reduce_table = [
599
503
  1, 100, :_reduce_none,
600
504
  1, 100, :_reduce_none,
601
505
  1, 100, :_reduce_none,
602
- 1, 101, :_reduce_142,
506
+ 1, 101, :_reduce_148,
603
507
  1, 102, :_reduce_none,
604
508
  1, 102, :_reduce_none,
605
- 3, 102, :_reduce_145,
606
- 1, 103, :_reduce_146,
607
- 1, 103, :_reduce_147,
608
- 2, 103, :_reduce_148,
609
- 1, 103, :_reduce_149,
610
- 3, 103, :_reduce_150,
509
+ 3, 102, :_reduce_151,
510
+ 1, 103, :_reduce_152,
511
+ 1, 103, :_reduce_153,
512
+ 2, 103, :_reduce_154,
513
+ 1, 103, :_reduce_155,
514
+ 3, 103, :_reduce_156,
611
515
  1, 104, :_reduce_none,
612
- 2, 104, :_reduce_152,
613
- 2, 104, :_reduce_153,
614
- 2, 104, :_reduce_154,
615
- 2, 104, :_reduce_155,
516
+ 2, 104, :_reduce_158,
517
+ 2, 104, :_reduce_159,
518
+ 2, 104, :_reduce_160,
519
+ 2, 104, :_reduce_161,
616
520
  1, 105, :_reduce_none,
617
521
  1, 106, :_reduce_none,
618
- 3, 106, :_reduce_158,
619
- 3, 106, :_reduce_159,
620
- 3, 106, :_reduce_160,
522
+ 3, 106, :_reduce_164,
523
+ 3, 106, :_reduce_165,
524
+ 3, 106, :_reduce_166,
621
525
  1, 107, :_reduce_none,
622
- 3, 107, :_reduce_162,
623
- 3, 107, :_reduce_163,
526
+ 3, 107, :_reduce_168,
527
+ 3, 107, :_reduce_169,
624
528
  1, 108, :_reduce_none,
625
- 3, 108, :_reduce_165,
626
- 3, 108, :_reduce_166,
529
+ 3, 108, :_reduce_171,
530
+ 3, 108, :_reduce_172,
627
531
  1, 109, :_reduce_none,
628
- 3, 109, :_reduce_168,
629
- 3, 109, :_reduce_169,
630
- 3, 109, :_reduce_170,
631
- 3, 109, :_reduce_171,
532
+ 3, 109, :_reduce_174,
533
+ 3, 109, :_reduce_175,
534
+ 3, 109, :_reduce_176,
535
+ 3, 109, :_reduce_177,
632
536
  1, 110, :_reduce_none,
633
- 3, 110, :_reduce_173,
634
- 3, 110, :_reduce_174,
537
+ 3, 110, :_reduce_179,
538
+ 3, 110, :_reduce_180,
635
539
  1, 111, :_reduce_none,
636
- 3, 111, :_reduce_176,
540
+ 3, 111, :_reduce_182,
637
541
  1, 112, :_reduce_none,
638
- 3, 112, :_reduce_178,
542
+ 3, 112, :_reduce_184,
639
543
  1, 113, :_reduce_none,
640
- 3, 113, :_reduce_180,
544
+ 3, 113, :_reduce_186,
641
545
  1, 114, :_reduce_none,
642
- 3, 114, :_reduce_182,
546
+ 3, 114, :_reduce_188,
643
547
  1, 115, :_reduce_none,
644
- 3, 115, :_reduce_184,
548
+ 3, 115, :_reduce_190,
645
549
  1, 116, :_reduce_none,
646
- 5, 116, :_reduce_186,
647
- 1, 80, :_reduce_none ]
550
+ 5, 116, :_reduce_192,
551
+ 1, 74, :_reduce_none ]
648
552
 
649
- racc_reduce_n = 188
553
+ racc_reduce_n = 194
650
554
 
651
- racc_shift_n = 233
555
+ racc_shift_n = 247
652
556
 
653
557
  racc_action_table = [
654
- 168, 174, 213, 113, 117, 125, 131, 136, 139, 89,
655
- 95, 101, 105, 108, 112, 118, 123, 130, 135, 138,
656
- 88, 94, 100, 106, 109, 114, 49, 228, 83, 84,
657
- 140, 91, 165, 173, 43, 45, 47, 48, 50, 51,
658
- 53, 54, 38, 39, 40, 42, 44, 46, 119, 124,
659
- 129, 134, 141, 90, 93, 99, 168, 183, 184, 113,
660
- 117, 125, 131, 136, 139, 89, 95, 101, 105, 108,
661
- 112, 118, 123, 130, 135, 138, 88, 94, 100, 106,
662
- 109, 114, 49, 171, 83, 84, 140, 91, 183, 184,
663
- 43, 45, 47, 48, 50, 51, 53, 54, 38, 39,
664
- 40, 42, 44, 46, 119, 124, 129, 134, 141, 90,
665
- 93, 99, 168, 183, 184, 113, 117, 125, 131, 136,
666
- 139, 89, 95, 101, 105, 108, 112, 118, 123, 130,
667
- 135, 138, 88, 94, 100, 106, 109, 114, 49, 229,
668
- 83, 84, 140, 91, 161, 162, 43, 45, 47, 48,
669
- 50, 51, 53, 54, 38, 39, 40, 42, 44, 46,
670
- 119, 124, 129, 134, 141, 90, 93, 99, 168, 183,
671
- 184, 113, 117, 125, 131, 136, 139, 89, 95, 101,
672
- 105, 108, 112, 118, 123, 130, 135, 138, 88, 94,
673
- 100, 106, 109, 114, 49, 172, 83, 84, 140, 91,
674
- 182, 181, 43, 45, 47, 48, 50, 51, 53, 54,
675
- 38, 39, 40, 42, 44, 46, 119, 124, 129, 134,
676
- 141, 90, 93, 99, 103, 182, 181, 113, 117, 125,
677
- 131, 136, 139, 89, 95, 101, 105, 108, 112, 118,
678
- 123, 130, 135, 138, 88, 94, 100, 106, 109, 114,
679
- 120, 148, 182, 181, 140, 91, 183, 184, 144, 146,
680
- 115, 121, 126, 132, 137, 142, 92, 98, 102, 107,
681
- 110, 16, 119, 124, 129, 134, 141, 90, 93, 99,
682
- 103, 83, 84, 113, 117, 125, 131, 136, 139, 89,
683
- 95, 101, 105, 108, 112, 118, 123, 130, 135, 138,
684
- 88, 94, 100, 106, 109, 114, 120, 127, 161, 162,
685
- 140, 91, 164, 227, 11, 14, 115, 121, 126, 132,
686
- 137, 142, 92, 98, 102, 107, 110, 16, 119, 124,
687
- 129, 134, 141, 90, 93, 99, 61, 83, 84, 70,
688
- 73, 159, 153, 24, 79, 56, 185, 186, 187, 188,
689
- 185, 186, 187, 188, 160, 164, 165, 82, 171, 63,
690
- 67, 172, 49, 185, 186, 187, 188, 178, 179, 180,
691
- 43, 45, 47, 48, 50, 51, 53, 54, 38, 39,
692
- 40, 42, 44, 46, 74, 61, 203, 200, 70, 73,
693
- 178, 179, 180, 79, 56, 178, 179, 180, nil, nil,
694
- nil, nil, nil, nil, nil, nil, nil, nil, 63, 67,
695
- nil, 49, nil, nil, nil, nil, nil, nil, nil, 43,
696
- 45, 47, 48, 50, 51, 53, 54, 38, 39, 40,
697
- 42, 44, 46, 74, 61, nil, nil, 70, 73, nil,
698
- nil, nil, 79, 56, nil, nil, nil, nil, nil, nil,
699
- nil, nil, nil, nil, nil, nil, nil, 63, 67, 168,
700
- 49, nil, nil, nil, nil, nil, nil, nil, 43, 45,
701
- 47, 48, 50, 51, 53, 54, 38, 39, 40, 42,
702
- 44, 46, 74, nil, nil, 49, nil, nil, nil, nil,
703
- nil, nil, nil, 43, 45, 47, 48, 50, 51, 53,
704
- 54, 38, 39, 40, 42, 44, 46, 170, 61, nil,
705
- nil, 70, 73, nil, nil, nil, 79, 56, nil, nil,
706
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
707
- nil, 63, 67, nil, 49, nil, nil, nil, nil, nil,
708
- nil, nil, 43, 45, 47, 48, 50, 51, 53, 54,
709
- 38, 39, 40, 42, 44, 46, 74, 61, nil, nil,
710
- 70, 73, nil, nil, nil, 79, 56, nil, nil, nil,
558
+ 101, 193, 24, 112, 116, 125, 130, 134, 138, 87,
559
+ 93, 99, 102, 107, 111, 117, 123, 129, 133, 137,
560
+ 86, 92, 98, 103, 108, 113, 119, 24, 57, 58,
561
+ 139, 89, 155, 192, 105, 110, 19, 120, 126, 131,
562
+ 135, 141, 90, 95, 100, 104, 109, 114, 118, 124,
563
+ 128, 132, 140, 88, 91, 97, 167, 202, 203, 112,
564
+ 116, 125, 130, 134, 138, 87, 93, 99, 102, 107,
565
+ 111, 117, 123, 129, 133, 137, 86, 92, 98, 103,
566
+ 108, 113, 46, 177, 57, 58, 139, 89, 202, 203,
567
+ 40, 42, 44, 45, 47, 48, 50, 51, 36, 37,
568
+ 38, 39, 41, 43, 118, 124, 128, 132, 140, 88,
569
+ 91, 97, 167, 202, 203, 112, 116, 125, 130, 134,
570
+ 138, 87, 93, 99, 102, 107, 111, 117, 123, 129,
571
+ 133, 137, 86, 92, 98, 103, 108, 113, 46, 191,
572
+ 57, 58, 139, 89, 202, 203, 40, 42, 44, 45,
573
+ 47, 48, 50, 51, 36, 37, 38, 39, 41, 43,
574
+ 118, 124, 128, 132, 140, 88, 91, 97, 167, 202,
575
+ 203, 112, 116, 125, 130, 134, 138, 87, 93, 99,
576
+ 102, 107, 111, 117, 123, 129, 133, 137, 86, 92,
577
+ 98, 103, 108, 113, 46, 215, 57, 58, 139, 89,
578
+ 201, 200, 40, 42, 44, 45, 47, 48, 50, 51,
579
+ 36, 37, 38, 39, 41, 43, 118, 124, 128, 132,
580
+ 140, 88, 91, 97, 167, 201, 200, 112, 116, 125,
581
+ 130, 134, 138, 87, 93, 99, 102, 107, 111, 117,
582
+ 123, 129, 133, 137, 86, 92, 98, 103, 108, 113,
583
+ 46, 24, 57, 58, 139, 89, 201, 200, 40, 42,
584
+ 44, 45, 47, 48, 50, 51, 36, 37, 38, 39,
585
+ 41, 43, 118, 124, 128, 132, 140, 88, 91, 97,
586
+ 101, 181, 182, 112, 116, 125, 130, 134, 138, 87,
587
+ 93, 99, 102, 107, 111, 117, 123, 129, 133, 137,
588
+ 86, 92, 98, 103, 108, 113, 119, 24, 57, 58,
589
+ 139, 89, 181, 182, 145, 146, 148, 120, 126, 131,
590
+ 135, 141, 90, 95, 100, 104, 109, 114, 118, 124,
591
+ 128, 132, 140, 88, 91, 97, 65, 57, 58, 73,
592
+ 76, 159, 159, 214, 83, 61, 204, 205, 206, 207,
593
+ 204, 205, 206, 207, 160, 160, 153, 55, 24, 67,
594
+ 70, 218, 46, 204, 205, 206, 207, 197, 198, 199,
595
+ 40, 42, 44, 45, 47, 48, 50, 51, 36, 37,
596
+ 38, 39, 41, 43, 77, 65, 57, 58, 73, 76,
597
+ 197, 198, 199, 83, 61, 197, 198, 199, 184, 244,
598
+ 185, 190, 245, 191, 24, 219, 190, 229, 67, 70,
599
+ 24, 46, 24, 185, 24, 219, 184, nil, nil, 40,
600
+ 42, 44, 45, 47, 48, 50, 51, 36, 37, 38,
601
+ 39, 41, 43, 77, 65, nil, nil, 73, 76, nil,
602
+ nil, nil, 83, 61, nil, nil, nil, nil, nil, nil,
603
+ nil, nil, nil, nil, nil, nil, nil, 67, 70, nil,
604
+ 46, nil, nil, nil, nil, nil, nil, nil, 40, 42,
605
+ 44, 45, 47, 48, 50, 51, 36, 37, 38, 39,
606
+ 41, 43, 77, 65, nil, nil, 73, 76, nil, nil,
607
+ nil, 83, 61, nil, nil, nil, nil, nil, nil, nil,
608
+ nil, nil, nil, nil, nil, nil, 67, 70, nil, 46,
609
+ nil, nil, nil, nil, nil, nil, nil, 40, 42, 44,
610
+ 45, 47, 48, 50, 51, 36, 37, 38, 39, 41,
611
+ 43, 77, 65, nil, nil, 73, 76, nil, nil, nil,
612
+ 83, 61, nil, nil, nil, nil, nil, nil, nil, nil,
613
+ nil, nil, nil, nil, nil, 67, 70, nil, 46, nil,
614
+ nil, nil, nil, nil, nil, nil, 40, 42, 44, 45,
615
+ 47, 48, 50, 51, 36, 37, 38, 39, 41, 43,
616
+ 77, 65, nil, nil, 73, 76, nil, nil, nil, 83,
617
+ 61, nil, nil, nil, nil, nil, nil, nil, nil, nil,
618
+ nil, nil, nil, nil, 67, 70, nil, 46, nil, nil,
619
+ nil, nil, nil, nil, nil, 40, 42, 44, 45, 47,
620
+ 48, 50, 51, 36, 37, 38, 39, 41, 43, 77,
621
+ 65, nil, nil, 73, 76, nil, nil, nil, 83, 61,
711
622
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
712
- 63, 67, nil, 49, nil, nil, nil, nil, nil, nil,
713
- nil, 43, 45, 47, 48, 50, 51, 53, 54, 38,
714
- 39, 40, 42, 44, 46, 74, 61, nil, nil, 70,
715
- 73, nil, nil, nil, 79, 56, nil, nil, nil, nil,
716
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 63,
717
- 67, nil, 49, nil, nil, nil, nil, nil, nil, nil,
718
- 43, 45, 47, 48, 50, 51, 53, 54, 38, 39,
719
- 40, 42, 44, 46, 74, 61, nil, nil, 70, 73,
720
- nil, nil, nil, 79, 56, nil, nil, nil, nil, nil,
721
- nil, nil, nil, nil, nil, nil, nil, nil, 63, 67,
722
- nil, 49, nil, nil, nil, nil, nil, nil, nil, 43,
723
- 45, 47, 48, 50, 51, 53, 54, 38, 39, 40,
724
- 42, 44, 46, 74, 61, nil, nil, 70, 73, nil,
725
- nil, nil, 79, 56, nil, nil, nil, nil, nil, nil,
726
- nil, nil, nil, nil, nil, nil, nil, 63, 67, nil,
727
- 49, 61, nil, nil, nil, nil, nil, nil, 43, 45,
728
- 47, 48, 50, 51, 53, 54, 38, 39, 40, 42,
729
- 44, 46, 74, nil, 63, 67, nil, 49, nil, nil,
730
- nil, nil, nil, nil, nil, 43, 45, 47, 48, 50,
731
- 51, 53, 54, 38, 39, 40, 42, 44, 46, 74,
732
- 61, nil, nil, 70, 73, nil, nil, nil, 79, 56,
623
+ nil, nil, nil, 67, 70, nil, 46, nil, nil, nil,
624
+ nil, nil, nil, nil, 40, 42, 44, 45, 47, 48,
625
+ 50, 51, 36, 37, 38, 39, 41, 43, 77, 65,
626
+ nil, nil, 73, 76, nil, nil, nil, 83, 61, nil,
733
627
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
734
- nil, nil, nil, 63, 67, nil, 49, nil, nil, nil,
735
- nil, nil, nil, nil, 43, 45, 47, 48, 50, 51,
736
- 53, 54, 38, 39, 40, 42, 44, 46, 74, 61,
737
- nil, nil, 70, 73, nil, nil, nil, 79, 56, nil,
628
+ nil, nil, 67, 70, nil, 46, nil, nil, nil, nil,
629
+ nil, nil, nil, 40, 42, 44, 45, 47, 48, 50,
630
+ 51, 36, 37, 38, 39, 41, 43, 77, 65, nil,
631
+ nil, 73, 76, nil, nil, nil, 83, 61, nil, nil,
738
632
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
739
- nil, nil, 63, 67, 168, 49, nil, nil, nil, nil,
740
- nil, nil, nil, 43, 45, 47, 48, 50, 51, 53,
741
- 54, 38, 39, 40, 42, 44, 46, 74, nil, nil,
742
- 49, nil, nil, nil, nil, nil, nil, nil, 43, 45,
743
- 47, 48, 50, 51, 53, 54, 38, 39, 40, 42,
744
- 44, 46, 170, 61, nil, nil, 70, 73, nil, nil,
745
- nil, 79, 56, nil, nil, nil, nil, nil, nil, nil,
746
- nil, nil, nil, nil, nil, nil, 63, 67, nil, 49,
747
- nil, nil, nil, nil, nil, nil, nil, 43, 45, 47,
748
- 48, 50, 51, 53, 54, 38, 39, 40, 42, 44,
749
- 46, 74, 61, nil, nil, 70, 73, nil, nil, nil,
750
- 79, 56, nil, nil, nil, nil, nil, nil, nil, nil,
751
- nil, nil, nil, nil, nil, 63, 67, nil, 49, nil,
752
- nil, nil, nil, nil, nil, nil, 43, 45, 47, 48,
753
- 50, 51, 53, 54, 38, 39, 40, 42, 44, 46,
754
- 74, 61, nil, nil, 70, 73, nil, nil, nil, 79,
755
- 56, nil, nil, nil, nil, nil, nil, nil, nil, nil,
756
- nil, nil, nil, nil, 63, 67, nil, 49, nil, nil,
757
- nil, nil, nil, nil, nil, 43, 45, 47, 48, 50,
758
- 51, 53, 54, 38, 39, 40, 42, 44, 46, 74,
759
- 61, nil, nil, 70, 73, nil, nil, nil, 79, 56,
633
+ nil, 67, 70, nil, 46, nil, nil, nil, nil, nil,
634
+ nil, nil, 40, 42, 44, 45, 47, 48, 50, 51,
635
+ 36, 37, 38, 39, 41, 43, 77, 65, nil, nil,
636
+ 73, 76, nil, nil, nil, 83, 61, nil, nil, nil,
760
637
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
761
- nil, nil, nil, 63, 67, nil, 49, 61, nil, nil,
762
- nil, nil, nil, nil, 43, 45, 47, 48, 50, 51,
763
- 53, 54, 38, 39, 40, 42, 44, 46, 74, nil,
764
- 63, 67, nil, 49, nil, nil, nil, nil, nil, nil,
765
- nil, 43, 45, 47, 48, 50, 51, 53, 54, 38,
766
- 39, 40, 42, 44, 46, 74, 61, nil, nil, 70,
767
- 73, nil, nil, nil, 79, 56, nil, nil, nil, nil,
768
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 63,
769
- 67, nil, 49, nil, nil, nil, nil, nil, nil, nil,
770
- 43, 45, 47, 48, 50, 51, 53, 54, 38, 39,
771
- 40, 42, 44, 46, 74, 61, nil, nil, 70, 73,
772
- nil, nil, nil, 79, 56, nil, nil, nil, nil, nil,
773
- nil, nil, nil, nil, nil, nil, nil, nil, 63, 67,
774
- nil, 49, nil, nil, nil, nil, nil, nil, nil, 43,
775
- 45, 47, 48, 50, 51, 53, 54, 38, 39, 40,
776
- 42, 44, 46, 74, 61, nil, nil, 70, 73, nil,
777
- nil, nil, 79, 56, nil, nil, nil, nil, nil, nil,
778
- nil, nil, nil, nil, nil, nil, nil, 63, 67, nil,
779
- 49, nil, nil, nil, nil, nil, nil, nil, 43, 45,
780
- 47, 48, 50, 51, 53, 54, 38, 39, 40, 42,
781
- 44, 46, 74, 61, nil, nil, 70, 73, nil, nil,
782
- nil, 79, 56, nil, nil, nil, nil, nil, nil, nil,
783
- nil, nil, nil, nil, nil, nil, 63, 67, nil, 49,
784
- nil, nil, nil, nil, nil, nil, nil, 43, 45, 47,
785
- 48, 50, 51, 53, 54, 38, 39, 40, 42, 44,
786
- 46, 74, 61, nil, nil, 70, 73, nil, nil, nil,
787
- 79, 56, nil, nil, nil, nil, nil, nil, nil, nil,
788
- nil, nil, nil, nil, nil, 63, 67, nil, 49, 61,
789
- nil, nil, nil, nil, nil, nil, 43, 45, 47, 48,
790
- 50, 51, 53, 54, 38, 39, 40, 42, 44, 46,
791
- 74, nil, 63, 67, nil, 49, nil, nil, nil, nil,
792
- nil, nil, nil, 43, 45, 47, 48, 50, 51, 53,
793
- 54, 38, 39, 40, 42, 44, 46, 74, 61, nil,
794
- nil, 70, 73, nil, nil, nil, 79, 56, nil, nil,
638
+ 67, 70, nil, 46, nil, nil, nil, nil, nil, nil,
639
+ nil, 40, 42, 44, 45, 47, 48, 50, 51, 36,
640
+ 37, 38, 39, 41, 43, 77, 65, nil, nil, 73,
641
+ 76, nil, nil, nil, 83, 61, nil, nil, nil, nil,
642
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 67,
643
+ 70, nil, 46, nil, nil, nil, nil, nil, nil, nil,
644
+ 40, 42, 44, 45, 47, 48, 50, 51, 36, 37,
645
+ 38, 39, 41, 43, 77, 65, nil, nil, 73, 76,
646
+ nil, nil, nil, 83, 61, nil, nil, nil, nil, nil,
647
+ nil, nil, nil, nil, nil, nil, nil, nil, 67, 70,
648
+ nil, 46, nil, nil, nil, nil, nil, nil, nil, 40,
649
+ 42, 44, 45, 47, 48, 50, 51, 36, 37, 38,
650
+ 39, 41, 43, 77, 65, nil, nil, 73, 76, nil,
651
+ nil, nil, 83, 61, nil, nil, nil, nil, nil, nil,
652
+ nil, nil, nil, nil, nil, nil, nil, 67, 70, nil,
653
+ 46, nil, nil, nil, nil, nil, nil, nil, 40, 42,
654
+ 44, 45, 47, 48, 50, 51, 36, 37, 38, 39,
655
+ 41, 43, 77, 65, nil, nil, 73, 76, nil, nil,
656
+ nil, 83, 61, nil, nil, nil, nil, nil, nil, nil,
657
+ nil, nil, nil, nil, nil, nil, 67, 70, nil, 46,
658
+ nil, nil, nil, nil, nil, nil, nil, 40, 42, 44,
659
+ 45, 47, 48, 50, 51, 36, 37, 38, 39, 41,
660
+ 43, 77, 65, nil, nil, 73, 76, nil, nil, nil,
661
+ 83, 61, nil, nil, nil, nil, nil, nil, nil, nil,
662
+ nil, nil, nil, nil, nil, 67, 70, 167, 46, nil,
663
+ nil, nil, nil, nil, nil, nil, 40, 42, 44, 45,
664
+ 47, 48, 50, 51, 36, 37, 38, 39, 41, 43,
665
+ 77, nil, nil, 46, nil, nil, nil, nil, nil, nil,
666
+ nil, 40, 42, 44, 45, 47, 48, 50, 51, 36,
667
+ 37, 38, 39, 41, 43, 188, 65, nil, nil, 73,
668
+ 76, nil, nil, nil, 83, 61, nil, nil, nil, nil,
669
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 67,
670
+ 70, nil, 46, nil, nil, nil, nil, nil, nil, nil,
671
+ 40, 42, 44, 45, 47, 48, 50, 51, 36, 37,
672
+ 38, 39, 41, 43, 77, 65, nil, nil, 73, 76,
673
+ nil, nil, nil, 83, 61, nil, nil, nil, nil, nil,
674
+ nil, nil, nil, nil, nil, nil, nil, nil, 67, 70,
675
+ nil, 46, 65, nil, nil, nil, nil, nil, nil, 40,
676
+ 42, 44, 45, 47, 48, 50, 51, 36, 37, 38,
677
+ 39, 41, 43, 77, nil, 67, 70, nil, 46, nil,
678
+ nil, nil, nil, nil, nil, nil, 40, 42, 44, 45,
679
+ 47, 48, 50, 51, 36, 37, 38, 39, 41, 43,
680
+ 77, 65, nil, nil, 73, 76, nil, nil, nil, 83,
681
+ 61, nil, nil, nil, nil, nil, nil, nil, nil, nil,
682
+ nil, nil, nil, nil, 67, 70, nil, 46, nil, nil,
683
+ nil, nil, nil, nil, nil, 40, 42, 44, 45, 47,
684
+ 48, 50, 51, 36, 37, 38, 39, 41, 43, 77,
685
+ 65, nil, nil, 73, 76, nil, nil, nil, 83, 61,
795
686
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
796
- nil, 63, 67, nil, 49, nil, nil, nil, nil, nil,
797
- nil, nil, 43, 45, 47, 48, 50, 51, 53, 54,
798
- 38, 39, 40, 42, 44, 46, 74, 61, nil, nil,
799
- 70, 73, nil, nil, nil, 79, 56, nil, nil, nil,
687
+ nil, nil, nil, 67, 70, 167, 46, nil, nil, nil,
688
+ nil, nil, nil, nil, 40, 42, 44, 45, 47, 48,
689
+ 50, 51, 36, 37, 38, 39, 41, 43, 77, nil,
690
+ nil, 46, nil, nil, nil, nil, nil, nil, nil, 40,
691
+ 42, 44, 45, 47, 48, 50, 51, 36, 37, 38,
692
+ 39, 41, 43, 188, 65, nil, nil, 73, 76, nil,
693
+ nil, nil, 83, 61, nil, nil, nil, nil, nil, nil,
694
+ nil, nil, nil, nil, nil, nil, nil, 67, 70, nil,
695
+ 46, 65, nil, nil, nil, nil, nil, nil, 40, 42,
696
+ 44, 45, 47, 48, 50, 51, 36, 37, 38, 39,
697
+ 41, 43, 77, nil, 67, 70, nil, 46, nil, nil,
698
+ nil, nil, nil, nil, nil, 40, 42, 44, 45, 47,
699
+ 48, 50, 51, 36, 37, 38, 39, 41, 43, 77,
700
+ 65, nil, nil, 73, 76, nil, nil, nil, 83, 61,
800
701
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
801
- 63, 67, nil, 49, nil, nil, nil, nil, nil, nil,
802
- nil, 43, 45, 47, 48, 50, 51, 53, 54, 38,
803
- 39, 40, 42, 44, 46, 74, 61, nil, nil, 70,
804
- 73, nil, nil, nil, 79, 56, nil, nil, nil, nil,
805
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 63,
806
- 67, nil, 49, nil, nil, nil, nil, nil, nil, nil,
807
- 43, 45, 47, 48, 50, 51, 53, 54, 38, 39,
808
- 40, 42, 44, 46, 74, 61, nil, nil, 70, 73,
809
- nil, nil, nil, 79, 56, nil, nil, nil, nil, nil,
810
- nil, nil, nil, nil, nil, nil, nil, nil, 63, 67,
811
- nil, 49, nil, nil, nil, nil, nil, nil, nil, 43,
812
- 45, 47, 48, 50, 51, 53, 54, 38, 39, 40,
813
- 42, 44, 46, 74, 61, nil, nil, 70, 73, nil,
814
- nil, nil, 79, 56, nil, nil, nil, nil, nil, nil,
815
- nil, nil, nil, nil, nil, nil, nil, 63, 67, nil,
816
- 49, 61, nil, nil, nil, nil, nil, nil, 43, 45,
817
- 47, 48, 50, 51, 53, 54, 38, 39, 40, 42,
818
- 44, 46, 74, nil, 63, 67, nil, 49, nil, nil,
819
- nil, nil, nil, nil, nil, 43, 45, 47, 48, 50,
820
- 51, 53, 54, 38, 39, 40, 42, 44, 46, 74,
821
- 49, nil, nil, nil, nil, nil, nil, nil, 43, 45,
822
- 47, 48, 50, 51, 53, 54, 38, 39, 40, 42,
823
- 44, 46, 49, 200, 201, nil, nil, nil, nil, nil,
824
- 43, 45, 47, 48, 50, 51, 53, 54, 38, 39,
825
- 40, 42, 44, 46, 49, nil, 231, nil, nil, nil,
826
- nil, nil, 43, 45, 47, 48, 50, 51, 53, 54,
827
- 38, 39, 40, 42, 44, 46, 49, nil, nil, nil,
828
- nil, nil, nil, nil, 43, 45, 47, 48, 50, 51,
829
- 53, 54, 38, 39, 40, 42, 44, 46, 49, nil,
830
- nil, nil, nil, nil, nil, nil, 43, 45, 47, 48,
831
- 50, 51, 53, 54, 38, 39, 40, 42, 44, 46,
832
- 49, nil, nil, nil, nil, nil, nil, nil, 43, 45,
833
- 47, 48, 50, 51, 53, 54, 38, 39, 40, 42,
834
- 44, 46, 24, nil, nil, nil, nil, 6, 9, 11,
835
- 14, 17, 21, 26, 28, 31, 34, 1, nil, 8,
836
- 10, 12, 16 ]
702
+ nil, nil, nil, 67, 70, nil, 46, 65, nil, nil,
703
+ nil, nil, nil, nil, 40, 42, 44, 45, 47, 48,
704
+ 50, 51, 36, 37, 38, 39, 41, 43, 77, nil,
705
+ 67, 70, nil, 46, 65, nil, nil, nil, nil, nil,
706
+ nil, 40, 42, 44, 45, 47, 48, 50, 51, 36,
707
+ 37, 38, 39, 41, 43, 77, nil, 67, 70, nil,
708
+ 46, nil, nil, nil, nil, nil, nil, nil, 40, 42,
709
+ 44, 45, 47, 48, 50, 51, 36, 37, 38, 39,
710
+ 41, 43, 77, 65, nil, nil, 73, 76, nil, nil,
711
+ nil, 83, 61, nil, nil, nil, nil, nil, nil, nil,
712
+ nil, nil, nil, nil, nil, nil, 67, 70, nil, 46,
713
+ nil, nil, nil, nil, nil, nil, nil, 40, 42, 44,
714
+ 45, 47, 48, 50, 51, 36, 37, 38, 39, 41,
715
+ 43, 77, 65, nil, nil, 73, 76, nil, nil, nil,
716
+ 83, 61, nil, nil, nil, nil, nil, nil, nil, nil,
717
+ nil, nil, nil, nil, nil, 67, 70, nil, 46, 24,
718
+ nil, nil, nil, nil, nil, nil, 40, 42, 44, 45,
719
+ 47, 48, 50, 51, 36, 37, 38, 39, 41, 43,
720
+ 77, 65, nil, nil, 73, 76, nil, nil, nil, 83,
721
+ 61, nil, nil, nil, nil, nil, nil, nil, nil, nil,
722
+ nil, nil, nil, nil, 67, 70, nil, 46, nil, nil,
723
+ nil, nil, nil, nil, nil, 40, 42, 44, 45, 47,
724
+ 48, 50, 51, 36, 37, 38, 39, 41, 43, 77,
725
+ 46, nil, nil, nil, nil, nil, nil, nil, 40, 42,
726
+ 44, 45, 47, 48, 50, 51, 36, 37, 38, 39,
727
+ 41, 43, 46, 177, nil, 178, nil, nil, nil, nil,
728
+ 40, 42, 44, 45, 47, 48, 50, 51, 36, 37,
729
+ 38, 39, 41, 43, 46, nil, nil, 178, nil, nil,
730
+ nil, nil, 40, 42, 44, 45, 47, 48, 50, 51,
731
+ 36, 37, 38, 39, 41, 43, 46, nil, nil, nil,
732
+ nil, nil, nil, nil, 40, 42, 44, 45, 47, 48,
733
+ 50, 51, 36, 37, 38, 39, 41, 43, 46, nil,
734
+ nil, nil, nil, nil, nil, nil, 40, 42, 44, 45,
735
+ 47, 48, 50, 51, 36, 37, 38, 39, 41, 43,
736
+ 46, nil, nil, nil, nil, nil, nil, nil, 40, 42,
737
+ 44, 45, 47, 48, 50, 51, 36, 37, 38, 39,
738
+ 41, 43, 24, nil, nil, nil, nil, 7, 10, 12,
739
+ 15, 19, 22, 26, 29, 31, 33, 1, 5, 8,
740
+ 11, 13, 17 ]
837
741
 
838
742
  racc_action_check = [
839
- 152, 68, 177, 152, 152, 152, 152, 152, 152, 152,
840
- 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
841
- 152, 152, 152, 152, 152, 152, 152, 208, 152, 152,
842
- 152, 152, 209, 68, 152, 152, 152, 152, 152, 152,
843
- 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
844
- 152, 152, 152, 152, 152, 152, 86, 221, 221, 86,
845
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
846
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
847
- 86, 86, 86, 210, 86, 86, 86, 86, 222, 222,
848
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
849
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
850
- 86, 86, 80, 223, 223, 80, 80, 80, 80, 80,
851
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
852
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 211,
853
- 80, 80, 80, 80, 55, 55, 80, 80, 80, 80,
854
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
855
- 80, 80, 80, 80, 80, 80, 80, 80, 192, 224,
856
- 224, 192, 192, 192, 192, 192, 192, 192, 192, 192,
857
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
858
- 192, 192, 192, 192, 192, 212, 192, 192, 192, 192,
859
- 220, 220, 192, 192, 192, 192, 192, 192, 192, 192,
743
+ 7, 71, 146, 7, 7, 7, 7, 7, 7, 7,
744
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
745
+ 7, 7, 7, 7, 7, 7, 7, 7, 18, 18,
746
+ 7, 7, 21, 71, 7, 7, 7, 7, 7, 7,
747
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
748
+ 7, 7, 7, 7, 7, 7, 143, 81, 81, 143,
749
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
750
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
751
+ 143, 143, 143, 174, 143, 143, 143, 143, 240, 240,
752
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
753
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
754
+ 143, 143, 168, 239, 239, 168, 168, 168, 168, 168,
755
+ 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
756
+ 168, 168, 168, 168, 168, 168, 168, 168, 168, 68,
757
+ 168, 168, 168, 168, 238, 238, 168, 168, 168, 168,
758
+ 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
759
+ 168, 168, 168, 168, 168, 168, 168, 168, 56, 237,
760
+ 237, 56, 56, 56, 56, 56, 56, 56, 56, 56,
761
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
762
+ 56, 56, 56, 56, 56, 155, 56, 56, 56, 56,
763
+ 236, 236, 56, 56, 56, 56, 56, 56, 56, 56,
764
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
765
+ 56, 56, 56, 56, 53, 235, 235, 53, 53, 53,
766
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
767
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
768
+ 53, 212, 53, 53, 53, 53, 79, 79, 53, 53,
769
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
770
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
771
+ 10, 222, 222, 10, 10, 10, 10, 10, 10, 10,
772
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
773
+ 10, 10, 10, 10, 10, 10, 10, 10, 9, 9,
774
+ 10, 10, 60, 60, 10, 10, 10, 10, 10, 10,
775
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
776
+ 10, 10, 10, 10, 10, 10, 192, 2, 2, 192,
777
+ 192, 28, 34, 153, 192, 192, 220, 220, 220, 220,
778
+ 82, 82, 82, 82, 28, 34, 16, 2, 110, 192,
779
+ 192, 176, 192, 221, 221, 221, 221, 78, 78, 78,
860
780
  192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
861
- 192, 192, 192, 192, 9, 219, 219, 9, 9, 9,
862
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
863
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
864
- 9, 9, 76, 76, 9, 9, 77, 77, 9, 9,
865
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
866
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
867
- 6, 13, 13, 6, 6, 6, 6, 6, 6, 6,
868
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
869
- 6, 6, 6, 6, 6, 6, 6, 6, 206, 206,
870
- 6, 6, 207, 199, 6, 6, 6, 6, 6, 6,
871
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
872
- 6, 6, 6, 6, 6, 6, 185, 4, 4, 185,
873
- 185, 35, 15, 19, 185, 185, 205, 205, 205, 205,
874
- 78, 78, 78, 78, 35, 57, 58, 4, 62, 185,
875
- 185, 65, 185, 204, 204, 204, 204, 218, 218, 218,
876
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
877
- 185, 185, 185, 185, 185, 171, 153, 198, 171, 171,
878
- 75, 75, 75, 171, 171, 217, 217, 217, nil, nil,
879
- nil, nil, nil, nil, nil, nil, nil, nil, 171, 171,
880
- nil, 171, nil, nil, nil, nil, nil, nil, nil, 171,
881
- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
882
- 171, 171, 171, 171, 174, nil, nil, 174, 174, nil,
883
- nil, nil, 174, 174, nil, nil, nil, nil, nil, nil,
884
- nil, nil, nil, nil, nil, nil, nil, 174, 174, 170,
885
- 174, nil, nil, nil, nil, nil, nil, nil, 174, 174,
886
- 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
887
- 174, 174, 174, nil, nil, 170, nil, nil, nil, nil,
888
- nil, nil, nil, 170, 170, 170, 170, 170, 170, 170,
889
- 170, 170, 170, 170, 170, 170, 170, 170, 172, nil,
890
- nil, 172, 172, nil, nil, nil, 172, 172, nil, nil,
781
+ 192, 192, 192, 192, 192, 245, 14, 14, 245, 245,
782
+ 234, 234, 234, 245, 245, 233, 233, 233, 223, 224,
783
+ 225, 226, 227, 228, 105, 179, 66, 196, 245, 245,
784
+ 30, 245, 32, 63, 35, 243, 62, nil, nil, 245,
785
+ 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
786
+ 245, 245, 245, 245, 203, nil, nil, 203, 203, nil,
787
+ nil, nil, 203, 203, nil, nil, nil, nil, nil, nil,
788
+ nil, nil, nil, nil, nil, nil, nil, 203, 203, nil,
789
+ 203, nil, nil, nil, nil, nil, nil, nil, 203, 203,
790
+ 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
791
+ 203, 203, 203, 202, nil, nil, 202, 202, nil, nil,
792
+ nil, 202, 202, nil, nil, nil, nil, nil, nil, nil,
793
+ nil, nil, nil, nil, nil, nil, 202, 202, nil, 202,
794
+ nil, nil, nil, nil, nil, nil, nil, 202, 202, 202,
795
+ 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
796
+ 202, 202, 201, nil, nil, 201, 201, nil, nil, nil,
797
+ 201, 201, nil, nil, nil, nil, nil, nil, nil, nil,
798
+ nil, nil, nil, nil, nil, 201, 201, nil, 201, nil,
799
+ nil, nil, nil, nil, nil, nil, 201, 201, 201, 201,
800
+ 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
801
+ 201, 200, nil, nil, 200, 200, nil, nil, nil, 200,
802
+ 200, nil, nil, nil, nil, nil, nil, nil, nil, nil,
803
+ nil, nil, nil, nil, 200, 200, nil, 200, nil, nil,
804
+ nil, nil, nil, nil, nil, 200, 200, 200, 200, 200,
805
+ 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
806
+ 199, nil, nil, 199, 199, nil, nil, nil, 199, 199,
891
807
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
892
- nil, 172, 172, nil, 172, nil, nil, nil, nil, nil,
893
- nil, nil, 172, 172, 172, 172, 172, 172, 172, 172,
894
- 172, 172, 172, 172, 172, 172, 172, 165, nil, nil,
895
- 165, 165, nil, nil, nil, 165, 165, nil, nil, nil,
808
+ nil, nil, nil, 199, 199, nil, 199, nil, nil, nil,
809
+ nil, nil, nil, nil, 199, 199, 199, 199, 199, 199,
810
+ 199, 199, 199, 199, 199, 199, 199, 199, 199, 25,
811
+ nil, nil, 25, 25, nil, nil, nil, 25, 25, nil,
896
812
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
897
- 165, 165, nil, 165, nil, nil, nil, nil, nil, nil,
898
- nil, 165, 165, 165, 165, 165, 165, 165, 165, 165,
899
- 165, 165, 165, 165, 165, 165, 164, nil, nil, 164,
900
- 164, nil, nil, nil, 164, 164, nil, nil, nil, nil,
901
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 164,
902
- 164, nil, 164, nil, nil, nil, nil, nil, nil, nil,
903
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
904
- 164, 164, 164, 164, 164, 188, nil, nil, 188, 188,
905
- nil, nil, nil, 188, 188, nil, nil, nil, nil, nil,
906
- nil, nil, nil, nil, nil, nil, nil, nil, 188, 188,
907
- nil, 188, nil, nil, nil, nil, nil, nil, nil, 188,
908
- 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
909
- 188, 188, 188, 188, 187, nil, nil, 187, 187, nil,
910
- nil, nil, 187, 187, nil, nil, nil, nil, nil, nil,
911
- nil, nil, nil, nil, nil, nil, nil, 187, 187, nil,
912
- 187, 56, nil, nil, nil, nil, nil, nil, 187, 187,
913
- 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
914
- 187, 187, 187, nil, 56, 56, nil, 56, nil, nil,
915
- nil, nil, nil, nil, nil, 56, 56, 56, 56, 56,
916
- 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
917
- 186, nil, nil, 186, 186, nil, nil, nil, 186, 186,
813
+ nil, nil, 25, 25, nil, 25, nil, nil, nil, nil,
814
+ nil, nil, nil, 25, 25, 25, 25, 25, 25, 25,
815
+ 25, 25, 25, 25, 25, 25, 25, 25, 198, nil,
816
+ nil, 198, 198, nil, nil, nil, 198, 198, nil, nil,
918
817
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
919
- nil, nil, nil, 186, 186, nil, 186, nil, nil, nil,
920
- nil, nil, nil, nil, 186, 186, 186, 186, 186, 186,
921
- 186, 186, 186, 186, 186, 186, 186, 186, 186, 5,
922
- nil, nil, 5, 5, nil, nil, nil, 5, 5, nil,
818
+ nil, 198, 198, nil, 198, nil, nil, nil, nil, nil,
819
+ nil, nil, 198, 198, 198, 198, 198, 198, 198, 198,
820
+ 198, 198, 198, 198, 198, 198, 198, 197, nil, nil,
821
+ 197, 197, nil, nil, nil, 197, 197, nil, nil, nil,
923
822
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
924
- nil, nil, 5, 5, 60, 5, nil, nil, nil, nil,
925
- nil, nil, nil, 5, 5, 5, 5, 5, 5, 5,
926
- 5, 5, 5, 5, 5, 5, 5, 5, nil, nil,
927
- 60, nil, nil, nil, nil, nil, nil, nil, 60, 60,
928
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
929
- 60, 60, 60, 184, nil, nil, 184, 184, nil, nil,
930
- nil, 184, 184, nil, nil, nil, nil, nil, nil, nil,
931
- nil, nil, nil, nil, nil, nil, 184, 184, nil, 184,
932
- nil, nil, nil, nil, nil, nil, nil, 184, 184, 184,
823
+ 197, 197, nil, 197, nil, nil, nil, nil, nil, nil,
824
+ nil, 197, 197, 197, 197, 197, 197, 197, 197, 197,
825
+ 197, 197, 197, 197, 197, 197, 193, nil, nil, 193,
826
+ 193, nil, nil, nil, 193, 193, nil, nil, nil, nil,
827
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 193,
828
+ 193, nil, 193, nil, nil, nil, nil, nil, nil, nil,
829
+ 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
830
+ 193, 193, 193, 193, 193, 204, nil, nil, 204, 204,
831
+ nil, nil, nil, 204, 204, nil, nil, nil, nil, nil,
832
+ nil, nil, nil, nil, nil, nil, nil, nil, 204, 204,
833
+ nil, 204, nil, nil, nil, nil, nil, nil, nil, 204,
834
+ 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
835
+ 204, 204, 204, 204, 191, nil, nil, 191, 191, nil,
836
+ nil, nil, 191, 191, nil, nil, nil, nil, nil, nil,
837
+ nil, nil, nil, nil, nil, nil, nil, 191, 191, nil,
838
+ 191, nil, nil, nil, nil, nil, nil, nil, 191, 191,
839
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
840
+ 191, 191, 191, 190, nil, nil, 190, 190, nil, nil,
841
+ nil, 190, 190, nil, nil, nil, nil, nil, nil, nil,
842
+ nil, nil, nil, nil, nil, nil, 190, 190, nil, 190,
843
+ nil, nil, nil, nil, nil, nil, nil, 190, 190, 190,
844
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
845
+ 190, 190, 205, nil, nil, 205, 205, nil, nil, nil,
846
+ 205, 205, nil, nil, nil, nil, nil, nil, nil, nil,
847
+ nil, nil, nil, nil, nil, 205, 205, 188, 205, nil,
848
+ nil, nil, nil, nil, nil, nil, 205, 205, 205, 205,
849
+ 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
850
+ 205, nil, nil, 188, nil, nil, nil, nil, nil, nil,
851
+ nil, 188, 188, 188, 188, 188, 188, 188, 188, 188,
852
+ 188, 188, 188, 188, 188, 188, 3, nil, nil, 3,
853
+ 3, nil, nil, nil, 3, 3, nil, nil, nil, nil,
854
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 3,
855
+ 3, nil, 3, nil, nil, nil, nil, nil, nil, nil,
856
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
857
+ 3, 3, 3, 3, 3, 185, nil, nil, 185, 185,
858
+ nil, nil, nil, 185, 185, nil, nil, nil, nil, nil,
859
+ nil, nil, nil, nil, nil, nil, nil, nil, 185, 185,
860
+ nil, 185, 61, nil, nil, nil, nil, nil, nil, 185,
861
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
862
+ 185, 185, 185, 185, nil, 61, 61, nil, 61, nil,
863
+ nil, nil, nil, nil, nil, nil, 61, 61, 61, 61,
864
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
865
+ 61, 184, nil, nil, 184, 184, nil, nil, nil, 184,
866
+ 184, nil, nil, nil, nil, nil, nil, nil, nil, nil,
867
+ nil, nil, nil, nil, 184, 184, nil, 184, nil, nil,
868
+ nil, nil, nil, nil, nil, 184, 184, 184, 184, 184,
933
869
  184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
934
- 184, 184, 183, nil, nil, 183, 183, nil, nil, nil,
935
- 183, 183, nil, nil, nil, nil, nil, nil, nil, nil,
936
- nil, nil, nil, nil, nil, 183, 183, nil, 183, nil,
937
- nil, nil, nil, nil, nil, nil, 183, 183, 183, 183,
938
- 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
939
- 183, 162, nil, nil, 162, 162, nil, nil, nil, 162,
940
- 162, nil, nil, nil, nil, nil, nil, nil, nil, nil,
941
- nil, nil, nil, nil, 162, 162, nil, 162, nil, nil,
942
- nil, nil, nil, nil, nil, 162, 162, 162, 162, 162,
943
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
944
- 178, nil, nil, 178, 178, nil, nil, nil, 178, 178,
870
+ 182, nil, nil, 182, 182, nil, nil, nil, 182, 182,
945
871
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
946
- nil, nil, nil, 178, 178, nil, 178, 73, nil, nil,
947
- nil, nil, nil, nil, 178, 178, 178, 178, 178, 178,
948
- 178, 178, 178, 178, 178, 178, 178, 178, 178, nil,
949
- 73, 73, nil, 73, nil, nil, nil, nil, nil, nil,
950
- nil, 73, 73, 73, 73, 73, 73, 73, 73, 73,
951
- 73, 73, 73, 73, 73, 73, 74, nil, nil, 74,
952
- 74, nil, nil, nil, 74, 74, nil, nil, nil, nil,
953
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 74,
954
- 74, nil, 74, nil, nil, nil, nil, nil, nil, nil,
955
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
956
- 74, 74, 74, 74, 74, 182, nil, nil, 182, 182,
957
- nil, nil, nil, 182, 182, nil, nil, nil, nil, nil,
958
- nil, nil, nil, nil, nil, nil, nil, nil, 182, 182,
959
- nil, 182, nil, nil, nil, nil, nil, nil, nil, 182,
960
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
961
- 182, 182, 182, 182, 181, nil, nil, 181, 181, nil,
872
+ nil, nil, nil, 182, 182, 64, 182, nil, nil, nil,
873
+ nil, nil, nil, nil, 182, 182, 182, 182, 182, 182,
874
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, nil,
875
+ nil, 64, nil, nil, nil, nil, nil, nil, nil, 64,
876
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
877
+ 64, 64, 64, 64, 181, nil, nil, 181, 181, nil,
962
878
  nil, nil, 181, 181, nil, nil, nil, nil, nil, nil,
963
879
  nil, nil, nil, nil, nil, nil, nil, 181, 181, nil,
964
- 181, nil, nil, nil, nil, nil, nil, nil, 181, 181,
880
+ 181, 83, nil, nil, nil, nil, nil, nil, 181, 181,
965
881
  181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
966
- 181, 181, 181, 180, nil, nil, 180, 180, nil, nil,
967
- nil, 180, 180, nil, nil, nil, nil, nil, nil, nil,
968
- nil, nil, nil, nil, nil, nil, 180, 180, nil, 180,
969
- nil, nil, nil, nil, nil, nil, nil, 180, 180, 180,
970
- 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
971
- 180, 180, 179, nil, nil, 179, 179, nil, nil, nil,
972
- 179, 179, nil, nil, nil, nil, nil, nil, nil, nil,
973
- nil, nil, nil, nil, nil, 179, 179, nil, 179, 79,
974
- nil, nil, nil, nil, nil, nil, 179, 179, 179, 179,
975
- 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
976
- 179, nil, 79, 79, nil, 79, nil, nil, nil, nil,
977
- nil, nil, nil, 79, 79, 79, 79, 79, 79, 79,
978
- 79, 79, 79, 79, 79, 79, 79, 79, 2, nil,
979
- nil, 2, 2, nil, nil, nil, 2, 2, nil, nil,
882
+ 181, 181, 181, nil, 83, 83, nil, 83, nil, nil,
883
+ nil, nil, nil, nil, nil, 83, 83, 83, 83, 83,
884
+ 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
885
+ 207, nil, nil, 207, 207, nil, nil, nil, 207, 207,
980
886
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
981
- nil, 2, 2, nil, 2, nil, nil, nil, nil, nil,
982
- nil, nil, 2, 2, 2, 2, 2, 2, 2, 2,
983
- 2, 2, 2, 2, 2, 2, 2, 161, nil, nil,
984
- 161, 161, nil, nil, nil, 161, 161, nil, nil, nil,
985
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
986
- 161, 161, nil, 161, nil, nil, nil, nil, nil, nil,
987
- nil, 161, 161, 161, 161, 161, 161, 161, 161, 161,
988
- 161, 161, 161, 161, 161, 161, 173, nil, nil, 173,
989
- 173, nil, nil, nil, 173, 173, nil, nil, nil, nil,
990
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 173,
991
- 173, nil, 173, nil, nil, nil, nil, nil, nil, nil,
992
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
993
- 173, 173, 173, 173, 173, 97, nil, nil, 97, 97,
994
- nil, nil, nil, 97, 97, nil, nil, nil, nil, nil,
995
- nil, nil, nil, nil, nil, nil, nil, nil, 97, 97,
996
- nil, 97, nil, nil, nil, nil, nil, nil, nil, 97,
997
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
998
- 97, 97, 97, 97, 229, nil, nil, 229, 229, nil,
999
- nil, nil, 229, 229, nil, nil, nil, nil, nil, nil,
1000
- nil, nil, nil, nil, nil, nil, nil, 229, 229, nil,
1001
- 229, 70, nil, nil, nil, nil, nil, nil, 229, 229,
1002
- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
1003
- 229, 229, 229, nil, 70, 70, nil, 70, nil, nil,
1004
- nil, nil, nil, nil, nil, 70, 70, 70, 70, 70,
1005
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
1006
- 81, nil, nil, nil, nil, nil, nil, nil, 81, 81,
1007
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
1008
- 81, 81, 227, 81, 81, nil, nil, nil, nil, nil,
1009
- 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1010
- 227, 227, 227, 227, 17, nil, 227, nil, nil, nil,
1011
- nil, nil, 17, 17, 17, 17, 17, 17, 17, 17,
1012
- 17, 17, 17, 17, 17, 17, 21, nil, nil, nil,
1013
- nil, nil, nil, nil, 21, 21, 21, 21, 21, 21,
1014
- 21, 21, 21, 21, 21, 21, 21, 21, 34, nil,
1015
- nil, nil, nil, nil, nil, nil, 34, 34, 34, 34,
1016
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1017
- 1, nil, nil, nil, nil, nil, nil, nil, 1, 1,
1018
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1019
- 1, 1, 0, nil, nil, nil, nil, 0, 0, 0,
1020
- 0, 0, 0, 0, 0, 0, 0, 0, nil, 0,
887
+ nil, nil, nil, 207, 207, nil, 207, 73, nil, nil,
888
+ nil, nil, nil, nil, 207, 207, 207, 207, 207, 207,
889
+ 207, 207, 207, 207, 207, 207, 207, 207, 207, nil,
890
+ 73, 73, nil, 73, 76, nil, nil, nil, nil, nil,
891
+ nil, 73, 73, 73, 73, 73, 73, 73, 73, 73,
892
+ 73, 73, 73, 73, 73, 73, nil, 76, 76, nil,
893
+ 76, nil, nil, nil, nil, nil, nil, nil, 76, 76,
894
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
895
+ 76, 76, 76, 77, nil, nil, 77, 77, nil, nil,
896
+ nil, 77, 77, nil, nil, nil, nil, nil, nil, nil,
897
+ nil, nil, nil, nil, nil, nil, 77, 77, nil, 77,
898
+ nil, nil, nil, nil, nil, nil, nil, 77, 77, 77,
899
+ 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
900
+ 77, 77, 127, nil, nil, 127, 127, nil, nil, nil,
901
+ 127, 127, nil, nil, nil, nil, nil, nil, nil, nil,
902
+ nil, nil, nil, nil, nil, 127, 127, nil, 127, 127,
903
+ nil, nil, nil, nil, nil, nil, 127, 127, 127, 127,
904
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
905
+ 127, 206, nil, nil, 206, 206, nil, nil, nil, 206,
906
+ 206, nil, nil, nil, nil, nil, nil, nil, nil, nil,
907
+ nil, nil, nil, nil, 206, 206, nil, 206, nil, nil,
908
+ nil, nil, nil, nil, nil, 206, 206, 206, 206, 206,
909
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
910
+ 54, nil, nil, nil, nil, nil, nil, nil, 54, 54,
911
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
912
+ 54, 54, 218, 54, nil, 54, nil, nil, nil, nil,
913
+ 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
914
+ 218, 218, 218, 218, 1, nil, nil, 218, nil, nil,
915
+ nil, nil, 1, 1, 1, 1, 1, 1, 1, 1,
916
+ 1, 1, 1, 1, 1, 1, 26, nil, nil, nil,
917
+ nil, nil, nil, nil, 26, 26, 26, 26, 26, 26,
918
+ 26, 26, 26, 26, 26, 26, 26, 26, 5, nil,
919
+ nil, nil, nil, nil, nil, nil, 5, 5, 5, 5,
920
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
921
+ 22, nil, nil, nil, nil, nil, nil, nil, 22, 22,
922
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
923
+ 22, 22, 0, nil, nil, nil, nil, 0, 0, 0,
924
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021
925
  0, 0, 0 ]
1022
926
 
1023
927
  racc_action_pointer = [
1024
- 1773, 1752, 1396, nil, 307, 827, 278, nil, nil, 222,
1025
- nil, nil, nil, 251, nil, 342, nil, 1686, nil, 314,
1026
- nil, 1708, nil, nil, nil, nil, nil, nil, nil, nil,
1027
- nil, nil, nil, nil, 1730, 327, nil, nil, nil, nil,
1028
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1029
- nil, nil, nil, nil, nil, 126, 729, 335, 335, nil,
1030
- 852, nil, 336, nil, nil, 338, nil, nil, -23, nil,
1031
- 1619, nil, nil, 1075, 1124, 383, 242, 244, 336, 1347,
1032
- 110, 1642, nil, nil, nil, nil, 54, nil, nil, nil,
1033
- nil, nil, nil, nil, nil, nil, nil, 1543, nil, nil,
928
+ 1773, 1686, 307, 1094, nil, 1730, nil, -2, nil, 278,
929
+ 278, nil, nil, nil, 356, nil, 356, nil, -2, nil,
930
+ nil, 7, 1752, nil, nil, 677, 1708, nil, 327, nil,
931
+ 381, nil, 383, nil, 328, 385, nil, nil, nil, nil,
1034
932
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
933
+ nil, nil, nil, 222, 1642, nil, 166, nil, nil, nil,
934
+ 294, 1170, 396, 392, 1293, nil, 384, nil, 116, nil,
935
+ nil, -23, nil, 1445, nil, nil, 1472, 1521, 360, 246,
936
+ nil, 45, 336, 1369, nil, nil, nil, nil, nil, nil,
1035
937
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
938
+ nil, nil, nil, nil, nil, 375, nil, nil, nil, nil,
939
+ 329, nil, nil, nil, nil, nil, nil, nil, nil, nil,
940
+ nil, nil, nil, nil, nil, nil, nil, 1570, nil, nil,
1036
941
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1037
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1038
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1039
- nil, nil, -2, 386, nil, nil, nil, nil, nil, nil,
1040
- nil, 1445, 999, nil, 604, 555, nil, nil, nil, nil,
1041
- 457, 383, 506, 1494, 432, nil, nil, -49, 1048, 1320,
1042
- 1271, 1222, 1173, 950, 901, 334, 778, 702, 653, nil,
1043
- nil, nil, 166, nil, nil, nil, nil, nil, 336, 260,
1044
- nil, nil, nil, nil, 349, 332, 290, 292, -24, 11,
1045
- 61, 82, 172, nil, nil, nil, nil, 388, 360, 215,
1046
- 190, 45, 76, 101, 157, nil, nil, 1664, nil, 1592,
1047
- nil, nil, nil ]
942
+ nil, nil, nil, 54, nil, nil, -27, nil, nil, nil,
943
+ nil, nil, nil, 343, nil, 168, nil, nil, nil, nil,
944
+ nil, nil, nil, nil, nil, nil, nil, nil, 110, nil,
945
+ nil, nil, nil, nil, 32, nil, 309, nil, nil, 352,
946
+ nil, 1342, 1268, nil, 1219, 1143, nil, nil, 1045, nil,
947
+ 971, 922, 334, 824, nil, nil, 356, 775, 726, 628,
948
+ 579, 530, 481, 432, 873, 1020, 1619, 1418, nil, nil,
949
+ nil, nil, 222, nil, nil, nil, nil, nil, 1664, nil,
950
+ 332, 349, 263, 378, 348, 379, 379, 345, 380, nil,
951
+ nil, nil, nil, 388, 383, 215, 190, 157, 132, 101,
952
+ 76, nil, nil, 362, nil, 383, nil ]
1048
953
 
1049
954
  racc_action_default = [
1050
- -188, -188, -41, -7, -67, -42, -188, -8, -58, -188,
1051
- -59, -48, -57, -52, -49, -188, -50, -188, -38, -188,
1052
- -53, -188, -40, -2, -80, -54, -47, -3, -61, -55,
1053
- -4, -62, -37, -5, -188, -188, -39, -6, -110, -111,
1054
- -112, -69, -113, -105, -114, -104, -106, -102, -103, -81,
1055
- -101, -107, -82, -108, -109, -175, -188, -177, -179, -149,
1056
- -188, -142, -181, -146, -45, -183, -151, -147, -185, -156,
1057
- -188, -187, -157, -188, -188, -161, -164, -167, -172, -188,
1058
- -68, -188, -73, -98, -99, -83, -65, -46, -134, -121,
1059
- -97, -94, -32, -138, -136, -122, -95, -188, -33, -139,
1060
- -137, -123, -34, -28, -9, -126, -91, -35, -127, -92,
1061
- -36, -11, -128, -116, -93, -23, -12, -135, -129, -124,
1062
- -27, -24, -13, -130, -125, -117, -25, -16, -15, -140,
1063
- -131, -118, -29, -26, -141, -132, -119, -30, -133, -120,
1064
- -115, -96, -31, -14, -18, -10, -19, -17, -22, -21,
1065
- -20, -51, -56, -188, -43, -1, -44, -70, -60, -64,
1066
- -63, -188, -188, -154, -188, -188, -144, -143, -100, -148,
1067
- -188, -188, -188, -188, -188, -152, -155, -188, -188, -188,
1068
- -188, -188, -188, -188, -188, -188, -188, -188, -188, -153,
1069
- -90, -89, -66, -87, -88, -85, -78, -71, -188, -76,
1070
- -74, -75, -84, 233, -173, -174, -176, -178, -188, -180,
1071
- -182, -188, -184, -150, -158, -159, -160, -163, -162, -165,
1072
- -166, -168, -170, -169, -171, -86, -72, -188, -145, -188,
1073
- -79, -77, -186 ]
955
+ -194, -194, -71, -42, -7, -194, -43, -194, -62, -50,
956
+ -194, -60, -47, -61, -52, -44, -194, -59, -54, -49,
957
+ -1, -194, -194, -2, -86, -46, -194, -3, -194, -48,
958
+ -194, -65, -194, -66, -194, -194, -115, -116, -117, -118,
959
+ -110, -119, -112, -120, -111, -108, -87, -109, -107, -88,
960
+ -113, -114, -74, -72, -194, -77, -69, -104, -105, -89,
961
+ -181, -194, -183, -185, -194, -148, -187, -152, -189, -157,
962
+ -153, -191, -162, -194, -193, -163, -194, -194, -167, -170,
963
+ -41, -173, -178, -194, -155, -73, -140, -127, -103, -100,
964
+ -33, -144, -142, -128, -101, -34, -8, -145, -143, -129,
965
+ -35, -30, -132, -97, -36, -194, -10, -133, -98, -37,
966
+ -194, -134, -122, -99, -38, -12, -141, -135, -130, -29,
967
+ -25, -14, -13, -136, -131, -123, -26, -194, -147, -137,
968
+ -124, -27, -146, -138, -125, -31, -28, -139, -126, -121,
969
+ -102, -32, -51, -58, -9, -21, -194, -11, -20, -19,
970
+ -23, -22, -53, -194, -55, -56, -39, -45, -40, -68,
971
+ -67, -63, -4, -5, -64, -6, -96, -106, -70, -94,
972
+ -93, -95, -91, -75, -194, -79, -80, -78, -82, -84,
973
+ -90, -194, -194, -160, -194, -194, -150, -154, -194, -149,
974
+ -194, -194, -194, -194, -158, -161, -194, -194, -194, -194,
975
+ -194, -194, -194, -194, -194, -194, -194, -194, -159, -17,
976
+ -18, -16, -194, -24, 247, -57, -92, -76, -194, -83,
977
+ -179, -180, -182, -184, -194, -186, -188, -194, -190, -156,
978
+ -164, -165, -166, -169, -168, -171, -172, -174, -176, -175,
979
+ -177, -15, -81, -85, -151, -194, -192 ]
1074
980
 
1075
981
  racc_goto_table = [
1076
- 41, 64, 197, 195, 166, 163, 169, 23, 37, 86,
1077
- 133, 29, 85, 133, 143, 151, 154, 150, 152, 175,
1078
- 156, 85, 176, 5, 18, 22, 155, 20, 189, 97,
1079
- 116, 122, 128, 157, 25, 149, 221, 222, 223, 224,
1080
- 111, 204, 205, 147, 214, 215, 216, 219, 220, 217,
1081
- 218, 13, 2, 35, 158, 4, 80, 192, 81, 167,
1082
- 36, 198, 199, 32, 145, 104, 7, 3, 33, 30,
1083
- 27, 15, 19, 177, 206, 207, 209, 210, 212, 191,
1084
- 196, 232, nil, nil, nil, 191, nil, nil, nil, nil,
1085
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
982
+ 52, 23, 80, 187, 85, 175, 186, 172, 121, 173,
983
+ 169, 150, 161, 169, 142, 183, 28, 136, 164, 152,
984
+ 136, 156, 25, 154, 157, 158, 14, 194, 18, 127,
985
+ 195, 162, 122, 163, 21, 151, 165, 208, 237, 238,
986
+ 239, 240, 115, 233, 234, 149, 230, 231, 232, 220,
987
+ 221, 56, 171, 179, 9, 171, 235, 236, 6, 34,
988
+ 2, 53, 168, 189, 54, 3, 174, 147, 176, 106,
989
+ 144, 96, 4, 35, 32, 30, 196, 27, 16, 20,
990
+ 222, 223, 225, 226, 228, 246, nil, nil, nil, nil,
1086
991
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1087
- nil, nil, nil, nil, 166, 225, 208, nil, nil, 226,
992
+ 169, nil, nil, nil, nil, nil, 209, nil, nil, nil,
993
+ nil, 210, nil, nil, nil, nil, nil, nil, nil, nil,
994
+ nil, nil, 216, nil, nil, 169, 212, 224, 211, 217,
995
+ 186, nil, nil, nil, nil, nil, nil, nil, nil, nil,
996
+ nil, nil, 171, nil, nil, nil, nil, 213, nil, nil,
1088
997
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
998
+ nil, nil, nil, nil, nil, nil, nil, 171, nil, 242,
1089
999
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1000
+ nil, nil, nil, nil, nil, nil, nil, 189, nil, nil,
1001
+ nil, 227, nil, nil, nil, nil, nil, nil, nil, nil,
1090
1002
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1091
- nil, 191, nil, nil, nil, nil, nil, nil, nil, nil,
1092
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 167,
1093
- nil, nil, 211, nil, nil, nil, nil, nil, nil, nil,
1094
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1095
- nil, 191, nil, nil, nil, nil, nil, nil, nil, nil,
1096
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1097
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1098
- nil, nil, nil, nil, nil, nil, 230 ]
1003
+ nil, nil, nil, 241, nil, nil, nil, 243 ]
1099
1004
 
1100
1005
  racc_goto_check = [
1101
- 21, 22, 35, 40, 41, 45, 44, 3, 7, 28,
1102
- 16, 27, 39, 16, 7, 24, 21, 7, 28, 45,
1103
- 21, 39, 45, 20, 13, 14, 3, 25, 45, 20,
1104
- 13, 14, 15, 21, 26, 15, 50, 50, 50, 50,
1105
- 12, 51, 51, 12, 47, 47, 47, 49, 49, 48,
1106
- 48, 23, 19, 29, 30, 31, 32, 33, 34, 21,
1107
- 18, 36, 37, 17, 11, 10, 9, 8, 6, 5,
1108
- 4, 1, 2, 22, 52, 53, 54, 55, 56, 21,
1109
- 21, 58, nil, nil, nil, 21, nil, nil, nil, nil,
1110
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1111
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1112
- nil, nil, nil, nil, 41, 40, 44, nil, nil, 35,
1113
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1114
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1006
+ 18, 3, 16, 44, 18, 36, 41, 40, 3, 34,
1007
+ 39, 3, 28, 39, 22, 45, 27, 17, 28, 22,
1008
+ 17, 18, 15, 22, 16, 18, 23, 45, 24, 15,
1009
+ 45, 3, 14, 3, 25, 14, 3, 45, 50, 50,
1010
+ 50, 50, 13, 48, 48, 13, 47, 47, 47, 51,
1011
+ 51, 26, 18, 18, 21, 18, 49, 49, 20, 29,
1012
+ 30, 31, 32, 18, 33, 19, 35, 12, 37, 11,
1013
+ 10, 9, 8, 7, 6, 5, 16, 4, 1, 2,
1014
+ 52, 53, 54, 55, 56, 58, nil, nil, nil, nil,
1115
1015
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1116
- nil, 21, nil, nil, nil, nil, nil, nil, nil, nil,
1117
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 21,
1118
- nil, nil, 22, nil, nil, nil, nil, nil, nil, nil,
1016
+ 39, nil, nil, nil, nil, nil, 3, nil, nil, nil,
1017
+ nil, 3, nil, nil, nil, nil, nil, nil, nil, nil,
1018
+ nil, nil, 40, nil, nil, 39, 16, 44, 3, 34,
1019
+ 41, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1020
+ nil, nil, 18, nil, nil, nil, nil, 3, nil, nil,
1119
1021
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1120
- nil, 21, nil, nil, nil, nil, nil, nil, nil, nil,
1022
+ nil, nil, nil, nil, nil, nil, nil, 18, nil, 36,
1121
1023
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1024
+ nil, nil, nil, nil, nil, nil, nil, 18, nil, nil,
1025
+ nil, 16, nil, nil, nil, nil, nil, nil, nil, nil,
1122
1026
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1123
- nil, nil, nil, nil, nil, nil, 21 ]
1027
+ nil, nil, nil, 3, nil, nil, nil, 18 ]
1124
1028
 
1125
1029
  racc_goto_pointer = [
1126
- nil, 71, 72, 7, 70, 69, 68, 8, 67, 66,
1127
- 59, 55, 34, 24, 25, 26, 4, 63, 60, 52,
1128
- 23, -1, -1, 51, 2, 27, 34, 11, 5, 53,
1129
- 19, 55, 52, -23, 54, -79, -20, -19, nil, 8,
1130
- -77, -56, nil, nil, -54, -51, nil, -134, -132, -136,
1131
- -149, -120, -90, -90, -95, -95, -96, nil, -148 ]
1030
+ nil, 78, 79, 1, 77, 75, 74, 73, 72, 64,
1031
+ 60, 62, 57, 35, 25, 22, -1, 10, -1, 65,
1032
+ 58, 54, 5, 26, 28, 34, 49, 16, -16, 59,
1033
+ 60, 59, 9, 62, -45, 12, -49, 14, nil, -43,
1034
+ -46, -58, nil, nil, -61, -46, nil, -151, -157, -146,
1035
+ -166, -132, -104, -104, -108, -108, -109, nil, -160 ]
1132
1036
 
1133
1037
  racc_goto_default = [
1134
1038
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1135
- nil, nil, nil, nil, nil, nil, 193, nil, nil, nil,
1136
- nil, 59, 87, nil, nil, nil, nil, nil, nil, nil,
1137
- nil, nil, nil, nil, nil, nil, nil, nil, 52, 194,
1138
- 202, 190, 96, 60, nil, 66, 69, 72, 75, 76,
1139
- 77, 78, 55, 57, 58, 62, 65, 68, 71 ]
1039
+ nil, nil, nil, nil, nil, nil, nil, 170, 84, nil,
1040
+ nil, nil, nil, nil, nil, nil, 143, nil, nil, nil,
1041
+ nil, nil, nil, nil, nil, nil, nil, nil, 49, 59,
1042
+ 180, 166, 94, 64, nil, 69, 72, 75, 78, 79,
1043
+ 81, 82, 60, 62, 63, 66, 68, 71, 74 ]
1140
1044
 
1141
1045
  racc_token_table = {
1142
1046
  false => 0,
@@ -1175,24 +1079,24 @@ racc_token_table = {
1175
1079
  :UNKNOWN => 33,
1176
1080
  :IGNORE => 34,
1177
1081
  :IGNORE_ALL => 35,
1178
- "elif" => 36,
1179
- "else" => 37,
1180
- "ifdef" => 38,
1181
- "ifndef" => 39,
1182
- "if" => 40,
1183
- "include" => 41,
1184
- "include_next" => 42,
1185
- "define" => 43,
1186
- "undef" => 44,
1187
- "line" => 45,
1188
- "error" => 46,
1189
- "warning" => 47,
1190
- "pragma" => 48,
1191
- "endif" => 49,
1082
+ "else" => 36,
1083
+ "endif" => 37,
1084
+ "elif" => 38,
1085
+ "ifdef" => 39,
1086
+ "ifndef" => 40,
1087
+ "if" => 41,
1088
+ "include" => 42,
1089
+ "include_next" => 43,
1090
+ "define" => 44,
1091
+ "undef" => 45,
1092
+ "line" => 46,
1093
+ "error" => 47,
1094
+ "warning" => 48,
1095
+ "pragma" => 49,
1192
1096
  "(" => 50,
1193
1097
  ")" => 51,
1194
- "..." => 52,
1195
- "," => 53,
1098
+ "," => 52,
1099
+ "..." => 53,
1196
1100
  "#" => 54,
1197
1101
  "##" => 55,
1198
1102
  "?" => 56,
@@ -1255,8 +1159,9 @@ Racc_token_to_s_table = [
1255
1159
  'UNKNOWN',
1256
1160
  'IGNORE',
1257
1161
  'IGNORE_ALL',
1258
- '"elif"',
1259
1162
  '"else"',
1163
+ '"endif"',
1164
+ '"elif"',
1260
1165
  '"ifdef"',
1261
1166
  '"ifndef"',
1262
1167
  '"if"',
@@ -1268,11 +1173,10 @@ Racc_token_to_s_table = [
1268
1173
  '"error"',
1269
1174
  '"warning"',
1270
1175
  '"pragma"',
1271
- '"endif"',
1272
1176
  '"("',
1273
1177
  '")"',
1274
- '"..."',
1275
1178
  '","',
1179
+ '"..."',
1276
1180
  '"#"',
1277
1181
  '"##"',
1278
1182
  '"?"',
@@ -1282,38 +1186,38 @@ Racc_token_to_s_table = [
1282
1186
  'statement',
1283
1187
  'end_of_statement',
1284
1188
  'ignore_statement',
1285
- 'macro_statement',
1286
- 'open_continue_condition',
1287
- 'close_condition',
1288
1189
  'directive',
1190
+ 'macro_statement',
1191
+ 'conditional_comp',
1289
1192
  'include_directive',
1290
1193
  'ignore_token',
1291
1194
  'ignore_all_token',
1195
+ 'ignore_newline',
1196
+ 'ignore_all_newline',
1292
1197
  'ignore_open',
1293
- 'elif_condition',
1294
- 'else_condition',
1295
1198
  'ignore_other',
1296
- 'non_space_token',
1297
- 'if_condition',
1298
- 'ifdef_condition',
1299
- 'if_start',
1300
1199
  'elif_start',
1301
- 'identifier',
1302
1200
  'expression',
1303
- 'directive_start',
1304
- 'directive_text',
1201
+ 'non_space_token',
1202
+ 'identifier',
1203
+ 'if_start',
1204
+ 'elif_else_statement',
1305
1205
  'pragma_directive',
1206
+ 'directive_text',
1306
1207
  'error_directive',
1307
1208
  'warning_directive',
1209
+ 'line_directive',
1308
1210
  'text',
1309
1211
  'include_start',
1310
1212
  'include_file',
1213
+ 'include_next_start',
1311
1214
  'define_identifier',
1312
1215
  'parameters',
1313
1216
  'text_nospace',
1314
1217
  'param_start',
1315
1218
  'param_finish',
1316
1219
  'init_parameter_list',
1220
+ 'parameter_ellipsis',
1317
1221
  'parameter_list',
1318
1222
  'partially_reserved_word',
1319
1223
  'space_token',
@@ -1345,24 +1249,14 @@ Racc_debug_parser = false
1345
1249
 
1346
1250
  module_eval <<'.,.,', 'src/preprocessor.y', 29
1347
1251
  def _reduce_1( val, _values, result )
1348
- result = val[0]; yyaccept
1252
+ yyaccept()
1349
1253
  result
1350
1254
  end
1351
1255
  .,.,
1352
1256
 
1353
- module_eval <<'.,.,', 'src/preprocessor.y', 30
1354
- def _reduce_2( val, _values, result )
1355
- result = [:EMPTY, nil]; yyaccept
1356
- result
1357
- end
1358
- .,.,
1257
+ # reduce 2 omitted
1359
1258
 
1360
- module_eval <<'.,.,', 'src/preprocessor.y', 31
1361
- def _reduce_3( val, _values, result )
1362
- result = val[0]; yyaccept
1363
- result
1364
- end
1365
- .,.,
1259
+ # reduce 3 omitted
1366
1260
 
1367
1261
  # reduce 4 omitted
1368
1262
 
@@ -1372,96 +1266,86 @@ module_eval <<'.,.,', 'src/preprocessor.y', 31
1372
1266
 
1373
1267
  # reduce 7 omitted
1374
1268
 
1375
- # reduce 8 omitted
1376
-
1377
- module_eval <<'.,.,', 'src/preprocessor.y', 44
1378
- def _reduce_9( val, _values, result )
1379
- result = val[1]
1269
+ module_eval <<'.,.,', 'src/preprocessor.y', 43
1270
+ def _reduce_8( val, _values, result )
1271
+ self.eat_rest_of_line
1380
1272
  result
1381
1273
  end
1382
1274
  .,.,
1383
1275
 
1384
- module_eval <<'.,.,', 'src/preprocessor.y', 45
1385
- def _reduce_10( val, _values, result )
1386
- result = val[1]
1276
+ module_eval <<'.,.,', 'src/preprocessor.y', 44
1277
+ def _reduce_9( val, _values, result )
1278
+ self.eat_rest_of_line
1387
1279
  result
1388
1280
  end
1389
1281
  .,.,
1390
1282
 
1283
+ # reduce 10 omitted
1284
+
1391
1285
  # reduce 11 omitted
1392
1286
 
1393
- # reduce 12 omitted
1287
+ module_eval <<'.,.,', 'src/preprocessor.y', 52
1288
+ def _reduce_12( val, _values, result )
1289
+ @cond_comp.push(nil)
1290
+ result
1291
+ end
1292
+ .,.,
1394
1293
 
1395
1294
  # reduce 13 omitted
1396
1295
 
1397
1296
  # reduce 14 omitted
1398
1297
 
1399
- module_eval <<'.,.,', 'src/preprocessor.y', 54
1298
+ module_eval <<'.,.,', 'src/preprocessor.y', 59
1400
1299
  def _reduce_15( val, _values, result )
1401
- result = [:IGNORE, nil]
1300
+ handle_continue(val[1] != 0)
1402
1301
  result
1403
1302
  end
1404
1303
  .,.,
1405
1304
 
1406
- module_eval <<'.,.,', 'src/preprocessor.y', 55
1305
+ module_eval <<'.,.,', 'src/preprocessor.y', 60
1407
1306
  def _reduce_16( val, _values, result )
1408
- result = [:NEWLINE, val[0]]
1307
+ handle_continue(false)
1409
1308
  result
1410
1309
  end
1411
1310
  .,.,
1412
1311
 
1413
- # reduce 17 omitted
1312
+ module_eval <<'.,.,', 'src/preprocessor.y', 61
1313
+ def _reduce_17( val, _values, result )
1314
+ handle_continue(true)
1315
+ result
1316
+ end
1317
+ .,.,
1414
1318
 
1415
- module_eval <<'.,.,', 'src/preprocessor.y', 60
1319
+ module_eval <<'.,.,', 'src/preprocessor.y', 62
1416
1320
  def _reduce_18( val, _values, result )
1417
- result = [:IGNORE, nil]
1321
+ @cond_comp.pop
1418
1322
  result
1419
1323
  end
1420
1324
  .,.,
1421
1325
 
1422
- module_eval <<'.,.,', 'src/preprocessor.y', 61
1326
+ module_eval <<'.,.,', 'src/preprocessor.y', 66
1423
1327
  def _reduce_19( val, _values, result )
1424
- result = [:IGNORE, nil]
1328
+ @cond_comp.push(nil)
1425
1329
  result
1426
1330
  end
1427
1331
  .,.,
1428
1332
 
1429
1333
  # reduce 20 omitted
1430
1334
 
1431
- module_eval <<'.,.,', 'src/preprocessor.y', 63
1432
- def _reduce_21( val, _values, result )
1433
- result = [:IGNORE, nil]
1434
- result
1435
- end
1436
- .,.,
1335
+ # reduce 21 omitted
1437
1336
 
1438
- module_eval <<'.,.,', 'src/preprocessor.y', 64
1439
- def _reduce_22( val, _values, result )
1440
- result = [:NEWLINE, val[0]]
1441
- result
1442
- end
1443
- .,.,
1337
+ # reduce 22 omitted
1444
1338
 
1445
- module_eval <<'.,.,', 'src/preprocessor.y', 68
1446
- def _reduce_23( val, _values, result )
1447
- result = [:IGNORE_OPEN, nil]
1448
- result
1449
- end
1450
- .,.,
1339
+ # reduce 23 omitted
1451
1340
 
1452
- module_eval <<'.,.,', 'src/preprocessor.y', 69
1341
+ module_eval <<'.,.,', 'src/preprocessor.y', 74
1453
1342
  def _reduce_24( val, _values, result )
1454
- result = [:IGNORE_OPEN, nil]
1343
+ @cond_comp.pop
1455
1344
  result
1456
1345
  end
1457
1346
  .,.,
1458
1347
 
1459
- module_eval <<'.,.,', 'src/preprocessor.y', 70
1460
- def _reduce_25( val, _values, result )
1461
- result = [:IGNORE_OPEN, nil]
1462
- result
1463
- end
1464
- .,.,
1348
+ # reduce 25 omitted
1465
1349
 
1466
1350
  # reduce 26 omitted
1467
1351
 
@@ -1489,303 +1373,339 @@ module_eval <<'.,.,', 'src/preprocessor.y', 70
1489
1373
 
1490
1374
  # reduce 38 omitted
1491
1375
 
1492
- # reduce 39 omitted
1493
-
1494
- # reduce 40 omitted
1495
-
1496
- module_eval <<'.,.,', 'src/preprocessor.y', 93
1497
- def _reduce_41( val, _values, result )
1498
- result = [val[0], false]
1376
+ module_eval <<'.,.,', 'src/preprocessor.y', 109
1377
+ def _reduce_39( val, _values, result )
1378
+ @cond_comp.push(self.defined?(val[1]))
1499
1379
  result
1500
1380
  end
1501
1381
  .,.,
1502
1382
 
1503
- module_eval <<'.,.,', 'src/preprocessor.y', 94
1504
- def _reduce_42( val, _values, result )
1505
- result = [val[0], false]
1383
+ module_eval <<'.,.,', 'src/preprocessor.y', 110
1384
+ def _reduce_40( val, _values, result )
1385
+ @cond_comp.push(!self.defined?(val[1]))
1506
1386
  result
1507
1387
  end
1508
1388
  .,.,
1509
1389
 
1510
- module_eval <<'.,.,', 'src/preprocessor.y', 98
1511
- def _reduce_43( val, _values, result )
1512
- result = [:OPEN, self.defined?(val[1])]
1390
+ module_eval <<'.,.,', 'src/preprocessor.y', 111
1391
+ def _reduce_41( val, _values, result )
1392
+ @cond_comp.push(val[1] != 0)
1513
1393
  result
1514
1394
  end
1515
1395
  .,.,
1516
1396
 
1517
- module_eval <<'.,.,', 'src/preprocessor.y', 99
1518
- def _reduce_44( val, _values, result )
1519
- result = [:OPEN, !self.defined?(val[1])]
1397
+ module_eval <<'.,.,', 'src/preprocessor.y', 113
1398
+ def _reduce_42( val, _values, result )
1399
+ @cond_comp.push(false)
1520
1400
  result
1521
1401
  end
1522
1402
  .,.,
1523
1403
 
1524
- module_eval <<'.,.,', 'src/preprocessor.y', 103
1525
- def _reduce_45( val, _values, result )
1526
- result = [ val[0], val[1] != 0 ]
1404
+ module_eval <<'.,.,', 'src/preprocessor.y', 119
1405
+ def _reduce_43( val, _values, result )
1406
+ raise "should be false or nil" unless @cond_comp.pop == true
1407
+ @cond_comp.push(nil)
1527
1408
  result
1528
1409
  end
1529
1410
  .,.,
1530
1411
 
1531
- module_eval <<'.,.,', 'src/preprocessor.y', 107
1532
- def _reduce_46( val, _values, result )
1533
- result = [ val[0], val[1] != 0 ]
1412
+ module_eval <<'.,.,', 'src/preprocessor.y', 119
1413
+ def _reduce_44( val, _values, result )
1414
+ @cond_comp.pop
1534
1415
  result
1535
1416
  end
1536
1417
  .,.,
1537
1418
 
1538
- module_eval <<'.,.,', 'src/preprocessor.y', 111
1539
- def _reduce_47( val, _values, result )
1540
- result = :OPEN; self.set_resolve_nonspace
1541
- result
1542
- end
1543
- .,.,
1419
+ # reduce 45 omitted
1420
+
1421
+ # reduce 46 omitted
1544
1422
 
1545
- module_eval <<'.,.,', 'src/preprocessor.y', 115
1423
+ # reduce 47 omitted
1424
+
1425
+ module_eval <<'.,.,', 'src/preprocessor.y', 129
1546
1426
  def _reduce_48( val, _values, result )
1547
- result = :CONTINUE; self.set_resolve_nonspace
1427
+ result = val[0]; self.set_resolve_nonspace
1548
1428
  result
1549
1429
  end
1550
1430
  .,.,
1551
1431
 
1552
- module_eval <<'.,.,', 'src/preprocessor.y', 119
1432
+ module_eval <<'.,.,', 'src/preprocessor.y', 133
1553
1433
  def _reduce_49( val, _values, result )
1554
- result = [:CONTINUE, true]
1434
+ result = val[0]; self.set_resolve_nonspace
1555
1435
  result
1556
1436
  end
1557
1437
  .,.,
1558
1438
 
1559
- module_eval <<'.,.,', 'src/preprocessor.y', 123
1560
- def _reduce_50( val, _values, result )
1561
- result = [:CLOSE, false]
1439
+ # reduce 50 omitted
1440
+
1441
+ # reduce 51 omitted
1442
+
1443
+ module_eval <<'.,.,', 'src/preprocessor.y', 140
1444
+ def _reduce_52( val, _values, result )
1445
+ self.warning("#error")
1562
1446
  result
1563
1447
  end
1564
1448
  .,.,
1565
1449
 
1566
- module_eval <<'.,.,', 'src/preprocessor.y', 127
1567
- def _reduce_51( val, _values, result )
1568
- result = val[0,2]
1450
+ module_eval <<'.,.,', 'src/preprocessor.y', 141
1451
+ def _reduce_53( val, _values, result )
1452
+ self.warning("#error #{val[1]}")
1569
1453
  result
1570
1454
  end
1571
1455
  .,.,
1572
1456
 
1573
- module_eval <<'.,.,', 'src/preprocessor.y', 128
1574
- def _reduce_52( val, _values, result )
1575
- result = val[0,1]
1457
+ module_eval <<'.,.,', 'src/preprocessor.y', 142
1458
+ def _reduce_54( val, _values, result )
1459
+ self.warning("#warning")
1576
1460
  result
1577
1461
  end
1578
1462
  .,.,
1579
1463
 
1580
- # reduce 53 omitted
1581
-
1582
- # reduce 54 omitted
1583
-
1584
- # reduce 55 omitted
1464
+ module_eval <<'.,.,', 'src/preprocessor.y', 143
1465
+ def _reduce_55( val, _values, result )
1466
+ self.warning("#warning #{val[1]}")
1467
+ result
1468
+ end
1469
+ .,.,
1585
1470
 
1586
- module_eval <<'.,.,', 'src/preprocessor.y', 138
1471
+ module_eval <<'.,.,', 'src/preprocessor.y', 145
1587
1472
  def _reduce_56( val, _values, result )
1588
- result = val[0].join
1473
+ self.line = val[1].to_i
1589
1474
  result
1590
1475
  end
1591
1476
  .,.,
1592
1477
 
1593
- module_eval <<'.,.,', 'src/preprocessor.y', 142
1478
+ module_eval <<'.,.,', 'src/preprocessor.y', 151
1594
1479
  def _reduce_57( val, _values, result )
1595
- result = :PRAGMA; self.set_source
1480
+ self.line = val[1].to_i
1481
+ self.file = val[2][1...-1] # remove quotes
1596
1482
  result
1597
1483
  end
1598
1484
  .,.,
1599
1485
 
1600
- module_eval <<'.,.,', 'src/preprocessor.y', 146
1486
+ module_eval <<'.,.,', 'src/preprocessor.y', 154
1601
1487
  def _reduce_58( val, _values, result )
1602
- result = :ERROR; self.set_source
1488
+ result = val[0].join
1603
1489
  result
1604
1490
  end
1605
1491
  .,.,
1606
1492
 
1607
- module_eval <<'.,.,', 'src/preprocessor.y', 150
1493
+ module_eval <<'.,.,', 'src/preprocessor.y', 158
1608
1494
  def _reduce_59( val, _values, result )
1609
- result = :WARNING; self.set_source
1495
+ result = val[0]; self.set_source
1610
1496
  result
1611
1497
  end
1612
1498
  .,.,
1613
1499
 
1614
- module_eval <<'.,.,', 'src/preprocessor.y', 155
1500
+ module_eval <<'.,.,', 'src/preprocessor.y', 162
1615
1501
  def _reduce_60( val, _values, result )
1616
- result = val[0,2]
1502
+ result = val[0]; self.set_source
1617
1503
  result
1618
1504
  end
1619
1505
  .,.,
1620
1506
 
1621
- module_eval <<'.,.,', 'src/preprocessor.y', 165
1507
+ module_eval <<'.,.,', 'src/preprocessor.y', 166
1622
1508
  def _reduce_61( val, _values, result )
1623
- result = :INCLUDE; self.set_resolve_nonspace
1509
+ result = val[0]; self.set_source
1624
1510
  result
1625
1511
  end
1626
1512
  .,.,
1627
1513
 
1628
- module_eval <<'.,.,', 'src/preprocessor.y', 166
1514
+ module_eval <<'.,.,', 'src/preprocessor.y', 173
1629
1515
  def _reduce_62( val, _values, result )
1630
- result = :INCLUDE_NEXT; self.set_resolve_nonspace
1516
+ result = val[0]; self.set_resolve_nonspace
1631
1517
  result
1632
1518
  end
1633
1519
  .,.,
1634
1520
 
1635
- # reduce 63 omitted
1521
+ module_eval <<'.,.,', 'src/preprocessor.y', 184
1522
+ def _reduce_63( val, _values, result )
1523
+ include_file(val[1]) do |f, search_path|
1524
+ search_path.find(f)
1525
+ end
1526
+ result
1527
+ end
1528
+ .,.,
1636
1529
 
1637
- module_eval <<'.,.,', 'src/preprocessor.y', 171
1530
+ module_eval <<'.,.,', 'src/preprocessor.y', 190
1638
1531
  def _reduce_64( val, _values, result )
1639
- result = self.get_include_file
1532
+ include_file(val[1]) do |f, search_path|
1533
+ search_path.find_next(f)
1534
+ end
1640
1535
  result
1641
1536
  end
1642
1537
  .,.,
1643
1538
 
1644
- module_eval <<'.,.,', 'src/preprocessor.y', 177
1539
+ module_eval <<'.,.,', 'src/preprocessor.y', 198
1645
1540
  def _reduce_65( val, _values, result )
1646
- result = [ :DEFINE, val[0], nil, val[1] ]
1541
+ result = val[0]; self.set_resolve_nonspace
1647
1542
  result
1648
1543
  end
1649
1544
  .,.,
1650
1545
 
1651
- module_eval <<'.,.,', 'src/preprocessor.y', 179
1546
+ module_eval <<'.,.,', 'src/preprocessor.y', 202
1652
1547
  def _reduce_66( val, _values, result )
1653
- result = [ :DEFINE, val[0], val[1], val[2] ]
1548
+ result = val[0]; self.set_resolve_nonspace
1654
1549
  result
1655
1550
  end
1656
1551
  .,.,
1657
1552
 
1658
- module_eval <<'.,.,', 'src/preprocessor.y', 182
1659
- def _reduce_67( val, _values, result )
1660
- result = [ :DEFINE, val[0], nil, [] ]
1661
- result
1662
- end
1663
- .,.,
1553
+ # reduce 67 omitted
1664
1554
 
1665
- module_eval <<'.,.,', 'src/preprocessor.y', 184
1555
+ module_eval <<'.,.,', 'src/preprocessor.y', 207
1666
1556
  def _reduce_68( val, _values, result )
1667
- result = [ :DEFINE, val[0], val[1], [] ]
1557
+ result = self.get_include_file
1668
1558
  result
1669
1559
  end
1670
1560
  .,.,
1671
1561
 
1672
- module_eval <<'.,.,', 'src/preprocessor.y', 187
1562
+ module_eval <<'.,.,', 'src/preprocessor.y', 213
1673
1563
  def _reduce_69( val, _values, result )
1674
- result = [ :UNDEF, val[1] ]
1564
+ self.define(val[0], nil, val[1])
1675
1565
  result
1676
1566
  end
1677
1567
  .,.,
1678
1568
 
1679
- module_eval <<'.,.,', 'src/preprocessor.y', 191
1569
+ module_eval <<'.,.,', 'src/preprocessor.y', 215
1680
1570
  def _reduce_70( val, _values, result )
1681
- result = val[1]; self.set_source
1571
+ self.define(val[0], val[1], val[2])
1682
1572
  result
1683
1573
  end
1684
1574
  .,.,
1685
1575
 
1686
- module_eval <<'.,.,', 'src/preprocessor.y', 195
1576
+ module_eval <<'.,.,', 'src/preprocessor.y', 217
1687
1577
  def _reduce_71( val, _values, result )
1688
- result = Parameters.new()
1578
+ self.define(val[0], nil, nil)
1689
1579
  result
1690
1580
  end
1691
1581
  .,.,
1692
1582
 
1693
- module_eval <<'.,.,', 'src/preprocessor.y', 196
1583
+ module_eval <<'.,.,', 'src/preprocessor.y', 218
1694
1584
  def _reduce_72( val, _values, result )
1695
- result = val[1]
1585
+ self.define(val[0], val[1], nil)
1696
1586
  result
1697
1587
  end
1698
1588
  .,.,
1699
1589
 
1700
- module_eval <<'.,.,', 'src/preprocessor.y', 201
1590
+ module_eval <<'.,.,', 'src/preprocessor.y', 220
1701
1591
  def _reduce_73( val, _values, result )
1702
- result = val[0]; self.set_nonspace
1592
+ self.undef(val[1])
1703
1593
  result
1704
1594
  end
1705
1595
  .,.,
1706
1596
 
1707
- module_eval <<'.,.,', 'src/preprocessor.y', 206
1597
+ module_eval <<'.,.,', 'src/preprocessor.y', 224
1708
1598
  def _reduce_74( val, _values, result )
1709
- result = val[0]; self.set_source
1599
+ result = val[1]; self.set_source
1710
1600
  result
1711
1601
  end
1712
1602
  .,.,
1713
1603
 
1714
- module_eval <<'.,.,', 'src/preprocessor.y', 210
1604
+ module_eval <<'.,.,', 'src/preprocessor.y', 228
1715
1605
  def _reduce_75( val, _values, result )
1716
- result = Parameters.new(); result.with_ellipses
1606
+ result = Parameters.new()
1717
1607
  result
1718
1608
  end
1719
1609
  .,.,
1720
1610
 
1721
- # reduce 76 omitted
1611
+ module_eval <<'.,.,', 'src/preprocessor.y', 229
1612
+ def _reduce_76( val, _values, result )
1613
+ result = val[1]
1614
+ result
1615
+ end
1616
+ .,.,
1722
1617
 
1723
- module_eval <<'.,.,', 'src/preprocessor.y', 212
1618
+ module_eval <<'.,.,', 'src/preprocessor.y', 234
1724
1619
  def _reduce_77( val, _values, result )
1725
- result = val[0]; result.with_ellipses
1620
+ result = val[0]; self.set_nonspace
1726
1621
  result
1727
1622
  end
1728
1623
  .,.,
1729
1624
 
1730
- module_eval <<'.,.,', 'src/preprocessor.y', 216
1625
+ module_eval <<'.,.,', 'src/preprocessor.y', 239
1731
1626
  def _reduce_78( val, _values, result )
1732
- result = Parameters.new() << val[0]
1627
+ result = val[0]; self.set_source
1733
1628
  result
1734
1629
  end
1735
1630
  .,.,
1736
1631
 
1737
- module_eval <<'.,.,', 'src/preprocessor.y', 217
1632
+ module_eval <<'.,.,', 'src/preprocessor.y', 244
1738
1633
  def _reduce_79( val, _values, result )
1739
- result = val[0] << val[2]
1634
+ result = Parameters.new(); result.with_ellipses(val[0])
1740
1635
  result
1741
1636
  end
1742
1637
  .,.,
1743
1638
 
1744
1639
  # reduce 80 omitted
1745
1640
 
1746
- # reduce 81 omitted
1641
+ module_eval <<'.,.,', 'src/preprocessor.y', 247
1642
+ def _reduce_81( val, _values, result )
1643
+ result = val[0]; result.with_ellipses(val[2])
1644
+ result
1645
+ end
1646
+ .,.,
1747
1647
 
1748
- # reduce 82 omitted
1648
+ module_eval <<'.,.,', 'src/preprocessor.y', 251
1649
+ def _reduce_82( val, _values, result )
1650
+ result = nil
1651
+ result
1652
+ end
1653
+ .,.,
1749
1654
 
1750
- module_eval <<'.,.,', 'src/preprocessor.y', 232
1655
+ module_eval <<'.,.,', 'src/preprocessor.y', 252
1751
1656
  def _reduce_83( val, _values, result )
1752
- result = ['']
1657
+ result = val[0]
1753
1658
  result
1754
1659
  end
1755
1660
  .,.,
1756
1661
 
1757
- module_eval <<'.,.,', 'src/preprocessor.y', 233
1662
+ module_eval <<'.,.,', 'src/preprocessor.y', 256
1758
1663
  def _reduce_84( val, _values, result )
1759
- result = val[0] << val[1]
1664
+ result = Parameters.new() << val[0]
1760
1665
  result
1761
1666
  end
1762
1667
  .,.,
1763
1668
 
1764
- module_eval <<'.,.,', 'src/preprocessor.y', 237
1669
+ module_eval <<'.,.,', 'src/preprocessor.y', 257
1765
1670
  def _reduce_85( val, _values, result )
1766
- result = val[0,1]
1671
+ result = val[0] << val[2]
1767
1672
  result
1768
1673
  end
1769
1674
  .,.,
1770
1675
 
1771
- module_eval <<'.,.,', 'src/preprocessor.y', 238
1772
- def _reduce_86( val, _values, result )
1773
- result = val[0] << val[1]
1774
- result
1775
- end
1776
- .,.,
1676
+ # reduce 86 omitted
1777
1677
 
1778
1678
  # reduce 87 omitted
1779
1679
 
1780
1680
  # reduce 88 omitted
1781
1681
 
1782
- # reduce 89 omitted
1682
+ module_eval <<'.,.,', 'src/preprocessor.y', 272
1683
+ def _reduce_89( val, _values, result )
1684
+ result = ['']
1685
+ result
1686
+ end
1687
+ .,.,
1783
1688
 
1784
- # reduce 90 omitted
1689
+ module_eval <<'.,.,', 'src/preprocessor.y', 273
1690
+ def _reduce_90( val, _values, result )
1691
+ result = val[0] << val[1]
1692
+ result
1693
+ end
1694
+ .,.,
1785
1695
 
1786
- # reduce 91 omitted
1696
+ module_eval <<'.,.,', 'src/preprocessor.y', 277
1697
+ def _reduce_91( val, _values, result )
1698
+ result = val[0,1]
1699
+ result
1700
+ end
1701
+ .,.,
1787
1702
 
1788
- # reduce 92 omitted
1703
+ module_eval <<'.,.,', 'src/preprocessor.y', 278
1704
+ def _reduce_92( val, _values, result )
1705
+ result = val[0] << val[1]
1706
+ result
1707
+ end
1708
+ .,.,
1789
1709
 
1790
1710
  # reduce 93 omitted
1791
1711
 
@@ -1797,19 +1717,9 @@ module_eval <<'.,.,', 'src/preprocessor.y', 238
1797
1717
 
1798
1718
  # reduce 97 omitted
1799
1719
 
1800
- module_eval <<'.,.,', 'src/preprocessor.y', 262
1801
- def _reduce_98( val, _values, result )
1802
- result = ' '
1803
- result
1804
- end
1805
- .,.,
1720
+ # reduce 98 omitted
1806
1721
 
1807
- module_eval <<'.,.,', 'src/preprocessor.y', 263
1808
- def _reduce_99( val, _values, result )
1809
- result = ' '
1810
- result
1811
- end
1812
- .,.,
1722
+ # reduce 99 omitted
1813
1723
 
1814
1724
  # reduce 100 omitted
1815
1725
 
@@ -1819,9 +1729,19 @@ module_eval <<'.,.,', 'src/preprocessor.y', 263
1819
1729
 
1820
1730
  # reduce 103 omitted
1821
1731
 
1822
- # reduce 104 omitted
1732
+ module_eval <<'.,.,', 'src/preprocessor.y', 302
1733
+ def _reduce_104( val, _values, result )
1734
+ result = ' '
1735
+ result
1736
+ end
1737
+ .,.,
1823
1738
 
1824
- # reduce 105 omitted
1739
+ module_eval <<'.,.,', 'src/preprocessor.y', 303
1740
+ def _reduce_105( val, _values, result )
1741
+ result = ' '
1742
+ result
1743
+ end
1744
+ .,.,
1825
1745
 
1826
1746
  # reduce 106 omitted
1827
1747
 
@@ -1895,252 +1815,264 @@ module_eval <<'.,.,', 'src/preprocessor.y', 263
1895
1815
 
1896
1816
  # reduce 141 omitted
1897
1817
 
1898
- module_eval <<'.,.,', 'src/preprocessor.y', 321
1899
- def _reduce_142( val, _values, result )
1818
+ # reduce 142 omitted
1819
+
1820
+ # reduce 143 omitted
1821
+
1822
+ # reduce 144 omitted
1823
+
1824
+ # reduce 145 omitted
1825
+
1826
+ # reduce 146 omitted
1827
+
1828
+ # reduce 147 omitted
1829
+
1830
+ module_eval <<'.,.,', 'src/preprocessor.y', 361
1831
+ def _reduce_148( val, _values, result )
1900
1832
  result = val[0]; self.set_nonspace
1901
1833
  result
1902
1834
  end
1903
1835
  .,.,
1904
1836
 
1905
- # reduce 143 omitted
1837
+ # reduce 149 omitted
1906
1838
 
1907
- # reduce 144 omitted
1839
+ # reduce 150 omitted
1908
1840
 
1909
- module_eval <<'.,.,', 'src/preprocessor.y', 327
1910
- def _reduce_145( val, _values, result )
1841
+ module_eval <<'.,.,', 'src/preprocessor.y', 367
1842
+ def _reduce_151( val, _values, result )
1911
1843
  result = val[1]
1912
1844
  result
1913
1845
  end
1914
1846
  .,.,
1915
1847
 
1916
- module_eval <<'.,.,', 'src/preprocessor.y', 331
1917
- def _reduce_146( val, _values, result )
1918
- result = eval(val[0].delete('UuLlFf'))
1848
+ module_eval <<'.,.,', 'src/preprocessor.y', 371
1849
+ def _reduce_152( val, _values, result )
1850
+ result = convert_constant(val[0])
1919
1851
  result
1920
1852
  end
1921
1853
  .,.,
1922
1854
 
1923
- module_eval <<'.,.,', 'src/preprocessor.y', 332
1924
- def _reduce_147( val, _values, result )
1925
- val[0] =~ /\A'(.*)'\Z/; result = eval('?' + $1)
1855
+ module_eval <<'.,.,', 'src/preprocessor.y', 372
1856
+ def _reduce_153( val, _values, result )
1857
+ result = convert_character(val[0])
1926
1858
  result
1927
1859
  end
1928
1860
  .,.,
1929
1861
 
1930
- module_eval <<'.,.,', 'src/preprocessor.y', 334
1931
- def _reduce_148( val, _values, result )
1862
+ module_eval <<'.,.,', 'src/preprocessor.y', 374
1863
+ def _reduce_154( val, _values, result )
1932
1864
  result = self.defined?(val[1]) ? 1 : 0; self.set_resolve_nonspace
1933
1865
  result
1934
1866
  end
1935
1867
  .,.,
1936
1868
 
1937
- module_eval <<'.,.,', 'src/preprocessor.y', 342
1938
- def _reduce_149( val, _values, result )
1869
+ module_eval <<'.,.,', 'src/preprocessor.y', 382
1870
+ def _reduce_155( val, _values, result )
1939
1871
  result = 0
1940
1872
  result
1941
1873
  end
1942
1874
  .,.,
1943
1875
 
1944
- module_eval <<'.,.,', 'src/preprocessor.y', 343
1945
- def _reduce_150( val, _values, result )
1876
+ module_eval <<'.,.,', 'src/preprocessor.y', 383
1877
+ def _reduce_156( val, _values, result )
1946
1878
  result = val[1]
1947
1879
  result
1948
1880
  end
1949
1881
  .,.,
1950
1882
 
1951
- # reduce 151 omitted
1883
+ # reduce 157 omitted
1952
1884
 
1953
- module_eval <<'.,.,', 'src/preprocessor.y', 348
1954
- def _reduce_152( val, _values, result )
1885
+ module_eval <<'.,.,', 'src/preprocessor.y', 388
1886
+ def _reduce_158( val, _values, result )
1955
1887
  result = (val[1] == 0) ? 1 : 0
1956
1888
  result
1957
1889
  end
1958
1890
  .,.,
1959
1891
 
1960
- module_eval <<'.,.,', 'src/preprocessor.y', 349
1961
- def _reduce_153( val, _values, result )
1892
+ module_eval <<'.,.,', 'src/preprocessor.y', 389
1893
+ def _reduce_159( val, _values, result )
1962
1894
  result = +val[1]
1963
1895
  result
1964
1896
  end
1965
1897
  .,.,
1966
1898
 
1967
- module_eval <<'.,.,', 'src/preprocessor.y', 350
1968
- def _reduce_154( val, _values, result )
1899
+ module_eval <<'.,.,', 'src/preprocessor.y', 390
1900
+ def _reduce_160( val, _values, result )
1969
1901
  result = -val[1]
1970
1902
  result
1971
1903
  end
1972
1904
  .,.,
1973
1905
 
1974
- module_eval <<'.,.,', 'src/preprocessor.y', 351
1975
- def _reduce_155( val, _values, result )
1906
+ module_eval <<'.,.,', 'src/preprocessor.y', 391
1907
+ def _reduce_161( val, _values, result )
1976
1908
  result = ~val[1]
1977
1909
  result
1978
1910
  end
1979
1911
  .,.,
1980
1912
 
1981
- # reduce 156 omitted
1913
+ # reduce 162 omitted
1982
1914
 
1983
- # reduce 157 omitted
1915
+ # reduce 163 omitted
1984
1916
 
1985
- module_eval <<'.,.,', 'src/preprocessor.y', 360
1986
- def _reduce_158( val, _values, result )
1917
+ module_eval <<'.,.,', 'src/preprocessor.y', 400
1918
+ def _reduce_164( val, _values, result )
1987
1919
  result = val[0] * val[2]
1988
1920
  result
1989
1921
  end
1990
1922
  .,.,
1991
1923
 
1992
- module_eval <<'.,.,', 'src/preprocessor.y', 361
1993
- def _reduce_159( val, _values, result )
1924
+ module_eval <<'.,.,', 'src/preprocessor.y', 401
1925
+ def _reduce_165( val, _values, result )
1994
1926
  result = val[0] / val[2]
1995
1927
  result
1996
1928
  end
1997
1929
  .,.,
1998
1930
 
1999
- module_eval <<'.,.,', 'src/preprocessor.y', 362
2000
- def _reduce_160( val, _values, result )
1931
+ module_eval <<'.,.,', 'src/preprocessor.y', 402
1932
+ def _reduce_166( val, _values, result )
2001
1933
  result = val[0] % val[2]
2002
1934
  result
2003
1935
  end
2004
1936
  .,.,
2005
1937
 
2006
- # reduce 161 omitted
1938
+ # reduce 167 omitted
2007
1939
 
2008
- module_eval <<'.,.,', 'src/preprocessor.y', 367
2009
- def _reduce_162( val, _values, result )
1940
+ module_eval <<'.,.,', 'src/preprocessor.y', 407
1941
+ def _reduce_168( val, _values, result )
2010
1942
  result = val[0] + val[2]
2011
1943
  result
2012
1944
  end
2013
1945
  .,.,
2014
1946
 
2015
- module_eval <<'.,.,', 'src/preprocessor.y', 368
2016
- def _reduce_163( val, _values, result )
1947
+ module_eval <<'.,.,', 'src/preprocessor.y', 408
1948
+ def _reduce_169( val, _values, result )
2017
1949
  result = val[0] - val[2]
2018
1950
  result
2019
1951
  end
2020
1952
  .,.,
2021
1953
 
2022
- # reduce 164 omitted
1954
+ # reduce 170 omitted
2023
1955
 
2024
- module_eval <<'.,.,', 'src/preprocessor.y', 373
2025
- def _reduce_165( val, _values, result )
1956
+ module_eval <<'.,.,', 'src/preprocessor.y', 413
1957
+ def _reduce_171( val, _values, result )
2026
1958
  result = val[0] << val[2]
2027
1959
  result
2028
1960
  end
2029
1961
  .,.,
2030
1962
 
2031
- module_eval <<'.,.,', 'src/preprocessor.y', 374
2032
- def _reduce_166( val, _values, result )
1963
+ module_eval <<'.,.,', 'src/preprocessor.y', 414
1964
+ def _reduce_172( val, _values, result )
2033
1965
  result = val[0] >> val[2]
2034
1966
  result
2035
1967
  end
2036
1968
  .,.,
2037
1969
 
2038
- # reduce 167 omitted
1970
+ # reduce 173 omitted
2039
1971
 
2040
- module_eval <<'.,.,', 'src/preprocessor.y', 380
2041
- def _reduce_168( val, _values, result )
1972
+ module_eval <<'.,.,', 'src/preprocessor.y', 420
1973
+ def _reduce_174( val, _values, result )
2042
1974
  result = (val[0] < val[2]) ? 1 : 0
2043
1975
  result
2044
1976
  end
2045
1977
  .,.,
2046
1978
 
2047
- module_eval <<'.,.,', 'src/preprocessor.y', 382
2048
- def _reduce_169( val, _values, result )
1979
+ module_eval <<'.,.,', 'src/preprocessor.y', 422
1980
+ def _reduce_175( val, _values, result )
2049
1981
  result = (val[0] > val[2]) ? 1 : 0
2050
1982
  result
2051
1983
  end
2052
1984
  .,.,
2053
1985
 
2054
- module_eval <<'.,.,', 'src/preprocessor.y', 384
2055
- def _reduce_170( val, _values, result )
1986
+ module_eval <<'.,.,', 'src/preprocessor.y', 424
1987
+ def _reduce_176( val, _values, result )
2056
1988
  result = (val[0] <= val[2]) ? 1 : 0
2057
1989
  result
2058
1990
  end
2059
1991
  .,.,
2060
1992
 
2061
- module_eval <<'.,.,', 'src/preprocessor.y', 386
2062
- def _reduce_171( val, _values, result )
1993
+ module_eval <<'.,.,', 'src/preprocessor.y', 426
1994
+ def _reduce_177( val, _values, result )
2063
1995
  result = (val[0] >= val[2]) ? 1 : 0
2064
1996
  result
2065
1997
  end
2066
1998
  .,.,
2067
1999
 
2068
- # reduce 172 omitted
2000
+ # reduce 178 omitted
2069
2001
 
2070
- module_eval <<'.,.,', 'src/preprocessor.y', 392
2071
- def _reduce_173( val, _values, result )
2002
+ module_eval <<'.,.,', 'src/preprocessor.y', 432
2003
+ def _reduce_179( val, _values, result )
2072
2004
  result = (val[0] == val[2]) ? 1 : 0
2073
2005
  result
2074
2006
  end
2075
2007
  .,.,
2076
2008
 
2077
- module_eval <<'.,.,', 'src/preprocessor.y', 394
2078
- def _reduce_174( val, _values, result )
2009
+ module_eval <<'.,.,', 'src/preprocessor.y', 434
2010
+ def _reduce_180( val, _values, result )
2079
2011
  result = (val[0] != val[2]) ? 1 : 0
2080
2012
  result
2081
2013
  end
2082
2014
  .,.,
2083
2015
 
2084
- # reduce 175 omitted
2016
+ # reduce 181 omitted
2085
2017
 
2086
- module_eval <<'.,.,', 'src/preprocessor.y', 399
2087
- def _reduce_176( val, _values, result )
2018
+ module_eval <<'.,.,', 'src/preprocessor.y', 439
2019
+ def _reduce_182( val, _values, result )
2088
2020
  result = val[0] & val[2]
2089
2021
  result
2090
2022
  end
2091
2023
  .,.,
2092
2024
 
2093
- # reduce 177 omitted
2025
+ # reduce 183 omitted
2094
2026
 
2095
- module_eval <<'.,.,', 'src/preprocessor.y', 404
2096
- def _reduce_178( val, _values, result )
2027
+ module_eval <<'.,.,', 'src/preprocessor.y', 444
2028
+ def _reduce_184( val, _values, result )
2097
2029
  result = val[0] ^ val[2]
2098
2030
  result
2099
2031
  end
2100
2032
  .,.,
2101
2033
 
2102
- # reduce 179 omitted
2034
+ # reduce 185 omitted
2103
2035
 
2104
- module_eval <<'.,.,', 'src/preprocessor.y', 409
2105
- def _reduce_180( val, _values, result )
2036
+ module_eval <<'.,.,', 'src/preprocessor.y', 449
2037
+ def _reduce_186( val, _values, result )
2106
2038
  result = val[0] | val[2]
2107
2039
  result
2108
2040
  end
2109
2041
  .,.,
2110
2042
 
2111
- # reduce 181 omitted
2043
+ # reduce 187 omitted
2112
2044
 
2113
- module_eval <<'.,.,', 'src/preprocessor.y', 415
2114
- def _reduce_182( val, _values, result )
2045
+ module_eval <<'.,.,', 'src/preprocessor.y', 455
2046
+ def _reduce_188( val, _values, result )
2115
2047
  result = (val[0] != 0 and val[2] != 0) ? 1 : 0
2116
2048
  result
2117
2049
  end
2118
2050
  .,.,
2119
2051
 
2120
- # reduce 183 omitted
2052
+ # reduce 189 omitted
2121
2053
 
2122
- module_eval <<'.,.,', 'src/preprocessor.y', 421
2123
- def _reduce_184( val, _values, result )
2054
+ module_eval <<'.,.,', 'src/preprocessor.y', 461
2055
+ def _reduce_190( val, _values, result )
2124
2056
  result = (val[0] != 0 or val[2] != 0) ? 1 : 0
2125
2057
  result
2126
2058
  end
2127
2059
  .,.,
2128
2060
 
2129
- # reduce 185 omitted
2061
+ # reduce 191 omitted
2130
2062
 
2131
- module_eval <<'.,.,', 'src/preprocessor.y', 427
2132
- def _reduce_186( val, _values, result )
2063
+ module_eval <<'.,.,', 'src/preprocessor.y', 467
2064
+ def _reduce_192( val, _values, result )
2133
2065
  result = val[0] != 0 ? val[2] : val[4]
2134
2066
  result
2135
2067
  end
2136
2068
  .,.,
2137
2069
 
2138
- # reduce 187 omitted
2070
+ # reduce 193 omitted
2139
2071
 
2140
2072
  def _reduce_none( val, _values, result )
2141
2073
  result
2142
2074
  end
2143
2075
 
2144
- end # class StatementParser
2076
+ end # class Parser
2145
2077
 
2146
2078
  end # module Preprocessor