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