dbc 1.2.3 → 1.3.0

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