ridl 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,357 @@
1
+ #--------------------------------------------------------------------
2
+ # optparse_ext.rb - Ruby StdLib OptionParser extensions for RIDL
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the RIDL LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+ require 'optparse'
14
+
15
+ # Customize OptionParser RequiredArgument switch class to support
16
+ # multi character short switches (single '-' prefix) with (optional)
17
+ # arguments.
18
+ # These must be defined using a format like '-X<text>' or '-X{text}'
19
+ # where 'X' is the common start character for a group of short multichar
20
+ # switches.
21
+ # Switch arguments should be indicated by either appending '=ARG' or
22
+ # ' ARG' giving something like '-X<text>=ARG' or '-X<text> ARG' where
23
+ # 'ARG' is an arbitrary non-blank text
24
+ class OptionParser::Switch::RequiredArgument
25
+ def initialize(pattern = nil, conv = nil,
26
+ short = nil, long = nil, arg = nil,
27
+ desc = ([] if short or long), block = Proc.new)
28
+ super
29
+ if (@long.nil? || @long.empty?) && (@arg =~ /^(<.*>|[\{].*[\}])((=|\s).*)?/)
30
+ @multichar_short = true
31
+ @has_arg = (@arg =~ /^(<.*>|[\{].*[\}])(=|\s).*$/ ? true : false)
32
+ end
33
+ end
34
+ alias :_org_parse :parse
35
+ def parse(arg, argv)
36
+ if @multichar_short && @has_arg
37
+ # unless arg included in rest of switch or next arg is not a switch
38
+ unless (arg && arg =~ /.*=.*/) || (argv.first =~ /^-/)
39
+ # concatenate next arg
40
+ arg ||= ''
41
+ arg += "=#{argv.shift}"
42
+ end
43
+ end
44
+ self._org_parse(arg, argv)
45
+ end
46
+ end
47
+
48
+ module IDL
49
+ class OptionList
50
+
51
+ class Option
52
+
53
+ class Group
54
+
55
+ class ParamSet
56
+
57
+ class Configurator
58
+ def initialize(set)
59
+ @set = set
60
+ end
61
+
62
+ def on_exec(&block)
63
+ ext_klass = class << @set; self; end
64
+ ext_klass.send(:define_method, :_exec, &block)
65
+ ext_klass.send(:protected, :_exec)
66
+ end
67
+
68
+ def with(param, options = {})
69
+ @set.define_params({param => options})
70
+ end
71
+
72
+ def without(*params)
73
+ params.each {|p| @set.params.delete(p.to_sym) }
74
+ end
75
+ end
76
+
77
+ attr_reader :params
78
+ def initialize(options)
79
+ @description = Array === options[:description] ? options[:description] : (options[:description] || '').split('\n')
80
+ @all_params = options[:all_params] == true
81
+ @params = {}
82
+ parms = options[:params] || options[:param]
83
+ define_params(parms) if parms
84
+ end
85
+
86
+ def run(param, options, *handler_args)
87
+ key = to_key(param)
88
+ if @all_params || @params.has_key?(key)
89
+ param = key if String === param && @params.has_key?(key)
90
+ param_arg = @params.has_key?(param) ? @params[param][:option_name] : param
91
+ if self.respond_to?(:_exec, true)
92
+ _exec(param_arg, options, *handler_args)
93
+ elsif @params.has_key?(param)
94
+ if @params[param][:option_type] == :list
95
+ options[@params[param][:option_name]] ||= []
96
+ options[@params[param][:option_name]] << (handler_args.size == 1 ? handler_args.shift : handler_args)
97
+ elsif @params[param][:option_type] == :noop
98
+ # do nothing
99
+ else
100
+ options[@params[param][:option_name]] = handler_args.empty? ?
101
+ (@params[param].has_key?(:option_value) ? @params[param][:option_value] : true) :
102
+ (handler_args.size == 1 ? handler_args.shift : handler_args)
103
+ end
104
+ end
105
+ return true
106
+ end
107
+ return false
108
+ end
109
+
110
+ def description
111
+ @params.values.inject(@description) {|list, vopt| list.concat(vopt[:description] || []) }
112
+ end
113
+
114
+ def define_params(spec = {})
115
+ case spec
116
+ when String, Hash
117
+ define_param(spec)
118
+ when Array
119
+ spec.each {|p| define_param(p) }
120
+ end
121
+ end
122
+
123
+ private
124
+
125
+ def to_key(param)
126
+ return param if Symbol === param
127
+ # convert empty strings to single space strings before symbolizing
128
+ String === param ? (param.empty? ? ' ' : param).to_sym : nil
129
+ end
130
+
131
+ def define_param(spec)
132
+ case spec
133
+ when String
134
+ key = to_key(spec)
135
+ @params[key] = { :option_name => key }
136
+ when Hash
137
+ spec.each do |k,v|
138
+ @params[to_key(k)] = (if Hash === v
139
+ {
140
+ :option_name => to_key(v[:option_name] || k),
141
+ :option_type => v[:type],
142
+ :option_value => v.has_key?(:value) ? v[:value] : true,
143
+ :description => Array === v[:description] ? v[:description] : (v[:description] || '').split('\n')
144
+ }
145
+ else
146
+ { :option_name => to_key(v) }
147
+ end)
148
+ end
149
+ end
150
+ end
151
+ end # ParamSet
152
+
153
+ class Configurator
154
+ def initialize(grp)
155
+ @group = grp
156
+ end
157
+
158
+ def on_prepare(&block)
159
+ ext_klass = class << @group; self; end
160
+ ext_klass.send(:define_method, :_prepare, &block)
161
+ ext_klass.send(:protected, :_prepare)
162
+ end
163
+
164
+ def define_param_set(id, options = {}, &block)
165
+ id = id.to_sym
166
+ raise RuntimeError, "option parameter set [#{id}] already exists" if @group.sets.has_key?(id)
167
+ @group.sets[id] = ParamSet.new(options)
168
+ block.call(ParamSet::Configurator.new(@group.sets[id])) if block_given?
169
+ end
170
+ alias :for_params :define_param_set
171
+
172
+ def modify_param_set(id, options = {}, &block)
173
+ id = id.to_sym
174
+ parms = options[:params] ? options.delete(:params) : options.delete(:param)
175
+ @group.sets[id] ||= ParamSet.new(options)
176
+ @group.sets[id].define_params(parms) if parms
177
+ block.call(ParamSet::Configurator.new(@group.sets[id])) if block_given?
178
+ end
179
+ alias :modify_params :modify_param_set
180
+ alias :with_params :modify_param_set
181
+
182
+ def define_param(id, options={}, &block)
183
+ define_param_set("#{id}_set", options) do |pscfg|
184
+ pscfg.with(id)
185
+ pscfg.on_exec(&block)
186
+ end
187
+ end
188
+ alias :for_param :define_param
189
+ alias :with_param :define_param
190
+
191
+ def without_param(id)
192
+ @group.sets.delete("#{id}_set")
193
+ end
194
+ alias :without_set :without_param
195
+ alias :without_params :without_param
196
+
197
+ end # Configurator
198
+
199
+ attr_reader :sets
200
+ def initialize(id, options)
201
+ @test = options[:test] || true
202
+ @description = Array === options[:description] ? options[:description] : (options[:description] || '').split('\n')
203
+ @sets = {}
204
+ if options[:params] && Hash === options[:params]
205
+ @sets[id] = ParamSet.new(:params => options[:params])
206
+ end
207
+ end
208
+
209
+ def description
210
+ @sets.values.inject(@description.dup) {|desc, a| desc.concat(a.description) }
211
+ end
212
+
213
+ def run(arg, options)
214
+ ext_args = []
215
+ if self.respond_to?(:_prepare, true)
216
+ result = _prepare(arg, options)
217
+ return false unless result && !result.empty?
218
+ arg = result.shift
219
+ ext_args = result
220
+ else
221
+ case @test
222
+ when TrueClass
223
+ when Regexp
224
+ return false unless @test =~ arg
225
+ else
226
+ return false unless @test == arg
227
+ end
228
+ end
229
+ return handle_sets(arg, options, *ext_args)
230
+ end
231
+
232
+ private
233
+
234
+ def handle_sets(param, options, *ext_args)
235
+ @sets.values.inject(false) {|f, s| s.run(param, options, *ext_args) || f }
236
+ end
237
+ end # Group
238
+
239
+ class Configurator
240
+ def initialize(opt)
241
+ @option = opt
242
+ end
243
+
244
+ def define_group(id, options = {}, &block)
245
+ id = id.to_sym
246
+ raise RuntimeError, "option group [#{id}] already exists" if @option.groups.has_key?(id)
247
+ @option.groups[id] = Group.new(id, options)
248
+ block.call(Group::Configurator.new(@option.groups[id])) if block_given?
249
+ end
250
+ alias :for_group :define_group
251
+
252
+ def modify_group(id, options = {}, &block)
253
+ id = id.to_sym
254
+ parms = options[:params] ? options.delete(:params) : options.delete(:param)
255
+ @option.groups[id] ||= Group.new(id, options)
256
+ grpcfg = Group::Configurator.new(@option.groups[id])
257
+ grpcfg.modify_param_set(id, :params => parms) if parms
258
+ block.call(grpcfg) if block_given?
259
+ end
260
+ alias :with_group :modify_group
261
+
262
+ def undefine_group(id)
263
+ @option.groups.delete(id.to_sym)
264
+ end
265
+
266
+ def define_param_set(id, options = {}, &block)
267
+ modify_group :default, {:test => true} do |grpcfg|
268
+ grpcfg.define_param_set(id, options, &block)
269
+ end
270
+ end
271
+ alias :for_set :define_param_set
272
+ alias :for_params :define_param_set
273
+
274
+ def on_exec(options={}, &block)
275
+ modify_group :default, {:test => true} do |grpcfg|
276
+ grpcfg.modify_param_set(:default, options.merge({:all_params => true})) do |pscfg|
277
+ pscfg.on_exec(&block)
278
+ end
279
+ end
280
+ end
281
+
282
+ def define_param(id, options={}, &block)
283
+ modify_group :default, {:test => true} do |grpcfg|
284
+ grpcfg.define_param_set("#{id}_set", options) do |pscfg|
285
+ pscfg.with(id)
286
+ pscfg.on_exec(&block)
287
+ end
288
+ end
289
+ end
290
+ alias :for_param :define_param
291
+
292
+ def without_param(id)
293
+ if @option.groups.has_key?(:default)
294
+ modify_group :default do |grpcfg|
295
+ grpcfg.without_set("#{id}_set")
296
+ end
297
+ end
298
+ end
299
+ alias :without_set :without_param
300
+ alias :without_params :without_param
301
+ end
302
+
303
+ attr_reader :switch
304
+ attr_reader :type
305
+ attr_reader :separator
306
+ attr_reader :groups
307
+ def initialize(switch, options)
308
+ @switch = switch
309
+ @type = options[:type] || TrueClass
310
+ @separator = options[:separator] == true
311
+ @description = Array === options[:description] ? options[:description] : (options[:description] ? options[:description].split('\n') : [''])
312
+ @groups = {}
313
+ end
314
+
315
+ def description(indent = "")
316
+ @groups.values.inject(@description.dup) {|desc, h| desc.concat(h.description.collect {|desc| "\r#{indent} #{desc}"}) }
317
+ end
318
+
319
+ def run(arg, options)
320
+ unless @groups.values.inject(false) {|f, h| h.run(arg, options) || f }
321
+ raise ArgumentError, "unknown option [#{arg}] for switch '#{@switch}'"
322
+ end
323
+ end
324
+ end # Option
325
+
326
+ def initialize()
327
+ @options = {}
328
+ end
329
+
330
+ def define_switch(switch, options = {}, &block)
331
+ switch = switch.to_s
332
+ raise RuntimeError, "switch types mismatch" if @options.has_key?(switch) && options[:type] && options[:type] != @options[switch].type
333
+ @options[switch] ||= Option.new(switch, options)
334
+ block.call(Option::Configurator.new(@options[switch])) if block_given?
335
+ end
336
+ alias :for_switch :define_switch
337
+ alias :switch :define_switch
338
+
339
+ def undefine_switch(switch)
340
+ switch = switch.to_s
341
+ @options.delete(switch)
342
+ end
343
+
344
+ def to_option_parser(optp, idl_options)
345
+ @options.each do |sw, op|
346
+ (arg_list = [sw]) << op.type
347
+ arg_list.concat(op.description(optp.summary_indent))
348
+ optp.on(*arg_list) do |v|
349
+ op.run(v, idl_options)
350
+ end
351
+ optp.separator "" if op.separator
352
+ end
353
+ end
354
+
355
+ end # OptionList
356
+
357
+ end # IDL
@@ -0,0 +1,42 @@
1
+ diff --git a/lib/ridl/parser.rb b/lib/ridl/parser.rb
2
+ index 0cc4f7f..a1a44ec 100644
3
+ --- a/lib/ridl/parser.rb
4
+ +++ b/lib/ridl/parser.rb
5
+ @@ -40,15 +40,15 @@ module Racc
6
+
7
+ class Parser
8
+
9
+ - Racc_Runtime_Version = '1.4.6'
10
+ - Racc_Runtime_Revision = '$Id$'
11
+ + Racc_Runtime_Version = '1.4.6' unless defined?(Racc_Runtime_Version)
12
+ + Racc_Runtime_Revision = '$Id$' unless defined?(Racc_Runtime_Revision)
13
+
14
+ - Racc_Runtime_Core_Version_R = '1.4.6'
15
+ - Racc_Runtime_Core_Revision_R = '$Id$'.split[1]
16
+ + Racc_Runtime_Core_Version_R = '1.4.6' unless defined?(Racc_Runtime_Core_Version_R)
17
+ + Racc_Runtime_Core_Revision_R = '$Id$'.split[1] unless defined?(Racc_Runtime_Core_Revision_R)
18
+ begin
19
+ require 'racc/cparse'
20
+ # Racc_Runtime_Core_Version_C = (defined in extention)
21
+ - Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2]
22
+ + Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2] unless defined?(Racc_Runtime_Core_Revision_C)
23
+ unless new.respond_to?(:_racc_do_parse_c, true)
24
+ raise LoadError, 'old cparse.so'
25
+ end
26
+ @@ -56,11 +56,11 @@ module Racc
27
+ raise LoadError, 'selecting ruby version of racc runtime core'
28
+ end
29
+
30
+ - Racc_Main_Parsing_Routine = :_racc_do_parse_c
31
+ - Racc_YY_Parse_Method = :_racc_yyparse_c
32
+ - Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_C
33
+ - Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_C
34
+ - Racc_Runtime_Type = 'c'
35
+ + Racc_Main_Parsing_Routine = :_racc_do_parse_c unless defined?(Racc_Main_Parsing_Routine)
36
+ + Racc_YY_Parse_Method = :_racc_yyparse_c unless defined?(Racc_YY_Parse_Method)
37
+ + Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_C unless defined?(Racc_Runtime_Core_Version)
38
+ + Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_C unless defined?(Racc_Runtime_Core_Revision)
39
+ + Racc_Runtime_Type = 'c' unless defined?(Racc_Runtime_Type)
40
+ rescue LoadError
41
+ Racc_Main_Parsing_Routine = :_racc_do_parse_rb
42
+ Racc_YY_Parse_Method = :_racc_yyparse_rb
@@ -0,0 +1,3836 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.9
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ ###### racc/parser.rb begin
8
+ unless $".index 'racc/parser.rb'
9
+ $".push 'racc/parser.rb'
10
+ self.class.module_eval(<<'...end racc/parser.rb/module_eval...', 'racc/parser.rb', 1)
11
+ #
12
+ # $Id: ad1fffef443194fdfa1052d2eee6850552f94313 $
13
+ #
14
+ # Copyright (c) 1999-2006 Minero Aoki
15
+ #
16
+ # This program is free software.
17
+ # You can distribute/modify this program under the same terms of ruby.
18
+ #
19
+ # As a special exception, when this code is copied by Racc
20
+ # into a Racc output file, you may use that output file
21
+ # without restriction.
22
+ #
23
+
24
+ unless defined?(NotImplementedError)
25
+ NotImplementedError = NotImplementError
26
+ end
27
+
28
+ module Racc
29
+ class ParseError < StandardError; end
30
+ end
31
+ unless defined?(::ParseError)
32
+ ParseError = Racc::ParseError
33
+ end
34
+
35
+ module Racc
36
+
37
+ unless defined?(Racc_No_Extentions)
38
+ Racc_No_Extentions = false
39
+ end
40
+
41
+ class Parser
42
+
43
+ Racc_Runtime_Version = '1.4.6' unless defined?(Racc_Runtime_Version)
44
+ Racc_Runtime_Revision = '$Id: ad1fffef443194fdfa1052d2eee6850552f94313 $' unless defined?(Racc_Runtime_Revision)
45
+
46
+ Racc_Runtime_Core_Version_R = '1.4.6' unless defined?(Racc_Runtime_Core_Version_R)
47
+ Racc_Runtime_Core_Revision_R = '$Id: ad1fffef443194fdfa1052d2eee6850552f94313 $'.split[1] unless defined?(Racc_Runtime_Core_Revision_R)
48
+ begin
49
+ require 'racc/cparse'
50
+ # Racc_Runtime_Core_Version_C = (defined in extention)
51
+ Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2] unless defined?(Racc_Runtime_Core_Revision_C)
52
+ unless new.respond_to?(:_racc_do_parse_c, true)
53
+ raise LoadError, 'old cparse.so'
54
+ end
55
+ if Racc_No_Extentions
56
+ raise LoadError, 'selecting ruby version of racc runtime core'
57
+ end
58
+
59
+ Racc_Main_Parsing_Routine = :_racc_do_parse_c unless defined?(Racc_Main_Parsing_Routine)
60
+ Racc_YY_Parse_Method = :_racc_yyparse_c unless defined?(Racc_YY_Parse_Method)
61
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_C unless defined?(Racc_Runtime_Core_Version)
62
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_C unless defined?(Racc_Runtime_Core_Revision)
63
+ Racc_Runtime_Type = 'c' unless defined?(Racc_Runtime_Type)
64
+ rescue LoadError
65
+ Racc_Main_Parsing_Routine = :_racc_do_parse_rb unless defined?(Racc_Main_Parsing_Routine)
66
+ Racc_YY_Parse_Method = :_racc_yyparse_rb unless defined?(Racc_YY_Parse_Method)
67
+ Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_R unless defined?(Racc_Runtime_Core_Version)
68
+ Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_R unless defined?(Racc_Runtime_Core_Revision)
69
+ Racc_Runtime_Type = 'ruby' unless defined?(Racc_Runtime_Type)
70
+ end
71
+
72
+ def Parser.racc_runtime_type
73
+ Racc_Runtime_Type
74
+ end
75
+
76
+ private
77
+
78
+ def _racc_setup
79
+ @yydebug = false unless self.class::Racc_debug_parser
80
+ @yydebug = false unless defined?(@yydebug)
81
+ if @yydebug
82
+ @racc_debug_out = $stderr unless defined?(@racc_debug_out)
83
+ @racc_debug_out ||= $stderr
84
+ end
85
+ arg = self.class::Racc_arg
86
+ arg[13] = true if arg.size < 14
87
+ arg
88
+ end
89
+
90
+ def _racc_init_sysvars
91
+ @racc_state = [0]
92
+ @racc_tstack = []
93
+ @racc_vstack = []
94
+
95
+ @racc_t = nil
96
+ @racc_val = nil
97
+
98
+ @racc_read_next = true
99
+
100
+ @racc_user_yyerror = false
101
+ @racc_error_status = 0
102
+ end
103
+
104
+ ###
105
+ ### do_parse
106
+ ###
107
+
108
+ def do_parse
109
+ __send__(Racc_Main_Parsing_Routine, _racc_setup(), false)
110
+ end
111
+
112
+ def next_token
113
+ raise NotImplementedError, "#{self.class}\#next_token is not defined"
114
+ end
115
+
116
+ def _racc_do_parse_rb(arg, in_debug)
117
+ action_table, action_check, action_default, action_pointer,
118
+ _, _, _, _,
119
+ _, _, token_table, * = arg
120
+
121
+ _racc_init_sysvars
122
+ tok = act = i = nil
123
+
124
+ catch(:racc_end_parse) {
125
+ while true
126
+ if i = action_pointer[@racc_state[-1]]
127
+ if @racc_read_next
128
+ if @racc_t != 0 # not EOF
129
+ tok, @racc_val = next_token()
130
+ unless tok # EOF
131
+ @racc_t = 0
132
+ else
133
+ @racc_t = (token_table[tok] or 1) # error token
134
+ end
135
+ racc_read_token(@racc_t, tok, @racc_val) if @yydebug
136
+ @racc_read_next = false
137
+ end
138
+ end
139
+ i += @racc_t
140
+ unless i >= 0 and
141
+ act = action_table[i] and
142
+ action_check[i] == @racc_state[-1]
143
+ act = action_default[@racc_state[-1]]
144
+ end
145
+ else
146
+ act = action_default[@racc_state[-1]]
147
+ end
148
+ while act = _racc_evalact(act, arg)
149
+ ;
150
+ end
151
+ end
152
+ }
153
+ end
154
+
155
+ ###
156
+ ### yyparse
157
+ ###
158
+
159
+ def yyparse(recv, mid)
160
+ __send__(Racc_YY_Parse_Method, recv, mid, _racc_setup(), true)
161
+ end
162
+
163
+ def _racc_yyparse_rb(recv, mid, arg, c_debug)
164
+ action_table, action_check, action_default, action_pointer,
165
+ _, _, _, _,
166
+ _, _, token_table, * = arg
167
+
168
+ _racc_init_sysvars
169
+
170
+ catch(:racc_end_parse) {
171
+ until i = action_pointer[@racc_state[-1]]
172
+ while act = _racc_evalact(action_default[@racc_state[-1]], arg)
173
+ ;
174
+ end
175
+ end
176
+ recv.__send__(mid) do |tok, val|
177
+ unless tok
178
+ @racc_t = 0
179
+ else
180
+ @racc_t = (token_table[tok] or 1) # error token
181
+ end
182
+ @racc_val = val
183
+ @racc_read_next = false
184
+
185
+ i += @racc_t
186
+ unless i >= 0 and
187
+ act = action_table[i] and
188
+ action_check[i] == @racc_state[-1]
189
+ act = action_default[@racc_state[-1]]
190
+ end
191
+ while act = _racc_evalact(act, arg)
192
+ ;
193
+ end
194
+
195
+ while !(i = action_pointer[@racc_state[-1]]) ||
196
+ ! @racc_read_next ||
197
+ @racc_t == 0 # $
198
+ unless i and i += @racc_t and
199
+ i >= 0 and
200
+ act = action_table[i] and
201
+ action_check[i] == @racc_state[-1]
202
+ act = action_default[@racc_state[-1]]
203
+ end
204
+ while act = _racc_evalact(act, arg)
205
+ ;
206
+ end
207
+ end
208
+ end
209
+ }
210
+ end
211
+
212
+ ###
213
+ ### common
214
+ ###
215
+
216
+ def _racc_evalact(act, arg)
217
+ action_table, action_check, _, action_pointer,
218
+ _, _, _, _,
219
+ _, _, _, shift_n,
220
+ reduce_n, * = arg
221
+ nerr = 0 # tmp
222
+
223
+ if act > 0 and act < shift_n
224
+ #
225
+ # shift
226
+ #
227
+ if @racc_error_status > 0
228
+ @racc_error_status -= 1 unless @racc_t == 1 # error token
229
+ end
230
+ @racc_vstack.push @racc_val
231
+ @racc_state.push act
232
+ @racc_read_next = true
233
+ if @yydebug
234
+ @racc_tstack.push @racc_t
235
+ racc_shift @racc_t, @racc_tstack, @racc_vstack
236
+ end
237
+
238
+ elsif act < 0 and act > -reduce_n
239
+ #
240
+ # reduce
241
+ #
242
+ code = catch(:racc_jump) {
243
+ @racc_state.push _racc_do_reduce(arg, act)
244
+ false
245
+ }
246
+ if code
247
+ case code
248
+ when 1 # yyerror
249
+ @racc_user_yyerror = true # user_yyerror
250
+ return -reduce_n
251
+ when 2 # yyaccept
252
+ return shift_n
253
+ else
254
+ raise '[Racc Bug] unknown jump code'
255
+ end
256
+ end
257
+
258
+ elsif act == shift_n
259
+ #
260
+ # accept
261
+ #
262
+ racc_accept if @yydebug
263
+ throw :racc_end_parse, @racc_vstack[0]
264
+
265
+ elsif act == -reduce_n
266
+ #
267
+ # error
268
+ #
269
+ case @racc_error_status
270
+ when 0
271
+ unless arg[21] # user_yyerror
272
+ nerr += 1
273
+ on_error @racc_t, @racc_val, @racc_vstack
274
+ end
275
+ when 3
276
+ if @racc_t == 0 # is $
277
+ throw :racc_end_parse, nil
278
+ end
279
+ @racc_read_next = true
280
+ end
281
+ @racc_user_yyerror = false
282
+ @racc_error_status = 3
283
+ while true
284
+ if i = action_pointer[@racc_state[-1]]
285
+ i += 1 # error token
286
+ if i >= 0 and
287
+ (act = action_table[i]) and
288
+ action_check[i] == @racc_state[-1]
289
+ break
290
+ end
291
+ end
292
+ throw :racc_end_parse, nil if @racc_state.size <= 1
293
+ @racc_state.pop
294
+ @racc_vstack.pop
295
+ if @yydebug
296
+ @racc_tstack.pop
297
+ racc_e_pop @racc_state, @racc_tstack, @racc_vstack
298
+ end
299
+ end
300
+ return act
301
+
302
+ else
303
+ raise "[Racc Bug] unknown action #{act.inspect}"
304
+ end
305
+
306
+ racc_next_state(@racc_state[-1], @racc_state) if @yydebug
307
+
308
+ nil
309
+ end
310
+
311
+ def _racc_do_reduce(arg, act)
312
+ _, _, _, _,
313
+ goto_table, goto_check, goto_default, goto_pointer,
314
+ nt_base, reduce_table, _, _,
315
+ _, use_result, * = arg
316
+
317
+ state = @racc_state
318
+ vstack = @racc_vstack
319
+ tstack = @racc_tstack
320
+
321
+ i = act * -3
322
+ len = reduce_table[i]
323
+ reduce_to = reduce_table[i+1]
324
+ method_id = reduce_table[i+2]
325
+ void_array = []
326
+
327
+ tmp_t = tstack[-len, len] if @yydebug
328
+ tmp_v = vstack[-len, len]
329
+ tstack[-len, len] = void_array if @yydebug
330
+ vstack[-len, len] = void_array
331
+ state[-len, len] = void_array
332
+
333
+ # tstack must be updated AFTER method call
334
+ if use_result
335
+ vstack.push __send__(method_id, tmp_v, vstack, tmp_v[0])
336
+ else
337
+ vstack.push __send__(method_id, tmp_v, vstack)
338
+ end
339
+ tstack.push reduce_to
340
+
341
+ racc_reduce(tmp_t, reduce_to, tstack, vstack) if @yydebug
342
+
343
+ k1 = reduce_to - nt_base
344
+ if i = goto_pointer[k1]
345
+ i += state[-1]
346
+ if i >= 0 and (curstate = goto_table[i]) and goto_check[i] == k1
347
+ return curstate
348
+ end
349
+ end
350
+ goto_default[k1]
351
+ end
352
+
353
+ def on_error(t, val, vstack)
354
+ raise ParseError, sprintf("\nparse error on value %s (%s)",
355
+ val.inspect, token_to_str(t) || '?')
356
+ end
357
+
358
+ def yyerror
359
+ throw :racc_jump, 1
360
+ end
361
+
362
+ def yyaccept
363
+ throw :racc_jump, 2
364
+ end
365
+
366
+ def yyerrok
367
+ @racc_error_status = 0
368
+ end
369
+
370
+ #
371
+ # for debugging output
372
+ #
373
+
374
+ def racc_read_token(t, tok, val)
375
+ @racc_debug_out.print 'read '
376
+ @racc_debug_out.print tok.inspect, '(', racc_token2str(t), ') '
377
+ @racc_debug_out.puts val.inspect
378
+ @racc_debug_out.puts
379
+ end
380
+
381
+ def racc_shift(tok, tstack, vstack)
382
+ @racc_debug_out.puts "shift #{racc_token2str tok}"
383
+ racc_print_stacks tstack, vstack
384
+ @racc_debug_out.puts
385
+ end
386
+
387
+ def racc_reduce(toks, sim, tstack, vstack)
388
+ out = @racc_debug_out
389
+ out.print 'reduce '
390
+ if toks.empty?
391
+ out.print ' <none>'
392
+ else
393
+ toks.each {|t| out.print ' ', racc_token2str(t) }
394
+ end
395
+ out.puts " --> #{racc_token2str(sim)}"
396
+
397
+ racc_print_stacks tstack, vstack
398
+ @racc_debug_out.puts
399
+ end
400
+
401
+ def racc_accept
402
+ @racc_debug_out.puts 'accept'
403
+ @racc_debug_out.puts
404
+ end
405
+
406
+ def racc_e_pop(state, tstack, vstack)
407
+ @racc_debug_out.puts 'error recovering mode: pop token'
408
+ racc_print_states state
409
+ racc_print_stacks tstack, vstack
410
+ @racc_debug_out.puts
411
+ end
412
+
413
+ def racc_next_state(curstate, state)
414
+ @racc_debug_out.puts "goto #{curstate}"
415
+ racc_print_states state
416
+ @racc_debug_out.puts
417
+ end
418
+
419
+ def racc_print_stacks(t, v)
420
+ out = @racc_debug_out
421
+ out.print ' ['
422
+ t.each_index do |i|
423
+ out.print ' (', racc_token2str(t[i]), ' ', v[i].inspect, ')'
424
+ end
425
+ out.puts ' ]'
426
+ end
427
+
428
+ def racc_print_states(s)
429
+ out = @racc_debug_out
430
+ out.print ' ['
431
+ s.each {|st| out.print ' ', st }
432
+ out.puts ' ]'
433
+ end
434
+
435
+ def racc_token2str(tok)
436
+ self.class::Racc_token_to_s_table[tok] or
437
+ raise "[Racc Bug] can't convert token #{tok} to string"
438
+ end
439
+
440
+ def token_to_str(t)
441
+ self.class::Racc_token_to_s_table[t]
442
+ end
443
+
444
+ end
445
+
446
+ end
447
+
448
+ ...end racc/parser.rb/module_eval...
449
+ end
450
+ ###### racc/parser.rb end
451
+
452
+ require 'ridl/delegate'
453
+
454
+ module IDL
455
+
456
+ class Parser < Racc::Parser
457
+
458
+ module_eval(<<'...end parser.ry/module_eval...', 'parser.ry', 833)
459
+
460
+ def parse_type_declarator(type_spec, declarators)
461
+ ret = Array.new
462
+ t = type_spec
463
+ declarators.each do |d|
464
+ case d
465
+ when ::String
466
+ ret << [t, d]
467
+ when ::Array # array_declarator -> [identifier, size]
468
+ ret << [IDL::Type::Array.new(t, d[1]), d[0]]
469
+ else
470
+ raise RuntimeError, "unknown declarator: #{d.inspect}"
471
+ end
472
+ end
473
+ ret
474
+ end
475
+
476
+ #attr_accessor :default_namespace, :output
477
+ attr_accessor :yydebug
478
+ def initialize(params = {})
479
+ @d = ::IDL::Delegator.new(params)
480
+ @params = params
481
+ end
482
+
483
+ alias on_error0 on_error
484
+ def on_error(err_tok, err_val, _value)
485
+ begin
486
+ on_error0(err_tok, err_val, _value)
487
+ rescue IDL::ParseError
488
+ raise
489
+ rescue
490
+ raise IDL::ParseError.new($!.message, @scanner.positions)
491
+ end
492
+ end
493
+
494
+ def parse(src)
495
+ @scanner = Scanner.new(src, self, @params)
496
+ @d.pre_parse
497
+ begin
498
+ do_parse
499
+ rescue IDL::ParseError
500
+ raise
501
+ rescue
502
+ STDERR.puts "#{$!}\n#{$!.backtrace.join("\n")}" if $VERBOSE
503
+ raise IDL::ParseError.new($!.message, @scanner.positions)
504
+ end
505
+ @d.post_parse
506
+ end
507
+
508
+ def visit_nodes(walker)
509
+ @d.visit_nodes(walker)
510
+ end
511
+
512
+ def pragma_prefix(s)
513
+ @d.pragma_prefix(s)
514
+ end
515
+
516
+ def pragma_version(id, major, minor)
517
+ @d.pragma_version(id, major, minor)
518
+ end
519
+
520
+ def pragma_id(id, repo_id)
521
+ @d.pragma_id(id, repo_id)
522
+ end
523
+
524
+ def handle_pragma(s)
525
+ @d.handle_pragma(s)
526
+ end
527
+
528
+ def is_included?(s)
529
+ @d.is_included?(s)
530
+ end
531
+
532
+ def enter_include(s)
533
+ @d.enter_include(s)
534
+ end
535
+
536
+ def leave_include()
537
+ @d.leave_include
538
+ end
539
+
540
+ def declare_include(s)
541
+ @d.declare_include(s)
542
+ end
543
+
544
+ def define_annotation(annid, annbody)
545
+ @d.define_annotation(annid, annbody)
546
+ end
547
+
548
+ def next_token
549
+ ret = @scanner.next_token
550
+ end
551
+
552
+ ...end parser.ry/module_eval...
553
+ ##### State transition tables begin ###
554
+
555
+ clist = [
556
+ '-200,442,537,122,541,610,122,291,292,122,-85,65,69,428,71,183,456,541',
557
+ '701,535,122,319,536,320,492,703,701,122,315,291,292,249,304,305,306',
558
+ '307,308,94,389,390,94,291,292,94,291,292,672,399,436,122,307,308,542',
559
+ '543,94,122,700,65,69,73,71,94,55,702,727,542,543,421,261,262,122,420',
560
+ '136,137,138,144,148,149,150,151,152,179,180,94,675,180,153,154,180,94',
561
+ '261,262,701,53,-89,54,611,612,199,180,184,185,261,262,94,261,262,359',
562
+ '360,122,617,122,122,-87,430,249,56,62,136,137,138,144,148,149,150,151',
563
+ '152,179,180,431,728,122,153,154,249,432,261,262,266,268,477,198,122',
564
+ '94,672,94,94,185,616,237,65,69,73,71,239,55,122,122,196,122,122,122',
565
+ '233,232,319,94,320,234,238,240,241,242,243,244,246,247,94,291,292,326',
566
+ '327,281,671,307,308,419,53,489,54,122,94,94,464,94,94,94,200,65,69,573',
567
+ '71,183,122,122,369,370,483,122,122,56,62,136,137,138,144,148,149,150',
568
+ '151,152,179,180,122,94,195,153,154,389,390,261,262,266,268,417,444,122',
569
+ '94,94,261,262,185,94,94,65,69,73,71,506,55,122,122,122,507,445,122,122',
570
+ '94,122,136,137,138,144,148,149,150,151,152,179,180,94,446,-183,153,154',
571
+ '281,447,624,282,623,53,448,54,122,94,94,94,184,185,94,94,449,94,319',
572
+ '71,320,122,122,122,122,450,122,122,56,62,136,137,138,144,148,149,150',
573
+ '151,152,179,180,122,94,122,153,154,118,117,261,262,266,268,469,122,122',
574
+ '94,94,94,94,185,94,94,65,69,73,71,414,55,122,122,92,122,-20,-140,-187',
575
+ '94,619,94,623,499,144,148,149,412,151,-196,203,94,94,387,388,326,327',
576
+ '281,293,319,294,320,53,508,54,122,94,94,94,94,319,408,320,65,69,193',
577
+ '71,183,283,458,284,285,391,392,393,56,62,136,137,138,144,148,149,150',
578
+ '151,152,179,180,319,94,320,153,154,359,360,261,262,266,268,339,338,122',
579
+ '102,104,103,459,185,336,337,65,69,73,71,460,55,391,392,393,391,392,393',
580
+ '389,390,461,136,137,138,144,148,149,150,151,152,179,180,94,387,388,153',
581
+ '154,382,383,732,701,407,53,320,54,122,547,548,406,184,185,379,350,65',
582
+ '69,405,71,183,571,570,191,122,471,472,190,56,62,136,137,138,144,148',
583
+ '149,150,151,152,179,180,189,94,422,153,154,404,188,261,262,266,268,478',
584
+ '479,122,187,403,483,94,185,486,402,65,69,120,71,183,207,208,209,210',
585
+ '211,212,213,214,215,216,136,137,138,144,148,149,150,151,152,179,180',
586
+ '94,119,346,153,154,136,137,138,144,148,149,150,151,152,179,180,401,184',
587
+ '185,153,154,122,116,115,498,114,204,113,510,65,69,386,71,183,185,136',
588
+ '137,138,144,148,149,150,151,152,179,180,513,514,112,153,154,111,110',
589
+ '109,108,94,107,106,105,385,101,100,526,184,185,527,99,529,384,98,544',
590
+ '545,122,546,381,527,122,549,550,551,97,553,554,527,65,69,73,71,555,55',
591
+ '136,137,138,144,148,149,150,151,152,179,180,556,359,360,153,154,94,122',
592
+ '557,558,94,559,237,326,327,281,378,239,184,185,53,561,54,527,346,233',
593
+ '232,346,96,565,234,238,240,241,242,243,244,246,247,566,346,94,486,56',
594
+ '62,136,137,138,144,148,149,150,151,152,179,180,95,377,572,153,154,376',
595
+ '122,261,262,266,268,574,346,576,65,69,73,71,185,55,136,137,138,144,148',
596
+ '149,150,151,152,179,180,337,577,364,153,154,375,381,385,386,94,374,373',
597
+ '372,371,281,368,273,282,185,53,529,54,91,536,614,615,122,90,89,364,207',
598
+ '208,209,210,211,212,213,214,215,216,361,-347,56,62,136,137,138,144,148',
599
+ '149,150,151,152,179,180,274,-339,351,153,154,94,631,261,262,266,268',
600
+ '237,350,561,349,483,239,122,185,483,634,88,87,637,233,232,86,640,641',
601
+ '234,238,240,241,242,243,244,246,247,642,643,136,137,138,144,148,149',
602
+ '150,151,152,179,180,94,644,645,153,154,646,647,648,649,650,651,652,122',
603
+ '653,654,348,535,184,185,657,65,69,612,71,183,611,529,662,122,663,346',
604
+ '667,85,529,535,136,137,138,144,148,149,150,151,152,179,180,94,84,83',
605
+ '153,154,535,82,676,677,678,679,680,122,81,696,529,94,657,185,341,340',
606
+ '80,79,535,183,623,529,535,122,335,334,333,78,713,714,136,137,138,144',
607
+ '148,149,150,151,152,179,180,94,715,716,153,154,136,137,138,144,148,149',
608
+ '150,151,152,179,180,94,184,185,153,154,291,292,717,304,305,306,307,308',
609
+ '718,719,720,721,722,185,136,137,138,144,148,149,150,151,152,179,180',
610
+ '723,724,725,153,154,136,137,138,144,148,149,150,151,152,179,180,203',
611
+ '184,185,153,154,77,122,76,275,730,268,731,329,328,65,69,73,71,185,55',
612
+ '261,262,734,,,,,,,,,,,,,,,,,,94,,,326,327,281,,,,,53,,54,,,,,122,,,',
613
+ ',,,,,,,,183,,,,56,62,136,137,138,144,148,149,150,151,152,179,180,,,',
614
+ '153,154,94,,261,262,266,268,237,,,,,239,,185,122,,,,,233,232,,,,234',
615
+ '238,240,241,242,243,244,246,247,,,136,137,138,144,148,149,150,151,152',
616
+ '179,180,122,,94,153,154,,,,65,69,,71,183,,,,122,184,185,,,,,,,,,,,,',
617
+ ',,,94,,,136,137,138,144,148,149,150,151,152,,,,,94,153,154,,,,,,,,,',
618
+ ',,,155,,,,136,137,138,144,148,149,150,151,152,179,180,,,,153,154,136',
619
+ '137,138,144,148,149,150,151,152,,,,184,185,153,154,,,74,,,,,19,,,,,155',
620
+ '32,51,45,65,69,73,71,,55,,28,29,31,,34,,,,36,39,42,,,,,,,,,,47,,,,,',
621
+ ',,,53,,54,,,,,,,,,,,,122,,,,638,579,,,,56,62,32,51,45,65,69,73,71,,55',
622
+ '597,28,29,31,,34,,,,36,39,42,,,94,,,,,,237,47,,,,239,,,,,53,,54,233',
623
+ '232,,,,234,238,240,241,242,243,244,246,247,,366,19,,,,56,62,32,51,45',
624
+ '65,69,73,71,,55,,28,29,31,,34,,,,36,39,42,,,,,,,,,,47,,,,,,,,,53,,54',
625
+ ',,,,,,,,,,,,,,,711,579,,,,56,62,32,51,45,65,69,73,71,,55,,28,29,31,',
626
+ '34,,,,36,39,42,,,,,,,,,,47,,,,,,,,,53,579,54,,,,,32,51,45,65,69,73,71',
627
+ ',55,,28,29,31,,34,,56,62,36,39,42,,,,,,,,,,47,,,,,,,,,53,19,54,,,,,32',
628
+ '51,45,65,69,73,71,,55,,28,29,31,,34,,56,62,36,39,42,,,,,,,,,,47,,,,',
629
+ ',,,,53,19,54,,,,,32,51,45,65,69,73,71,,55,,28,29,31,,34,,56,62,36,39',
630
+ '42,,,,,,,,,,47,,,,,122,,,,53,579,54,,,,,32,51,45,65,69,73,71,,55,597',
631
+ '28,29,31,,34,,56,62,36,39,42,,,94,122,,,,,237,47,,,,239,,,,,53,,54,233',
632
+ '232,,,,234,238,240,241,242,243,244,246,247,,122,94,,,,56,62,237,,,,',
633
+ '239,,,,,,,,233,232,,,,234,238,240,241,242,243,244,246,247,94,122,,,',
634
+ ',237,,,,,239,,,,,,,,233,232,,,,234,238,240,241,242,243,244,246,247,',
635
+ '122,94,,,,,,237,,,,,239,,,,,,,,233,232,,,,234,238,240,241,242,243,244',
636
+ '246,247,94,122,,,,,237,,,,,239,,,,,,,,233,232,,,,234,238,240,241,242',
637
+ '243,244,246,247,,122,94,,,,,,237,,,,,239,,,,,,,,233,232,,,,234,238,240',
638
+ '241,242,243,244,246,247,94,122,,,,,237,,,,,239,,,,,,,,233,232,,,,234',
639
+ '238,240,241,242,243,244,246,247,,122,94,,,,,,237,,,,,239,,,,,,,,233',
640
+ '232,,,,234,238,240,241,242,243,244,246,247,94,122,,,,,237,,,,,239,,',
641
+ ',,,,,233,232,,,,234,238,240,241,242,243,244,246,247,,122,94,,,,,,237',
642
+ ',,,,239,,,,,,,,233,232,,,,234,238,240,241,242,243,244,246,247,94,122',
643
+ ',,,,237,,,,,239,,,,,,,,233,232,,,,234,238,240,241,242,243,244,246,247',
644
+ ',122,94,,,,,,237,,,,,239,,,,,,,,233,232,,,,234,238,240,241,242,243,244',
645
+ '246,247,94,122,,,,,237,,,,,239,,122,,,,,,233,232,,,,234,238,240,241',
646
+ '242,243,244,246,247,,,94,,,,,,237,,,,,239,94,122,,,,,237,233,232,,,239',
647
+ '234,238,240,241,242,243,244,246,247,,,,,238,240,241,242,243,244,246',
648
+ '247,,122,94,,,,,,237,,,,,239,,,,,,,,233,232,,,,234,238,240,241,242,243',
649
+ '244,246,247,94,,,,,,237,,,,,239,,,,,,,,233,232,,,,234,238,240,241,242',
650
+ '243,244,246,247' ]
651
+ racc_action_table = arr = ::Array.new(2201, nil)
652
+ idx = 0
653
+ clist.each do |str|
654
+ str.split(',', -1).each do |i|
655
+ arr[idx] = i.to_i unless i.empty?
656
+ idx += 1
657
+ end
658
+ end
659
+
660
+ clist = [
661
+ '119,295,412,119,412,530,291,109,109,436,96,119,119,286,119,119,309,617',
662
+ '664,410,292,119,410,119,355,666,698,464,114,295,295,96,295,295,295,295',
663
+ '295,119,519,519,291,286,286,436,309,309,625,252,292,252,309,309,412',
664
+ '412,292,285,664,252,252,252,252,464,252,666,698,617,617,281,109,109',
665
+ '731,280,119,119,119,119,119,119,119,119,119,119,119,252,625,291,119',
666
+ '119,436,285,295,295,699,252,98,252,530,530,73,292,119,119,286,286,731',
667
+ '309,309,355,355,341,538,293,294,97,288,98,252,252,252,252,252,252,252',
668
+ '252,252,252,252,252,252,289,699,701,252,252,97,290,252,252,252,252,332',
669
+ '72,332,341,620,293,294,252,538,341,332,332,332,332,341,332,319,696,71',
670
+ '678,677,676,341,341,328,701,328,341,341,341,341,341,341,341,341,341',
671
+ '332,113,113,332,332,332,620,113,113,279,332,352,332,352,319,696,319',
672
+ '678,677,676,74,352,352,491,352,352,304,305,205,205,491,663,662,332,332',
673
+ '332,332,332,332,332,332,332,332,332,332,332,614,352,70,332,332,520,520',
674
+ '332,332,332,332,276,297,276,304,305,113,113,332,663,662,276,276,276',
675
+ '276,362,276,597,284,554,362,298,550,549,614,548,352,352,352,352,352',
676
+ '352,352,352,352,352,352,276,299,274,352,352,276,300,546,276,546,276',
677
+ '301,276,361,597,284,554,352,352,550,549,302,548,274,361,274,547,306',
678
+ '307,308,303,527,315,276,276,276,276,276,276,276,276,276,276,276,276',
679
+ '276,283,361,320,276,276,47,47,276,276,276,276,321,54,321,547,306,307',
680
+ '308,276,527,315,321,321,321,321,265,321,53,249,19,561,92,111,115,283',
681
+ '545,320,545,361,361,361,361,263,361,275,93,54,321,518,518,321,321,321',
682
+ '111,115,111,115,321,365,321,365,53,249,19,561,275,261,275,365,365,68',
683
+ '365,365,108,311,108,108,228,228,228,321,321,321,321,321,321,321,321',
684
+ '321,321,321,321,321,329,365,329,321,321,191,191,321,321,321,321,148',
685
+ '148,99,29,29,29,312,321,138,138,99,99,99,99,313,99,522,522,522,521,521',
686
+ '521,227,227,314,365,365,365,365,365,365,365,365,365,365,365,99,226,226',
687
+ '365,365,218,218,726,726,260,99,317,99,189,423,423,259,365,365,215,215',
688
+ '189,189,258,189,189,487,487,67,622,324,325,66,99,99,99,99,99,99,99,99',
689
+ '99,99,99,99,99,64,189,282,99,99,257,63,99,99,99,99,335,339,56,62,256',
690
+ '342,622,99,346,255,56,56,52,56,56,370,370,370,370,370,370,370,370,370',
691
+ '370,189,189,189,189,189,189,189,189,189,189,189,56,51,354,189,189,622',
692
+ '622,622,622,622,622,622,622,622,622,622,254,189,189,622,622,357,46,45',
693
+ '360,42,94,41,369,357,357,225,357,357,622,56,56,56,56,56,56,56,56,56',
694
+ '56,56,380,382,40,56,56,39,36,35,34,357,33,31,30,224,28,27,395,56,56',
695
+ '396,26,409,223,25,413,421,351,422,217,425,120,426,427,433,24,437,438',
696
+ '440,120,120,120,120,451,120,357,357,357,357,357,357,357,357,357,357',
697
+ '357,452,357,357,357,357,351,540,453,454,120,455,351,120,120,120,214',
698
+ '351,357,357,120,465,120,468,473,351,351,474,23,481,351,351,351,351,351',
699
+ '351,351,351,351,482,483,540,484,120,120,120,120,120,120,120,120,120',
700
+ '120,120,120,120,20,213,488,120,120,212,107,120,120,120,120,494,496,497',
701
+ '107,107,107,107,120,107,540,540,540,540,540,540,540,540,540,540,540',
702
+ '499,500,507,540,540,211,512,516,517,107,210,209,208,207,107,203,100',
703
+ '107,540,107,528,107,18,533,535,536,95,17,16,195,95,95,95,95,95,95,95',
704
+ '95,95,95,193,190,107,107,107,107,107,107,107,107,107,107,107,107,107',
705
+ '103,188,184,107,107,95,552,107,107,107,107,95,183,560,182,562,95,408',
706
+ '107,563,569,15,14,579,95,95,13,582,583,95,95,95,95,95,95,95,95,95,584',
707
+ '585,95,95,95,95,95,95,95,95,95,95,95,408,586,587,95,95,588,589,590,591',
708
+ '592,593,594,326,595,596,181,600,95,95,601,326,326,608,326,326,609,610',
709
+ '611,262,612,157,615,12,618,619,408,408,408,408,408,408,408,408,408,408',
710
+ '408,326,11,10,408,408,624,9,626,627,628,635,636,350,8,655,657,262,660',
711
+ '408,154,153,7,6,671,350,672,673,675,264,125,124,123,5,683,684,326,326',
712
+ '326,326,326,326,326,326,326,326,326,350,685,686,326,326,262,262,262',
713
+ '262,262,262,262,262,262,262,262,264,326,326,262,262,112,112,687,112',
714
+ '112,112,112,112,688,689,690,691,692,262,350,350,350,350,350,350,350',
715
+ '350,350,350,350,693,694,695,350,350,264,264,264,264,264,264,264,264',
716
+ '264,264,264,121,350,350,264,264,4,116,3,104,703,264,708,118,117,116',
717
+ '116,116,116,264,116,112,112,732,,,,,,,,,,,,,,,,,,116,,,116,116,116,',
718
+ ',,,116,,116,,,,,383,,,,,,,,,,,,383,,,,116,116,116,116,116,116,116,116',
719
+ '116,116,116,116,116,,,,116,116,383,,116,116,116,116,383,,,,,383,,116',
720
+ '55,,,,,383,383,,,,383,383,383,383,383,383,383,383,383,,,383,383,383',
721
+ '383,383,383,383,383,383,383,383,327,,55,383,383,,,,327,327,,327,327',
722
+ ',,,216,383,383,,,,,,,,,,,,,,,,327,,,55,55,55,55,55,55,55,55,55,,,,,216',
723
+ '55,55,,,,,,,,,,,,,55,,,,327,327,327,327,327,327,327,327,327,327,327',
724
+ ',,,327,327,216,216,216,216,216,216,216,216,216,,,,327,327,216,216,,',
725
+ '1,,,,,1,,,,,216,1,1,1,1,1,1,1,,1,,1,1,1,,1,,,,1,1,1,,,,,,,,,,1,,,,,',
726
+ ',,,1,,1,,,,,,,,,,,,359,,,,580,580,,,,1,1,580,580,580,580,580,580,580',
727
+ ',580,580,580,580,580,,580,,,,580,580,580,,,359,,,,,,359,580,,,,359,',
728
+ ',,,580,,580,359,359,,,,359,359,359,359,359,359,359,359,359,,201,201',
729
+ ',,,580,580,201,201,201,201,201,201,201,,201,,201,201,201,,201,,,,201',
730
+ '201,201,,,,,,,,,,201,,,,,,,,,201,,201,,,,,,,,,,,,,,,,681,681,,,,201',
731
+ '201,681,681,681,681,681,681,681,,681,,681,681,681,,681,,,,681,681,681',
732
+ ',,,,,,,,,681,,,,,,,,,681,654,681,,,,,654,654,654,654,654,654,654,,654',
733
+ ',654,654,654,,654,,681,681,654,654,654,,,,,,,,,,654,,,,,,,,,654,91,654',
734
+ ',,,,91,91,91,91,91,91,91,,91,,91,91,91,,91,,654,654,91,91,91,,,,,,,',
735
+ ',,91,,,,,,,,,91,0,91,,,,,0,0,0,0,0,0,0,,0,,0,0,0,,0,,91,91,0,0,0,,,',
736
+ ',,,,,,0,,,,,340,,,,0,510,0,,,,,510,510,510,510,510,510,510,,510,510',
737
+ '510,510,510,,510,,0,0,510,510,510,,,340,384,,,,,340,510,,,,340,,,,,510',
738
+ ',510,340,340,,,,340,340,340,340,340,340,340,340,340,,385,384,,,,510',
739
+ '510,384,,,,,384,,,,,,,,384,384,,,,384,384,384,384,384,384,384,384,384',
740
+ '385,386,,,,,385,,,,,385,,,,,,,,385,385,,,,385,385,385,385,385,385,385',
741
+ '385,385,,387,386,,,,,,386,,,,,386,,,,,,,,386,386,,,,386,386,386,386',
742
+ '386,386,386,386,386,387,388,,,,,387,,,,,387,,,,,,,,387,387,,,,387,387',
743
+ '387,387,387,387,387,387,387,,389,388,,,,,,388,,,,,388,,,,,,,,388,388',
744
+ ',,,388,388,388,388,388,388,388,388,388,389,390,,,,,389,,,,,389,,,,,',
745
+ ',,389,389,,,,389,389,389,389,389,389,389,389,389,,391,390,,,,,,390,',
746
+ ',,,390,,,,,,,,390,390,,,,390,390,390,390,390,390,390,390,390,391,392',
747
+ ',,,,391,,,,,391,,,,,,,,391,391,,,,391,391,391,391,391,391,391,391,391',
748
+ ',393,392,,,,,,392,,,,,392,,,,,,,,392,392,,,,392,392,392,392,392,392',
749
+ '392,392,392,393,572,,,,,393,,,,,393,,,,,,,,393,393,,,,393,393,393,393',
750
+ '393,393,393,393,393,,237,572,,,,,,572,,,,,572,,,,,,,,572,572,,,,572',
751
+ '572,572,572,572,572,572,572,572,237,486,,,,,237,,,,,237,,230,,,,,,237',
752
+ '237,,,,237,237,237,237,237,237,237,237,237,,,486,,,,,,486,,,,,486,230',
753
+ '570,,,,,230,486,486,,,230,486,486,486,486,486,486,486,486,486,,,,,230',
754
+ '230,230,230,230,230,230,230,,478,570,,,,,,570,,,,,570,,,,,,,,570,570',
755
+ ',,,570,570,570,570,570,570,570,570,570,478,,,,,,478,,,,,478,,,,,,,,478',
756
+ '478,,,,478,478,478,478,478,478,478,478,478' ]
757
+ racc_action_check = arr = ::Array.new(2201, nil)
758
+ idx = 0
759
+ clist.each do |str|
760
+ str.split(',', -1).each do |i|
761
+ arr[idx] = i.to_i unless i.empty?
762
+ idx += 1
763
+ end
764
+ end
765
+
766
+ racc_action_pointer = [
767
+ 1565, 1235, nil, 1000, 998, 917, 907, 906, 898, 891,
768
+ 887, 886, 871, 814, 810, 809, 761, 760, 754, 338,
769
+ 697, nil, nil, 670, 622, 611, 611, 606, 597, 411,
770
+ 600, 594, nil, 601, 596, 598, 594, nil, nil, 593,
771
+ 593, 572, 567, nil, nil, 565, 567, 308, nil, nil,
772
+ nil, 543, 521, 336, 321, 1094, 508, nil, nil, nil,
773
+ nil, nil, 509, 501, 498, nil, 481, 480, 299, nil,
774
+ 221, 152, 138, 92, 196, nil, nil, nil, nil, nil,
775
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
776
+ nil, 1519, 343, 320, 568, 755, 7, 110, 91, 415,
777
+ 747, nil, nil, 784, 997, nil, nil, 704, 364, -25,
778
+ nil, 344, 922, 145, 4, 345, 995, 1002, 1001, -3,
779
+ 618, 955, nil, 867, 866, 910, nil, nil, nil, nil,
780
+ nil, nil, nil, nil, nil, nil, nil, nil, 351, nil,
781
+ nil, nil, nil, nil, nil, nil, nil, nil, 342, nil,
782
+ nil, nil, nil, 900, 899, nil, nil, 865, nil, nil,
783
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
784
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
785
+ nil, 850, 798, 795, 785, nil, nil, nil, 788, 462,
786
+ 690, 326, nil, 729, nil, 758, nil, nil, nil, nil,
787
+ nil, 1363, nil, 744, nil, 196, nil, 742, 741, 740,
788
+ 739, 734, 703, 699, 658, 468, 1142, 616, 452, nil,
789
+ nil, nil, nil, 562, 552, 523, 399, 382, 331, nil,
790
+ 2060, nil, nil, nil, nil, nil, nil, 2013, nil, nil,
791
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 337,
792
+ nil, nil, 43, nil, 562, 519, 514, 504, 476, 469,
793
+ 462, 287, 863, 311, 909, 334, nil, nil, nil, nil,
794
+ nil, nil, nil, nil, 268, 356, 229, nil, nil, 183,
795
+ 69, 61, 497, 309, 244, 49, 9, nil, 112, 127,
796
+ 133, 0, 14, 105, 106, -3, nil, 232, 251, 268,
797
+ 273, 278, 288, 297, 196, 197, 290, 291, 292, 12,
798
+ nil, 387, 423, 431, 441, 295, nil, 440, nil, 150,
799
+ 311, 322, nil, nil, 483, 484, 847, 1126, 140, 384,
800
+ nil, nil, 136, nil, nil, 459, nil, nil, nil, 436,
801
+ 1605, 103, 508, nil, nil, nil, 429, nil, nil, nil,
802
+ 893, 614, 183, nil, 544, 20, nil, 563, nil, 1293,
803
+ 548, 276, 243, nil, nil, 369, nil, nil, nil, 573,
804
+ 517, nil, nil, nil, nil, nil, nil, nil, nil, nil,
805
+ 588, nil, 589, 1046, 1640, 1673, 1708, 1741, 1776, 1809,
806
+ 1844, 1877, 1912, 1945, nil, 563, 604, nil, nil, nil,
807
+ nil, nil, nil, nil, nil, nil, nil, nil, 801, 609,
808
+ -80, nil, -45, 612, nil, nil, nil, nil, nil, nil,
809
+ nil, 573, 575, 443, nil, 614, 598, 598, nil, nil,
810
+ nil, nil, nil, 621, nil, nil, 3, 623, 604, nil,
811
+ 622, nil, nil, nil, nil, nil, nil, nil, nil, nil,
812
+ nil, 630, 643, 650, 651, 653, nil, nil, nil, nil,
813
+ nil, nil, nil, nil, 21, 660, nil, nil, 662, nil,
814
+ nil, nil, nil, 666, 669, nil, nil, nil, 2128, nil,
815
+ nil, 669, 679, 682, 599, nil, 2048, 473, 697, nil,
816
+ nil, 197, nil, nil, 713, nil, 710, 693, nil, 658,
817
+ 689, nil, nil, nil, nil, nil, nil, 731, nil, nil,
818
+ 1611, nil, 735, nil, nil, nil, 687, 687, 306, -21,
819
+ 168, 377, 374, nil, nil, nil, nil, 294, 749, nil,
820
+ -4, nil, nil, 656, nil, 713, 714, nil, 101, nil,
821
+ 649, nil, nil, nil, nil, 303, 229, 289, 251, 249,
822
+ 248, nil, 790, nil, 245, nil, nil, nil, nil, nil,
823
+ 794, 339, 796, 800, nil, nil, nil, nil, nil, 718,
824
+ 2095, nil, 1980, nil, nil, nil, nil, nil, nil, 807,
825
+ 1299, nil, 815, 816, 826, 827, 840, 841, 844, 845,
826
+ 846, 847, 848, 849, 850, 852, 852, 243, nil, nil,
827
+ 758, 851, nil, nil, nil, nil, nil, nil, 762, 766,
828
+ 861, 822, 824, nil, 216, 821, nil, -32, 868, 776,
829
+ 135, nil, 478, nil, 793, 37, 867, 867, 868, nil,
830
+ nil, nil, nil, nil, nil, 889, 890, nil, nil, nil,
831
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
832
+ nil, nil, nil, nil, 1473, 894, nil, 896, nil, nil,
833
+ 895, nil, 202, 201, 9, nil, 16, nil, nil, nil,
834
+ nil, 811, 863, 907, nil, 815, 155, 154, 153, nil,
835
+ nil, 1427, nil, 918, 919, 932, 933, 954, 960, 961,
836
+ 962, 963, 964, 977, 978, 979, 151, nil, 17, 83,
837
+ nil, 125, nil, 953, nil, nil, nil, nil, 978, nil,
838
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
839
+ nil, nil, nil, nil, nil, nil, 454, nil, nil, nil,
840
+ nil, 64, 1011, nil, nil ]
841
+
842
+ racc_action_default = [
843
+ -18, -436, -1, -436, -436, -436, -436, -436, -436, -436,
844
+ -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
845
+ -436, -77, -78, -436, -436, -436, -436, -436, -436, -436,
846
+ -436, -436, -94, -436, -436, -436, -436, -133, -134, -436,
847
+ -436, -436, -436, -177, -178, -436, -436, -436, -188, -189,
848
+ -190, -436, -436, -436, -436, -436, -436, -279, -280, -281,
849
+ -282, -283, -436, -436, -436, -340, -436, -436, -436, -348,
850
+ -436, -436, -436, -436, -436, -2, -3, -4, -5, -6,
851
+ -7, -8, -9, -10, -11, -12, -13, -14, -15, -16,
852
+ -17, -18, -174, -24, -436, -436, -79, -80, -81, -104,
853
+ -436, -90, -91, -436, -436, -92, -93, -104, -436, -436,
854
+ -127, -135, -152, -162, -155, -180, -104, -436, -436, -192,
855
+ -104, -173, -174, -436, -436, -436, -232, -233, -234, -235,
856
+ -236, -237, -238, -239, -240, -241, -314, -315, -323, -317,
857
+ -318, -319, -320, -321, -322, -325, -326, -327, -436, -331,
858
+ -332, -333, -334, -372, -374, -434, -278, -436, -286, -287,
859
+ -288, -289, -290, -291, -292, -293, -294, -295, -296, -297,
860
+ -298, -299, -300, -301, -302, -303, -304, -305, -306, -335,
861
+ -336, -436, -436, -436, -436, -435, -284, -311, -337, -436,
862
+ -344, -436, -346, -436, -363, -436, -364, -397, -400, -398,
863
+ 735, -436, -21, -436, -175, -436, -25, -436, -436, -436,
864
+ -436, -436, -436, -436, -436, -436, -436, -300, -436, -71,
865
+ -73, -74, -75, -242, -243, -245, -247, -249, -252, -255,
866
+ -436, -260, -261, -262, -263, -264, -265, -436, -267, -268,
867
+ -269, -270, -271, -272, -273, -274, -275, -276, -84, -436,
868
+ -86, -88, -436, -95, -436, -436, -436, -436, -436, -436,
869
+ -436, -436, -436, -436, -436, -436, -410, -411, -412, -429,
870
+ -430, -431, -432, -83, -179, -191, -436, -121, -123, -436,
871
+ -436, -436, -436, -436, -436, -436, -436, -128, -436, -436,
872
+ -436, -436, -436, -436, -436, -436, -143, -436, -436, -436,
873
+ -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
874
+ -156, -436, -436, -436, -436, -436, -186, -204, -205, -436,
875
+ -436, -436, -201, -212, -436, -436, -436, -436, -185, -198,
876
+ -193, -199, -436, -229, -230, -436, -316, -324, -328, -329,
877
+ -436, -436, -285, -307, -309, -310, -312, -313, -339, -347,
878
+ -436, -436, -436, -341, -436, -436, -355, -436, -358, -436,
879
+ -436, -436, -436, -366, -368, -436, -19, -22, -176, -436,
880
+ -436, -27, -28, -29, -30, -31, -32, -33, -34, -35,
881
+ -436, -37, -436, -436, -436, -436, -436, -436, -436, -436,
882
+ -436, -436, -436, -436, -259, -436, -105, -106, -108, -82,
883
+ -96, -97, -98, -99, -100, -101, -102, -103, -436, -436,
884
+ -409, -405, -436, -436, -404, -182, -195, -109, -122, -124,
885
+ -125, -436, -436, -436, -118, -119, -436, -117, -126, -129,
886
+ -130, -131, -132, -436, -171, -172, -436, -436, -138, -141,
887
+ -142, -139, -136, -144, -145, -146, -147, -148, -149, -150,
888
+ -151, -436, -436, -436, -436, -436, -153, -157, -158, -159,
889
+ -160, -161, -154, -203, -436, -207, -209, -211, -208, -181,
890
+ -202, -213, -214, -436, -436, -184, -197, -194, -436, -330,
891
+ -277, -436, -436, -436, -375, -376, -436, -436, -436, -338,
892
+ -342, -436, -345, -356, -436, -359, -436, -436, -361, -323,
893
+ -436, -350, -351, -352, -353, -354, -365, -436, -399, -401,
894
+ -436, -26, -436, -36, -70, -72, -244, -246, -248, -250,
895
+ -251, -253, -254, -256, -257, -258, -266, -436, -436, -312,
896
+ -391, -381, -402, -407, -408, -436, -436, -413, -436, -415,
897
+ -436, -418, -419, -420, -403, -436, -436, -436, -436, -436,
898
+ -436, -163, -436, -165, -436, -166, -167, -168, -169, -170,
899
+ -206, -436, -215, -216, -231, -371, -373, -308, -377, -436,
900
+ -436, -370, -436, -343, -357, -362, -360, -349, -367, -436,
901
+ -436, -38, -436, -436, -436, -436, -436, -436, -436, -436,
902
+ -436, -436, -436, -436, -436, -436, -436, -436, -107, -379,
903
+ -395, -394, -380, -382, -383, -384, -385, -386, -389, -390,
904
+ -436, -436, -436, -406, -436, -436, -414, -436, -436, -217,
905
+ -436, -225, -436, -228, -221, -436, -436, -115, -114, -116,
906
+ -120, -164, -137, -210, -378, -436, -436, -20, -23, -39,
907
+ -40, -41, -42, -43, -44, -45, -46, -47, -48, -49,
908
+ -50, -51, -52, -53, -436, -436, -393, -436, -387, -388,
909
+ -392, -395, -436, -436, -436, -424, -436, -427, -416, -417,
910
+ -219, -218, -436, -436, -223, -222, -436, -436, -436, -369,
911
+ -433, -436, -55, -436, -436, -436, -436, -436, -436, -436,
912
+ -436, -436, -436, -436, -436, -436, -436, -396, -436, -436,
913
+ -421, -436, -426, -436, -220, -226, -227, -224, -111, -112,
914
+ -113, -54, -56, -57, -58, -59, -60, -61, -62, -63,
915
+ -64, -65, -66, -67, -68, -69, -436, -422, -423, -425,
916
+ -428, -436, -436, -110, -76 ]
917
+
918
+ racc_goto_table = [
919
+ 4, 4, 16, 16, 3, 3, 17, 17, 5, 5,
920
+ 222, 409, 363, 127, 221, 342, 219, 157, 533, 426,
921
+ 441, 217, 206, 126, 481, 482, 313, 530, 132, 174,
922
+ 396, 296, 316, 539, 129, 488, 331, 297, 311, 131,
923
+ 173, 2, 75, 160, 290, 310, 287, 303, 314, 277,
924
+ 353, 356, 298, 312, 123, 124, 134, 162, 629, 465,
925
+ 279, 485, 664, 253, 534, 601, 433, 437, 174, 608,
926
+ 567, 278, 609, 581, 321, 440, 1, 178, 332, 173,
927
+ 330, 589, 220, 575, 518, 691, 682, 125, 516, 596,
928
+ 705, 4, 174, 16, 135, 3, 130, 17, 176, 5,
929
+ 272, 468, 633, 173, 177, 128, 160, 394, 272, 463,
930
+ 698, 699, 691, 712, 181, 470, 156, 272, 182, 309,
931
+ 162, 272, 435, 435, 521, 522, 470, 248, 250, 251,
932
+ 620, 625, 202, 523, 524, 525, 519, 520, 438, 295,
933
+ 178, 186, 487, 639, 726, 286, 600, 660, 659, 423,
934
+ 658, 589, 395, 352, 276, 517, 355, 528, 192, 596,
935
+ 500, 176, 174, 598, 494, 495, 194, 177, 362, 252,
936
+ 569, 484, 218, 173, 127, 599, 160, 181, 602, 531,
937
+ 603, 182, 604, 605, 126, 709, 710, 613, 606, 132,
938
+ 162, 415, 416, 607, 681, 129, 93, 580, 197, 568,
939
+ 131, 4, 365, 16, 560, 3, 588, 17, 656, 5,
940
+ 178, 552, 491, 490, 443, 493, 400, 134, 418, 410,
941
+ 297, 290, 313, 429, 532, 690, 509, 670, 661, 279,
942
+ 303, 176, 674, 596, 311, 298, 669, 177, 668, 733,
943
+ 278, 457, 367, 413, 314, 475, 476, 181, 380, 312,
944
+ 398, 182, 690, 272, 635, 135, 636, 130, 411, 205,
945
+ 596, 538, 201, 272, 666, 272, 128, 435, nil, nil,
946
+ nil, nil, 585, 586, 497, 697, 588, 272, nil, 704,
947
+ 632, nil, 626, 707, 424, 398, 427, 473, 474, 618,
948
+ 587, 706, 434, 434, 439, 398, 512, 511, 222, 174,
949
+ 174, nil, 221, nil, 515, 451, 452, 453, 454, 455,
950
+ 173, 173, nil, 160, 160, nil, 462, nil, 496, 502,
951
+ 467, 398, 272, 174, 578, 174, 593, 162, 162, 501,
952
+ 174, 562, 563, 272, 173, 440, 173, 160, 174, 160,
953
+ 503, 173, 585, 586, 160, nil, nil, 178, 178, 173,
954
+ 689, 162, 160, 162, 592, nil, 174, nil, 162, nil,
955
+ 587, nil, 505, nil, nil, nil, 162, 173, 176, 176,
956
+ 220, 673, nil, 178, 177, 177, nil, 689, 178, nil,
957
+ nil, nil, 504, nil, 181, 181, 178, nil, 182, 182,
958
+ nil, nil, nil, 564, 176, nil, 593, nil, nil, 176,
959
+ 177, nil, nil, nil, nil, 177, nil, 176, nil, 272,
960
+ 181, nil, nil, 177, 182, 181, 686, 687, nil, 182,
961
+ nil, nil, nil, 181, 592, nil, nil, 182, nil, nil,
962
+ nil, nil, nil, nil, 688, nil, nil, 434, nil, nil,
963
+ nil, nil, nil, 686, 687, nil, nil, nil, nil, nil,
964
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
965
+ nil, 688, nil, nil, nil, 467, nil, nil, nil, nil,
966
+ 693, nil, nil, nil, nil, nil, nil, nil, nil, nil,
967
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
968
+ nil, nil, nil, nil, nil, nil, nil, 693, 692, nil,
969
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
970
+ 583, nil, 594, nil, 582, nil, 595, nil, 584, nil,
971
+ nil, nil, nil, nil, nil, 692, nil, nil, 398, nil,
972
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
973
+ nil, 272, nil, nil, nil, nil, nil, nil, 398, 627,
974
+ 628, 630, nil, nil, nil, 398, nil, nil, nil, nil,
975
+ nil, nil, 467, nil, nil, nil, nil, nil, nil, nil,
976
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
977
+ 583, nil, 594, nil, 582, nil, 595, nil, 584, nil,
978
+ nil, nil, nil, nil, nil, nil, nil, nil, 655, nil,
979
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
980
+ nil, nil, nil, nil, nil, 665, nil, nil, nil, nil,
981
+ nil, nil, nil, 272, nil, nil, nil, nil, nil, nil,
982
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
983
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
984
+ nil, nil, nil, nil, 684, nil, 694, nil, 683, nil,
985
+ 695, nil, 685, 665, 665, nil, nil, nil, nil, nil,
986
+ nil, nil, nil, nil, nil, nil, nil, 708, 630, 630,
987
+ nil, 684, nil, 694, nil, 683, nil, 695, nil, 685,
988
+ nil, nil, nil, nil, nil, nil, nil, 665, nil, nil,
989
+ nil, nil, 729, nil, nil, nil, nil, nil, nil, nil,
990
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
991
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
992
+ nil, nil, 630 ]
993
+
994
+ racc_goto_check = [
995
+ 4, 4, 16, 16, 3, 3, 17, 17, 5, 5,
996
+ 36, 104, 167, 107, 35, 99, 33, 91, 101, 57,
997
+ 72, 26, 24, 106, 126, 126, 77, 105, 112, 112,
998
+ 52, 73, 87, 192, 109, 126, 87, 65, 65, 111,
999
+ 111, 2, 2, 34, 50, 80, 64, 50, 50, 59,
1000
+ 153, 160, 66, 66, 37, 37, 37, 37, 58, 96,
1001
+ 60, 169, 38, 49, 190, 180, 81, 81, 112, 178,
1002
+ 139, 49, 179, 27, 86, 52, 1, 132, 86, 111,
1003
+ 91, 10, 34, 139, 118, 28, 31, 25, 116, 18,
1004
+ 102, 4, 112, 16, 114, 3, 110, 17, 128, 5,
1005
+ 37, 52, 97, 111, 130, 108, 34, 123, 37, 95,
1006
+ 38, 38, 28, 31, 150, 93, 127, 37, 154, 79,
1007
+ 37, 37, 82, 82, 120, 120, 93, 47, 47, 47,
1008
+ 100, 100, 2, 121, 121, 121, 119, 119, 71, 70,
1009
+ 132, 133, 134, 27, 38, 63, 105, 180, 178, 56,
1010
+ 179, 10, 36, 152, 55, 117, 156, 104, 158, 18,
1011
+ 159, 128, 112, 53, 162, 163, 165, 130, 166, 45,
1012
+ 126, 168, 32, 111, 107, 170, 34, 150, 171, 172,
1013
+ 173, 154, 174, 175, 106, 58, 58, 190, 176, 112,
1014
+ 37, 87, 87, 177, 30, 109, 23, 22, 182, 169,
1015
+ 111, 4, 183, 16, 96, 3, 9, 17, 101, 5,
1016
+ 132, 81, 99, 153, 73, 160, 49, 37, 59, 185,
1017
+ 65, 50, 77, 64, 186, 10, 153, 101, 105, 60,
1018
+ 50, 128, 101, 18, 65, 66, 105, 130, 192, 58,
1019
+ 49, 80, 2, 188, 50, 87, 87, 150, 25, 66,
1020
+ 37, 154, 10, 37, 126, 114, 126, 110, 189, 21,
1021
+ 18, 191, 19, 37, 194, 37, 108, 82, nil, nil,
1022
+ nil, nil, 6, 7, 36, 105, 9, 37, nil, 101,
1023
+ 72, nil, 57, 101, 37, 37, 37, 91, 91, 104,
1024
+ 8, 105, 37, 37, 37, 37, 26, 24, 36, 112,
1025
+ 112, nil, 35, nil, 33, 37, 37, 37, 37, 37,
1026
+ 111, 111, nil, 34, 34, nil, 37, nil, 91, 107,
1027
+ 37, 37, 37, 112, 167, 112, 15, 37, 37, 106,
1028
+ 112, 99, 99, 37, 111, 52, 111, 34, 112, 34,
1029
+ 109, 111, 6, 7, 34, nil, nil, 132, 132, 111,
1030
+ 9, 37, 34, 37, 14, nil, 112, nil, 37, nil,
1031
+ 8, nil, 37, nil, nil, nil, 37, 111, 128, 128,
1032
+ 34, 104, nil, 132, 130, 130, nil, 9, 132, nil,
1033
+ nil, nil, 132, nil, 150, 150, 132, nil, 154, 154,
1034
+ nil, nil, nil, 36, 128, nil, 15, nil, nil, 128,
1035
+ 130, nil, nil, nil, nil, 130, nil, 128, nil, 37,
1036
+ 150, nil, nil, 130, 154, 150, 6, 7, nil, 154,
1037
+ nil, nil, nil, 150, 14, nil, nil, 154, nil, nil,
1038
+ nil, nil, nil, nil, 8, nil, nil, 37, nil, nil,
1039
+ nil, nil, nil, 6, 7, nil, nil, nil, nil, nil,
1040
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1041
+ nil, 8, nil, nil, nil, 37, nil, nil, nil, nil,
1042
+ 15, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1043
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1044
+ nil, nil, nil, nil, nil, nil, nil, 15, 14, nil,
1045
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1046
+ 4, nil, 16, nil, 3, nil, 17, nil, 5, nil,
1047
+ nil, nil, nil, nil, nil, 14, nil, nil, 37, nil,
1048
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1049
+ nil, 37, nil, nil, nil, nil, nil, nil, 37, 37,
1050
+ 37, 37, nil, nil, nil, 37, nil, nil, nil, nil,
1051
+ nil, nil, 37, nil, nil, nil, nil, nil, nil, nil,
1052
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1053
+ 4, nil, 16, nil, 3, nil, 17, nil, 5, nil,
1054
+ nil, nil, nil, nil, nil, nil, nil, nil, 37, nil,
1055
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1056
+ nil, nil, nil, nil, nil, 37, nil, nil, nil, nil,
1057
+ nil, nil, nil, 37, nil, nil, nil, nil, nil, nil,
1058
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1059
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1060
+ nil, nil, nil, nil, 4, nil, 16, nil, 3, nil,
1061
+ 17, nil, 5, 37, 37, nil, nil, nil, nil, nil,
1062
+ nil, nil, nil, nil, nil, nil, nil, 37, 37, 37,
1063
+ nil, 4, nil, 16, nil, 3, nil, 17, nil, 5,
1064
+ nil, nil, nil, nil, nil, nil, nil, 37, nil, nil,
1065
+ nil, nil, 37, nil, nil, nil, nil, nil, nil, nil,
1066
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1067
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1068
+ nil, nil, 37 ]
1069
+
1070
+ racc_goto_pointer = [
1071
+ nil, 76, 41, 4, 0, 8, -238, -237, -220, -304,
1072
+ -429, nil, nil, nil, -156, -184, 2, 6, -421, 171,
1073
+ nil, 164, -313, 177, -73, 32, -74, -437, -569, nil,
1074
+ -460, -568, 77, -79, -13, -81, -85, 1, -552, nil,
1075
+ nil, nil, nil, nil, nil, 70, nil, 31, nil, -36,
1076
+ -65, nil, -219, -364, nil, 47, -134, -265, -492, -58,
1077
+ -47, nil, nil, 36, -63, -75, -60, nil, nil, nil,
1078
+ 27, -155, -274, -81, nil, nil, nil, -87, nil, 6,
1079
+ -68, -225, -169, nil, nil, nil, -42, -83, nil, nil,
1080
+ nil, -39, nil, -206, nil, -208, -260, -459, nil, -142,
1081
+ -415, -392, -582, nil, -251, -382, -32, -42, 50, -21,
1082
+ 41, -16, -27, nil, 39, nil, -296, -230, -302, -251,
1083
+ -265, -258, nil, -123, nil, nil, -316, 60, 42, nil,
1084
+ 48, nil, 21, 79, -208, nil, nil, nil, nil, -413,
1085
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1086
+ 58, nil, -36, -139, 62, nil, -35, nil, 90, -201,
1087
+ -140, nil, -193, -192, nil, 96, -27, -183, -175, -285,
1088
+ -353, -352, -230, -350, -348, -347, -342, -337, -461, -458,
1089
+ -463, nil, 126, 4, nil, -44, -186, nil, -21, -5,
1090
+ -346, -151, -379, nil, -351 ]
1091
+
1092
+ racc_goto_default = [
1093
+ nil, nil, nil, 254, 255, 256, 6, 7, 8, 9,
1094
+ 10, 11, 12, 13, 14, 15, 259, 260, 18, nil,
1095
+ 20, nil, nil, 121, nil, nil, 172, nil, 590, 591,
1096
+ nil, nil, nil, nil, 269, 161, 480, 235, nil, 21,
1097
+ 22, 23, 24, 25, 26, nil, 27, nil, 30, 323,
1098
+ 257, 258, 425, 397, 33, nil, nil, nil, nil, nil,
1099
+ 325, 280, 35, nil, nil, 288, 289, 37, 38, 40,
1100
+ nil, nil, nil, nil, 299, 300, 301, 302, 41, nil,
1101
+ nil, nil, 170, 43, 44, 46, nil, nil, 48, 49,
1102
+ 50, 354, 52, 322, 317, 318, nil, 466, 324, nil,
1103
+ nil, nil, 621, 622, 267, 344, 164, 165, 166, 167,
1104
+ 163, 270, 271, 133, 168, 223, 224, 225, 226, 227,
1105
+ 228, 229, 230, 231, 236, 245, nil, nil, 57, 58,
1106
+ 59, 60, 61, nil, 158, 159, 169, 171, 175, 343,
1107
+ 345, 347, 139, 140, 141, 142, 143, 145, 146, 147,
1108
+ 63, 64, nil, nil, 66, 67, nil, 68, nil, nil,
1109
+ nil, 357, nil, 358, 70, nil, nil, nil, nil, nil,
1110
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
1111
+ nil, 72, nil, nil, 263, nil, nil, 264, 265, nil,
1112
+ nil, nil, nil, 540, nil ]
1113
+
1114
+ racc_reduce_table = [
1115
+ 0, 0, :racc_error,
1116
+ 1, 106, :_reduce_none,
1117
+ 2, 106, :_reduce_none,
1118
+ 2, 107, :_reduce_none,
1119
+ 2, 107, :_reduce_none,
1120
+ 2, 107, :_reduce_none,
1121
+ 2, 107, :_reduce_none,
1122
+ 2, 107, :_reduce_none,
1123
+ 2, 107, :_reduce_none,
1124
+ 2, 107, :_reduce_none,
1125
+ 2, 107, :_reduce_none,
1126
+ 2, 107, :_reduce_none,
1127
+ 2, 107, :_reduce_none,
1128
+ 2, 107, :_reduce_none,
1129
+ 2, 107, :_reduce_none,
1130
+ 2, 107, :_reduce_none,
1131
+ 2, 107, :_reduce_none,
1132
+ 2, 107, :_reduce_none,
1133
+ 0, 107, :_reduce_none,
1134
+ 4, 116, :_reduce_19,
1135
+ 2, 123, :_reduce_20,
1136
+ 1, 124, :_reduce_none,
1137
+ 2, 124, :_reduce_none,
1138
+ 7, 117, :_reduce_23,
1139
+ 2, 125, :_reduce_24,
1140
+ 1, 126, :_reduce_none,
1141
+ 3, 126, :_reduce_none,
1142
+ 2, 129, :_reduce_27,
1143
+ 2, 129, :_reduce_28,
1144
+ 2, 129, :_reduce_29,
1145
+ 2, 129, :_reduce_30,
1146
+ 2, 129, :_reduce_31,
1147
+ 2, 129, :_reduce_32,
1148
+ 2, 129, :_reduce_33,
1149
+ 2, 129, :_reduce_34,
1150
+ 2, 129, :_reduce_35,
1151
+ 3, 129, :_reduce_36,
1152
+ 2, 129, :_reduce_37,
1153
+ 1, 127, :_reduce_none,
1154
+ 2, 127, :_reduce_none,
1155
+ 2, 132, :_reduce_none,
1156
+ 2, 132, :_reduce_none,
1157
+ 2, 132, :_reduce_none,
1158
+ 2, 132, :_reduce_none,
1159
+ 2, 132, :_reduce_none,
1160
+ 2, 132, :_reduce_none,
1161
+ 2, 132, :_reduce_none,
1162
+ 2, 132, :_reduce_none,
1163
+ 2, 132, :_reduce_none,
1164
+ 2, 132, :_reduce_none,
1165
+ 2, 132, :_reduce_none,
1166
+ 2, 132, :_reduce_none,
1167
+ 2, 132, :_reduce_none,
1168
+ 2, 132, :_reduce_none,
1169
+ 4, 133, :_reduce_54,
1170
+ 1, 135, :_reduce_none,
1171
+ 2, 135, :_reduce_none,
1172
+ 2, 136, :_reduce_none,
1173
+ 2, 136, :_reduce_none,
1174
+ 2, 136, :_reduce_none,
1175
+ 2, 136, :_reduce_none,
1176
+ 2, 136, :_reduce_none,
1177
+ 2, 136, :_reduce_none,
1178
+ 2, 136, :_reduce_none,
1179
+ 2, 136, :_reduce_none,
1180
+ 2, 136, :_reduce_none,
1181
+ 2, 136, :_reduce_none,
1182
+ 2, 136, :_reduce_none,
1183
+ 2, 136, :_reduce_none,
1184
+ 2, 136, :_reduce_none,
1185
+ 5, 118, :_reduce_70,
1186
+ 1, 137, :_reduce_71,
1187
+ 3, 137, :_reduce_72,
1188
+ 1, 138, :_reduce_73,
1189
+ 1, 138, :_reduce_74,
1190
+ 1, 138, :_reduce_75,
1191
+ 6, 134, :_reduce_76,
1192
+ 1, 111, :_reduce_none,
1193
+ 1, 111, :_reduce_none,
1194
+ 2, 145, :_reduce_79,
1195
+ 2, 145, :_reduce_80,
1196
+ 2, 145, :_reduce_81,
1197
+ 4, 144, :_reduce_82,
1198
+ 3, 144, :_reduce_83,
1199
+ 3, 149, :_reduce_84,
1200
+ 2, 149, :_reduce_85,
1201
+ 3, 149, :_reduce_86,
1202
+ 2, 149, :_reduce_87,
1203
+ 3, 149, :_reduce_88,
1204
+ 2, 149, :_reduce_89,
1205
+ 2, 146, :_reduce_90,
1206
+ 2, 147, :_reduce_91,
1207
+ 2, 151, :_reduce_92,
1208
+ 2, 153, :_reduce_93,
1209
+ 1, 148, :_reduce_94,
1210
+ 1, 150, :_reduce_none,
1211
+ 2, 150, :_reduce_none,
1212
+ 2, 154, :_reduce_none,
1213
+ 2, 154, :_reduce_none,
1214
+ 2, 154, :_reduce_none,
1215
+ 2, 154, :_reduce_none,
1216
+ 2, 154, :_reduce_none,
1217
+ 2, 154, :_reduce_none,
1218
+ 2, 154, :_reduce_none,
1219
+ 0, 154, :_reduce_none,
1220
+ 2, 152, :_reduce_105,
1221
+ 1, 157, :_reduce_106,
1222
+ 3, 157, :_reduce_107,
1223
+ 1, 158, :_reduce_none,
1224
+ 4, 115, :_reduce_109,
1225
+ 10, 159, :_reduce_110,
1226
+ 8, 159, :_reduce_111,
1227
+ 8, 159, :_reduce_112,
1228
+ 8, 159, :_reduce_113,
1229
+ 6, 159, :_reduce_114,
1230
+ 6, 159, :_reduce_115,
1231
+ 6, 159, :_reduce_116,
1232
+ 4, 159, :_reduce_117,
1233
+ 1, 161, :_reduce_none,
1234
+ 1, 162, :_reduce_none,
1235
+ 1, 163, :_reduce_none,
1236
+ 1, 160, :_reduce_none,
1237
+ 2, 160, :_reduce_none,
1238
+ 1, 164, :_reduce_none,
1239
+ 2, 164, :_reduce_none,
1240
+ 2, 164, :_reduce_none,
1241
+ 4, 112, :_reduce_126,
1242
+ 2, 167, :_reduce_127,
1243
+ 1, 168, :_reduce_none,
1244
+ 2, 168, :_reduce_none,
1245
+ 2, 169, :_reduce_none,
1246
+ 2, 169, :_reduce_none,
1247
+ 2, 169, :_reduce_none,
1248
+ 1, 113, :_reduce_none,
1249
+ 1, 113, :_reduce_none,
1250
+ 2, 173, :_reduce_135,
1251
+ 4, 172, :_reduce_136,
1252
+ 6, 174, :_reduce_137,
1253
+ 4, 174, :_reduce_138,
1254
+ 4, 174, :_reduce_139,
1255
+ 2, 174, :_reduce_140,
1256
+ 1, 176, :_reduce_none,
1257
+ 1, 177, :_reduce_none,
1258
+ 1, 175, :_reduce_none,
1259
+ 2, 175, :_reduce_none,
1260
+ 2, 178, :_reduce_none,
1261
+ 2, 178, :_reduce_none,
1262
+ 2, 178, :_reduce_none,
1263
+ 2, 178, :_reduce_none,
1264
+ 2, 178, :_reduce_none,
1265
+ 2, 178, :_reduce_none,
1266
+ 2, 178, :_reduce_none,
1267
+ 0, 178, :_reduce_none,
1268
+ 4, 114, :_reduce_153,
1269
+ 4, 183, :_reduce_154,
1270
+ 2, 183, :_reduce_155,
1271
+ 1, 184, :_reduce_none,
1272
+ 2, 184, :_reduce_none,
1273
+ 2, 185, :_reduce_none,
1274
+ 2, 185, :_reduce_none,
1275
+ 2, 185, :_reduce_none,
1276
+ 2, 185, :_reduce_none,
1277
+ 0, 185, :_reduce_none,
1278
+ 3, 170, :_reduce_163,
1279
+ 4, 171, :_reduce_164,
1280
+ 3, 171, :_reduce_165,
1281
+ 3, 180, :_reduce_166,
1282
+ 3, 179, :_reduce_167,
1283
+ 3, 181, :_reduce_168,
1284
+ 3, 182, :_reduce_169,
1285
+ 3, 182, :_reduce_170,
1286
+ 1, 186, :_reduce_none,
1287
+ 1, 186, :_reduce_none,
1288
+ 1, 142, :_reduce_173,
1289
+ 1, 128, :_reduce_174,
1290
+ 2, 128, :_reduce_175,
1291
+ 3, 128, :_reduce_176,
1292
+ 1, 120, :_reduce_none,
1293
+ 1, 120, :_reduce_none,
1294
+ 3, 189, :_reduce_179,
1295
+ 2, 189, :_reduce_180,
1296
+ 4, 188, :_reduce_181,
1297
+ 4, 190, :_reduce_182,
1298
+ 3, 190, :_reduce_183,
1299
+ 4, 190, :_reduce_184,
1300
+ 3, 190, :_reduce_185,
1301
+ 3, 190, :_reduce_186,
1302
+ 2, 190, :_reduce_187,
1303
+ 1, 119, :_reduce_none,
1304
+ 1, 119, :_reduce_none,
1305
+ 1, 119, :_reduce_none,
1306
+ 3, 195, :_reduce_191,
1307
+ 2, 195, :_reduce_192,
1308
+ 3, 194, :_reduce_193,
1309
+ 4, 193, :_reduce_194,
1310
+ 4, 197, :_reduce_195,
1311
+ 3, 197, :_reduce_196,
1312
+ 4, 197, :_reduce_197,
1313
+ 3, 197, :_reduce_198,
1314
+ 3, 197, :_reduce_199,
1315
+ 2, 197, :_reduce_200,
1316
+ 1, 191, :_reduce_none,
1317
+ 2, 191, :_reduce_none,
1318
+ 2, 192, :_reduce_203,
1319
+ 1, 192, :_reduce_204,
1320
+ 1, 192, :_reduce_205,
1321
+ 3, 199, :_reduce_206,
1322
+ 2, 199, :_reduce_207,
1323
+ 2, 200, :_reduce_208,
1324
+ 1, 201, :_reduce_209,
1325
+ 3, 201, :_reduce_210,
1326
+ 1, 202, :_reduce_none,
1327
+ 1, 198, :_reduce_none,
1328
+ 2, 198, :_reduce_none,
1329
+ 2, 198, :_reduce_none,
1330
+ 3, 203, :_reduce_215,
1331
+ 3, 203, :_reduce_216,
1332
+ 4, 165, :_reduce_217,
1333
+ 5, 165, :_reduce_218,
1334
+ 5, 165, :_reduce_219,
1335
+ 6, 165, :_reduce_220,
1336
+ 4, 166, :_reduce_221,
1337
+ 5, 166, :_reduce_222,
1338
+ 5, 166, :_reduce_223,
1339
+ 6, 166, :_reduce_224,
1340
+ 1, 205, :_reduce_225,
1341
+ 3, 205, :_reduce_226,
1342
+ 3, 207, :_reduce_227,
1343
+ 1, 208, :_reduce_none,
1344
+ 3, 122, :_reduce_229,
1345
+ 3, 121, :_reduce_230,
1346
+ 5, 109, :_reduce_231,
1347
+ 1, 130, :_reduce_none,
1348
+ 1, 130, :_reduce_none,
1349
+ 1, 130, :_reduce_none,
1350
+ 1, 130, :_reduce_none,
1351
+ 1, 130, :_reduce_none,
1352
+ 1, 130, :_reduce_none,
1353
+ 1, 130, :_reduce_none,
1354
+ 1, 130, :_reduce_none,
1355
+ 1, 130, :_reduce_none,
1356
+ 1, 130, :_reduce_none,
1357
+ 1, 141, :_reduce_none,
1358
+ 1, 220, :_reduce_none,
1359
+ 3, 220, :_reduce_244,
1360
+ 1, 221, :_reduce_none,
1361
+ 3, 221, :_reduce_246,
1362
+ 1, 222, :_reduce_none,
1363
+ 3, 222, :_reduce_248,
1364
+ 1, 223, :_reduce_none,
1365
+ 3, 223, :_reduce_250,
1366
+ 3, 223, :_reduce_251,
1367
+ 1, 224, :_reduce_none,
1368
+ 3, 224, :_reduce_253,
1369
+ 3, 224, :_reduce_254,
1370
+ 1, 225, :_reduce_none,
1371
+ 3, 225, :_reduce_256,
1372
+ 3, 225, :_reduce_257,
1373
+ 3, 225, :_reduce_258,
1374
+ 2, 226, :_reduce_259,
1375
+ 1, 226, :_reduce_none,
1376
+ 1, 227, :_reduce_261,
1377
+ 1, 227, :_reduce_262,
1378
+ 1, 227, :_reduce_263,
1379
+ 1, 228, :_reduce_none,
1380
+ 1, 228, :_reduce_none,
1381
+ 3, 228, :_reduce_266,
1382
+ 1, 229, :_reduce_267,
1383
+ 1, 229, :_reduce_268,
1384
+ 1, 229, :_reduce_269,
1385
+ 1, 229, :_reduce_270,
1386
+ 1, 229, :_reduce_271,
1387
+ 1, 229, :_reduce_272,
1388
+ 1, 229, :_reduce_273,
1389
+ 1, 229, :_reduce_274,
1390
+ 1, 230, :_reduce_275,
1391
+ 1, 230, :_reduce_276,
1392
+ 1, 231, :_reduce_277,
1393
+ 2, 108, :_reduce_none,
1394
+ 1, 108, :_reduce_none,
1395
+ 1, 108, :_reduce_none,
1396
+ 1, 108, :_reduce_none,
1397
+ 1, 108, :_reduce_none,
1398
+ 1, 108, :_reduce_none,
1399
+ 2, 108, :_reduce_none,
1400
+ 2, 232, :_reduce_285,
1401
+ 1, 196, :_reduce_none,
1402
+ 1, 196, :_reduce_none,
1403
+ 1, 239, :_reduce_none,
1404
+ 1, 239, :_reduce_none,
1405
+ 1, 239, :_reduce_none,
1406
+ 1, 139, :_reduce_none,
1407
+ 1, 139, :_reduce_none,
1408
+ 1, 139, :_reduce_none,
1409
+ 1, 139, :_reduce_none,
1410
+ 1, 139, :_reduce_none,
1411
+ 1, 139, :_reduce_none,
1412
+ 1, 139, :_reduce_none,
1413
+ 1, 139, :_reduce_none,
1414
+ 1, 139, :_reduce_none,
1415
+ 1, 140, :_reduce_none,
1416
+ 1, 140, :_reduce_none,
1417
+ 1, 140, :_reduce_none,
1418
+ 1, 140, :_reduce_none,
1419
+ 1, 240, :_reduce_none,
1420
+ 1, 240, :_reduce_none,
1421
+ 1, 240, :_reduce_none,
1422
+ 1, 204, :_reduce_307,
1423
+ 3, 204, :_reduce_308,
1424
+ 1, 244, :_reduce_none,
1425
+ 1, 244, :_reduce_none,
1426
+ 1, 238, :_reduce_311,
1427
+ 1, 210, :_reduce_none,
1428
+ 1, 245, :_reduce_none,
1429
+ 1, 215, :_reduce_314,
1430
+ 1, 215, :_reduce_315,
1431
+ 2, 215, :_reduce_316,
1432
+ 1, 211, :_reduce_none,
1433
+ 1, 211, :_reduce_none,
1434
+ 1, 247, :_reduce_none,
1435
+ 1, 247, :_reduce_none,
1436
+ 1, 247, :_reduce_none,
1437
+ 1, 249, :_reduce_322,
1438
+ 1, 250, :_reduce_323,
1439
+ 2, 251, :_reduce_324,
1440
+ 1, 248, :_reduce_none,
1441
+ 1, 248, :_reduce_none,
1442
+ 1, 248, :_reduce_none,
1443
+ 2, 252, :_reduce_328,
1444
+ 2, 253, :_reduce_329,
1445
+ 3, 254, :_reduce_330,
1446
+ 1, 212, :_reduce_331,
1447
+ 1, 213, :_reduce_332,
1448
+ 1, 214, :_reduce_333,
1449
+ 1, 219, :_reduce_334,
1450
+ 1, 241, :_reduce_335,
1451
+ 1, 187, :_reduce_336,
1452
+ 2, 234, :_reduce_337,
1453
+ 4, 233, :_reduce_338,
1454
+ 2, 256, :_reduce_339,
1455
+ 1, 255, :_reduce_340,
1456
+ 1, 257, :_reduce_none,
1457
+ 2, 257, :_reduce_none,
1458
+ 3, 258, :_reduce_343,
1459
+ 2, 236, :_reduce_344,
1460
+ 4, 235, :_reduce_345,
1461
+ 2, 260, :_reduce_346,
1462
+ 2, 262, :_reduce_347,
1463
+ 1, 259, :_reduce_348,
1464
+ 4, 263, :_reduce_349,
1465
+ 1, 264, :_reduce_none,
1466
+ 1, 264, :_reduce_none,
1467
+ 1, 264, :_reduce_none,
1468
+ 1, 264, :_reduce_none,
1469
+ 1, 264, :_reduce_none,
1470
+ 1, 261, :_reduce_none,
1471
+ 2, 261, :_reduce_none,
1472
+ 3, 265, :_reduce_357,
1473
+ 1, 266, :_reduce_358,
1474
+ 2, 266, :_reduce_359,
1475
+ 3, 268, :_reduce_360,
1476
+ 2, 268, :_reduce_361,
1477
+ 2, 267, :_reduce_362,
1478
+ 2, 237, :_reduce_363,
1479
+ 2, 269, :_reduce_364,
1480
+ 3, 270, :_reduce_none,
1481
+ 1, 271, :_reduce_none,
1482
+ 3, 271, :_reduce_none,
1483
+ 1, 272, :_reduce_368,
1484
+ 6, 131, :_reduce_369,
1485
+ 4, 131, :_reduce_370,
1486
+ 4, 216, :_reduce_371,
1487
+ 1, 216, :_reduce_372,
1488
+ 4, 217, :_reduce_373,
1489
+ 1, 217, :_reduce_374,
1490
+ 2, 246, :_reduce_375,
1491
+ 1, 273, :_reduce_376,
1492
+ 2, 273, :_reduce_377,
1493
+ 3, 274, :_reduce_378,
1494
+ 4, 155, :_reduce_379,
1495
+ 4, 155, :_reduce_380,
1496
+ 3, 155, :_reduce_381,
1497
+ 1, 276, :_reduce_none,
1498
+ 1, 276, :_reduce_none,
1499
+ 1, 276, :_reduce_none,
1500
+ 1, 276, :_reduce_none,
1501
+ 1, 276, :_reduce_none,
1502
+ 2, 278, :_reduce_387,
1503
+ 2, 279, :_reduce_388,
1504
+ 1, 280, :_reduce_389,
1505
+ 1, 281, :_reduce_390,
1506
+ 0, 282, :_reduce_391,
1507
+ 3, 277, :_reduce_392,
1508
+ 2, 275, :_reduce_393,
1509
+ 1, 275, :_reduce_394,
1510
+ 1, 285, :_reduce_395,
1511
+ 3, 285, :_reduce_396,
1512
+ 2, 110, :_reduce_397,
1513
+ 2, 286, :_reduce_398,
1514
+ 3, 287, :_reduce_none,
1515
+ 0, 288, :_reduce_none,
1516
+ 2, 288, :_reduce_none,
1517
+ 3, 156, :_reduce_none,
1518
+ 3, 289, :_reduce_403,
1519
+ 2, 289, :_reduce_404,
1520
+ 1, 290, :_reduce_none,
1521
+ 2, 291, :_reduce_406,
1522
+ 1, 291, :_reduce_407,
1523
+ 1, 291, :_reduce_408,
1524
+ 0, 291, :_reduce_409,
1525
+ 1, 292, :_reduce_410,
1526
+ 1, 293, :_reduce_411,
1527
+ 1, 293, :_reduce_412,
1528
+ 2, 294, :_reduce_none,
1529
+ 3, 294, :_reduce_none,
1530
+ 1, 296, :_reduce_none,
1531
+ 3, 296, :_reduce_none,
1532
+ 3, 297, :_reduce_417,
1533
+ 1, 298, :_reduce_418,
1534
+ 1, 298, :_reduce_419,
1535
+ 1, 298, :_reduce_420,
1536
+ 4, 206, :_reduce_421,
1537
+ 4, 283, :_reduce_422,
1538
+ 4, 284, :_reduce_423,
1539
+ 1, 143, :_reduce_424,
1540
+ 3, 143, :_reduce_425,
1541
+ 4, 295, :_reduce_426,
1542
+ 1, 299, :_reduce_427,
1543
+ 3, 299, :_reduce_428,
1544
+ 1, 209, :_reduce_429,
1545
+ 1, 209, :_reduce_430,
1546
+ 1, 209, :_reduce_431,
1547
+ 1, 209, :_reduce_432,
1548
+ 6, 243, :_reduce_433,
1549
+ 1, 218, :_reduce_434,
1550
+ 1, 242, :_reduce_435 ]
1551
+
1552
+ racc_reduce_n = 436
1553
+
1554
+ racc_shift_n = 735
1555
+
1556
+ racc_token_table = {
1557
+ false => 0,
1558
+ :error => 1,
1559
+ ";" => 2,
1560
+ "{" => 3,
1561
+ "}" => 4,
1562
+ "module" => 5,
1563
+ :identifier => 6,
1564
+ "<" => 7,
1565
+ ">" => 8,
1566
+ "," => 9,
1567
+ "typename" => 10,
1568
+ "interface" => 11,
1569
+ "valuetype" => 12,
1570
+ "eventtype" => 13,
1571
+ "struct" => 14,
1572
+ "union" => 15,
1573
+ "exception" => 16,
1574
+ "enum" => 17,
1575
+ "sequence" => 18,
1576
+ "const" => 19,
1577
+ "alias" => 20,
1578
+ "local" => 21,
1579
+ "abstract" => 22,
1580
+ "pseudo" => 23,
1581
+ ":" => 24,
1582
+ "home" => 25,
1583
+ "supports" => 26,
1584
+ "manages" => 27,
1585
+ "primarykey" => 28,
1586
+ "porttype" => 29,
1587
+ "component" => 30,
1588
+ "connector" => 31,
1589
+ "provides" => 32,
1590
+ "uses" => 33,
1591
+ "multiple" => 34,
1592
+ "publishes" => 35,
1593
+ "emits" => 36,
1594
+ "consumes" => 37,
1595
+ "port" => 38,
1596
+ "mirrorport" => 39,
1597
+ "::" => 40,
1598
+ "custom" => 41,
1599
+ "truncatable" => 42,
1600
+ "public" => 43,
1601
+ "private" => 44,
1602
+ "factory" => 45,
1603
+ "(" => 46,
1604
+ ")" => 47,
1605
+ "finder" => 48,
1606
+ "in" => 49,
1607
+ "typeprefix" => 50,
1608
+ :string_literal => 51,
1609
+ "typeid" => 52,
1610
+ "=" => 53,
1611
+ "|" => 54,
1612
+ "^" => 55,
1613
+ "&" => 56,
1614
+ ">>" => 57,
1615
+ "<<" => 58,
1616
+ "+" => 59,
1617
+ "-" => 60,
1618
+ "*" => 61,
1619
+ "/" => 62,
1620
+ "%" => 63,
1621
+ "~" => 64,
1622
+ :integer_literal => 65,
1623
+ :wide_string_literal => 66,
1624
+ :character_literal => 67,
1625
+ :wide_character_literal => 68,
1626
+ :fixed_pt_literal => 69,
1627
+ :floating_pt_literal => 70,
1628
+ "TRUE" => 71,
1629
+ "FALSE" => 72,
1630
+ "typedef" => 73,
1631
+ "native" => 74,
1632
+ "float" => 75,
1633
+ "double" => 76,
1634
+ "long" => 77,
1635
+ "short" => 78,
1636
+ "unsigned" => 79,
1637
+ "char" => 80,
1638
+ "wchar" => 81,
1639
+ "boolean" => 82,
1640
+ "octet" => 83,
1641
+ "any" => 84,
1642
+ "Object" => 85,
1643
+ "switch" => 86,
1644
+ "case" => 87,
1645
+ "default" => 88,
1646
+ "string" => 89,
1647
+ "wstring" => 90,
1648
+ "[" => 91,
1649
+ "]" => 92,
1650
+ "readonly" => 93,
1651
+ "attribute" => 94,
1652
+ "oneway" => 95,
1653
+ "void" => 96,
1654
+ "out" => 97,
1655
+ "inout" => 98,
1656
+ "raises" => 99,
1657
+ "getraises" => 100,
1658
+ "setraises" => 101,
1659
+ "context" => 102,
1660
+ "fixed" => 103,
1661
+ "ValueBase" => 104 }
1662
+
1663
+ racc_nt_base = 105
1664
+
1665
+ racc_use_result_var = false
1666
+
1667
+ Racc_arg = [
1668
+ racc_action_table,
1669
+ racc_action_check,
1670
+ racc_action_default,
1671
+ racc_action_pointer,
1672
+ racc_goto_table,
1673
+ racc_goto_check,
1674
+ racc_goto_default,
1675
+ racc_goto_pointer,
1676
+ racc_nt_base,
1677
+ racc_reduce_table,
1678
+ racc_token_table,
1679
+ racc_shift_n,
1680
+ racc_reduce_n,
1681
+ racc_use_result_var ]
1682
+
1683
+ Racc_token_to_s_table = [
1684
+ "$end",
1685
+ "error",
1686
+ "\";\"",
1687
+ "\"{\"",
1688
+ "\"}\"",
1689
+ "\"module\"",
1690
+ "identifier",
1691
+ "\"<\"",
1692
+ "\">\"",
1693
+ "\",\"",
1694
+ "\"typename\"",
1695
+ "\"interface\"",
1696
+ "\"valuetype\"",
1697
+ "\"eventtype\"",
1698
+ "\"struct\"",
1699
+ "\"union\"",
1700
+ "\"exception\"",
1701
+ "\"enum\"",
1702
+ "\"sequence\"",
1703
+ "\"const\"",
1704
+ "\"alias\"",
1705
+ "\"local\"",
1706
+ "\"abstract\"",
1707
+ "\"pseudo\"",
1708
+ "\":\"",
1709
+ "\"home\"",
1710
+ "\"supports\"",
1711
+ "\"manages\"",
1712
+ "\"primarykey\"",
1713
+ "\"porttype\"",
1714
+ "\"component\"",
1715
+ "\"connector\"",
1716
+ "\"provides\"",
1717
+ "\"uses\"",
1718
+ "\"multiple\"",
1719
+ "\"publishes\"",
1720
+ "\"emits\"",
1721
+ "\"consumes\"",
1722
+ "\"port\"",
1723
+ "\"mirrorport\"",
1724
+ "\"::\"",
1725
+ "\"custom\"",
1726
+ "\"truncatable\"",
1727
+ "\"public\"",
1728
+ "\"private\"",
1729
+ "\"factory\"",
1730
+ "\"(\"",
1731
+ "\")\"",
1732
+ "\"finder\"",
1733
+ "\"in\"",
1734
+ "\"typeprefix\"",
1735
+ "string_literal",
1736
+ "\"typeid\"",
1737
+ "\"=\"",
1738
+ "\"|\"",
1739
+ "\"^\"",
1740
+ "\"&\"",
1741
+ "\">>\"",
1742
+ "\"<<\"",
1743
+ "\"+\"",
1744
+ "\"-\"",
1745
+ "\"*\"",
1746
+ "\"/\"",
1747
+ "\"%\"",
1748
+ "\"~\"",
1749
+ "integer_literal",
1750
+ "wide_string_literal",
1751
+ "character_literal",
1752
+ "wide_character_literal",
1753
+ "fixed_pt_literal",
1754
+ "floating_pt_literal",
1755
+ "\"TRUE\"",
1756
+ "\"FALSE\"",
1757
+ "\"typedef\"",
1758
+ "\"native\"",
1759
+ "\"float\"",
1760
+ "\"double\"",
1761
+ "\"long\"",
1762
+ "\"short\"",
1763
+ "\"unsigned\"",
1764
+ "\"char\"",
1765
+ "\"wchar\"",
1766
+ "\"boolean\"",
1767
+ "\"octet\"",
1768
+ "\"any\"",
1769
+ "\"Object\"",
1770
+ "\"switch\"",
1771
+ "\"case\"",
1772
+ "\"default\"",
1773
+ "\"string\"",
1774
+ "\"wstring\"",
1775
+ "\"[\"",
1776
+ "\"]\"",
1777
+ "\"readonly\"",
1778
+ "\"attribute\"",
1779
+ "\"oneway\"",
1780
+ "\"void\"",
1781
+ "\"out\"",
1782
+ "\"inout\"",
1783
+ "\"raises\"",
1784
+ "\"getraises\"",
1785
+ "\"setraises\"",
1786
+ "\"context\"",
1787
+ "\"fixed\"",
1788
+ "\"ValueBase\"",
1789
+ "$start",
1790
+ "specification",
1791
+ "definition",
1792
+ "type_dcl",
1793
+ "const_dcl",
1794
+ "except_dcl",
1795
+ "interface",
1796
+ "porttype",
1797
+ "component",
1798
+ "connector",
1799
+ "home",
1800
+ "module",
1801
+ "template_module",
1802
+ "template_module_inst",
1803
+ "value",
1804
+ "event",
1805
+ "typeid",
1806
+ "typeprefix",
1807
+ "module_header",
1808
+ "_definition_1",
1809
+ "template_module_header",
1810
+ "template_module_parameters",
1811
+ "template_module_body",
1812
+ "scoped_name_0",
1813
+ "template_module_parameter",
1814
+ "const_type",
1815
+ "sequence_type",
1816
+ "template_module_definition",
1817
+ "fixed_module",
1818
+ "template_module_reference",
1819
+ "fixed_module_body",
1820
+ "fixed_module_definition",
1821
+ "template_module_inst_parameters",
1822
+ "template_module_inst_parameter",
1823
+ "base_type_spec",
1824
+ "template_type_spec",
1825
+ "const_exp",
1826
+ "scoped_name",
1827
+ "_scoped_name_list",
1828
+ "interface_dcl",
1829
+ "forward_dcl",
1830
+ "local_interface_",
1831
+ "abstract_interface_",
1832
+ "regular_interface_",
1833
+ "interface_header",
1834
+ "interface_body",
1835
+ "pseudo_interface_header",
1836
+ "interface_inheritance_spec",
1837
+ "pseudo_interface_",
1838
+ "export",
1839
+ "attr_dcl",
1840
+ "op_dcl",
1841
+ "_interface_name_list",
1842
+ "interface_name",
1843
+ "home_header",
1844
+ "home_body",
1845
+ "home_inheritance_spec",
1846
+ "home_supports_spec",
1847
+ "home_primarykey_spec",
1848
+ "home_export",
1849
+ "init_dcl",
1850
+ "finder_dcl",
1851
+ "porttype_header",
1852
+ "porttype_body",
1853
+ "porttype_export",
1854
+ "provides_dcl",
1855
+ "uses_dcl",
1856
+ "component_dcl",
1857
+ "component_forward_dcl",
1858
+ "component_header",
1859
+ "component_body",
1860
+ "component_inheritance_spec",
1861
+ "component_supports_spec",
1862
+ "component_export",
1863
+ "emits_dcl",
1864
+ "publishes_dcl",
1865
+ "consumes_dcl",
1866
+ "port_dcl",
1867
+ "connector_header",
1868
+ "connector_body",
1869
+ "connector_export",
1870
+ "interface_type",
1871
+ "object_type",
1872
+ "event_dcl",
1873
+ "event_forward_dcl",
1874
+ "eventtype_header",
1875
+ "value_body",
1876
+ "value_inheritance_spec",
1877
+ "value_dcl",
1878
+ "value_box_dcl",
1879
+ "value_forward_dcl",
1880
+ "type_spec",
1881
+ "valuetype_header",
1882
+ "value_element",
1883
+ "value_basevalue_list",
1884
+ "value_interface_support_list",
1885
+ "_value_name_list",
1886
+ "value_name",
1887
+ "state_member",
1888
+ "declarators",
1889
+ "init_param_decls",
1890
+ "raises_expr",
1891
+ "init_param_decl",
1892
+ "init_param_attribute",
1893
+ "param_type_spec",
1894
+ "simple_declarator",
1895
+ "integer_type",
1896
+ "char_type",
1897
+ "wide_char_type",
1898
+ "boolean_type",
1899
+ "floating_pt_type",
1900
+ "string_type",
1901
+ "wide_string_type",
1902
+ "fixed_pt_const_type",
1903
+ "octet_type",
1904
+ "or_expr",
1905
+ "xor_expr",
1906
+ "and_expr",
1907
+ "shift_expr",
1908
+ "add_expr",
1909
+ "mult_expr",
1910
+ "unary_expr",
1911
+ "unary_operator",
1912
+ "primary_expr",
1913
+ "literal",
1914
+ "boolean_literal",
1915
+ "positive_int_const",
1916
+ "type_declarator",
1917
+ "struct_type",
1918
+ "struct_forward_dcl",
1919
+ "union_type",
1920
+ "union_forward_dcl",
1921
+ "enum_type",
1922
+ "native_declarator",
1923
+ "simple_type_spec",
1924
+ "constr_type_spec",
1925
+ "any_type",
1926
+ "value_base_type",
1927
+ "fixed_pt_type",
1928
+ "declarator",
1929
+ "complex_declarator",
1930
+ "array_declarator",
1931
+ "signed_int",
1932
+ "unsigned_int",
1933
+ "signed_short_int",
1934
+ "signed_long_int",
1935
+ "signed_longlong_int",
1936
+ "unsigned_short_int",
1937
+ "unsigned_long_int",
1938
+ "unsigned_longlong_int",
1939
+ "struct_def",
1940
+ "struct_header",
1941
+ "member_list",
1942
+ "member",
1943
+ "union_def",
1944
+ "union_header",
1945
+ "union_body",
1946
+ "union_dcl",
1947
+ "union_switch_spec",
1948
+ "switch_type_spec",
1949
+ "union_case",
1950
+ "_case_label_1",
1951
+ "element_spec",
1952
+ "case_label",
1953
+ "_enum_header",
1954
+ "_enum_body",
1955
+ "_enumerator_list",
1956
+ "enumerator",
1957
+ "_fixed_array_size_1",
1958
+ "fixed_array_size",
1959
+ "readonly_attr_declarator",
1960
+ "attr_raises_expr",
1961
+ "attr_declarator_list",
1962
+ "attr_both_raises_expr1",
1963
+ "attr_both_raises_expr2",
1964
+ "attr_get_raises_expr",
1965
+ "attr_set_raises_expr",
1966
+ "attr_no_raises_expr",
1967
+ "get_raises_expr",
1968
+ "set_raises_expr",
1969
+ "_simple_declarator_list",
1970
+ "_except_header",
1971
+ "_except_body",
1972
+ "_member_list0",
1973
+ "_op_dcl_header",
1974
+ "_op_dcl_parameter",
1975
+ "_op_dcl_footer",
1976
+ "op_attribute",
1977
+ "op_type_spec",
1978
+ "parameter_dcls",
1979
+ "context_expr",
1980
+ "_param_dcl_list",
1981
+ "param_dcl",
1982
+ "param_attribute",
1983
+ "_string_literal_list" ]
1984
+
1985
+ Racc_debug_parser = true
1986
+
1987
+ ##### State transition tables end #####
1988
+
1989
+ # reduce 0 omitted
1990
+
1991
+ # reduce 1 omitted
1992
+
1993
+ # reduce 2 omitted
1994
+
1995
+ # reduce 3 omitted
1996
+
1997
+ # reduce 4 omitted
1998
+
1999
+ # reduce 5 omitted
2000
+
2001
+ # reduce 6 omitted
2002
+
2003
+ # reduce 7 omitted
2004
+
2005
+ # reduce 8 omitted
2006
+
2007
+ # reduce 9 omitted
2008
+
2009
+ # reduce 10 omitted
2010
+
2011
+ # reduce 11 omitted
2012
+
2013
+ # reduce 12 omitted
2014
+
2015
+ # reduce 13 omitted
2016
+
2017
+ # reduce 14 omitted
2018
+
2019
+ # reduce 15 omitted
2020
+
2021
+ # reduce 16 omitted
2022
+
2023
+ # reduce 17 omitted
2024
+
2025
+ # reduce 18 omitted
2026
+
2027
+ module_eval(<<'.,.,', 'parser.ry', 39)
2028
+ def _reduce_19(val, _values)
2029
+ @d.end_module(val[0])
2030
+ end
2031
+ .,.,
2032
+
2033
+ module_eval(<<'.,.,', 'parser.ry', 42)
2034
+ def _reduce_20(val, _values)
2035
+ @d.define_module(val[1])
2036
+ end
2037
+ .,.,
2038
+
2039
+ # reduce 21 omitted
2040
+
2041
+ # reduce 22 omitted
2042
+
2043
+ module_eval(<<'.,.,', 'parser.ry', 48)
2044
+ def _reduce_23(val, _values)
2045
+ @d.end_template_module(val[0])
2046
+ end
2047
+ .,.,
2048
+
2049
+ module_eval(<<'.,.,', 'parser.ry', 51)
2050
+ def _reduce_24(val, _values)
2051
+ @d.register_template_module_name(val[1])
2052
+ end
2053
+ .,.,
2054
+
2055
+ # reduce 25 omitted
2056
+
2057
+ # reduce 26 omitted
2058
+
2059
+ module_eval(<<'.,.,', 'parser.ry', 57)
2060
+ def _reduce_27(val, _values)
2061
+ @d.define_template_parameter(val[1], IDL::Type::Any.new)
2062
+ end
2063
+ .,.,
2064
+
2065
+ module_eval(<<'.,.,', 'parser.ry', 59)
2066
+ def _reduce_28(val, _values)
2067
+ @d.define_template_parameter(val[1], IDL::Type::Interface.new(nil))
2068
+ end
2069
+ .,.,
2070
+
2071
+ module_eval(<<'.,.,', 'parser.ry', 61)
2072
+ def _reduce_29(val, _values)
2073
+ @d.define_template_parameter(val[1], IDL::Type::Valuetype.new(nil))
2074
+ end
2075
+ .,.,
2076
+
2077
+ module_eval(<<'.,.,', 'parser.ry', 63)
2078
+ def _reduce_30(val, _values)
2079
+ @d.define_template_parameter(val[1], IDL::Type::Eventtype.new(nil))
2080
+ end
2081
+ .,.,
2082
+
2083
+ module_eval(<<'.,.,', 'parser.ry', 65)
2084
+ def _reduce_31(val, _values)
2085
+ @d.define_template_parameter(val[1], IDL::Type::Struct.new(nil))
2086
+ end
2087
+ .,.,
2088
+
2089
+ module_eval(<<'.,.,', 'parser.ry', 67)
2090
+ def _reduce_32(val, _values)
2091
+ @d.define_template_parameter(val[1], IDL::Type::Union.new(nil))
2092
+ end
2093
+ .,.,
2094
+
2095
+ module_eval(<<'.,.,', 'parser.ry', 69)
2096
+ def _reduce_33(val, _values)
2097
+ @d.define_template_parameter(val[1], IDL::Type::Exception.new(nil))
2098
+ end
2099
+ .,.,
2100
+
2101
+ module_eval(<<'.,.,', 'parser.ry', 71)
2102
+ def _reduce_34(val, _values)
2103
+ @d.define_template_parameter(val[1], IDL::Type::Enum.new(nil))
2104
+ end
2105
+ .,.,
2106
+
2107
+ module_eval(<<'.,.,', 'parser.ry', 73)
2108
+ def _reduce_35(val, _values)
2109
+ @d.define_template_parameter(val[1], IDL::Type::Sequence.new(IDL::Type::Void.new, nil))
2110
+ end
2111
+ .,.,
2112
+
2113
+ module_eval(<<'.,.,', 'parser.ry', 75)
2114
+ def _reduce_36(val, _values)
2115
+ @d.define_template_parameter(val[2], IDL::Type::Const.new(val[1]))
2116
+ end
2117
+ .,.,
2118
+
2119
+ module_eval(<<'.,.,', 'parser.ry', 77)
2120
+ def _reduce_37(val, _values)
2121
+ @d.define_template_parameter(val[1], val[0])
2122
+ end
2123
+ .,.,
2124
+
2125
+ # reduce 38 omitted
2126
+
2127
+ # reduce 39 omitted
2128
+
2129
+ # reduce 40 omitted
2130
+
2131
+ # reduce 41 omitted
2132
+
2133
+ # reduce 42 omitted
2134
+
2135
+ # reduce 43 omitted
2136
+
2137
+ # reduce 44 omitted
2138
+
2139
+ # reduce 45 omitted
2140
+
2141
+ # reduce 46 omitted
2142
+
2143
+ # reduce 47 omitted
2144
+
2145
+ # reduce 48 omitted
2146
+
2147
+ # reduce 49 omitted
2148
+
2149
+ # reduce 50 omitted
2150
+
2151
+ # reduce 51 omitted
2152
+
2153
+ # reduce 52 omitted
2154
+
2155
+ # reduce 53 omitted
2156
+
2157
+ module_eval(<<'.,.,', 'parser.ry', 98)
2158
+ def _reduce_54(val, _values)
2159
+ @d.end_module(val[0])
2160
+ end
2161
+ .,.,
2162
+
2163
+ # reduce 55 omitted
2164
+
2165
+ # reduce 56 omitted
2166
+
2167
+ # reduce 57 omitted
2168
+
2169
+ # reduce 58 omitted
2170
+
2171
+ # reduce 59 omitted
2172
+
2173
+ # reduce 60 omitted
2174
+
2175
+ # reduce 61 omitted
2176
+
2177
+ # reduce 62 omitted
2178
+
2179
+ # reduce 63 omitted
2180
+
2181
+ # reduce 64 omitted
2182
+
2183
+ # reduce 65 omitted
2184
+
2185
+ # reduce 66 omitted
2186
+
2187
+ # reduce 67 omitted
2188
+
2189
+ # reduce 68 omitted
2190
+
2191
+ # reduce 69 omitted
2192
+
2193
+ module_eval(<<'.,.,', 'parser.ry', 118)
2194
+ def _reduce_70(val, _values)
2195
+ @d.instantiate_template_module(val[4], val[2])
2196
+ end
2197
+ .,.,
2198
+
2199
+ module_eval(<<'.,.,', 'parser.ry', 121)
2200
+ def _reduce_71(val, _values)
2201
+ [val[0]]
2202
+ end
2203
+ .,.,
2204
+
2205
+ module_eval(<<'.,.,', 'parser.ry', 123)
2206
+ def _reduce_72(val, _values)
2207
+ val[0] << val[2]; val[0]
2208
+ end
2209
+ .,.,
2210
+
2211
+ module_eval(<<'.,.,', 'parser.ry', 126)
2212
+ def _reduce_73(val, _values)
2213
+ val[0]
2214
+ end
2215
+ .,.,
2216
+
2217
+ module_eval(<<'.,.,', 'parser.ry', 128)
2218
+ def _reduce_74(val, _values)
2219
+ val[0]
2220
+ end
2221
+ .,.,
2222
+
2223
+ module_eval(<<'.,.,', 'parser.ry', 130)
2224
+ def _reduce_75(val, _values)
2225
+ val[0]
2226
+ end
2227
+ .,.,
2228
+
2229
+ module_eval(<<'.,.,', 'parser.ry', 133)
2230
+ def _reduce_76(val, _values)
2231
+ @d.declare_template_reference(val[5], val[1], val[3])
2232
+ end
2233
+ .,.,
2234
+
2235
+ # reduce 77 omitted
2236
+
2237
+ # reduce 78 omitted
2238
+
2239
+ module_eval(<<'.,.,', 'parser.ry', 140)
2240
+ def _reduce_79(val, _values)
2241
+ @d.declare_interface(val[1], val[0])
2242
+ end
2243
+ .,.,
2244
+
2245
+ module_eval(<<'.,.,', 'parser.ry', 142)
2246
+ def _reduce_80(val, _values)
2247
+ @d.declare_interface(val[1], val[0])
2248
+ end
2249
+ .,.,
2250
+
2251
+ module_eval(<<'.,.,', 'parser.ry', 144)
2252
+ def _reduce_81(val, _values)
2253
+ @d.declare_interface(val[1], val[0])
2254
+ end
2255
+ .,.,
2256
+
2257
+ module_eval(<<'.,.,', 'parser.ry', 147)
2258
+ def _reduce_82(val, _values)
2259
+ @d.end_interface(val[0])
2260
+ end
2261
+ .,.,
2262
+
2263
+ module_eval(<<'.,.,', 'parser.ry', 149)
2264
+ def _reduce_83(val, _values)
2265
+ @d.end_interface(val[0])
2266
+ end
2267
+ .,.,
2268
+
2269
+ module_eval(<<'.,.,', 'parser.ry', 152)
2270
+ def _reduce_84(val, _values)
2271
+ @d.define_interface(val[1], val[0], val[2])
2272
+ end
2273
+ .,.,
2274
+
2275
+ module_eval(<<'.,.,', 'parser.ry', 154)
2276
+ def _reduce_85(val, _values)
2277
+ @d.define_interface(val[1], val[0])
2278
+ end
2279
+ .,.,
2280
+
2281
+ module_eval(<<'.,.,', 'parser.ry', 156)
2282
+ def _reduce_86(val, _values)
2283
+ @d.define_interface(val[1], val[0], val[2])
2284
+ end
2285
+ .,.,
2286
+
2287
+ module_eval(<<'.,.,', 'parser.ry', 158)
2288
+ def _reduce_87(val, _values)
2289
+ @d.define_interface(val[1], val[0])
2290
+ end
2291
+ .,.,
2292
+
2293
+ module_eval(<<'.,.,', 'parser.ry', 160)
2294
+ def _reduce_88(val, _values)
2295
+ @d.define_interface(val[1], val[0], val[2])
2296
+ end
2297
+ .,.,
2298
+
2299
+ module_eval(<<'.,.,', 'parser.ry', 162)
2300
+ def _reduce_89(val, _values)
2301
+ @d.define_interface(val[1], val[0])
2302
+ end
2303
+ .,.,
2304
+
2305
+ module_eval(<<'.,.,', 'parser.ry', 164)
2306
+ def _reduce_90(val, _values)
2307
+ :local
2308
+ end
2309
+ .,.,
2310
+
2311
+ module_eval(<<'.,.,', 'parser.ry', 166)
2312
+ def _reduce_91(val, _values)
2313
+ :abstract
2314
+ end
2315
+ .,.,
2316
+
2317
+ module_eval(<<'.,.,', 'parser.ry', 169)
2318
+ def _reduce_92(val, _values)
2319
+ @d.define_interface(val[1], val[0])
2320
+ end
2321
+ .,.,
2322
+
2323
+ module_eval(<<'.,.,', 'parser.ry', 171)
2324
+ def _reduce_93(val, _values)
2325
+ :pseudo
2326
+ end
2327
+ .,.,
2328
+
2329
+ module_eval(<<'.,.,', 'parser.ry', 173)
2330
+ def _reduce_94(val, _values)
2331
+ :none
2332
+ end
2333
+ .,.,
2334
+
2335
+ # reduce 95 omitted
2336
+
2337
+ # reduce 96 omitted
2338
+
2339
+ # reduce 97 omitted
2340
+
2341
+ # reduce 98 omitted
2342
+
2343
+ # reduce 99 omitted
2344
+
2345
+ # reduce 100 omitted
2346
+
2347
+ # reduce 101 omitted
2348
+
2349
+ # reduce 102 omitted
2350
+
2351
+ # reduce 103 omitted
2352
+
2353
+ # reduce 104 omitted
2354
+
2355
+ module_eval(<<'.,.,', 'parser.ry', 187)
2356
+ def _reduce_105(val, _values)
2357
+ val[1]
2358
+ end
2359
+ .,.,
2360
+
2361
+ module_eval(<<'.,.,', 'parser.ry', 188)
2362
+ def _reduce_106(val, _values)
2363
+ [val[0]]
2364
+ end
2365
+ .,.,
2366
+
2367
+ module_eval(<<'.,.,', 'parser.ry', 190)
2368
+ def _reduce_107(val, _values)
2369
+ val[0] << val[2]; val[0]
2370
+ end
2371
+ .,.,
2372
+
2373
+ # reduce 108 omitted
2374
+
2375
+ module_eval(<<'.,.,', 'parser.ry', 195)
2376
+ def _reduce_109(val, _values)
2377
+ @d.end_home(val[0])
2378
+ end
2379
+ .,.,
2380
+
2381
+ module_eval(<<'.,.,', 'parser.ry', 198)
2382
+ def _reduce_110(val, _values)
2383
+ @d.define_home(val[1], val[3], val[7], val[9], val[5])
2384
+ end
2385
+ .,.,
2386
+
2387
+ module_eval(<<'.,.,', 'parser.ry', 200)
2388
+ def _reduce_111(val, _values)
2389
+ @d.define_home(val[1], val[3], val[7], nil, val[5])
2390
+ end
2391
+ .,.,
2392
+
2393
+ module_eval(<<'.,.,', 'parser.ry', 202)
2394
+ def _reduce_112(val, _values)
2395
+ @d.define_home(val[1], val[3], val[5], val[7], nil)
2396
+ end
2397
+ .,.,
2398
+
2399
+ module_eval(<<'.,.,', 'parser.ry', 204)
2400
+ def _reduce_113(val, _values)
2401
+ @d.define_home(val[1], nil, val[5], val[7], val[3])
2402
+ end
2403
+ .,.,
2404
+
2405
+ module_eval(<<'.,.,', 'parser.ry', 206)
2406
+ def _reduce_114(val, _values)
2407
+ @d.define_home(val[1], nil, val[5], nil, val[3])
2408
+ end
2409
+ .,.,
2410
+
2411
+ module_eval(<<'.,.,', 'parser.ry', 208)
2412
+ def _reduce_115(val, _values)
2413
+ @d.define_home(val[1], val[3], val[5], nil, nil)
2414
+ end
2415
+ .,.,
2416
+
2417
+ module_eval(<<'.,.,', 'parser.ry', 210)
2418
+ def _reduce_116(val, _values)
2419
+ @d.define_home(val[1], nil, val[3], val[5], nil)
2420
+ end
2421
+ .,.,
2422
+
2423
+ module_eval(<<'.,.,', 'parser.ry', 212)
2424
+ def _reduce_117(val, _values)
2425
+ @d.define_home(val[1], nil, val[3], nil, nil)
2426
+ end
2427
+ .,.,
2428
+
2429
+ # reduce 118 omitted
2430
+
2431
+ # reduce 119 omitted
2432
+
2433
+ # reduce 120 omitted
2434
+
2435
+ # reduce 121 omitted
2436
+
2437
+ # reduce 122 omitted
2438
+
2439
+ # reduce 123 omitted
2440
+
2441
+ # reduce 124 omitted
2442
+
2443
+ # reduce 125 omitted
2444
+
2445
+ module_eval(<<'.,.,', 'parser.ry', 228)
2446
+ def _reduce_126(val, _values)
2447
+ @d.end_porttype(val[0])
2448
+ end
2449
+ .,.,
2450
+
2451
+ module_eval(<<'.,.,', 'parser.ry', 231)
2452
+ def _reduce_127(val, _values)
2453
+ @d.define_porttype(val[1])
2454
+ end
2455
+ .,.,
2456
+
2457
+ # reduce 128 omitted
2458
+
2459
+ # reduce 129 omitted
2460
+
2461
+ # reduce 130 omitted
2462
+
2463
+ # reduce 131 omitted
2464
+
2465
+ # reduce 132 omitted
2466
+
2467
+ # reduce 133 omitted
2468
+
2469
+ # reduce 134 omitted
2470
+
2471
+ module_eval(<<'.,.,', 'parser.ry', 244)
2472
+ def _reduce_135(val, _values)
2473
+ @d.declare_component(val[1])
2474
+ end
2475
+ .,.,
2476
+
2477
+ module_eval(<<'.,.,', 'parser.ry', 247)
2478
+ def _reduce_136(val, _values)
2479
+ @d.end_component(val[0])
2480
+ end
2481
+ .,.,
2482
+
2483
+ module_eval(<<'.,.,', 'parser.ry', 250)
2484
+ def _reduce_137(val, _values)
2485
+ @d.define_component(val[1], val[3], val[5])
2486
+ end
2487
+ .,.,
2488
+
2489
+ module_eval(<<'.,.,', 'parser.ry', 252)
2490
+ def _reduce_138(val, _values)
2491
+ @d.define_component(val[1], val[3], nil)
2492
+ end
2493
+ .,.,
2494
+
2495
+ module_eval(<<'.,.,', 'parser.ry', 254)
2496
+ def _reduce_139(val, _values)
2497
+ @d.define_component(val[1], nil, val[3])
2498
+ end
2499
+ .,.,
2500
+
2501
+ module_eval(<<'.,.,', 'parser.ry', 256)
2502
+ def _reduce_140(val, _values)
2503
+ @d.define_component(val[1], nil, nil)
2504
+ end
2505
+ .,.,
2506
+
2507
+ # reduce 141 omitted
2508
+
2509
+ # reduce 142 omitted
2510
+
2511
+ # reduce 143 omitted
2512
+
2513
+ # reduce 144 omitted
2514
+
2515
+ # reduce 145 omitted
2516
+
2517
+ # reduce 146 omitted
2518
+
2519
+ # reduce 147 omitted
2520
+
2521
+ # reduce 148 omitted
2522
+
2523
+ # reduce 149 omitted
2524
+
2525
+ # reduce 150 omitted
2526
+
2527
+ # reduce 151 omitted
2528
+
2529
+ # reduce 152 omitted
2530
+
2531
+ module_eval(<<'.,.,', 'parser.ry', 275)
2532
+ def _reduce_153(val, _values)
2533
+ @d.end_connector(val[0])
2534
+ end
2535
+ .,.,
2536
+
2537
+ module_eval(<<'.,.,', 'parser.ry', 278)
2538
+ def _reduce_154(val, _values)
2539
+ @d.define_connector(val[1], val[3])
2540
+ end
2541
+ .,.,
2542
+
2543
+ module_eval(<<'.,.,', 'parser.ry', 280)
2544
+ def _reduce_155(val, _values)
2545
+ @d.define_connector(val[1], nil)
2546
+ end
2547
+ .,.,
2548
+
2549
+ # reduce 156 omitted
2550
+
2551
+ # reduce 157 omitted
2552
+
2553
+ # reduce 158 omitted
2554
+
2555
+ # reduce 159 omitted
2556
+
2557
+ # reduce 160 omitted
2558
+
2559
+ # reduce 161 omitted
2560
+
2561
+ # reduce 162 omitted
2562
+
2563
+ module_eval(<<'.,.,', 'parser.ry', 292)
2564
+ def _reduce_163(val, _values)
2565
+ @d.declare_port(val[2], :facet, val[1])
2566
+ end
2567
+ .,.,
2568
+
2569
+ module_eval(<<'.,.,', 'parser.ry', 295)
2570
+ def _reduce_164(val, _values)
2571
+ @d.declare_port(val[3], :receptacle, val[2], true)
2572
+ end
2573
+ .,.,
2574
+
2575
+ module_eval(<<'.,.,', 'parser.ry', 297)
2576
+ def _reduce_165(val, _values)
2577
+ @d.declare_port(val[2], :receptacle, val[1], false)
2578
+ end
2579
+ .,.,
2580
+
2581
+ module_eval(<<'.,.,', 'parser.ry', 300)
2582
+ def _reduce_166(val, _values)
2583
+ @d.declare_port(val[2], :publisher, val[1])
2584
+ end
2585
+ .,.,
2586
+
2587
+ module_eval(<<'.,.,', 'parser.ry', 303)
2588
+ def _reduce_167(val, _values)
2589
+ @d.declare_port(val[2], :emitter, val[1])
2590
+ end
2591
+ .,.,
2592
+
2593
+ module_eval(<<'.,.,', 'parser.ry', 306)
2594
+ def _reduce_168(val, _values)
2595
+ @d.declare_port(val[2], :consumer, val[1])
2596
+ end
2597
+ .,.,
2598
+
2599
+ module_eval(<<'.,.,', 'parser.ry', 309)
2600
+ def _reduce_169(val, _values)
2601
+ @d.declare_port(val[2], :port, val[1])
2602
+ end
2603
+ .,.,
2604
+
2605
+ module_eval(<<'.,.,', 'parser.ry', 311)
2606
+ def _reduce_170(val, _values)
2607
+ @d.declare_port(val[2], :mirrorport, val[1])
2608
+ end
2609
+ .,.,
2610
+
2611
+ # reduce 171 omitted
2612
+
2613
+ # reduce 172 omitted
2614
+
2615
+ module_eval(<<'.,.,', 'parser.ry', 316)
2616
+ def _reduce_173(val, _values)
2617
+ @d.parse_scopedname(*val[0])
2618
+ end
2619
+ .,.,
2620
+
2621
+ module_eval(<<'.,.,', 'parser.ry', 318)
2622
+ def _reduce_174(val, _values)
2623
+ [FALSE, [val[0]]]
2624
+ end
2625
+ .,.,
2626
+
2627
+ module_eval(<<'.,.,', 'parser.ry', 319)
2628
+ def _reduce_175(val, _values)
2629
+ [TRUE, [val[1]]]
2630
+ end
2631
+ .,.,
2632
+
2633
+ module_eval(<<'.,.,', 'parser.ry', 321)
2634
+ def _reduce_176(val, _values)
2635
+ val[0][1] << val[2]; val[0]
2636
+ end
2637
+ .,.,
2638
+
2639
+ # reduce 177 omitted
2640
+
2641
+ # reduce 178 omitted
2642
+
2643
+ module_eval(<<'.,.,', 'parser.ry', 327)
2644
+ def _reduce_179(val, _values)
2645
+ @d.declare_eventtype(val[2], :abstract)
2646
+ end
2647
+ .,.,
2648
+
2649
+ module_eval(<<'.,.,', 'parser.ry', 329)
2650
+ def _reduce_180(val, _values)
2651
+ @d.declare_eventtype(val[1], :none)
2652
+ end
2653
+ .,.,
2654
+
2655
+ module_eval(<<'.,.,', 'parser.ry', 332)
2656
+ def _reduce_181(val, _values)
2657
+ @d.end_eventtype(val[0])
2658
+ end
2659
+ .,.,
2660
+
2661
+ module_eval(<<'.,.,', 'parser.ry', 335)
2662
+ def _reduce_182(val, _values)
2663
+ @d.define_eventtype(val[2], :abstract, val[3])
2664
+ end
2665
+ .,.,
2666
+
2667
+ module_eval(<<'.,.,', 'parser.ry', 337)
2668
+ def _reduce_183(val, _values)
2669
+ @d.define_eventtype(val[2], :abstract)
2670
+ end
2671
+ .,.,
2672
+
2673
+ module_eval(<<'.,.,', 'parser.ry', 339)
2674
+ def _reduce_184(val, _values)
2675
+ @d.define_eventtype(val[2], :custom, val[3])
2676
+ end
2677
+ .,.,
2678
+
2679
+ module_eval(<<'.,.,', 'parser.ry', 341)
2680
+ def _reduce_185(val, _values)
2681
+ @d.define_eventtype(val[2], :custom)
2682
+ end
2683
+ .,.,
2684
+
2685
+ module_eval(<<'.,.,', 'parser.ry', 343)
2686
+ def _reduce_186(val, _values)
2687
+ @d.define_eventtype(val[1], :none, val[2])
2688
+ end
2689
+ .,.,
2690
+
2691
+ module_eval(<<'.,.,', 'parser.ry', 345)
2692
+ def _reduce_187(val, _values)
2693
+ @d.define_eventtype(val[1], :none)
2694
+ end
2695
+ .,.,
2696
+
2697
+ # reduce 188 omitted
2698
+
2699
+ # reduce 189 omitted
2700
+
2701
+ # reduce 190 omitted
2702
+
2703
+ module_eval(<<'.,.,', 'parser.ry', 352)
2704
+ def _reduce_191(val, _values)
2705
+ @d.declare_valuetype(val[2], :abstract)
2706
+ end
2707
+ .,.,
2708
+
2709
+ module_eval(<<'.,.,', 'parser.ry', 354)
2710
+ def _reduce_192(val, _values)
2711
+ @d.declare_valuetype(val[1], :none)
2712
+ end
2713
+ .,.,
2714
+
2715
+ module_eval(<<'.,.,', 'parser.ry', 357)
2716
+ def _reduce_193(val, _values)
2717
+ @d.define_valuebox(val[1], val[2])
2718
+ end
2719
+ .,.,
2720
+
2721
+ module_eval(<<'.,.,', 'parser.ry', 360)
2722
+ def _reduce_194(val, _values)
2723
+ @d.end_valuetype(val[0])
2724
+ end
2725
+ .,.,
2726
+
2727
+ module_eval(<<'.,.,', 'parser.ry', 363)
2728
+ def _reduce_195(val, _values)
2729
+ @d.define_valuetype(val[2], :abstract, val[3])
2730
+ end
2731
+ .,.,
2732
+
2733
+ module_eval(<<'.,.,', 'parser.ry', 365)
2734
+ def _reduce_196(val, _values)
2735
+ @d.define_valuetype(val[2], :abstract)
2736
+ end
2737
+ .,.,
2738
+
2739
+ module_eval(<<'.,.,', 'parser.ry', 367)
2740
+ def _reduce_197(val, _values)
2741
+ @d.define_valuetype(val[2], :custom, val[3])
2742
+ end
2743
+ .,.,
2744
+
2745
+ module_eval(<<'.,.,', 'parser.ry', 369)
2746
+ def _reduce_198(val, _values)
2747
+ @d.define_valuetype(val[2], :custom)
2748
+ end
2749
+ .,.,
2750
+
2751
+ module_eval(<<'.,.,', 'parser.ry', 371)
2752
+ def _reduce_199(val, _values)
2753
+ @d.define_valuetype(val[1], :none, val[2])
2754
+ end
2755
+ .,.,
2756
+
2757
+ module_eval(<<'.,.,', 'parser.ry', 373)
2758
+ def _reduce_200(val, _values)
2759
+ @d.define_valuetype(val[1], :none)
2760
+ end
2761
+ .,.,
2762
+
2763
+ # reduce 201 omitted
2764
+
2765
+ # reduce 202 omitted
2766
+
2767
+ module_eval(<<'.,.,', 'parser.ry', 379)
2768
+ def _reduce_203(val, _values)
2769
+ Hash[ :base => val[0], :supports => val[1] ]
2770
+ end
2771
+ .,.,
2772
+
2773
+ module_eval(<<'.,.,', 'parser.ry', 381)
2774
+ def _reduce_204(val, _values)
2775
+ Hash[ :base => val[0] ]
2776
+ end
2777
+ .,.,
2778
+
2779
+ module_eval(<<'.,.,', 'parser.ry', 383)
2780
+ def _reduce_205(val, _values)
2781
+ Hash[ :supports => val[0] ]
2782
+ end
2783
+ .,.,
2784
+
2785
+ module_eval(<<'.,.,', 'parser.ry', 386)
2786
+ def _reduce_206(val, _values)
2787
+ Hash[ :truncatable => true, :list => val[2] ]
2788
+ end
2789
+ .,.,
2790
+
2791
+ module_eval(<<'.,.,', 'parser.ry', 388)
2792
+ def _reduce_207(val, _values)
2793
+ Hash[ :truncatable => false, :list => val[1] ]
2794
+ end
2795
+ .,.,
2796
+
2797
+ module_eval(<<'.,.,', 'parser.ry', 391)
2798
+ def _reduce_208(val, _values)
2799
+ val[1]
2800
+ end
2801
+ .,.,
2802
+
2803
+ module_eval(<<'.,.,', 'parser.ry', 393)
2804
+ def _reduce_209(val, _values)
2805
+ val
2806
+ end
2807
+ .,.,
2808
+
2809
+ module_eval(<<'.,.,', 'parser.ry', 394)
2810
+ def _reduce_210(val, _values)
2811
+ val[0] << val[2]; val[0]
2812
+ end
2813
+ .,.,
2814
+
2815
+ # reduce 211 omitted
2816
+
2817
+ # reduce 212 omitted
2818
+
2819
+ # reduce 213 omitted
2820
+
2821
+ # reduce 214 omitted
2822
+
2823
+ module_eval(<<'.,.,', 'parser.ry', 404)
2824
+ def _reduce_215(val, _values)
2825
+ dcls = parse_type_declarator(val[1], val[2])
2826
+ dcls.each { |d| @d.declare_state_member(d[0], d[1], true) }
2827
+
2828
+ end
2829
+ .,.,
2830
+
2831
+ module_eval(<<'.,.,', 'parser.ry', 409)
2832
+ def _reduce_216(val, _values)
2833
+ dcls = parse_type_declarator(val[1], val[2])
2834
+ dcls.each { |d| @d.declare_state_member(d[0], d[1], false) }
2835
+
2836
+ end
2837
+ .,.,
2838
+
2839
+ module_eval(<<'.,.,', 'parser.ry', 414)
2840
+ def _reduce_217(val, _values)
2841
+ @d.declare_initializer(val[1], [], [])
2842
+ end
2843
+ .,.,
2844
+
2845
+ module_eval(<<'.,.,', 'parser.ry', 416)
2846
+ def _reduce_218(val, _values)
2847
+ @d.declare_initializer(val[1], val[3], [])
2848
+ end
2849
+ .,.,
2850
+
2851
+ module_eval(<<'.,.,', 'parser.ry', 418)
2852
+ def _reduce_219(val, _values)
2853
+ @d.declare_initializer(val[1], [], val[4])
2854
+ end
2855
+ .,.,
2856
+
2857
+ module_eval(<<'.,.,', 'parser.ry', 420)
2858
+ def _reduce_220(val, _values)
2859
+ @d.declare_initializer(val[1], val[3], val[5])
2860
+ end
2861
+ .,.,
2862
+
2863
+ module_eval(<<'.,.,', 'parser.ry', 423)
2864
+ def _reduce_221(val, _values)
2865
+ @d.declare_finder(val[1], [], [])
2866
+ end
2867
+ .,.,
2868
+
2869
+ module_eval(<<'.,.,', 'parser.ry', 425)
2870
+ def _reduce_222(val, _values)
2871
+ @d.declare_finder(val[1], val[3], [])
2872
+ end
2873
+ .,.,
2874
+
2875
+ module_eval(<<'.,.,', 'parser.ry', 427)
2876
+ def _reduce_223(val, _values)
2877
+ @d.declare_finder(val[1], [], val[4])
2878
+ end
2879
+ .,.,
2880
+
2881
+ module_eval(<<'.,.,', 'parser.ry', 429)
2882
+ def _reduce_224(val, _values)
2883
+ @d.declare_finder(val[1], val[3], val[5])
2884
+ end
2885
+ .,.,
2886
+
2887
+ module_eval(<<'.,.,', 'parser.ry', 431)
2888
+ def _reduce_225(val, _values)
2889
+ val
2890
+ end
2891
+ .,.,
2892
+
2893
+ module_eval(<<'.,.,', 'parser.ry', 432)
2894
+ def _reduce_226(val, _values)
2895
+ val[0] << val[2]; val[0]
2896
+ end
2897
+ .,.,
2898
+
2899
+ module_eval(<<'.,.,', 'parser.ry', 435)
2900
+ def _reduce_227(val, _values)
2901
+ [val[1], val[2]]
2902
+ end
2903
+ .,.,
2904
+
2905
+ # reduce 228 omitted
2906
+
2907
+ module_eval(<<'.,.,', 'parser.ry', 440)
2908
+ def _reduce_229(val, _values)
2909
+ @d.define_typeprefix(val[1], val[2])
2910
+ end
2911
+ .,.,
2912
+
2913
+ module_eval(<<'.,.,', 'parser.ry', 443)
2914
+ def _reduce_230(val, _values)
2915
+ @d.define_typeid(val[1], val[2])
2916
+ end
2917
+ .,.,
2918
+
2919
+ module_eval(<<'.,.,', 'parser.ry', 446)
2920
+ def _reduce_231(val, _values)
2921
+ @d.define_const(val[1], val[2], val[4])
2922
+ end
2923
+ .,.,
2924
+
2925
+ # reduce 232 omitted
2926
+
2927
+ # reduce 233 omitted
2928
+
2929
+ # reduce 234 omitted
2930
+
2931
+ # reduce 235 omitted
2932
+
2933
+ # reduce 236 omitted
2934
+
2935
+ # reduce 237 omitted
2936
+
2937
+ # reduce 238 omitted
2938
+
2939
+ # reduce 239 omitted
2940
+
2941
+ # reduce 240 omitted
2942
+
2943
+ # reduce 241 omitted
2944
+
2945
+ # reduce 242 omitted
2946
+
2947
+ # reduce 243 omitted
2948
+
2949
+ module_eval(<<'.,.,', 'parser.ry', 463)
2950
+ def _reduce_244(val, _values)
2951
+ Expression::Operation::Or.new(val[0], val[2])
2952
+ end
2953
+ .,.,
2954
+
2955
+ # reduce 245 omitted
2956
+
2957
+ module_eval(<<'.,.,', 'parser.ry', 467)
2958
+ def _reduce_246(val, _values)
2959
+ Expression::Operation::Xor.new(val[0], val[2])
2960
+ end
2961
+ .,.,
2962
+
2963
+ # reduce 247 omitted
2964
+
2965
+ module_eval(<<'.,.,', 'parser.ry', 471)
2966
+ def _reduce_248(val, _values)
2967
+ Expression::Operation::And.new(val[0], val[2])
2968
+ end
2969
+ .,.,
2970
+
2971
+ # reduce 249 omitted
2972
+
2973
+ module_eval(<<'.,.,', 'parser.ry', 475)
2974
+ def _reduce_250(val, _values)
2975
+ Expression::Operation::RShift.new(val[0], val[2])
2976
+ end
2977
+ .,.,
2978
+
2979
+ module_eval(<<'.,.,', 'parser.ry', 477)
2980
+ def _reduce_251(val, _values)
2981
+ Expression::Operation::LShift.new(val[0], val[2])
2982
+ end
2983
+ .,.,
2984
+
2985
+ # reduce 252 omitted
2986
+
2987
+ module_eval(<<'.,.,', 'parser.ry', 481)
2988
+ def _reduce_253(val, _values)
2989
+ Expression::Operation::Add.new(val[0], val[2])
2990
+ end
2991
+ .,.,
2992
+
2993
+ module_eval(<<'.,.,', 'parser.ry', 483)
2994
+ def _reduce_254(val, _values)
2995
+ Expression::Operation::Minus.new(val[0], val[2])
2996
+ end
2997
+ .,.,
2998
+
2999
+ # reduce 255 omitted
3000
+
3001
+ module_eval(<<'.,.,', 'parser.ry', 487)
3002
+ def _reduce_256(val, _values)
3003
+ Expression::Operation::Mult.new(val[0], val[2])
3004
+ end
3005
+ .,.,
3006
+
3007
+ module_eval(<<'.,.,', 'parser.ry', 489)
3008
+ def _reduce_257(val, _values)
3009
+ Expression::Operation::Div.new(val[0], val[2])
3010
+ end
3011
+ .,.,
3012
+
3013
+ module_eval(<<'.,.,', 'parser.ry', 491)
3014
+ def _reduce_258(val, _values)
3015
+ Expression::Operation::Mod.new(val[0], val[2])
3016
+ end
3017
+ .,.,
3018
+
3019
+ module_eval(<<'.,.,', 'parser.ry', 493)
3020
+ def _reduce_259(val, _values)
3021
+ val[0].new(val[1])
3022
+ end
3023
+ .,.,
3024
+
3025
+ # reduce 260 omitted
3026
+
3027
+ module_eval(<<'.,.,', 'parser.ry', 496)
3028
+ def _reduce_261(val, _values)
3029
+ Expression::Operation::UnaryMinus
3030
+ end
3031
+ .,.,
3032
+
3033
+ module_eval(<<'.,.,', 'parser.ry', 497)
3034
+ def _reduce_262(val, _values)
3035
+ Expression::Operation::UnaryPlus
3036
+ end
3037
+ .,.,
3038
+
3039
+ module_eval(<<'.,.,', 'parser.ry', 498)
3040
+ def _reduce_263(val, _values)
3041
+ Expression::Operation::UnaryNot
3042
+ end
3043
+ .,.,
3044
+
3045
+ # reduce 264 omitted
3046
+
3047
+ # reduce 265 omitted
3048
+
3049
+ module_eval(<<'.,.,', 'parser.ry', 503)
3050
+ def _reduce_266(val, _values)
3051
+ val[1]
3052
+ end
3053
+ .,.,
3054
+
3055
+ module_eval(<<'.,.,', 'parser.ry', 505)
3056
+ def _reduce_267(val, _values)
3057
+ @d.parse_literal(:integer, val[0])
3058
+ end
3059
+ .,.,
3060
+
3061
+ module_eval(<<'.,.,', 'parser.ry', 506)
3062
+ def _reduce_268(val, _values)
3063
+ @d.parse_literal(:string, val[0])
3064
+ end
3065
+ .,.,
3066
+
3067
+ module_eval(<<'.,.,', 'parser.ry', 507)
3068
+ def _reduce_269(val, _values)
3069
+ @d.parse_literal(:wstring, val[0])
3070
+ end
3071
+ .,.,
3072
+
3073
+ module_eval(<<'.,.,', 'parser.ry', 508)
3074
+ def _reduce_270(val, _values)
3075
+ @d.parse_literal(:char, val[0])
3076
+ end
3077
+ .,.,
3078
+
3079
+ module_eval(<<'.,.,', 'parser.ry', 509)
3080
+ def _reduce_271(val, _values)
3081
+ @d.parse_literal(:wchar, val[0])
3082
+ end
3083
+ .,.,
3084
+
3085
+ module_eval(<<'.,.,', 'parser.ry', 510)
3086
+ def _reduce_272(val, _values)
3087
+ @d.parse_literal(:fixed, val[0])
3088
+ end
3089
+ .,.,
3090
+
3091
+ module_eval(<<'.,.,', 'parser.ry', 511)
3092
+ def _reduce_273(val, _values)
3093
+ @d.parse_literal(:float, val[0])
3094
+ end
3095
+ .,.,
3096
+
3097
+ module_eval(<<'.,.,', 'parser.ry', 512)
3098
+ def _reduce_274(val, _values)
3099
+ @d.parse_literal(:boolean, val[0])
3100
+ end
3101
+ .,.,
3102
+
3103
+ module_eval(<<'.,.,', 'parser.ry', 514)
3104
+ def _reduce_275(val, _values)
3105
+ TRUE
3106
+ end
3107
+ .,.,
3108
+
3109
+ module_eval(<<'.,.,', 'parser.ry', 515)
3110
+ def _reduce_276(val, _values)
3111
+ FALSE
3112
+ end
3113
+ .,.,
3114
+
3115
+ module_eval(<<'.,.,', 'parser.ry', 517)
3116
+ def _reduce_277(val, _values)
3117
+ @d.parse_positive_int(val[0])
3118
+ end
3119
+ .,.,
3120
+
3121
+ # reduce 278 omitted
3122
+
3123
+ # reduce 279 omitted
3124
+
3125
+ # reduce 280 omitted
3126
+
3127
+ # reduce 281 omitted
3128
+
3129
+ # reduce 282 omitted
3130
+
3131
+ # reduce 283 omitted
3132
+
3133
+ # reduce 284 omitted
3134
+
3135
+ module_eval(<<'.,.,', 'parser.ry', 529)
3136
+ def _reduce_285(val, _values)
3137
+ dcls = parse_type_declarator(val[0], val[1])
3138
+ dcls.each do |d|
3139
+ @d.declare_typedef(d[0], d[1])
3140
+ end
3141
+
3142
+ end
3143
+ .,.,
3144
+
3145
+ # reduce 286 omitted
3146
+
3147
+ # reduce 287 omitted
3148
+
3149
+ # reduce 288 omitted
3150
+
3151
+ # reduce 289 omitted
3152
+
3153
+ # reduce 290 omitted
3154
+
3155
+ # reduce 291 omitted
3156
+
3157
+ # reduce 292 omitted
3158
+
3159
+ # reduce 293 omitted
3160
+
3161
+ # reduce 294 omitted
3162
+
3163
+ # reduce 295 omitted
3164
+
3165
+ # reduce 296 omitted
3166
+
3167
+ # reduce 297 omitted
3168
+
3169
+ # reduce 298 omitted
3170
+
3171
+ # reduce 299 omitted
3172
+
3173
+ # reduce 300 omitted
3174
+
3175
+ # reduce 301 omitted
3176
+
3177
+ # reduce 302 omitted
3178
+
3179
+ # reduce 303 omitted
3180
+
3181
+ # reduce 304 omitted
3182
+
3183
+ # reduce 305 omitted
3184
+
3185
+ # reduce 306 omitted
3186
+
3187
+ module_eval(<<'.,.,', 'parser.ry', 561)
3188
+ def _reduce_307(val, _values)
3189
+ [val[0]]
3190
+ end
3191
+ .,.,
3192
+
3193
+ module_eval(<<'.,.,', 'parser.ry', 562)
3194
+ def _reduce_308(val, _values)
3195
+ val[0] << val[2]
3196
+ end
3197
+ .,.,
3198
+
3199
+ # reduce 309 omitted
3200
+
3201
+ # reduce 310 omitted
3202
+
3203
+ module_eval(<<'.,.,', 'parser.ry', 567)
3204
+ def _reduce_311(val, _values)
3205
+ @d.declare_typedef(::IDL::Type::Native.new, val[0])
3206
+ end
3207
+ .,.,
3208
+
3209
+ # reduce 312 omitted
3210
+
3211
+ # reduce 313 omitted
3212
+
3213
+ module_eval(<<'.,.,', 'parser.ry', 573)
3214
+ def _reduce_314(val, _values)
3215
+ ::IDL::Type::Float.new
3216
+ end
3217
+ .,.,
3218
+
3219
+ module_eval(<<'.,.,', 'parser.ry', 574)
3220
+ def _reduce_315(val, _values)
3221
+ ::IDL::Type::Double.new
3222
+ end
3223
+ .,.,
3224
+
3225
+ module_eval(<<'.,.,', 'parser.ry', 575)
3226
+ def _reduce_316(val, _values)
3227
+ ::IDL::Type::LongDouble.new
3228
+ end
3229
+ .,.,
3230
+
3231
+ # reduce 317 omitted
3232
+
3233
+ # reduce 318 omitted
3234
+
3235
+ # reduce 319 omitted
3236
+
3237
+ # reduce 320 omitted
3238
+
3239
+ # reduce 321 omitted
3240
+
3241
+ module_eval(<<'.,.,', 'parser.ry', 584)
3242
+ def _reduce_322(val, _values)
3243
+ ::IDL::Type::Short.new
3244
+ end
3245
+ .,.,
3246
+
3247
+ module_eval(<<'.,.,', 'parser.ry', 586)
3248
+ def _reduce_323(val, _values)
3249
+ ::IDL::Type::Long.new
3250
+ end
3251
+ .,.,
3252
+
3253
+ module_eval(<<'.,.,', 'parser.ry', 588)
3254
+ def _reduce_324(val, _values)
3255
+ ::IDL::Type::LongLong.new
3256
+ end
3257
+ .,.,
3258
+
3259
+ # reduce 325 omitted
3260
+
3261
+ # reduce 326 omitted
3262
+
3263
+ # reduce 327 omitted
3264
+
3265
+ module_eval(<<'.,.,', 'parser.ry', 594)
3266
+ def _reduce_328(val, _values)
3267
+ ::IDL::Type::UShort.new
3268
+ end
3269
+ .,.,
3270
+
3271
+ module_eval(<<'.,.,', 'parser.ry', 596)
3272
+ def _reduce_329(val, _values)
3273
+ ::IDL::Type::ULong.new
3274
+ end
3275
+ .,.,
3276
+
3277
+ module_eval(<<'.,.,', 'parser.ry', 599)
3278
+ def _reduce_330(val, _values)
3279
+ ::IDL::Type::ULongLong.new
3280
+ end
3281
+ .,.,
3282
+
3283
+ module_eval(<<'.,.,', 'parser.ry', 601)
3284
+ def _reduce_331(val, _values)
3285
+ ::IDL::Type::Char.new
3286
+ end
3287
+ .,.,
3288
+
3289
+ module_eval(<<'.,.,', 'parser.ry', 603)
3290
+ def _reduce_332(val, _values)
3291
+ ::IDL::Type::WChar.new
3292
+ end
3293
+ .,.,
3294
+
3295
+ module_eval(<<'.,.,', 'parser.ry', 605)
3296
+ def _reduce_333(val, _values)
3297
+ ::IDL::Type::Boolean.new
3298
+ end
3299
+ .,.,
3300
+
3301
+ module_eval(<<'.,.,', 'parser.ry', 607)
3302
+ def _reduce_334(val, _values)
3303
+ ::IDL::Type::Octet.new
3304
+ end
3305
+ .,.,
3306
+
3307
+ module_eval(<<'.,.,', 'parser.ry', 609)
3308
+ def _reduce_335(val, _values)
3309
+ ::IDL::Type::Any.new
3310
+ end
3311
+ .,.,
3312
+
3313
+ module_eval(<<'.,.,', 'parser.ry', 611)
3314
+ def _reduce_336(val, _values)
3315
+ ::IDL::Type::Object.new
3316
+ end
3317
+ .,.,
3318
+
3319
+ module_eval(<<'.,.,', 'parser.ry', 613)
3320
+ def _reduce_337(val, _values)
3321
+ @d.declare_struct(val[1])
3322
+ end
3323
+ .,.,
3324
+
3325
+ module_eval(<<'.,.,', 'parser.ry', 616)
3326
+ def _reduce_338(val, _values)
3327
+ @d.end_struct(val[0])
3328
+ end
3329
+ .,.,
3330
+
3331
+ module_eval(<<'.,.,', 'parser.ry', 618)
3332
+ def _reduce_339(val, _values)
3333
+ @d.define_struct(val[1])
3334
+ end
3335
+ .,.,
3336
+
3337
+ module_eval(<<'.,.,', 'parser.ry', 620)
3338
+ def _reduce_340(val, _values)
3339
+ nil
3340
+ end
3341
+ .,.,
3342
+
3343
+ # reduce 341 omitted
3344
+
3345
+ # reduce 342 omitted
3346
+
3347
+ module_eval(<<'.,.,', 'parser.ry', 628)
3348
+ def _reduce_343(val, _values)
3349
+ dcls = parse_type_declarator(val[0], val[1])
3350
+ dcls.each do |d|
3351
+ @d.declare_member(d[0], d[1])
3352
+ end
3353
+
3354
+ end
3355
+ .,.,
3356
+
3357
+ module_eval(<<'.,.,', 'parser.ry', 635)
3358
+ def _reduce_344(val, _values)
3359
+ @d.declare_union(val[1])
3360
+ end
3361
+ .,.,
3362
+
3363
+ module_eval(<<'.,.,', 'parser.ry', 638)
3364
+ def _reduce_345(val, _values)
3365
+ @d.end_union(val[0])
3366
+ end
3367
+ .,.,
3368
+
3369
+ module_eval(<<'.,.,', 'parser.ry', 641)
3370
+ def _reduce_346(val, _values)
3371
+ @d.define_union_switchtype(val[0], val[1])
3372
+ end
3373
+ .,.,
3374
+
3375
+ module_eval(<<'.,.,', 'parser.ry', 644)
3376
+ def _reduce_347(val, _values)
3377
+ @d.define_union(val[1])
3378
+ end
3379
+ .,.,
3380
+
3381
+ module_eval(<<'.,.,', 'parser.ry', 646)
3382
+ def _reduce_348(val, _values)
3383
+ nil
3384
+ end
3385
+ .,.,
3386
+
3387
+ module_eval(<<'.,.,', 'parser.ry', 649)
3388
+ def _reduce_349(val, _values)
3389
+ val[2]
3390
+ end
3391
+ .,.,
3392
+
3393
+ # reduce 350 omitted
3394
+
3395
+ # reduce 351 omitted
3396
+
3397
+ # reduce 352 omitted
3398
+
3399
+ # reduce 353 omitted
3400
+
3401
+ # reduce 354 omitted
3402
+
3403
+ # reduce 355 omitted
3404
+
3405
+ # reduce 356 omitted
3406
+
3407
+ module_eval(<<'.,.,', 'parser.ry', 662)
3408
+ def _reduce_357(val, _values)
3409
+ dcls = parse_type_declarator(val[1][0], [val[1][1]])
3410
+ dcls.each do |d|
3411
+ @d.define_case(val[0], d[0], d[1])
3412
+ end
3413
+
3414
+ end
3415
+ .,.,
3416
+
3417
+ module_eval(<<'.,.,', 'parser.ry', 668)
3418
+ def _reduce_358(val, _values)
3419
+ [val[0]]
3420
+ end
3421
+ .,.,
3422
+
3423
+ module_eval(<<'.,.,', 'parser.ry', 669)
3424
+ def _reduce_359(val, _values)
3425
+ val[0] << val[1]
3426
+ end
3427
+ .,.,
3428
+
3429
+ module_eval(<<'.,.,', 'parser.ry', 671)
3430
+ def _reduce_360(val, _values)
3431
+ val[1]
3432
+ end
3433
+ .,.,
3434
+
3435
+ module_eval(<<'.,.,', 'parser.ry', 672)
3436
+ def _reduce_361(val, _values)
3437
+ :default
3438
+ end
3439
+ .,.,
3440
+
3441
+ module_eval(<<'.,.,', 'parser.ry', 675)
3442
+ def _reduce_362(val, _values)
3443
+ val
3444
+ end
3445
+ .,.,
3446
+
3447
+ module_eval(<<'.,.,', 'parser.ry', 678)
3448
+ def _reduce_363(val, _values)
3449
+ @d.end_enum(val[0])
3450
+ end
3451
+ .,.,
3452
+
3453
+ module_eval(<<'.,.,', 'parser.ry', 680)
3454
+ def _reduce_364(val, _values)
3455
+ @d.define_enum(val[1])
3456
+ end
3457
+ .,.,
3458
+
3459
+ # reduce 365 omitted
3460
+
3461
+ # reduce 366 omitted
3462
+
3463
+ # reduce 367 omitted
3464
+
3465
+ module_eval(<<'.,.,', 'parser.ry', 688)
3466
+ def _reduce_368(val, _values)
3467
+ @d.declare_enumerator(val[0])
3468
+
3469
+ end
3470
+ .,.,
3471
+
3472
+ module_eval(<<'.,.,', 'parser.ry', 692)
3473
+ def _reduce_369(val, _values)
3474
+ ::IDL::Type::Sequence.new(val[2], val[4])
3475
+ end
3476
+ .,.,
3477
+
3478
+ module_eval(<<'.,.,', 'parser.ry', 694)
3479
+ def _reduce_370(val, _values)
3480
+ ::IDL::Type::Sequence.new(val[2], nil)
3481
+ end
3482
+ .,.,
3483
+
3484
+ module_eval(<<'.,.,', 'parser.ry', 697)
3485
+ def _reduce_371(val, _values)
3486
+ ::IDL::Type::String.new(val[2])
3487
+ end
3488
+ .,.,
3489
+
3490
+ module_eval(<<'.,.,', 'parser.ry', 699)
3491
+ def _reduce_372(val, _values)
3492
+ ::IDL::Type::String.new()
3493
+ end
3494
+ .,.,
3495
+
3496
+ module_eval(<<'.,.,', 'parser.ry', 702)
3497
+ def _reduce_373(val, _values)
3498
+ ::IDL::Type::WString.new(val[2])
3499
+ end
3500
+ .,.,
3501
+
3502
+ module_eval(<<'.,.,', 'parser.ry', 704)
3503
+ def _reduce_374(val, _values)
3504
+ ::IDL::Type::WString.new()
3505
+ end
3506
+ .,.,
3507
+
3508
+ module_eval(<<'.,.,', 'parser.ry', 706)
3509
+ def _reduce_375(val, _values)
3510
+ val
3511
+ end
3512
+ .,.,
3513
+
3514
+ module_eval(<<'.,.,', 'parser.ry', 708)
3515
+ def _reduce_376(val, _values)
3516
+ [val[0]]
3517
+ end
3518
+ .,.,
3519
+
3520
+ module_eval(<<'.,.,', 'parser.ry', 709)
3521
+ def _reduce_377(val, _values)
3522
+ val[0] << val[1]
3523
+ end
3524
+ .,.,
3525
+
3526
+ module_eval(<<'.,.,', 'parser.ry', 711)
3527
+ def _reduce_378(val, _values)
3528
+ val[1]
3529
+ end
3530
+ .,.,
3531
+
3532
+ module_eval(<<'.,.,', 'parser.ry', 714)
3533
+ def _reduce_379(val, _values)
3534
+ dcls = parse_type_declarator(val[2], val[3][0])
3535
+ dcls.each do |d|
3536
+ @d.declare_attribute(d[0], d[1], true).get_raises = val[3][1]
3537
+ end
3538
+
3539
+ end
3540
+ .,.,
3541
+
3542
+ module_eval(<<'.,.,', 'parser.ry', 720)
3543
+ def _reduce_380(val, _values)
3544
+ att = @d.declare_attribute(val[1], val[2])
3545
+ att.get_raises = val[3][0] unless val[3][0].empty?
3546
+ att.set_raises = val[3][1] unless val[3][1].empty?
3547
+
3548
+ end
3549
+ .,.,
3550
+
3551
+ module_eval(<<'.,.,', 'parser.ry', 725)
3552
+ def _reduce_381(val, _values)
3553
+ dcls = parse_type_declarator(val[1], val[2])
3554
+ dcls.each do |d|
3555
+ att = @d.declare_attribute(d[0], d[1])
3556
+ end
3557
+
3558
+ end
3559
+ .,.,
3560
+
3561
+ # reduce 382 omitted
3562
+
3563
+ # reduce 383 omitted
3564
+
3565
+ # reduce 384 omitted
3566
+
3567
+ # reduce 385 omitted
3568
+
3569
+ # reduce 386 omitted
3570
+
3571
+ module_eval(<<'.,.,', 'parser.ry', 737)
3572
+ def _reduce_387(val, _values)
3573
+ [val[0], val[1]]
3574
+ end
3575
+ .,.,
3576
+
3577
+ module_eval(<<'.,.,', 'parser.ry', 739)
3578
+ def _reduce_388(val, _values)
3579
+ [val[1], val[0]]
3580
+ end
3581
+ .,.,
3582
+
3583
+ module_eval(<<'.,.,', 'parser.ry', 741)
3584
+ def _reduce_389(val, _values)
3585
+ [val[0], []]
3586
+ end
3587
+ .,.,
3588
+
3589
+ module_eval(<<'.,.,', 'parser.ry', 743)
3590
+ def _reduce_390(val, _values)
3591
+ [[], val[0]]
3592
+ end
3593
+ .,.,
3594
+
3595
+ module_eval(<<'.,.,', 'parser.ry', 745)
3596
+ def _reduce_391(val, _values)
3597
+ [[], []]
3598
+ end
3599
+ .,.,
3600
+
3601
+ module_eval(<<'.,.,', 'parser.ry', 748)
3602
+ def _reduce_392(val, _values)
3603
+ [val[0]].concat(val[2])
3604
+ end
3605
+ .,.,
3606
+
3607
+ module_eval(<<'.,.,', 'parser.ry', 751)
3608
+ def _reduce_393(val, _values)
3609
+ [[val[0]], val[1]]
3610
+ end
3611
+ .,.,
3612
+
3613
+ module_eval(<<'.,.,', 'parser.ry', 752)
3614
+ def _reduce_394(val, _values)
3615
+ [val[0], []]
3616
+ end
3617
+ .,.,
3618
+
3619
+ module_eval(<<'.,.,', 'parser.ry', 754)
3620
+ def _reduce_395(val, _values)
3621
+ [val[0]]
3622
+ end
3623
+ .,.,
3624
+
3625
+ module_eval(<<'.,.,', 'parser.ry', 755)
3626
+ def _reduce_396(val, _values)
3627
+ val[0] << val[2]
3628
+ end
3629
+ .,.,
3630
+
3631
+ module_eval(<<'.,.,', 'parser.ry', 758)
3632
+ def _reduce_397(val, _values)
3633
+ @d.end_exception(val[0])
3634
+ end
3635
+ .,.,
3636
+
3637
+ module_eval(<<'.,.,', 'parser.ry', 760)
3638
+ def _reduce_398(val, _values)
3639
+ @d.define_exception(val[1])
3640
+ end
3641
+ .,.,
3642
+
3643
+ # reduce 399 omitted
3644
+
3645
+ # reduce 400 omitted
3646
+
3647
+ # reduce 401 omitted
3648
+
3649
+ # reduce 402 omitted
3650
+
3651
+ module_eval(<<'.,.,', 'parser.ry', 769)
3652
+ def _reduce_403(val, _values)
3653
+ @d.declare_op_header(val[0], val[1], val[2])
3654
+ end
3655
+ .,.,
3656
+
3657
+ module_eval(<<'.,.,', 'parser.ry', 771)
3658
+ def _reduce_404(val, _values)
3659
+ @d.declare_op_header(nil, val[0], val[1])
3660
+ end
3661
+ .,.,
3662
+
3663
+ # reduce 405 omitted
3664
+
3665
+ module_eval(<<'.,.,', 'parser.ry', 776)
3666
+ def _reduce_406(val, _values)
3667
+ @d.declare_op_footer(val[0], val[1])
3668
+ end
3669
+ .,.,
3670
+
3671
+ module_eval(<<'.,.,', 'parser.ry', 778)
3672
+ def _reduce_407(val, _values)
3673
+ @d.declare_op_footer(val[0], nil)
3674
+ end
3675
+ .,.,
3676
+
3677
+ module_eval(<<'.,.,', 'parser.ry', 780)
3678
+ def _reduce_408(val, _values)
3679
+ @d.declare_op_footer(nil, val[0])
3680
+ end
3681
+ .,.,
3682
+
3683
+ module_eval(<<'.,.,', 'parser.ry', 782)
3684
+ def _reduce_409(val, _values)
3685
+ @d.declare_op_footer(nil,nil)
3686
+ end
3687
+ .,.,
3688
+
3689
+ module_eval(<<'.,.,', 'parser.ry', 784)
3690
+ def _reduce_410(val, _values)
3691
+ :oneway
3692
+ end
3693
+ .,.,
3694
+
3695
+ module_eval(<<'.,.,', 'parser.ry', 786)
3696
+ def _reduce_411(val, _values)
3697
+ val[0]
3698
+ end
3699
+ .,.,
3700
+
3701
+ module_eval(<<'.,.,', 'parser.ry', 787)
3702
+ def _reduce_412(val, _values)
3703
+ ::IDL::Type::Void.new
3704
+ end
3705
+ .,.,
3706
+
3707
+ # reduce 413 omitted
3708
+
3709
+ # reduce 414 omitted
3710
+
3711
+ # reduce 415 omitted
3712
+
3713
+ # reduce 416 omitted
3714
+
3715
+ module_eval(<<'.,.,', 'parser.ry', 796)
3716
+ def _reduce_417(val, _values)
3717
+ @d.declare_op_parameter(val[0], val[1], val[2])
3718
+ end
3719
+ .,.,
3720
+
3721
+ module_eval(<<'.,.,', 'parser.ry', 798)
3722
+ def _reduce_418(val, _values)
3723
+ :in
3724
+ end
3725
+ .,.,
3726
+
3727
+ module_eval(<<'.,.,', 'parser.ry', 799)
3728
+ def _reduce_419(val, _values)
3729
+ :out
3730
+ end
3731
+ .,.,
3732
+
3733
+ module_eval(<<'.,.,', 'parser.ry', 800)
3734
+ def _reduce_420(val, _values)
3735
+ :inout
3736
+ end
3737
+ .,.,
3738
+
3739
+ module_eval(<<'.,.,', 'parser.ry', 802)
3740
+ def _reduce_421(val, _values)
3741
+ val[2]
3742
+ end
3743
+ .,.,
3744
+
3745
+ module_eval(<<'.,.,', 'parser.ry', 804)
3746
+ def _reduce_422(val, _values)
3747
+ val[2]
3748
+ end
3749
+ .,.,
3750
+
3751
+ module_eval(<<'.,.,', 'parser.ry', 806)
3752
+ def _reduce_423(val, _values)
3753
+ val[2]
3754
+ end
3755
+ .,.,
3756
+
3757
+ module_eval(<<'.,.,', 'parser.ry', 808)
3758
+ def _reduce_424(val, _values)
3759
+ val
3760
+ end
3761
+ .,.,
3762
+
3763
+ module_eval(<<'.,.,', 'parser.ry', 809)
3764
+ def _reduce_425(val, _values)
3765
+ val[0] << val[2]
3766
+ end
3767
+ .,.,
3768
+
3769
+ module_eval(<<'.,.,', 'parser.ry', 811)
3770
+ def _reduce_426(val, _values)
3771
+ val[2]
3772
+ end
3773
+ .,.,
3774
+
3775
+ module_eval(<<'.,.,', 'parser.ry', 813)
3776
+ def _reduce_427(val, _values)
3777
+ val
3778
+ end
3779
+ .,.,
3780
+
3781
+ module_eval(<<'.,.,', 'parser.ry', 814)
3782
+ def _reduce_428(val, _values)
3783
+ val[0] << val[2]
3784
+ end
3785
+ .,.,
3786
+
3787
+ module_eval(<<'.,.,', 'parser.ry', 816)
3788
+ def _reduce_429(val, _values)
3789
+ val[0]
3790
+ end
3791
+ .,.,
3792
+
3793
+ module_eval(<<'.,.,', 'parser.ry', 817)
3794
+ def _reduce_430(val, _values)
3795
+ val[0]
3796
+ end
3797
+ .,.,
3798
+
3799
+ module_eval(<<'.,.,', 'parser.ry', 818)
3800
+ def _reduce_431(val, _values)
3801
+ val[0]
3802
+ end
3803
+ .,.,
3804
+
3805
+ module_eval(<<'.,.,', 'parser.ry', 819)
3806
+ def _reduce_432(val, _values)
3807
+ val[0]
3808
+ end
3809
+ .,.,
3810
+
3811
+ module_eval(<<'.,.,', 'parser.ry', 823)
3812
+ def _reduce_433(val, _values)
3813
+ IDL::Type::Fixed.new(val[2], val[4])
3814
+ end
3815
+ .,.,
3816
+
3817
+ module_eval(<<'.,.,', 'parser.ry', 825)
3818
+ def _reduce_434(val, _values)
3819
+ ::IDL::Type::Fixed.new
3820
+ end
3821
+ .,.,
3822
+
3823
+ module_eval(<<'.,.,', 'parser.ry', 827)
3824
+ def _reduce_435(val, _values)
3825
+ ::IDL::Type::ValueBase.new
3826
+ end
3827
+ .,.,
3828
+
3829
+ def _reduce_none(val, _values)
3830
+ val[0]
3831
+ end
3832
+
3833
+ end # class Parser
3834
+
3835
+
3836
+ end #of module IDL