dbc 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,400 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by racc 1.4.4
4
+ # from racc grammer file "src/parameters.y".
5
+ #
6
+
7
+ require 'racc/parser'
8
+
9
+
10
+
11
+ require 'dbc/parseerrorhandler'
12
+
13
+ module Preprocessor
14
+
15
+ class Parameters < Array
16
+
17
+ def initialize
18
+ super
19
+ @ellipses = false
20
+ end
21
+
22
+ def with_ellipses()
23
+ raise "already has ellipses #{self}" if ellipses?
24
+ @ellipses = true
25
+ self << '__VA_ARGS__'
26
+ self.freeze
27
+ end
28
+
29
+ def ellipses?
30
+ @ellipses
31
+ end
32
+
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
+ def to_s
40
+ if ellipses?
41
+ self[0, self.length - 1] << '...'
42
+ else
43
+ self
44
+ end.join(',')
45
+ end
46
+
47
+ def inspect
48
+ "\#<#{self.class}:#{self.to_s}>"
49
+ 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])
57
+ 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(',')
62
+ end
63
+ new_args
64
+ end
65
+
66
+ end # Parameters
67
+
68
+ end # Preprocessor
69
+
70
+
71
+ module Preprocessor
72
+
73
+ class ArgumentParser < Racc::Parser
74
+
75
+ module_eval <<'..end src/parameters.y modeval..id8a18afcd01', 'src/parameters.y', 140
76
+
77
+ def ArgumentParser.parse(tokens)
78
+ self.new.parse(tokens)
79
+ end
80
+
81
+ def parse(tokens)
82
+ @q = tokens
83
+ do_parse
84
+ end
85
+
86
+ protected
87
+
88
+ include ParseErrorHandler
89
+
90
+ def next_token
91
+ t = @q.shift
92
+ case t[0]
93
+ when :SPACE, :NEWLINE, :COMMENT
94
+ t # stay the same
95
+ else
96
+ case t[1]
97
+ when '(', ')', '{', '}', ','
98
+ [t[1], t[1]].freeze
99
+ else
100
+ # everything else is just a TOKEN
101
+ [:TOKEN, t[1]].freeze
102
+ end # case
103
+ end # case
104
+ end
105
+
106
+ ..end src/parameters.y modeval..id8a18afcd01
107
+
108
+ ##### racc 1.4.4 generates ###
109
+
110
+ racc_reduce_table = [
111
+ 0, 0, :racc_error,
112
+ 0, 12, :_reduce_none,
113
+ 1, 12, :_reduce_2,
114
+ 3, 13, :_reduce_3,
115
+ 4, 13, :_reduce_4,
116
+ 2, 13, :_reduce_5,
117
+ 3, 13, :_reduce_6,
118
+ 1, 15, :_reduce_none,
119
+ 2, 15, :_reduce_8,
120
+ 1, 14, :_reduce_9,
121
+ 3, 14, :_reduce_10,
122
+ 1, 17, :_reduce_none,
123
+ 2, 17, :_reduce_12,
124
+ 1, 18, :_reduce_none,
125
+ 1, 18, :_reduce_none,
126
+ 2, 20, :_reduce_15,
127
+ 2, 20, :_reduce_16,
128
+ 3, 20, :_reduce_17,
129
+ 3, 20, :_reduce_18,
130
+ 1, 21, :_reduce_none,
131
+ 2, 21, :_reduce_20,
132
+ 1, 22, :_reduce_none,
133
+ 1, 22, :_reduce_none,
134
+ 1, 22, :_reduce_none,
135
+ 1, 19, :_reduce_none,
136
+ 1, 19, :_reduce_25,
137
+ 1, 16, :_reduce_none,
138
+ 1, 16, :_reduce_none,
139
+ 1, 16, :_reduce_none ]
140
+
141
+ racc_reduce_n = 29
142
+
143
+ racc_shift_n = 41
144
+
145
+ racc_action_table = [
146
+ 12, 3, 4, 6, 15, 9, 30, 20, 40, 12,
147
+ 3, 4, 6, 15, 22, 30, 20, 35, 12, 3,
148
+ 4, 6, 15, 25, 26, 20, 12, 3, 4, 6,
149
+ 15, 18, nil, 20, 12, 3, 4, 6, 15, 39,
150
+ 30, 20, 12, 3, 4, 6, 15, 24, nil, 20,
151
+ 12, 3, 4, 6, 15, 36, 26, 20, 12, 3,
152
+ 4, 6, 15, nil, nil, 20, 12, 3, 4, 6,
153
+ 15, 28, 30, 20, 3, 4, 6, 8, 3, 4,
154
+ 6, 11 ]
155
+
156
+ racc_action_check = [
157
+ 34, 34, 34, 34, 34, 1, 34, 34, 34, 20,
158
+ 20, 20, 20, 20, 9, 20, 20, 20, 26, 26,
159
+ 26, 26, 26, 13, 13, 26, 8, 8, 8, 8,
160
+ 8, 8, nil, 8, 32, 32, 32, 32, 32, 32,
161
+ 32, 32, 11, 11, 11, 11, 11, 11, nil, 11,
162
+ 37, 37, 37, 37, 37, 23, 23, 37, 16, 16,
163
+ 16, 16, 16, nil, nil, 16, 15, 15, 15, 15,
164
+ 15, 15, 15, 15, 0, 0, 0, 0, 5, 5,
165
+ 5, 5 ]
166
+
167
+ racc_action_pointer = [
168
+ 71, 5, nil, nil, nil, 75, nil, nil, 24, 14,
169
+ nil, 40, nil, 16, nil, 64, 56, nil, nil, nil,
170
+ 7, nil, nil, 48, nil, nil, 16, nil, nil, nil,
171
+ nil, nil, 32, nil, -2, nil, nil, 48, nil, nil,
172
+ nil ]
173
+
174
+ racc_action_default = [
175
+ -1, -29, -2, -26, -27, -29, -28, -7, -29, -29,
176
+ -8, -29, -24, -29, -25, -29, -9, -11, -5, -13,
177
+ -29, -14, 41, -29, -6, -3, -29, -19, -15, -22,
178
+ -21, -23, -29, -12, -29, -16, -4, -10, -20, -17,
179
+ -18 ]
180
+
181
+ racc_goto_table = [
182
+ 33, 29, 32, 7, 37, 31, 29, 34, 10, 13,
183
+ 31, 38, 23, 38, 5, 2, 1, nil, 29, nil,
184
+ 29, 33, 31, nil, 31 ]
185
+
186
+ racc_goto_check = [
187
+ 7, 8, 10, 5, 6, 9, 8, 10, 5, 3,
188
+ 9, 11, 3, 11, 4, 2, 1, nil, 8, nil,
189
+ 8, 7, 9, nil, 9 ]
190
+
191
+ racc_goto_pointer = [
192
+ nil, 16, 15, 1, 14, 3, -22, -16, -14, -10,
193
+ -13, -21 ]
194
+
195
+ racc_goto_default = [
196
+ nil, nil, nil, nil, nil, 14, 16, 17, 19, 21,
197
+ nil, 27 ]
198
+
199
+ racc_token_table = {
200
+ false => 0,
201
+ Object.new => 1,
202
+ :TOKEN => 2,
203
+ :SPACE => 3,
204
+ :NEWLINE => 4,
205
+ :COMMENT => 5,
206
+ "(" => 6,
207
+ ")" => 7,
208
+ "," => 8,
209
+ "{" => 9,
210
+ "}" => 10 }
211
+
212
+ racc_use_result_var = true
213
+
214
+ racc_nt_base = 11
215
+
216
+ Racc_arg = [
217
+ racc_action_table,
218
+ racc_action_check,
219
+ racc_action_default,
220
+ racc_action_pointer,
221
+ racc_goto_table,
222
+ racc_goto_check,
223
+ racc_goto_default,
224
+ racc_goto_pointer,
225
+ racc_nt_base,
226
+ racc_reduce_table,
227
+ racc_token_table,
228
+ racc_shift_n,
229
+ racc_reduce_n,
230
+ racc_use_result_var ]
231
+
232
+ Racc_token_to_s_table = [
233
+ '$end',
234
+ 'error',
235
+ 'TOKEN',
236
+ 'SPACE',
237
+ 'NEWLINE',
238
+ 'COMMENT',
239
+ '"("',
240
+ '")"',
241
+ '","',
242
+ '"{"',
243
+ '"}"',
244
+ '$start',
245
+ 'target',
246
+ 'arguments',
247
+ 'argument_list',
248
+ 'space',
249
+ 'whitespace',
250
+ 'argument',
251
+ 'nested_token',
252
+ 'basic_token',
253
+ 'nested_sequence',
254
+ 'unnested_sequence',
255
+ 'any_token']
256
+
257
+ Racc_debug_parser = false
258
+
259
+ ##### racc system variables end #####
260
+
261
+ # reduce 0 omitted
262
+
263
+ # reduce 1 omitted
264
+
265
+ module_eval <<'.,.,', 'src/parameters.y', 13
266
+ def _reduce_2( val, _values, result )
267
+ result = val[0]; yyaccept()
268
+ result
269
+ end
270
+ .,.,
271
+
272
+ module_eval <<'.,.,', 'src/parameters.y', 17
273
+ def _reduce_3( val, _values, result )
274
+ result = val[1]
275
+ result
276
+ end
277
+ .,.,
278
+
279
+ module_eval <<'.,.,', 'src/parameters.y', 18
280
+ def _reduce_4( val, _values, result )
281
+ result = val[2]
282
+ result
283
+ end
284
+ .,.,
285
+
286
+ module_eval <<'.,.,', 'src/parameters.y', 19
287
+ def _reduce_5( val, _values, result )
288
+ result = []
289
+ result
290
+ end
291
+ .,.,
292
+
293
+ module_eval <<'.,.,', 'src/parameters.y', 20
294
+ def _reduce_6( val, _values, result )
295
+ result = []
296
+ result
297
+ end
298
+ .,.,
299
+
300
+ # reduce 7 omitted
301
+
302
+ module_eval <<'.,.,', 'src/parameters.y', 25
303
+ def _reduce_8( val, _values, result )
304
+ result = val[0,2].join
305
+ result
306
+ end
307
+ .,.,
308
+
309
+ module_eval <<'.,.,', 'src/parameters.y', 29
310
+ def _reduce_9( val, _values, result )
311
+ result = val[0,1]
312
+ result
313
+ end
314
+ .,.,
315
+
316
+ module_eval <<'.,.,', 'src/parameters.y', 30
317
+ def _reduce_10( val, _values, result )
318
+ result = val[0] << val[2]
319
+ result
320
+ end
321
+ .,.,
322
+
323
+ # reduce 11 omitted
324
+
325
+ module_eval <<'.,.,', 'src/parameters.y', 35
326
+ def _reduce_12( val, _values, result )
327
+ result = val[0,2].join
328
+ result
329
+ end
330
+ .,.,
331
+
332
+ # reduce 13 omitted
333
+
334
+ # reduce 14 omitted
335
+
336
+ module_eval <<'.,.,', 'src/parameters.y', 44
337
+ def _reduce_15( val, _values, result )
338
+ result = val[0,2].join
339
+ result
340
+ end
341
+ .,.,
342
+
343
+ module_eval <<'.,.,', 'src/parameters.y', 45
344
+ def _reduce_16( val, _values, result )
345
+ result = val[0,2].join
346
+ result
347
+ end
348
+ .,.,
349
+
350
+ module_eval <<'.,.,', 'src/parameters.y', 46
351
+ def _reduce_17( val, _values, result )
352
+ result = val[0,3].join
353
+ result
354
+ end
355
+ .,.,
356
+
357
+ module_eval <<'.,.,', 'src/parameters.y', 47
358
+ def _reduce_18( val, _values, result )
359
+ result = val[0,3].join
360
+ result
361
+ end
362
+ .,.,
363
+
364
+ # reduce 19 omitted
365
+
366
+ module_eval <<'.,.,', 'src/parameters.y', 52
367
+ def _reduce_20( val, _values, result )
368
+ result = val[0,2].join
369
+ result
370
+ end
371
+ .,.,
372
+
373
+ # reduce 21 omitted
374
+
375
+ # reduce 22 omitted
376
+
377
+ # reduce 23 omitted
378
+
379
+ # reduce 24 omitted
380
+
381
+ module_eval <<'.,.,', 'src/parameters.y', 66
382
+ def _reduce_25( val, _values, result )
383
+ result = ' '
384
+ result
385
+ end
386
+ .,.,
387
+
388
+ # reduce 26 omitted
389
+
390
+ # reduce 27 omitted
391
+
392
+ # reduce 28 omitted
393
+
394
+ def _reduce_none( val, _values, result )
395
+ result
396
+ end
397
+
398
+ end # class ArgumentParser
399
+
400
+ end # module Preprocessor
@@ -0,0 +1,19 @@
1
+ # Copyright (c) 2004 Charles M Mills
2
+ # This document is licenced under The MIT Licence.
3
+ # THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
4
+ # See included LICENCE file.
5
+
6
+ module ParseErrorHandler
7
+ def on_error(error_token_id, error_value, value_stack)
8
+ str = 'parse error '
9
+ if value_stack.length > 0
10
+ str << "after '#{value_stack.join(' ')}' "
11
+ #str << "after'#{value_stack.inspect}' "
12
+ end
13
+ str << 'on '
14
+ str << token_to_str(error_token_id).downcase << ' '
15
+ str << error_value.inspect
16
+ raise ParseError, str
17
+ end
18
+ end
19
+
@@ -0,0 +1,1790 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by racc 1.4.4
4
+ # from racc grammer file "src/preprocessor.y".
5
+ #
6
+
7
+ require 'racc/parser'
8
+
9
+
10
+
11
+ require 'dbc/ctokenizer'
12
+
13
+ # can be wrapped by a lexer
14
+ module Preprocessor
15
+
16
+ require 'dbc/define'
17
+
18
+ class Tokens
19
+
20
+ include CTokenizer
21
+
22
+ def initialize(source)
23
+ @tokens = []
24
+ self.add_source(source)
25
+ end
26
+
27
+ attr_reader :start_line
28
+
29
+ def add_source(source)
30
+ @tokens.push(source)
31
+ @start_line = true # begining of file
32
+ end
33
+
34
+ def base?
35
+ @tokens.length == 1
36
+ end
37
+
38
+ def empty?
39
+ @tokens.length == 1 and @tokens.last.empty?
40
+ end
41
+
42
+ def file
43
+ @tokens.last.file
44
+ end
45
+
46
+ def line
47
+ @tokens.last.line
48
+ end
49
+
50
+ def shift
51
+ t = @tokens.last.shift
52
+ while !t[0] and @tokens.length > 1
53
+ # we are done with the current file
54
+ @tokens.pop
55
+ t = @tokens.last.shift
56
+ end # while
57
+ case t[0]
58
+ when :NEWLINE
59
+ @start_line = true
60
+ when :SPACE, :COMMENT, false
61
+ # do nothing, keeping @start_line the same
62
+ else
63
+ @start_line = false;
64
+ end # case
65
+ t
66
+ end
67
+
68
+ end # Tokens
69
+
70
+ # According to the C standard we must keep track of
71
+ # which tokens have been resolved. Allowing each token
72
+ # to be resolved at the most once for any given macro.
73
+
74
+ # this is a pretty ugly mix in - but it prevents some code duplication at the moment.
75
+ # uses @source, @macro_tokens, @resolving instance variables :(
76
+ module Resolve
77
+ def add_tokens(tokens)
78
+ @macro_tokens =
79
+ CTokenizer::Lexer.new(tokens, @source.file, @source.line).to_a + @macro_tokens
80
+ end
81
+ def resolving?(t)
82
+ @resolving.member?(t)
83
+ end
84
+ def resolve(t)
85
+ sym = t[1]
86
+ if t[0] == :IDENTIFIER and macro = @defines[sym] and not resolving?(sym)
87
+ if @macro_tokens.empty?
88
+ # don't resolve macro function parameters on the first pass
89
+ add_tokens(macro.value(@source))
90
+ else
91
+ add_tokens(macro.value(self))
92
+ end
93
+ @resolving[sym] = true
94
+ t = self.shift
95
+ @resolving.delete(sym)
96
+ end
97
+ t
98
+ end
99
+ end
100
+
101
+ class Parser < CTokenizer::LexerBase
102
+
103
+ include CTokenizer
104
+ include Resolve
105
+
106
+ def initialize(source, file=nil, line=1, &upon_include)
107
+ @upon_include = upon_include
108
+ if source.class <= String
109
+ source = CTokenizer::Lexer.new(source, file, line)
110
+ end
111
+ @source = Tokens.new(source)
112
+ @cond_comp = [true] # conditional compile is true at base
113
+ @parser = StatementParser.new
114
+
115
+ @macro_tokens = []
116
+ @defines = {}
117
+ @resolving = {}
118
+ end
119
+
120
+ def defined?(macro)
121
+ @defines.include?(macro)
122
+ end
123
+
124
+ def define(macro, params=nil, tokens=nil)
125
+ self.error("cannot use 'defined' as a macro name") if macro == 'defined'
126
+ @defines[macro] = Define.new(params, tokens)
127
+ end
128
+
129
+ def undef(macro)
130
+ @defines.delete(macro)
131
+ end
132
+
133
+ def base?
134
+ @source.base?
135
+ end
136
+
137
+ def empty?
138
+ @source.empty? and @macro_tokens.empty?
139
+ end
140
+
141
+ def shift
142
+ if @macro_tokens.empty?
143
+ t = nil
144
+ loop do
145
+ start_line = @source.start_line
146
+ t = @source.shift
147
+ if t[1] == '#'
148
+ self.token_error('#') unless start_line
149
+ # replace t with whitespace
150
+ t = self.parse_statement
151
+ end
152
+ # if @cond_comp.last is true then
153
+ # we need to process the tokens
154
+ break if @cond_comp.last or !t[0]
155
+ end # loop
156
+ else
157
+ t = @macro_tokens.shift
158
+ end # if
159
+ resolve(t)
160
+ end
161
+
162
+ protected
163
+
164
+ # @macro_tokens is empty when we parse a statement
165
+ def parse_statement
166
+ start = self.line # save line number
167
+ @in_statement = true
168
+ result = @parser.parse(@source, @defines)
169
+ @in_statement = false
170
+ if @cond_comp.last
171
+ case result[0]
172
+ when :OPEN
173
+ @cond_comp.push result[1]
174
+ when :CONTINUE
175
+ # conditional compilation: #if, #endif stuff
176
+ # true: implies compile at current position
177
+ # false: don't compile at the current position, but
178
+ # do compile if you find a conditional that is true
179
+ # nil: implies you don't compile at the current postion
180
+ # or any subsequence position
181
+ raise "impossible" unless @cond_comp.pop == true
182
+ @cond_comp.push nil
183
+ when :CLOSE
184
+ @cond_comp.pop
185
+ when :DEFINE
186
+ self.define(result[1], result[2], result[3])
187
+ when :UNDEF
188
+ self.undef(result[1])
189
+ when :INCLUDE
190
+ # note: we don't keep track of recursive includes
191
+ f = result[1]
192
+ str = @upon_include.call(f)
193
+ if str.class == String
194
+ str = CTokenizer::Lexer.new(str, f)
195
+ end
196
+ @source.add_source(str) if str
197
+ when :PRAGMA
198
+ # ignore
199
+ when :ERROR
200
+ self.warning("\#error #{result[1]}")
201
+ when :EMPTY
202
+ # do nothing
203
+ else
204
+ self.error("unexpected preprocessor directive: #{result[0].to_s.downcase}")
205
+ end # case
206
+ else # we are ignoring these tokens
207
+ case result[0]
208
+ when :OPEN
209
+ @cond_comp.push false
210
+ when :CONTINUE
211
+ # @cond_comp.length >= 2 since the first element is
212
+ # always true and we know the last is false or nil
213
+ if @cond_comp[@cond_comp.length - 2] # 2nd to last
214
+ case @cond_comp.pop
215
+ when nil
216
+ # don't use rest, see :CONTINUE above
217
+ @cond_comp.push nil
218
+ when false
219
+ # maybe use rest
220
+ @cond_comp.push result[1]
221
+ else
222
+ raise "impossible!"
223
+ end # case
224
+ end # if
225
+ when :CLOSE
226
+ @cond_comp.pop
227
+ end # case
228
+ end #if
229
+ CTokenizer.create_newlines(start, self.line)
230
+ end
231
+ end # Parser
232
+
233
+ end # Preprocessor
234
+
235
+
236
+ module Preprocessor
237
+
238
+ class StatementParser < Racc::Parser
239
+
240
+ module_eval <<'..end src/preprocessor.y modeval..id1cfa2334fc', 'src/preprocessor.y', 605
241
+
242
+ include Resolve
243
+
244
+ def defined?(t)
245
+ @defines.member?(t)
246
+ end
247
+
248
+ def parse(source, defines)
249
+ @source = source
250
+ @macro_tokens = []
251
+
252
+ @defines = defines
253
+ @resolving = {}
254
+
255
+ @ignore_space = true
256
+ @evaluate_tokens = false
257
+
258
+ #@yydebug = true
259
+ begin
260
+ do_parse
261
+ rescue ParseError
262
+ @preproc.error($!)
263
+ end
264
+ end
265
+
266
+ protected
267
+
268
+ attr_writer :ignore_space, :evaluate_tokens
269
+
270
+ def ignore_space?
271
+ @ignore_space
272
+ end
273
+
274
+ def evaluate_tokens?
275
+ @evaluate_tokens
276
+ end
277
+
278
+ include ParseErrorHandler
279
+
280
+ def next_nonspace
281
+ t = yield
282
+ t = yield while t[0] == :SPACE or t[0] == :COMMENT
283
+ t
284
+ end
285
+
286
+ def shift
287
+ if @macro_tokens.empty?
288
+ t = @source.shift
289
+ else
290
+ t = @macro_tokens.shift
291
+ end
292
+ if evaluate_tokens?
293
+ resolve(t)
294
+ else
295
+ t
296
+ end
297
+ end
298
+
299
+ def next_token
300
+ t = if ignore_space?
301
+ next_nonspace do
302
+ shift
303
+ end
304
+ else
305
+ shift
306
+ end
307
+ CTokenizer::CPLexer.convert_token(t)
308
+ end
309
+
310
+ ..end src/preprocessor.y modeval..id1cfa2334fc
311
+
312
+ ##### racc 1.4.4 generates ###
313
+
314
+ racc_reduce_table = [
315
+ 0, 0, :racc_error,
316
+ 2, 56, :_reduce_1,
317
+ 1, 56, :_reduce_2,
318
+ 1, 57, :_reduce_none,
319
+ 1, 57, :_reduce_none,
320
+ 1, 57, :_reduce_none,
321
+ 1, 57, :_reduce_none,
322
+ 1, 57, :_reduce_none,
323
+ 2, 60, :_reduce_8,
324
+ 1, 60, :_reduce_9,
325
+ 1, 60, :_reduce_10,
326
+ 1, 60, :_reduce_11,
327
+ 2, 66, :_reduce_12,
328
+ 2, 66, :_reduce_13,
329
+ 1, 64, :_reduce_14,
330
+ 1, 64, :_reduce_15,
331
+ 1, 61, :_reduce_16,
332
+ 2, 62, :_reduce_17,
333
+ 1, 68, :_reduce_18,
334
+ 1, 68, :_reduce_19,
335
+ 2, 63, :_reduce_20,
336
+ 1, 63, :_reduce_21,
337
+ 2, 63, :_reduce_22,
338
+ 1, 63, :_reduce_23,
339
+ 1, 71, :_reduce_24,
340
+ 1, 70, :_reduce_25,
341
+ 1, 72, :_reduce_26,
342
+ 1, 69, :_reduce_27,
343
+ 3, 69, :_reduce_28,
344
+ 1, 75, :_reduce_29,
345
+ 2, 75, :_reduce_30,
346
+ 1, 77, :_reduce_none,
347
+ 1, 77, :_reduce_none,
348
+ 1, 77, :_reduce_none,
349
+ 1, 77, :_reduce_none,
350
+ 1, 77, :_reduce_none,
351
+ 1, 77, :_reduce_none,
352
+ 1, 77, :_reduce_none,
353
+ 1, 77, :_reduce_none,
354
+ 1, 77, :_reduce_none,
355
+ 1, 77, :_reduce_none,
356
+ 1, 74, :_reduce_41,
357
+ 1, 76, :_reduce_42,
358
+ 2, 59, :_reduce_43,
359
+ 3, 59, :_reduce_44,
360
+ 1, 59, :_reduce_45,
361
+ 2, 59, :_reduce_46,
362
+ 2, 59, :_reduce_47,
363
+ 2, 78, :_reduce_48,
364
+ 2, 79, :_reduce_49,
365
+ 3, 79, :_reduce_50,
366
+ 1, 81, :_reduce_51,
367
+ 1, 82, :_reduce_52,
368
+ 1, 83, :_reduce_53,
369
+ 1, 83, :_reduce_none,
370
+ 3, 83, :_reduce_55,
371
+ 1, 84, :_reduce_56,
372
+ 3, 84, :_reduce_57,
373
+ 1, 58, :_reduce_none,
374
+ 1, 67, :_reduce_none,
375
+ 1, 67, :_reduce_none,
376
+ 1, 73, :_reduce_61,
377
+ 2, 73, :_reduce_62,
378
+ 1, 80, :_reduce_63,
379
+ 2, 80, :_reduce_64,
380
+ 1, 87, :_reduce_none,
381
+ 1, 87, :_reduce_none,
382
+ 1, 87, :_reduce_none,
383
+ 1, 87, :_reduce_none,
384
+ 1, 87, :_reduce_none,
385
+ 1, 87, :_reduce_none,
386
+ 1, 87, :_reduce_none,
387
+ 1, 87, :_reduce_none,
388
+ 1, 87, :_reduce_none,
389
+ 1, 87, :_reduce_none,
390
+ 1, 87, :_reduce_none,
391
+ 1, 86, :_reduce_76,
392
+ 1, 86, :_reduce_77,
393
+ 1, 88, :_reduce_none,
394
+ 1, 85, :_reduce_none,
395
+ 1, 85, :_reduce_none,
396
+ 1, 85, :_reduce_none,
397
+ 1, 85, :_reduce_none,
398
+ 1, 85, :_reduce_none,
399
+ 1, 85, :_reduce_none,
400
+ 1, 85, :_reduce_none,
401
+ 1, 85, :_reduce_none,
402
+ 1, 85, :_reduce_none,
403
+ 1, 85, :_reduce_none,
404
+ 1, 85, :_reduce_none,
405
+ 1, 85, :_reduce_none,
406
+ 1, 85, :_reduce_none,
407
+ 1, 89, :_reduce_none,
408
+ 1, 89, :_reduce_none,
409
+ 1, 89, :_reduce_none,
410
+ 1, 89, :_reduce_none,
411
+ 1, 89, :_reduce_none,
412
+ 1, 89, :_reduce_none,
413
+ 1, 89, :_reduce_none,
414
+ 1, 89, :_reduce_none,
415
+ 1, 89, :_reduce_none,
416
+ 1, 89, :_reduce_none,
417
+ 1, 89, :_reduce_none,
418
+ 1, 89, :_reduce_none,
419
+ 1, 89, :_reduce_none,
420
+ 1, 89, :_reduce_none,
421
+ 1, 89, :_reduce_none,
422
+ 1, 89, :_reduce_none,
423
+ 1, 89, :_reduce_none,
424
+ 1, 89, :_reduce_none,
425
+ 1, 89, :_reduce_none,
426
+ 1, 89, :_reduce_none,
427
+ 1, 89, :_reduce_none,
428
+ 1, 89, :_reduce_none,
429
+ 1, 89, :_reduce_none,
430
+ 1, 89, :_reduce_none,
431
+ 1, 89, :_reduce_none,
432
+ 1, 89, :_reduce_none,
433
+ 1, 90, :_reduce_118,
434
+ 1, 91, :_reduce_none,
435
+ 1, 91, :_reduce_none,
436
+ 3, 91, :_reduce_121,
437
+ 1, 92, :_reduce_122,
438
+ 1, 92, :_reduce_123,
439
+ 1, 92, :_reduce_124,
440
+ 2, 92, :_reduce_125,
441
+ 1, 92, :_reduce_126,
442
+ 3, 92, :_reduce_127,
443
+ 1, 93, :_reduce_none,
444
+ 2, 93, :_reduce_129,
445
+ 2, 93, :_reduce_130,
446
+ 2, 93, :_reduce_131,
447
+ 1, 94, :_reduce_none,
448
+ 1, 95, :_reduce_none,
449
+ 3, 95, :_reduce_134,
450
+ 3, 95, :_reduce_135,
451
+ 3, 95, :_reduce_136,
452
+ 1, 96, :_reduce_none,
453
+ 3, 96, :_reduce_138,
454
+ 3, 96, :_reduce_139,
455
+ 1, 97, :_reduce_none,
456
+ 3, 97, :_reduce_141,
457
+ 3, 97, :_reduce_142,
458
+ 1, 98, :_reduce_none,
459
+ 3, 98, :_reduce_144,
460
+ 3, 98, :_reduce_145,
461
+ 3, 98, :_reduce_146,
462
+ 3, 98, :_reduce_147,
463
+ 1, 99, :_reduce_none,
464
+ 3, 99, :_reduce_149,
465
+ 3, 99, :_reduce_150,
466
+ 1, 100, :_reduce_none,
467
+ 3, 100, :_reduce_152,
468
+ 1, 101, :_reduce_none,
469
+ 3, 101, :_reduce_154,
470
+ 1, 102, :_reduce_none,
471
+ 3, 102, :_reduce_156,
472
+ 1, 103, :_reduce_none,
473
+ 3, 103, :_reduce_158,
474
+ 1, 104, :_reduce_none,
475
+ 3, 104, :_reduce_160,
476
+ 1, 105, :_reduce_none,
477
+ 5, 105, :_reduce_162,
478
+ 1, 65, :_reduce_none ]
479
+
480
+ racc_reduce_n = 164
481
+
482
+ racc_shift_n = 207
483
+
484
+ racc_action_table = [
485
+ 98, 167, 168, 109, 112, 115, 118, 121, 125, 89,
486
+ 93, 96, 100, 105, 108, 111, 114, 117, 120, 124,
487
+ 88, 92, 99, 102, 106, 110, 37, 135, 49, 50,
488
+ 126, 91, 30, 32, 33, 34, 35, 36, 38, 40,
489
+ 42, 43, 28, 29, 97, 101, 104, 107, 113, 116,
490
+ 39, 119, 123, 98, 167, 168, 109, 112, 115, 118,
491
+ 121, 125, 89, 93, 96, 100, 105, 108, 111, 114,
492
+ 117, 120, 124, 88, 92, 99, 102, 106, 110, 37,
493
+ 150, 49, 50, 126, 91, 30, 32, 33, 34, 35,
494
+ 36, 38, 40, 42, 43, 28, 29, 97, 101, 104,
495
+ 107, 113, 116, 39, 119, 123, 98, 167, 168, 109,
496
+ 112, 115, 118, 121, 125, 89, 93, 96, 100, 105,
497
+ 108, 111, 114, 117, 120, 124, 88, 92, 99, 102,
498
+ 106, 110, 37, 204, 49, 50, 126, 91, 30, 32,
499
+ 33, 34, 35, 36, 38, 40, 42, 43, 28, 29,
500
+ 97, 101, 104, 107, 113, 116, 39, 119, 123, 98,
501
+ 167, 168, 109, 112, 115, 118, 121, 125, 89, 93,
502
+ 96, 100, 105, 108, 111, 114, 117, 120, 124, 88,
503
+ 92, 99, 102, 106, 110, 37, 159, 49, 50, 126,
504
+ 91, 30, 32, 33, 34, 35, 36, 38, 40, 42,
505
+ 43, 28, 29, 97, 101, 104, 107, 113, 116, 39,
506
+ 119, 123, 70, 49, 50, 78, 160, 53, 151, 84,
507
+ 86, 170, 171, 172, 173, 170, 171, 172, 173, 45,
508
+ 157, 55, 49, 50, 69, 72, 75, 158, 37, 170,
509
+ 171, 172, 173, 205, 30, 32, 33, 34, 35, 36,
510
+ 38, 40, 42, 43, 28, 29, 67, 70, 165, 166,
511
+ 78, 37, 39, 129, 84, 86, 177, 30, 32, 33,
512
+ 34, 35, 36, 38, 40, 42, 43, 28, 29, 69,
513
+ 72, 75, 158, 37, 157, 39, 162, 163, 164, 30,
514
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
515
+ 29, 67, 70, 165, 166, 78, 37, 39, 185, 84,
516
+ 86, 151, 30, 32, 33, 34, 35, 36, 38, 40,
517
+ 42, 43, 28, 29, 69, 72, 75, 20, 37, 150,
518
+ 39, 162, 163, 164, 30, 32, 33, 34, 35, 36,
519
+ 38, 40, 42, 43, 28, 29, 67, 70, 148, 149,
520
+ 78, 37, 39, 52, 84, 86, nil, 30, 32, 33,
521
+ 34, 35, 36, 38, 40, 42, 43, 28, 29, 69,
522
+ 72, 75, nil, 37, nil, 39, 162, 163, 164, 30,
523
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
524
+ 29, 67, 70, 49, 50, 78, 37, 39, nil, 84,
525
+ 86, nil, 30, 32, 33, 34, 35, 36, 38, 40,
526
+ 42, 43, 28, 29, 69, 72, 75, nil, 37, nil,
527
+ 39, 148, 149, nil, 30, 32, 33, 34, 35, 36,
528
+ 38, 40, 42, 43, 28, 29, 67, 70, 165, 166,
529
+ 78, 20, 39, nil, 84, 86, 5, 8, 10, 13,
530
+ 15, 18, 21, 23, 25, 27, 1, 3, nil, 69,
531
+ 72, 75, nil, 37, 167, 168, nil, nil, nil, 30,
532
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
533
+ 29, 67, 70, nil, nil, 78, nil, 39, nil, 84,
534
+ 86, nil, nil, nil, nil, nil, nil, nil, nil, nil,
535
+ nil, nil, nil, nil, 69, 72, 75, nil, 37, nil,
536
+ nil, nil, nil, nil, 30, 32, 33, 34, 35, 36,
537
+ 38, 40, 42, 43, 28, 29, 67, 70, nil, nil,
538
+ 78, nil, 39, nil, 84, 86, nil, nil, nil, nil,
539
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 69,
540
+ 72, 75, nil, 37, nil, nil, nil, nil, nil, 30,
541
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
542
+ 29, 67, 70, nil, nil, 78, nil, 39, nil, 84,
543
+ 86, nil, nil, nil, nil, nil, nil, nil, nil, nil,
544
+ nil, nil, nil, nil, 69, 72, 75, nil, 37, nil,
545
+ nil, nil, nil, nil, 30, 32, 33, 34, 35, 36,
546
+ 38, 40, 42, 43, 28, 29, 67, 70, nil, nil,
547
+ 78, nil, 39, nil, 84, 86, nil, nil, nil, nil,
548
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 69,
549
+ 72, 75, nil, 37, nil, nil, nil, nil, nil, 30,
550
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
551
+ 29, 67, 70, nil, nil, 78, nil, 39, nil, 84,
552
+ 86, nil, nil, nil, nil, nil, nil, nil, nil, nil,
553
+ nil, nil, nil, nil, 69, 72, 75, nil, 37, nil,
554
+ nil, nil, nil, nil, 30, 32, 33, 34, 35, 36,
555
+ 38, 40, 42, 43, 28, 29, 67, 70, nil, nil,
556
+ 78, nil, 39, nil, 84, 86, nil, nil, nil, nil,
557
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 69,
558
+ 72, 75, nil, 37, nil, nil, nil, nil, nil, 30,
559
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
560
+ 29, 67, 70, nil, nil, 78, nil, 39, nil, 84,
561
+ 86, nil, nil, nil, nil, nil, nil, nil, nil, nil,
562
+ nil, nil, nil, nil, 69, 72, 75, nil, 37, nil,
563
+ nil, nil, nil, nil, 30, 32, 33, 34, 35, 36,
564
+ 38, 40, 42, 43, 28, 29, 67, 70, nil, nil,
565
+ 78, nil, 39, nil, 84, 86, nil, nil, nil, nil,
566
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 69,
567
+ 72, 75, nil, 37, nil, nil, nil, nil, nil, 30,
568
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
569
+ 29, 67, 70, nil, nil, 78, nil, 39, nil, 84,
570
+ 86, nil, nil, nil, nil, nil, nil, nil, nil, nil,
571
+ nil, nil, nil, nil, 69, 72, 75, nil, 37, nil,
572
+ nil, nil, nil, nil, 30, 32, 33, 34, 35, 36,
573
+ 38, 40, 42, 43, 28, 29, 67, 70, nil, nil,
574
+ 78, nil, 39, nil, 84, 86, nil, nil, nil, nil,
575
+ nil, nil, nil, nil, nil, nil, 98, nil, nil, 69,
576
+ 72, 75, nil, 37, nil, nil, nil, nil, nil, 30,
577
+ 32, 33, 34, 35, 36, 38, 40, 42, 43, 28,
578
+ 29, 67, 37, nil, nil, nil, nil, 39, 30, 32,
579
+ 33, 34, 35, 36, 38, 40, 42, 43, 28, 29,
580
+ 155, 70, nil, nil, 78, nil, 39, nil, 84, 86,
581
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
582
+ 98, nil, nil, 69, 72, 75, nil, 37, nil, nil,
583
+ nil, nil, nil, 30, 32, 33, 34, 35, 36, 38,
584
+ 40, 42, 43, 28, 29, 67, 37, nil, nil, nil,
585
+ nil, 39, 30, 32, 33, 34, 35, 36, 38, 40,
586
+ 42, 43, 28, 29, 155, 70, nil, nil, 78, nil,
587
+ 39, nil, 84, 86, nil, nil, nil, nil, nil, nil,
588
+ nil, nil, nil, nil, nil, nil, nil, 69, 72, 75,
589
+ nil, 37, nil, nil, nil, nil, nil, 30, 32, 33,
590
+ 34, 35, 36, 38, 40, 42, 43, 28, 29, 67,
591
+ 70, nil, nil, 78, nil, 39, nil, 84, 86, nil,
592
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
593
+ nil, nil, 69, 72, 75, nil, 37, nil, nil, nil,
594
+ nil, nil, 30, 32, 33, 34, 35, 36, 38, 40,
595
+ 42, 43, 28, 29, 67, 70, nil, nil, 78, nil,
596
+ 39, nil, 84, 86, nil, nil, nil, nil, nil, nil,
597
+ nil, nil, nil, nil, nil, nil, nil, 69, 72, 75,
598
+ 70, 37, nil, nil, nil, nil, nil, 30, 32, 33,
599
+ 34, 35, 36, 38, 40, 42, 43, 28, 29, 67,
600
+ nil, nil, 69, 72, 75, 39, 37, nil, nil, nil,
601
+ nil, nil, 30, 32, 33, 34, 35, 36, 38, 40,
602
+ 42, 43, 28, 29, 67, 70, nil, nil, 78, nil,
603
+ 39, nil, 84, 86, nil, nil, nil, nil, nil, nil,
604
+ nil, nil, nil, nil, nil, nil, nil, 69, 72, 75,
605
+ 70, 37, nil, nil, nil, nil, nil, 30, 32, 33,
606
+ 34, 35, 36, 38, 40, 42, 43, 28, 29, 67,
607
+ nil, nil, 69, 72, 75, 39, 37, nil, nil, 70,
608
+ nil, nil, 30, 32, 33, 34, 35, 36, 38, 40,
609
+ 42, 43, 28, 29, 67, nil, nil, nil, nil, nil,
610
+ 39, 69, 72, 75, nil, 37, nil, nil, nil, nil,
611
+ nil, 30, 32, 33, 34, 35, 36, 38, 40, 42,
612
+ 43, 28, 29, 67, 70, nil, nil, 78, nil, 39,
613
+ nil, 84, 86, nil, nil, nil, nil, nil, nil, nil,
614
+ nil, nil, nil, nil, nil, nil, 69, 72, 75, nil,
615
+ 37, nil, nil, nil, nil, nil, 30, 32, 33, 34,
616
+ 35, 36, 38, 40, 42, 43, 28, 29, 67, nil,
617
+ nil, nil, nil, nil, 39, 140, 141, 142, 143, 144,
618
+ 146, nil, nil, nil, nil, nil, nil, nil, nil, nil,
619
+ nil, nil, nil, nil, 139, nil, nil, nil, 37, nil,
620
+ nil, nil, 147, 136, 30, 32, 33, 34, 35, 36,
621
+ 38, 40, 42, 43, 28, 29, 140, 141, 142, 143,
622
+ 144, 146, 39, nil, nil, nil, 179, nil, nil, nil,
623
+ nil, nil, nil, nil, nil, 139, nil, nil, nil, 37,
624
+ nil, nil, nil, 147, 136, 30, 32, 33, 34, 35,
625
+ 36, 38, 40, 42, 43, 28, 29, nil, 37, nil,
626
+ nil, nil, nil, 39, 30, 32, 33, 34, 35, 36,
627
+ 38, 40, 42, 43, 28, 29, nil, 37, 203, nil,
628
+ nil, nil, 39, 30, 32, 33, 34, 35, 36, 38,
629
+ 40, 42, 43, 28, 29, nil, 129, 130, nil, nil,
630
+ nil, 39 ]
631
+
632
+ racc_action_check = [
633
+ 46, 198, 198, 46, 46, 46, 46, 46, 46, 46,
634
+ 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
635
+ 46, 46, 46, 46, 46, 46, 46, 52, 46, 46,
636
+ 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
637
+ 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
638
+ 46, 46, 46, 103, 201, 201, 103, 103, 103, 103,
639
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
640
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
641
+ 184, 103, 103, 103, 103, 103, 103, 103, 103, 103,
642
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
643
+ 103, 103, 103, 103, 103, 103, 61, 200, 200, 61,
644
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
645
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
646
+ 61, 61, 61, 186, 61, 61, 61, 61, 61, 61,
647
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
648
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 48,
649
+ 199, 199, 48, 48, 48, 48, 48, 48, 48, 48,
650
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
651
+ 48, 48, 48, 48, 48, 48, 76, 48, 48, 48,
652
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
653
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
654
+ 48, 48, 160, 4, 4, 160, 76, 7, 187, 160,
655
+ 160, 182, 182, 182, 182, 181, 181, 181, 181, 4,
656
+ 188, 7, 12, 12, 160, 160, 160, 189, 160, 85,
657
+ 85, 85, 85, 190, 160, 160, 160, 160, 160, 160,
658
+ 160, 160, 160, 160, 160, 160, 160, 168, 197, 197,
659
+ 168, 8, 160, 132, 168, 168, 133, 8, 8, 8,
660
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 168,
661
+ 168, 168, 73, 168, 71, 8, 81, 81, 81, 168,
662
+ 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
663
+ 168, 168, 167, 196, 196, 167, 10, 168, 152, 167,
664
+ 167, 66, 10, 10, 10, 10, 10, 10, 10, 10,
665
+ 10, 10, 10, 10, 167, 167, 167, 9, 167, 64,
666
+ 10, 194, 194, 194, 167, 167, 167, 167, 167, 167,
667
+ 167, 167, 167, 167, 167, 167, 167, 166, 183, 183,
668
+ 166, 3, 167, 6, 166, 166, nil, 3, 3, 3,
669
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 166,
670
+ 166, 166, nil, 166, nil, 3, 195, 195, 195, 166,
671
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
672
+ 166, 166, 165, 17, 17, 165, 1, 166, nil, 165,
673
+ 165, nil, 1, 1, 1, 1, 1, 1, 1, 1,
674
+ 1, 1, 1, 1, 165, 165, 165, nil, 165, nil,
675
+ 1, 63, 63, nil, 165, 165, 165, 165, 165, 165,
676
+ 165, 165, 165, 165, 165, 165, 165, 164, 82, 82,
677
+ 164, 0, 165, nil, 164, 164, 0, 0, 0, 0,
678
+ 0, 0, 0, 0, 0, 0, 0, 0, nil, 164,
679
+ 164, 164, nil, 164, 83, 83, nil, nil, nil, 164,
680
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
681
+ 164, 164, 163, nil, nil, 163, nil, 164, nil, 163,
682
+ 163, nil, nil, nil, nil, nil, nil, nil, nil, nil,
683
+ nil, nil, nil, nil, 163, 163, 163, nil, 163, nil,
684
+ nil, nil, nil, nil, 163, 163, 163, 163, 163, 163,
685
+ 163, 163, 163, 163, 163, 163, 163, 26, nil, nil,
686
+ 26, nil, 163, nil, 26, 26, nil, nil, nil, nil,
687
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 26,
688
+ 26, 26, nil, 26, nil, nil, nil, nil, nil, 26,
689
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
690
+ 26, 26, 205, nil, nil, 205, nil, 26, nil, 205,
691
+ 205, nil, nil, nil, nil, nil, nil, nil, nil, nil,
692
+ nil, nil, nil, nil, 205, 205, 205, nil, 205, nil,
693
+ nil, nil, nil, nil, 205, 205, 205, 205, 205, 205,
694
+ 205, 205, 205, 205, 205, 205, 205, 162, nil, nil,
695
+ 162, nil, 205, nil, 162, 162, nil, nil, nil, nil,
696
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 162,
697
+ 162, 162, nil, 162, nil, nil, nil, nil, nil, 162,
698
+ 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
699
+ 162, 162, 171, nil, nil, 171, nil, 162, nil, 171,
700
+ 171, nil, nil, nil, nil, nil, nil, nil, nil, nil,
701
+ nil, nil, nil, nil, 171, 171, 171, nil, 171, nil,
702
+ nil, nil, nil, nil, 171, 171, 171, 171, 171, 171,
703
+ 171, 171, 171, 171, 171, 171, 171, 170, nil, nil,
704
+ 170, nil, 171, nil, 170, 170, nil, nil, nil, nil,
705
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 170,
706
+ 170, 170, nil, 170, nil, nil, nil, nil, nil, 170,
707
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
708
+ 170, 170, 159, nil, nil, 159, nil, 170, nil, 159,
709
+ 159, nil, nil, nil, nil, nil, nil, nil, nil, nil,
710
+ nil, nil, nil, nil, 159, 159, 159, nil, 159, nil,
711
+ nil, nil, nil, nil, 159, 159, 159, 159, 159, 159,
712
+ 159, 159, 159, 159, 159, 159, 159, 172, nil, nil,
713
+ 172, nil, 159, nil, 172, 172, nil, nil, nil, nil,
714
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 172,
715
+ 172, 172, nil, 172, nil, nil, nil, nil, nil, 172,
716
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
717
+ 172, 172, 158, nil, nil, 158, nil, 172, nil, 158,
718
+ 158, nil, nil, nil, nil, nil, nil, nil, nil, nil,
719
+ nil, nil, nil, nil, 158, 158, 158, nil, 158, nil,
720
+ nil, nil, nil, nil, 158, 158, 158, 158, 158, 158,
721
+ 158, 158, 158, 158, 158, 158, 158, 157, nil, nil,
722
+ 157, nil, 158, nil, 157, 157, nil, nil, nil, nil,
723
+ nil, nil, nil, nil, nil, nil, 155, nil, nil, 157,
724
+ 157, 157, nil, 157, nil, nil, nil, nil, nil, 157,
725
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
726
+ 157, 157, 155, nil, nil, nil, nil, 157, 155, 155,
727
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
728
+ 155, 67, nil, nil, 67, nil, 155, nil, 67, 67,
729
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
730
+ 68, nil, nil, 67, 67, 67, nil, 67, nil, nil,
731
+ nil, nil, nil, 67, 67, 67, 67, 67, 67, 67,
732
+ 67, 67, 67, 67, 67, 67, 68, nil, nil, nil,
733
+ nil, 67, 68, 68, 68, 68, 68, 68, 68, 68,
734
+ 68, 68, 68, 68, 68, 151, nil, nil, 151, nil,
735
+ 68, nil, 151, 151, nil, nil, nil, nil, nil, nil,
736
+ nil, nil, nil, nil, nil, nil, nil, 151, 151, 151,
737
+ nil, 151, nil, nil, nil, nil, nil, 151, 151, 151,
738
+ 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
739
+ 150, nil, nil, 150, nil, 151, nil, 150, 150, nil,
740
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
741
+ nil, nil, 150, 150, 150, nil, 150, nil, nil, nil,
742
+ nil, nil, 150, 150, 150, 150, 150, 150, 150, 150,
743
+ 150, 150, 150, 150, 150, 149, nil, nil, 149, nil,
744
+ 150, nil, 149, 149, nil, nil, nil, nil, nil, nil,
745
+ nil, nil, nil, nil, nil, nil, nil, 149, 149, 149,
746
+ 78, 149, nil, nil, nil, nil, nil, 149, 149, 149,
747
+ 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
748
+ nil, nil, 78, 78, 78, 149, 78, nil, nil, nil,
749
+ nil, nil, 78, 78, 78, 78, 78, 78, 78, 78,
750
+ 78, 78, 78, 78, 78, 148, nil, nil, 148, nil,
751
+ 78, nil, 148, 148, nil, nil, nil, nil, nil, nil,
752
+ nil, nil, nil, nil, nil, nil, nil, 148, 148, 148,
753
+ 84, 148, nil, nil, nil, nil, nil, 148, 148, 148,
754
+ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
755
+ nil, nil, 84, 84, 84, 148, 84, nil, nil, 86,
756
+ nil, nil, 84, 84, 84, 84, 84, 84, 84, 84,
757
+ 84, 84, 84, 84, 84, nil, nil, nil, nil, nil,
758
+ 84, 86, 86, 86, nil, 86, nil, nil, nil, nil,
759
+ nil, 86, 86, 86, 86, 86, 86, 86, 86, 86,
760
+ 86, 86, 86, 86, 173, nil, nil, 173, nil, 86,
761
+ nil, 173, 173, nil, nil, nil, nil, nil, nil, nil,
762
+ nil, nil, nil, nil, nil, nil, 173, 173, 173, nil,
763
+ 173, nil, nil, nil, nil, nil, 173, 173, 173, 173,
764
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, nil,
765
+ nil, nil, nil, nil, 173, 56, 56, 56, 56, 56,
766
+ 56, nil, nil, nil, nil, nil, nil, nil, nil, nil,
767
+ nil, nil, nil, nil, 56, nil, nil, nil, 56, nil,
768
+ nil, nil, 56, 56, 56, 56, 56, 56, 56, 56,
769
+ 56, 56, 56, 56, 56, 56, 145, 145, 145, 145,
770
+ 145, 145, 56, nil, nil, nil, 145, nil, nil, nil,
771
+ nil, nil, nil, nil, nil, 145, nil, nil, nil, 145,
772
+ nil, nil, nil, 145, 145, 145, 145, 145, 145, 145,
773
+ 145, 145, 145, 145, 145, 145, 145, nil, 177, nil,
774
+ nil, nil, nil, 145, 177, 177, 177, 177, 177, 177,
775
+ 177, 177, 177, 177, 177, 177, nil, 47, 177, nil,
776
+ nil, nil, 177, 47, 47, 47, 47, 47, 47, 47,
777
+ 47, 47, 47, 47, 47, nil, 47, 47, nil, nil,
778
+ nil, 47 ]
779
+
780
+ racc_action_pointer = [
781
+ 412, 368, nil, 323, 183, nil, 353, 204, 233, 298,
782
+ 278, nil, 202, nil, nil, nil, nil, 363, nil, nil,
783
+ nil, nil, nil, nil, nil, nil, 525, nil, nil, nil,
784
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
785
+ nil, nil, nil, nil, nil, nil, -2, 1399, 157, nil,
786
+ nil, nil, 27, nil, nil, nil, 1320, nil, nil, nil,
787
+ nil, 104, nil, 404, 310, nil, 291, 949, 968, nil,
788
+ nil, 263, nil, 260, nil, nil, 163, nil, 1128, nil,
789
+ nil, 280, 429, 453, 1198, 226, 1227, nil, nil, nil,
790
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
791
+ nil, nil, nil, 51, nil, nil, nil, nil, nil, nil,
792
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
793
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
794
+ nil, nil, 216, 217, nil, nil, nil, nil, nil, nil,
795
+ nil, nil, nil, nil, nil, 1361, nil, nil, 1173, 1103,
796
+ 1058, 1013, 261, nil, nil, 904, nil, 885, 840, 750,
797
+ 210, nil, 615, 480, 435, 390, 345, 300, 255, nil,
798
+ 705, 660, 795, 1272, nil, nil, nil, 1380, nil, nil,
799
+ nil, 212, 208, 331, 61, nil, 86, 198, 209, 215,
800
+ 189, nil, nil, nil, 325, 370, 294, 249, -10, 149,
801
+ 96, 43, nil, nil, nil, 570, nil ]
802
+
803
+ racc_action_default = [
804
+ -164, -164, -10, -164, -45, -11, -164, -164, -164, -164,
805
+ -164, -2, -21, -14, -3, -15, -4, -23, -16, -5,
806
+ -58, -18, -6, -19, -7, -25, -9, -26, -88, -87,
807
+ -82, -47, -80, -81, -79, -83, -84, -59, -85, -89,
808
+ -86, -60, -91, -90, -48, -51, -46, -164, -43, -76,
809
+ -77, -61, -164, -41, -17, -27, -164, -12, -1, -13,
810
+ -20, -24, -22, -151, -153, -126, -155, -164, -164, -122,
811
+ -118, -157, -123, -159, -128, -124, -161, -132, -164, -163,
812
+ -133, -137, -140, -143, -164, -148, -164, -8, -112, -99,
813
+ -71, -69, -113, -100, -72, -70, -103, -101, -78, -65,
814
+ -104, -102, -66, -44, -116, -105, -67, -117, -106, -93,
815
+ -68, -107, -94, -74, -108, -95, -75, -109, -96, -114,
816
+ -110, -97, -73, -115, -111, -98, -92, -63, -56, -52,
817
+ -53, -49, -164, -54, -62, 207, -40, -29, -31, -39,
818
+ -33, -34, -35, -36, -37, -164, -38, -32, -164, -164,
819
+ -164, -164, -164, -120, -119, -164, -125, -164, -164, -164,
820
+ -164, -129, -164, -164, -164, -164, -164, -164, -164, -130,
821
+ -164, -164, -164, -164, -131, -64, -50, -164, -30, -42,
822
+ -28, -149, -150, -152, -154, -127, -164, -156, -158, -160,
823
+ -164, -134, -135, -136, -138, -139, -141, -142, -144, -146,
824
+ -145, -147, -57, -55, -121, -164, -162 ]
825
+
826
+ racc_goto_table = [
827
+ 31, 87, 44, 137, 153, 131, 156, 57, 127, 59,
828
+ 51, 11, 60, 161, 191, 192, 193, 62, 51, 169,
829
+ 58, 174, 4, 51, 198, 199, 200, 201, 194, 195,
830
+ 181, 182, 196, 197, 48, 56, 145, 180, 12, 17,
831
+ 46, 103, 152, 47, 54, 95, 128, 95, 132, 133,
832
+ 7, 2, 26, 24, 22, 138, 19, 16, 14, 6,
833
+ 95, 9, 183, 184, 187, 175, 188, 154, 189, 206,
834
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
835
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
836
+ 176, 153, 178, 186, nil, nil, nil, nil, nil, nil,
837
+ nil, nil, 95, nil, nil, nil, nil, nil, nil, nil,
838
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
839
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
840
+ nil, nil, nil, nil, nil, 190, nil, nil, nil, nil,
841
+ nil, nil, nil, nil, 138, nil, nil, nil, nil, nil,
842
+ nil, nil, nil, nil, 154, nil, nil, nil, nil, nil,
843
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
844
+ nil, nil, nil, nil, nil, nil, 202 ]
845
+
846
+ racc_goto_check = [
847
+ 12, 10, 12, 22, 33, 27, 36, 12, 32, 12,
848
+ 31, 3, 16, 37, 39, 39, 39, 16, 31, 37,
849
+ 3, 37, 23, 31, 42, 42, 42, 42, 40, 40,
850
+ 43, 43, 41, 41, 18, 19, 20, 21, 15, 17,
851
+ 24, 25, 10, 26, 14, 12, 12, 12, 28, 29,
852
+ 13, 11, 9, 8, 7, 12, 6, 5, 4, 1,
853
+ 12, 2, 44, 45, 46, 32, 47, 12, 48, 50,
854
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
855
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
856
+ 27, 33, 22, 36, nil, nil, nil, nil, nil, nil,
857
+ nil, nil, 12, nil, nil, nil, nil, nil, nil, nil,
858
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
859
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
860
+ nil, nil, nil, nil, nil, 10, nil, nil, nil, nil,
861
+ nil, nil, nil, nil, 12, nil, nil, nil, nil, nil,
862
+ nil, nil, nil, nil, 12, nil, nil, nil, nil, nil,
863
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
864
+ nil, nil, nil, nil, nil, nil, 12 ]
865
+
866
+ racc_goto_pointer = [
867
+ nil, 59, 61, 11, 58, 57, 56, 54, 53, 52,
868
+ -25, 51, -1, 50, 37, 38, 0, 39, 30, 28,
869
+ -20, -108, -53, 22, 36, -5, 39, -42, 1, 2,
870
+ nil, 6, -38, -64, nil, nil, -62, -65, nil, -148,
871
+ -137, -135, -146, -118, -88, -88, -93, -92, -91, nil,
872
+ -136 ]
873
+
874
+ racc_goto_default = [
875
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
876
+ nil, nil, 65, nil, nil, nil, nil, nil, 61, nil,
877
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
878
+ 41, 122, 134, 90, 94, 68, nil, 74, 77, 80,
879
+ 81, 82, 83, 85, 63, 64, 66, 71, 73, 76,
880
+ 79 ]
881
+
882
+ racc_token_table = {
883
+ false => 0,
884
+ Object.new => 1,
885
+ "defined" => 2,
886
+ :UPLUS => 3,
887
+ :UMINUS => 4,
888
+ "!" => 5,
889
+ "*" => 6,
890
+ "/" => 7,
891
+ "%" => 8,
892
+ "+" => 9,
893
+ "-" => 10,
894
+ "<<" => 11,
895
+ ">>" => 12,
896
+ "<" => 13,
897
+ "<=" => 14,
898
+ ">" => 15,
899
+ ">=" => 16,
900
+ "==" => 17,
901
+ "!=" => 18,
902
+ "&" => 19,
903
+ "^" => 20,
904
+ "|" => 21,
905
+ "&&" => 22,
906
+ "||" => 23,
907
+ :INTEGER => 24,
908
+ :FLOAT => 25,
909
+ :CHARACTER => 26,
910
+ :STRING => 27,
911
+ :IDENTIFIER => 28,
912
+ :NEWLINE => 29,
913
+ :SPACE => 30,
914
+ :COMMENT => 31,
915
+ :SYMBOL => 32,
916
+ :UNKNOWN => 33,
917
+ "else" => 34,
918
+ "ifdef" => 35,
919
+ "ifndef" => 36,
920
+ "if" => 37,
921
+ "elif" => 38,
922
+ "endif" => 39,
923
+ "include" => 40,
924
+ "include_next" => 41,
925
+ "pragma" => 42,
926
+ "error" => 43,
927
+ "undef" => 44,
928
+ "define" => 45,
929
+ "(" => 46,
930
+ ")" => 47,
931
+ "..." => 48,
932
+ "," => 49,
933
+ "#" => 50,
934
+ "##" => 51,
935
+ "line" => 52,
936
+ "?" => 53,
937
+ ":" => 54 }
938
+
939
+ racc_use_result_var = true
940
+
941
+ racc_nt_base = 55
942
+
943
+ Racc_arg = [
944
+ racc_action_table,
945
+ racc_action_check,
946
+ racc_action_default,
947
+ racc_action_pointer,
948
+ racc_goto_table,
949
+ racc_goto_check,
950
+ racc_goto_default,
951
+ racc_goto_pointer,
952
+ racc_nt_base,
953
+ racc_reduce_table,
954
+ racc_token_table,
955
+ racc_shift_n,
956
+ racc_reduce_n,
957
+ racc_use_result_var ]
958
+
959
+ Racc_token_to_s_table = [
960
+ '$end',
961
+ 'error',
962
+ '"defined"',
963
+ 'UPLUS',
964
+ 'UMINUS',
965
+ '"!"',
966
+ '"*"',
967
+ '"/"',
968
+ '"%"',
969
+ '"+"',
970
+ '"-"',
971
+ '"<<"',
972
+ '">>"',
973
+ '"<"',
974
+ '"<="',
975
+ '">"',
976
+ '">="',
977
+ '"=="',
978
+ '"!="',
979
+ '"&"',
980
+ '"^"',
981
+ '"|"',
982
+ '"&&"',
983
+ '"||"',
984
+ 'INTEGER',
985
+ 'FLOAT',
986
+ 'CHARACTER',
987
+ 'STRING',
988
+ 'IDENTIFIER',
989
+ 'NEWLINE',
990
+ 'SPACE',
991
+ 'COMMENT',
992
+ 'SYMBOL',
993
+ 'UNKNOWN',
994
+ '"else"',
995
+ '"ifdef"',
996
+ '"ifndef"',
997
+ '"if"',
998
+ '"elif"',
999
+ '"endif"',
1000
+ '"include"',
1001
+ '"include_next"',
1002
+ '"pragma"',
1003
+ '"error"',
1004
+ '"undef"',
1005
+ '"define"',
1006
+ '"("',
1007
+ '")"',
1008
+ '"..."',
1009
+ '","',
1010
+ '"#"',
1011
+ '"##"',
1012
+ '"line"',
1013
+ '"?"',
1014
+ '":"',
1015
+ '$start',
1016
+ 'target',
1017
+ 'statement',
1018
+ 'end_of_statement',
1019
+ 'macro_statement',
1020
+ 'open_continue_condition',
1021
+ 'close_condition',
1022
+ 'include_statement',
1023
+ 'directive',
1024
+ 'if_elif',
1025
+ 'expression',
1026
+ 'open_condition',
1027
+ 'identifier',
1028
+ 'include_directive',
1029
+ 'include_file',
1030
+ 'pragma_directive',
1031
+ 'directive_text',
1032
+ 'error_directive',
1033
+ 'text',
1034
+ 'open_include',
1035
+ 'include_string',
1036
+ 'close_include',
1037
+ 'include_text',
1038
+ 'define_identifier',
1039
+ 'parameters',
1040
+ 'text_nospace',
1041
+ 'param_start',
1042
+ 'param_finish',
1043
+ 'init_parameter_list',
1044
+ 'parameter_list',
1045
+ 'partially_reserved_word',
1046
+ 'space_token',
1047
+ 'text_token',
1048
+ 'completely_reserved_word',
1049
+ 'symbol_token',
1050
+ 'defined_check',
1051
+ 'defined_identifier',
1052
+ 'constant_exp',
1053
+ 'unary_expression',
1054
+ 'cast_expression',
1055
+ 'multiplicative_expression',
1056
+ 'additive_expression',
1057
+ 'shift_expression',
1058
+ 'relational_expression',
1059
+ 'equality_expression',
1060
+ 'and_expression',
1061
+ 'exclusive_or_expression',
1062
+ 'inclusive_or_expression',
1063
+ 'logical_and_expression',
1064
+ 'logical_or_expression',
1065
+ 'conditional_expression']
1066
+
1067
+ Racc_debug_parser = false
1068
+
1069
+ ##### racc system variables end #####
1070
+
1071
+ # reduce 0 omitted
1072
+
1073
+ module_eval <<'.,.,', 'src/preprocessor.y', 27
1074
+ def _reduce_1( val, _values, result )
1075
+ result = val[0]; yyaccept
1076
+ result
1077
+ end
1078
+ .,.,
1079
+
1080
+ module_eval <<'.,.,', 'src/preprocessor.y', 28
1081
+ def _reduce_2( val, _values, result )
1082
+ result = [:EMPTY, nil]; yyaccept
1083
+ result
1084
+ end
1085
+ .,.,
1086
+
1087
+ # reduce 3 omitted
1088
+
1089
+ # reduce 4 omitted
1090
+
1091
+ # reduce 5 omitted
1092
+
1093
+ # reduce 6 omitted
1094
+
1095
+ # reduce 7 omitted
1096
+
1097
+ module_eval <<'.,.,', 'src/preprocessor.y', 41
1098
+ def _reduce_8( val, _values, result )
1099
+ result = [ val[0], val[1] != 0 ]
1100
+ result
1101
+ end
1102
+ .,.,
1103
+
1104
+ module_eval <<'.,.,', 'src/preprocessor.y', 43
1105
+ def _reduce_9( val, _values, result )
1106
+ result = [val[0], false]
1107
+ result
1108
+ end
1109
+ .,.,
1110
+
1111
+ module_eval <<'.,.,', 'src/preprocessor.y', 44
1112
+ def _reduce_10( val, _values, result )
1113
+ result = [:OPEN, val[0]]
1114
+ result
1115
+ end
1116
+ .,.,
1117
+
1118
+ module_eval <<'.,.,', 'src/preprocessor.y', 45
1119
+ def _reduce_11( val, _values, result )
1120
+ result = [:CONTINUE, true]
1121
+ result
1122
+ end
1123
+ .,.,
1124
+
1125
+ module_eval <<'.,.,', 'src/preprocessor.y', 50
1126
+ def _reduce_12( val, _values, result )
1127
+ result = self.defined?(val[1])
1128
+ result
1129
+ end
1130
+ .,.,
1131
+
1132
+ module_eval <<'.,.,', 'src/preprocessor.y', 52
1133
+ def _reduce_13( val, _values, result )
1134
+ result = !(self.defined?(val[1]))
1135
+ result
1136
+ end
1137
+ .,.,
1138
+
1139
+ module_eval <<'.,.,', 'src/preprocessor.y', 56
1140
+ def _reduce_14( val, _values, result )
1141
+ result = :OPEN; self.evaluate_tokens = true
1142
+ result
1143
+ end
1144
+ .,.,
1145
+
1146
+ module_eval <<'.,.,', 'src/preprocessor.y', 57
1147
+ def _reduce_15( val, _values, result )
1148
+ result = :CONTINUE; self.evaluate_tokens = true
1149
+ result
1150
+ end
1151
+ .,.,
1152
+
1153
+ module_eval <<'.,.,', 'src/preprocessor.y', 61
1154
+ def _reduce_16( val, _values, result )
1155
+ result = [:CLOSE, false]
1156
+ result
1157
+ end
1158
+ .,.,
1159
+
1160
+ module_eval <<'.,.,', 'src/preprocessor.y', 66
1161
+ def _reduce_17( val, _values, result )
1162
+ result = val[0,2]; self.evaluate_tokens = false
1163
+ result
1164
+ end
1165
+ .,.,
1166
+
1167
+ module_eval <<'.,.,', 'src/preprocessor.y', 70
1168
+ def _reduce_18( val, _values, result )
1169
+ result = :INCLUDE; self.evaluate_tokens = true
1170
+ result
1171
+ end
1172
+ .,.,
1173
+
1174
+ module_eval <<'.,.,', 'src/preprocessor.y', 71
1175
+ def _reduce_19( val, _values, result )
1176
+ result = :INCLUDE_NEXT; self.evaluate_tokens = true
1177
+ result
1178
+ end
1179
+ .,.,
1180
+
1181
+ module_eval <<'.,.,', 'src/preprocessor.y', 75
1182
+ def _reduce_20( val, _values, result )
1183
+ result = [:PRAGMA, val[1]]
1184
+ result
1185
+ end
1186
+ .,.,
1187
+
1188
+ module_eval <<'.,.,', 'src/preprocessor.y', 76
1189
+ def _reduce_21( val, _values, result )
1190
+ result = [:PRAGMA, '']
1191
+ result
1192
+ end
1193
+ .,.,
1194
+
1195
+ module_eval <<'.,.,', 'src/preprocessor.y', 77
1196
+ def _reduce_22( val, _values, result )
1197
+ result = [:ERROR, val[1]]
1198
+ result
1199
+ end
1200
+ .,.,
1201
+
1202
+ module_eval <<'.,.,', 'src/preprocessor.y', 78
1203
+ def _reduce_23( val, _values, result )
1204
+ result = [:ERROR, '']
1205
+ result
1206
+ end
1207
+ .,.,
1208
+
1209
+ module_eval <<'.,.,', 'src/preprocessor.y', 82
1210
+ def _reduce_24( val, _values, result )
1211
+ result = val[0].join
1212
+ result
1213
+ end
1214
+ .,.,
1215
+
1216
+ module_eval <<'.,.,', 'src/preprocessor.y', 86
1217
+ def _reduce_25( val, _values, result )
1218
+ result = val[0]; self.ignore_space = false
1219
+ result
1220
+ end
1221
+ .,.,
1222
+
1223
+ module_eval <<'.,.,', 'src/preprocessor.y', 90
1224
+ def _reduce_26( val, _values, result )
1225
+ result = val[0]; self.ignore_space=false
1226
+ result
1227
+ end
1228
+ .,.,
1229
+
1230
+ module_eval <<'.,.,', 'src/preprocessor.y', 94
1231
+ def _reduce_27( val, _values, result )
1232
+ val[0] =~ /\A"(.*)"\Z/; result = $1
1233
+ result
1234
+ end
1235
+ .,.,
1236
+
1237
+ module_eval <<'.,.,', 'src/preprocessor.y', 95
1238
+ def _reduce_28( val, _values, result )
1239
+ result = val[1]
1240
+ result
1241
+ end
1242
+ .,.,
1243
+
1244
+ module_eval <<'.,.,', 'src/preprocessor.y', 99
1245
+ def _reduce_29( val, _values, result )
1246
+ result = val[0].dup
1247
+ result
1248
+ end
1249
+ .,.,
1250
+
1251
+ module_eval <<'.,.,', 'src/preprocessor.y', 100
1252
+ def _reduce_30( val, _values, result )
1253
+ result = val[0] << val[1]
1254
+ result
1255
+ end
1256
+ .,.,
1257
+
1258
+ # reduce 31 omitted
1259
+
1260
+ # reduce 32 omitted
1261
+
1262
+ # reduce 33 omitted
1263
+
1264
+ # reduce 34 omitted
1265
+
1266
+ # reduce 35 omitted
1267
+
1268
+ # reduce 36 omitted
1269
+
1270
+ # reduce 37 omitted
1271
+
1272
+ # reduce 38 omitted
1273
+
1274
+ # reduce 39 omitted
1275
+
1276
+ # reduce 40 omitted
1277
+
1278
+ module_eval <<'.,.,', 'src/preprocessor.y', 117
1279
+ def _reduce_41( val, _values, result )
1280
+ result = val[0]; self.ignore_space=false
1281
+ result
1282
+ end
1283
+ .,.,
1284
+
1285
+ module_eval <<'.,.,', 'src/preprocessor.y', 121
1286
+ def _reduce_42( val, _values, result )
1287
+ result = val[0]; self.ignore_space=true
1288
+ result
1289
+ end
1290
+ .,.,
1291
+
1292
+ module_eval <<'.,.,', 'src/preprocessor.y', 127
1293
+ def _reduce_43( val, _values, result )
1294
+ result = [ :DEFINE, val[0], nil, val[1] ]
1295
+ result
1296
+ end
1297
+ .,.,
1298
+
1299
+ module_eval <<'.,.,', 'src/preprocessor.y', 129
1300
+ def _reduce_44( val, _values, result )
1301
+ result = [ :DEFINE, val[0], val[1], val[2] ]
1302
+ result
1303
+ end
1304
+ .,.,
1305
+
1306
+ module_eval <<'.,.,', 'src/preprocessor.y', 132
1307
+ def _reduce_45( val, _values, result )
1308
+ result = [ :DEFINE, val[0], nil, [] ]
1309
+ result
1310
+ end
1311
+ .,.,
1312
+
1313
+ module_eval <<'.,.,', 'src/preprocessor.y', 134
1314
+ def _reduce_46( val, _values, result )
1315
+ result = [ :DEFINE, val[0], val[1], [] ]
1316
+ result
1317
+ end
1318
+ .,.,
1319
+
1320
+ module_eval <<'.,.,', 'src/preprocessor.y', 137
1321
+ def _reduce_47( val, _values, result )
1322
+ result = [ :UNDEF, val[1] ]
1323
+ result
1324
+ end
1325
+ .,.,
1326
+
1327
+ module_eval <<'.,.,', 'src/preprocessor.y', 141
1328
+ def _reduce_48( val, _values, result )
1329
+ result = val[1]; self.ignore_space=false
1330
+ result
1331
+ end
1332
+ .,.,
1333
+
1334
+ module_eval <<'.,.,', 'src/preprocessor.y', 145
1335
+ def _reduce_49( val, _values, result )
1336
+ result = Parameters.new()
1337
+ result
1338
+ end
1339
+ .,.,
1340
+
1341
+ module_eval <<'.,.,', 'src/preprocessor.y', 146
1342
+ def _reduce_50( val, _values, result )
1343
+ result = val[1]
1344
+ result
1345
+ end
1346
+ .,.,
1347
+
1348
+ module_eval <<'.,.,', 'src/preprocessor.y', 151
1349
+ def _reduce_51( val, _values, result )
1350
+ result = val[0]; self.ignore_space=true
1351
+ result
1352
+ end
1353
+ .,.,
1354
+
1355
+ module_eval <<'.,.,', 'src/preprocessor.y', 156
1356
+ def _reduce_52( val, _values, result )
1357
+ result = val[0]; self.ignore_space=false
1358
+ result
1359
+ end
1360
+ .,.,
1361
+
1362
+ module_eval <<'.,.,', 'src/preprocessor.y', 160
1363
+ def _reduce_53( val, _values, result )
1364
+ result = Parameters.new(); result.with_ellipses
1365
+ result
1366
+ end
1367
+ .,.,
1368
+
1369
+ # reduce 54 omitted
1370
+
1371
+ module_eval <<'.,.,', 'src/preprocessor.y', 162
1372
+ def _reduce_55( val, _values, result )
1373
+ result = val[0]; result.with_ellipses
1374
+ result
1375
+ end
1376
+ .,.,
1377
+
1378
+ module_eval <<'.,.,', 'src/preprocessor.y', 166
1379
+ def _reduce_56( val, _values, result )
1380
+ result = Parameters.new() << val[0]
1381
+ result
1382
+ end
1383
+ .,.,
1384
+
1385
+ module_eval <<'.,.,', 'src/preprocessor.y', 167
1386
+ def _reduce_57( val, _values, result )
1387
+ result = val[0] << val[2]
1388
+ result
1389
+ end
1390
+ .,.,
1391
+
1392
+ # reduce 58 omitted
1393
+
1394
+ # reduce 59 omitted
1395
+
1396
+ # reduce 60 omitted
1397
+
1398
+ module_eval <<'.,.,', 'src/preprocessor.y', 182
1399
+ def _reduce_61( val, _values, result )
1400
+ result = ['']
1401
+ result
1402
+ end
1403
+ .,.,
1404
+
1405
+ module_eval <<'.,.,', 'src/preprocessor.y', 183
1406
+ def _reduce_62( val, _values, result )
1407
+ result = val[0] << val[1]
1408
+ result
1409
+ end
1410
+ .,.,
1411
+
1412
+ module_eval <<'.,.,', 'src/preprocessor.y', 187
1413
+ def _reduce_63( val, _values, result )
1414
+ result = val[0,1]
1415
+ result
1416
+ end
1417
+ .,.,
1418
+
1419
+ module_eval <<'.,.,', 'src/preprocessor.y', 188
1420
+ def _reduce_64( val, _values, result )
1421
+ result = val[0] << val[1]
1422
+ result
1423
+ end
1424
+ .,.,
1425
+
1426
+ # reduce 65 omitted
1427
+
1428
+ # reduce 66 omitted
1429
+
1430
+ # reduce 67 omitted
1431
+
1432
+ # reduce 68 omitted
1433
+
1434
+ # reduce 69 omitted
1435
+
1436
+ # reduce 70 omitted
1437
+
1438
+ # reduce 71 omitted
1439
+
1440
+ # reduce 72 omitted
1441
+
1442
+ # reduce 73 omitted
1443
+
1444
+ # reduce 74 omitted
1445
+
1446
+ # reduce 75 omitted
1447
+
1448
+ module_eval <<'.,.,', 'src/preprocessor.y', 208
1449
+ def _reduce_76( val, _values, result )
1450
+ result = ' '
1451
+ result
1452
+ end
1453
+ .,.,
1454
+
1455
+ module_eval <<'.,.,', 'src/preprocessor.y', 209
1456
+ def _reduce_77( val, _values, result )
1457
+ result = ' '
1458
+ result
1459
+ end
1460
+ .,.,
1461
+
1462
+ # reduce 78 omitted
1463
+
1464
+ # reduce 79 omitted
1465
+
1466
+ # reduce 80 omitted
1467
+
1468
+ # reduce 81 omitted
1469
+
1470
+ # reduce 82 omitted
1471
+
1472
+ # reduce 83 omitted
1473
+
1474
+ # reduce 84 omitted
1475
+
1476
+ # reduce 85 omitted
1477
+
1478
+ # reduce 86 omitted
1479
+
1480
+ # reduce 87 omitted
1481
+
1482
+ # reduce 88 omitted
1483
+
1484
+ # reduce 89 omitted
1485
+
1486
+ # reduce 90 omitted
1487
+
1488
+ # reduce 91 omitted
1489
+
1490
+ # reduce 92 omitted
1491
+
1492
+ # reduce 93 omitted
1493
+
1494
+ # reduce 94 omitted
1495
+
1496
+ # reduce 95 omitted
1497
+
1498
+ # reduce 96 omitted
1499
+
1500
+ # reduce 97 omitted
1501
+
1502
+ # reduce 98 omitted
1503
+
1504
+ # reduce 99 omitted
1505
+
1506
+ # reduce 100 omitted
1507
+
1508
+ # reduce 101 omitted
1509
+
1510
+ # reduce 102 omitted
1511
+
1512
+ # reduce 103 omitted
1513
+
1514
+ # reduce 104 omitted
1515
+
1516
+ # reduce 105 omitted
1517
+
1518
+ # reduce 106 omitted
1519
+
1520
+ # reduce 107 omitted
1521
+
1522
+ # reduce 108 omitted
1523
+
1524
+ # reduce 109 omitted
1525
+
1526
+ # reduce 110 omitted
1527
+
1528
+ # reduce 111 omitted
1529
+
1530
+ # reduce 112 omitted
1531
+
1532
+ # reduce 113 omitted
1533
+
1534
+ # reduce 114 omitted
1535
+
1536
+ # reduce 115 omitted
1537
+
1538
+ # reduce 116 omitted
1539
+
1540
+ # reduce 117 omitted
1541
+
1542
+ module_eval <<'.,.,', 'src/preprocessor.y', 264
1543
+ def _reduce_118( val, _values, result )
1544
+ result = val[0]; self.evaluate_tokens = false
1545
+ result
1546
+ end
1547
+ .,.,
1548
+
1549
+ # reduce 119 omitted
1550
+
1551
+ # reduce 120 omitted
1552
+
1553
+ module_eval <<'.,.,', 'src/preprocessor.y', 270
1554
+ def _reduce_121( val, _values, result )
1555
+ result = val[1]
1556
+ result
1557
+ end
1558
+ .,.,
1559
+
1560
+ module_eval <<'.,.,', 'src/preprocessor.y', 274
1561
+ def _reduce_122( val, _values, result )
1562
+ result = eval(val[0].delete("ULul"))
1563
+ result
1564
+ end
1565
+ .,.,
1566
+
1567
+ module_eval <<'.,.,', 'src/preprocessor.y', 275
1568
+ def _reduce_123( val, _values, result )
1569
+ result = eval(val[0])
1570
+ result
1571
+ end
1572
+ .,.,
1573
+
1574
+ module_eval <<'.,.,', 'src/preprocessor.y', 276
1575
+ def _reduce_124( val, _values, result )
1576
+ val[0] =~ /\A'(.*)'\Z/; result = eval('?' + $1)
1577
+ result
1578
+ end
1579
+ .,.,
1580
+
1581
+ module_eval <<'.,.,', 'src/preprocessor.y', 278
1582
+ def _reduce_125( val, _values, result )
1583
+ result = self.defined?(val[1]) ? 1 : 0; self.evaluate_tokens = true
1584
+ result
1585
+ end
1586
+ .,.,
1587
+
1588
+ module_eval <<'.,.,', 'src/preprocessor.y', 286
1589
+ def _reduce_126( val, _values, result )
1590
+ result = 0
1591
+ result
1592
+ end
1593
+ .,.,
1594
+
1595
+ module_eval <<'.,.,', 'src/preprocessor.y', 287
1596
+ def _reduce_127( val, _values, result )
1597
+ result = val[1]
1598
+ result
1599
+ end
1600
+ .,.,
1601
+
1602
+ # reduce 128 omitted
1603
+
1604
+ module_eval <<'.,.,', 'src/preprocessor.y', 292
1605
+ def _reduce_129( val, _values, result )
1606
+ result = (val[1] == 0) ? 1 : 0
1607
+ result
1608
+ end
1609
+ .,.,
1610
+
1611
+ module_eval <<'.,.,', 'src/preprocessor.y', 293
1612
+ def _reduce_130( val, _values, result )
1613
+ result = +val[1]
1614
+ result
1615
+ end
1616
+ .,.,
1617
+
1618
+ module_eval <<'.,.,', 'src/preprocessor.y', 294
1619
+ def _reduce_131( val, _values, result )
1620
+ result = -val[1]
1621
+ result
1622
+ end
1623
+ .,.,
1624
+
1625
+ # reduce 132 omitted
1626
+
1627
+ # reduce 133 omitted
1628
+
1629
+ module_eval <<'.,.,', 'src/preprocessor.y', 303
1630
+ def _reduce_134( val, _values, result )
1631
+ result = val[0] * val[2]
1632
+ result
1633
+ end
1634
+ .,.,
1635
+
1636
+ module_eval <<'.,.,', 'src/preprocessor.y', 304
1637
+ def _reduce_135( val, _values, result )
1638
+ result = val[0] / val[2]
1639
+ result
1640
+ end
1641
+ .,.,
1642
+
1643
+ module_eval <<'.,.,', 'src/preprocessor.y', 305
1644
+ def _reduce_136( val, _values, result )
1645
+ result = val[0] % val[2]
1646
+ result
1647
+ end
1648
+ .,.,
1649
+
1650
+ # reduce 137 omitted
1651
+
1652
+ module_eval <<'.,.,', 'src/preprocessor.y', 310
1653
+ def _reduce_138( val, _values, result )
1654
+ result = val[0] + val[2]
1655
+ result
1656
+ end
1657
+ .,.,
1658
+
1659
+ module_eval <<'.,.,', 'src/preprocessor.y', 311
1660
+ def _reduce_139( val, _values, result )
1661
+ result = val[0] - val[2]
1662
+ result
1663
+ end
1664
+ .,.,
1665
+
1666
+ # reduce 140 omitted
1667
+
1668
+ module_eval <<'.,.,', 'src/preprocessor.y', 316
1669
+ def _reduce_141( val, _values, result )
1670
+ result = val[0] << val[2]
1671
+ result
1672
+ end
1673
+ .,.,
1674
+
1675
+ module_eval <<'.,.,', 'src/preprocessor.y', 317
1676
+ def _reduce_142( val, _values, result )
1677
+ result = val[0] >> val[2]
1678
+ result
1679
+ end
1680
+ .,.,
1681
+
1682
+ # reduce 143 omitted
1683
+
1684
+ module_eval <<'.,.,', 'src/preprocessor.y', 323
1685
+ def _reduce_144( val, _values, result )
1686
+ result = (val[0] < val[2]) ? 1 : 0
1687
+ result
1688
+ end
1689
+ .,.,
1690
+
1691
+ module_eval <<'.,.,', 'src/preprocessor.y', 325
1692
+ def _reduce_145( val, _values, result )
1693
+ result = (val[0] > val[2]) ? 1 : 0
1694
+ result
1695
+ end
1696
+ .,.,
1697
+
1698
+ module_eval <<'.,.,', 'src/preprocessor.y', 327
1699
+ def _reduce_146( val, _values, result )
1700
+ result = (val[0] <= val[2]) ? 1 : 0
1701
+ result
1702
+ end
1703
+ .,.,
1704
+
1705
+ module_eval <<'.,.,', 'src/preprocessor.y', 329
1706
+ def _reduce_147( val, _values, result )
1707
+ result = (val[0] >= val[2]) ? 1 : 0
1708
+ result
1709
+ end
1710
+ .,.,
1711
+
1712
+ # reduce 148 omitted
1713
+
1714
+ module_eval <<'.,.,', 'src/preprocessor.y', 335
1715
+ def _reduce_149( val, _values, result )
1716
+ result = (val[0] == val[2]) ? 1 : 0
1717
+ result
1718
+ end
1719
+ .,.,
1720
+
1721
+ module_eval <<'.,.,', 'src/preprocessor.y', 337
1722
+ def _reduce_150( val, _values, result )
1723
+ result = (val[0] != val[2]) ? 1 : 0
1724
+ result
1725
+ end
1726
+ .,.,
1727
+
1728
+ # reduce 151 omitted
1729
+
1730
+ module_eval <<'.,.,', 'src/preprocessor.y', 342
1731
+ def _reduce_152( val, _values, result )
1732
+ result = val[0] & val[2]
1733
+ result
1734
+ end
1735
+ .,.,
1736
+
1737
+ # reduce 153 omitted
1738
+
1739
+ module_eval <<'.,.,', 'src/preprocessor.y', 347
1740
+ def _reduce_154( val, _values, result )
1741
+ result = val[0] ^ val[2]
1742
+ result
1743
+ end
1744
+ .,.,
1745
+
1746
+ # reduce 155 omitted
1747
+
1748
+ module_eval <<'.,.,', 'src/preprocessor.y', 352
1749
+ def _reduce_156( val, _values, result )
1750
+ result = val[0] | val[2]
1751
+ result
1752
+ end
1753
+ .,.,
1754
+
1755
+ # reduce 157 omitted
1756
+
1757
+ module_eval <<'.,.,', 'src/preprocessor.y', 358
1758
+ def _reduce_158( val, _values, result )
1759
+ result = (val[0] != 0 and val[2] != 0) ? 1 : 0
1760
+ result
1761
+ end
1762
+ .,.,
1763
+
1764
+ # reduce 159 omitted
1765
+
1766
+ module_eval <<'.,.,', 'src/preprocessor.y', 364
1767
+ def _reduce_160( val, _values, result )
1768
+ result = (val[0] != 0 or val[2] != 0) ? 1 : 0
1769
+ result
1770
+ end
1771
+ .,.,
1772
+
1773
+ # reduce 161 omitted
1774
+
1775
+ module_eval <<'.,.,', 'src/preprocessor.y', 370
1776
+ def _reduce_162( val, _values, result )
1777
+ result = val[0] != 0 ? val[2] : val[4]
1778
+ result
1779
+ end
1780
+ .,.,
1781
+
1782
+ # reduce 163 omitted
1783
+
1784
+ def _reduce_none( val, _values, result )
1785
+ result
1786
+ end
1787
+
1788
+ end # class StatementParser
1789
+
1790
+ end # module Preprocessor