ridl 2.8.1 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/ridl/runner.rb CHANGED
@@ -18,23 +18,21 @@ require 'ridl/options'
18
18
  # -----------------------------------------------------------------------
19
19
 
20
20
  module IDL
21
-
22
21
  OPTIONS = Options.new({
23
- :outputdir => nil,
24
- :includepaths => [],
25
- :xincludepaths => [],
26
- :verbose => (ENV['RIDL_VERBOSE'] || 0).to_i,
27
- :debug => false,
28
- :namespace => nil,
29
- :search_incpath => false,
30
- :backend => nil,
31
- :macros => {
22
+ outputdir: nil,
23
+ includepaths: [],
24
+ xincludepaths: [],
25
+ verbose: (ENV['RIDL_VERBOSE'] || 0).to_i,
26
+ debug: false,
27
+ namespace: nil,
28
+ search_incpath: false,
29
+ backend: nil,
30
+ macros: {
32
31
  }
33
32
  })
34
33
  CORE_OPTIONS = OPTIONS.keys
35
34
 
36
35
  class Engine
37
-
38
36
  class ProductionStack
39
37
  def initialize
40
38
  @stack = []
@@ -56,6 +54,7 @@ module IDL
56
54
 
57
55
  def pop
58
56
  return nil if empty?
57
+
59
58
  id, prod = @stack.shift
60
59
  @index.delete(id)
61
60
  prod
@@ -63,12 +62,14 @@ module IDL
63
62
 
64
63
  def peek
65
64
  return nil if empty?
65
+
66
66
  id, _ = @stack.first
67
67
  id
68
68
  end
69
69
 
70
70
  def remove(id)
71
71
  return nil unless has?(id)
72
+
72
73
  i = @index.delete(id.to_sym)
73
74
  _, producer = @productionstack.delete(i)
74
75
  producer
@@ -129,6 +130,7 @@ module IDL
129
130
 
130
131
  def push_production(id, producer)
131
132
  raise "Producer #{id} already queued" if @productionstack.has?(id)
133
+
132
134
  @productionstack.push(id, producer)
133
135
  end
134
136
 
@@ -183,9 +185,9 @@ module IDL
183
185
  # parse arguments
184
186
  begin
185
187
  @optparser.parse!(argv)
186
- rescue ArgumentError => ex
187
- IDL.error(ex.inspect)
188
- IDL.error(ex.backtrace.join("\n")) if IDL.verbose_level > 0
188
+ rescue ArgumentError => e
189
+ IDL.error(e.inspect)
190
+ IDL.error(e.backtrace.join("\n")) if IDL.verbose_level.positive?
189
191
  return false
190
192
  end
191
193
 
@@ -231,7 +233,7 @@ module IDL
231
233
  # process parse result -> code generation
232
234
  IDL.log(2, 'RIDL - processing input')
233
235
 
234
- GenFile.transaction do
236
+ GenFile.transaction do
235
237
  begin
236
238
 
237
239
  backend.process_input(_parser, _opts)
@@ -250,9 +252,9 @@ module IDL
250
252
  rescue Backend::ProcessStop
251
253
  IDL.log(2, "RIDL - processing #{IO === _idlfile ? 'from STDIN' : (StringIO === _idlfile ? 'from string' : _idlfile)} stopped with \"#{$!.message}\"")
252
254
 
253
- rescue => ex
254
- IDL.error(ex)
255
- IDL.error(ex.backtrace.join("\n")) unless ex.is_a? IDL::ParseError
255
+ rescue => e
256
+ IDL.error(e)
257
+ IDL.error(e.backtrace.join("\n")) unless e.is_a? IDL::ParseError
256
258
  return false
257
259
  end
258
260
  end
@@ -272,9 +274,9 @@ module IDL
272
274
 
273
275
  begin
274
276
  _parser.parse(io)
275
- rescue => ex
276
- IDL.error(ex.inspect)
277
- IDL.error(ex.backtrace.join("\n")) unless ex.is_a? IDL::ParseError
277
+ rescue => e
278
+ IDL.error(e.inspect)
279
+ IDL.error(e.backtrace.join("\n")) unless e.is_a? IDL::ParseError
278
280
  return nil
279
281
  ensure
280
282
  io.close unless String === io || io == $stdin
@@ -328,7 +330,7 @@ module IDL
328
330
 
329
331
  def init_optparser
330
332
  script_name = File.basename($0, '.*')
331
- if not script_name =~ /ridlc/
333
+ unless script_name =~ /ridlc/
332
334
  script_name = 'ruby ' + $0
333
335
  end
334
336
 
@@ -398,11 +400,12 @@ module IDL
398
400
  opts.separator ""
399
401
 
400
402
  opts.on('-h', '--help',
401
- 'Show this help message.') { puts opts; puts; exit }
403
+ 'Show this help message.') { puts opts
404
+ puts
405
+ exit }
402
406
 
403
407
  opts
404
408
  end
405
-
406
409
  end
407
410
 
408
411
  def IDL.engine?
@@ -419,11 +422,13 @@ module IDL
419
422
 
420
423
  def IDL.pop_input
421
424
  return nil unless engine?
425
+
422
426
  Thread.current[:ridl_engine].pop_input
423
427
  end
424
428
 
425
429
  def IDL.peek_input
426
430
  return nil unless engine?
431
+
427
432
  Thread.current[:ridl_engine].peek_input
428
433
  end
429
434
 
@@ -437,11 +442,13 @@ module IDL
437
442
 
438
443
  def IDL.pop_production
439
444
  return nil unless engine?
445
+
440
446
  Thread.current[:ridl_engine].pop_production
441
447
  end
442
448
 
443
449
  def IDL.remove_production(id)
444
450
  return nil unless engine?
451
+
445
452
  Thread.current[:ridl_engine].remove_production(id)
446
453
  end
447
454
 
@@ -455,6 +462,7 @@ module IDL
455
462
 
456
463
  def IDL.production(id)
457
464
  return nil unless engine?
465
+
458
466
  Thread.current[:ridl_engine].production(id)
459
467
  end
460
468
 
@@ -503,7 +511,7 @@ module IDL
503
511
  # add optional search paths for RIDL backends
504
512
  options[:be_path] ||= []
505
513
  options[:be_path].unshift(*ENV['RIDL_BE_PATH'].split(/#{File::PATH_SEPARATOR}/)) if ENV['RIDL_BE_PATH']
506
- options[:be_path].collect! {|p| p.gsub('\\', '/') } # cleanup to prevent mixed path separators
514
+ options[:be_path].collect! { |p| p.gsub('\\', '/') } # cleanup to prevent mixed path separators
507
515
  $:.concat(options[:be_path]) unless options[:be_path].empty?
508
516
 
509
517
  # check for special bootstrapping switches
@@ -527,5 +535,4 @@ module IDL
527
535
  exit(1) unless Thread.current[:ridl_engine].run(argv)
528
536
  end
529
537
  end # IDL.run
530
-
531
538
  end