dbc 1.1.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.
@@ -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