ridl 2.2.4

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