ridl 2.2.4 → 2.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ridl/backend.rb +3 -2
- data/lib/ridl/node.rb +2 -2
- data/lib/ridl/parser.rb +1 -1
- data/lib/ridl/parser.ry +1 -1
- data/lib/ridl/scanner.rb +9 -74
- data/lib/ridl/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b4f57fea70c3afc0799ca7d925b19f567476cf0
|
4
|
+
data.tar.gz: 935963ed742a214a0dc67a2b72df6454e8716e10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1484766696c20592f73ea92c88d6e8ba4dde89dc8c9220403fb6aa0ffe948c60e66cb29fe18f3f6241bd48d0cb8a196bf87ac4cc9b0eefb762c2a404eec8aed6
|
7
|
+
data.tar.gz: 1818e868e7f680f256b1b74f36ef9ee572f9c4ca1c4e4dadcf05814f40a05a8baf0e6ba9610b3c038dfaea527633bbeceac6c912ba88f309495ff01bac963f68
|
data/lib/ridl/backend.rb
CHANGED
@@ -100,10 +100,11 @@ module IDL
|
|
100
100
|
end
|
101
101
|
|
102
102
|
def process_input(parser, params)
|
103
|
-
# process input top-down; return true when input handled
|
103
|
+
# process input top-down; return true and stop processing when input handled
|
104
104
|
unless _process_input(parser, params)
|
105
|
-
return @base_backends.
|
105
|
+
return @base_backends.any? {|be| be.process_input(parser, params) }
|
106
106
|
end
|
107
|
+
true
|
107
108
|
end
|
108
109
|
|
109
110
|
@@null_be = nil
|
data/lib/ridl/node.rb
CHANGED
@@ -1836,11 +1836,11 @@ module IDL::AST
|
|
1836
1836
|
### @@TODO@@ further validation
|
1837
1837
|
if (not rif_.node.is_abstract?) and @interfaces.size > 0
|
1838
1838
|
raise RuntimeError,
|
1839
|
-
"concrete interface #{
|
1839
|
+
"concrete interface '#{rif_.node.scoped_lm_name}' inheritance not allowed for #{typename} #{scoped_lm_name}. Valuetypes can only inherit (support) a single concrete interface."
|
1840
1840
|
end
|
1841
1841
|
if (not rif_.node.is_abstract?) && (not is_interface_compatible?(rif_.node))
|
1842
1842
|
raise RuntimeError,
|
1843
|
-
"#{typename} #{scoped_lm_name} cannot support
|
1843
|
+
"#{typename} #{scoped_lm_name} cannot support concrete interface #{rif_.node.scoped_lm_name} because it does not derive from inherited concrete interfaces"
|
1844
1844
|
end
|
1845
1845
|
@resolved_interfaces << rif_.node
|
1846
1846
|
end
|
data/lib/ridl/parser.rb
CHANGED
@@ -462,7 +462,7 @@ def parse_type_declarator(type_spec, declarators)
|
|
462
462
|
t = type_spec
|
463
463
|
declarators.each do |d|
|
464
464
|
case d
|
465
|
-
when ::String
|
465
|
+
when ::String, IDL::Scanner::Identifier
|
466
466
|
ret << [t, d]
|
467
467
|
when ::Array # array_declarator -> [identifier, size]
|
468
468
|
ret << [IDL::Type::Array.new(t, d[1]), d[0]]
|
data/lib/ridl/parser.ry
CHANGED
@@ -836,7 +836,7 @@ def parse_type_declarator(type_spec, declarators)
|
|
836
836
|
t = type_spec
|
837
837
|
declarators.each do |d|
|
838
838
|
case d
|
839
|
-
when ::String
|
839
|
+
when ::String, IDL::Scanner::Identifier
|
840
840
|
ret << [t, d]
|
841
841
|
when ::Array # array_declarator -> [identifier, size]
|
842
842
|
ret << [IDL::Type::Array.new(t, d[1]), d[0]]
|
data/lib/ridl/scanner.rb
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
12
|
#--------------------------------------------------------------------
|
13
13
|
require 'racc/parser'
|
14
|
+
require 'delegate'
|
14
15
|
|
15
16
|
module IDL
|
16
17
|
class ParseError < StandardError
|
@@ -210,7 +211,7 @@ module IDL
|
|
210
211
|
# string derivative for IDL parsed identifiers able
|
211
212
|
# to carry both 'raw' IDL name as well as language mapped
|
212
213
|
# name
|
213
|
-
class Identifier < ::String
|
214
|
+
class Identifier < DelegateClass(::String)
|
214
215
|
attr_reader :checked_name
|
215
216
|
def initialize(idl_id, checked_id)
|
216
217
|
super(idl_id)
|
@@ -344,79 +345,13 @@ module IDL
|
|
344
345
|
:r => ?\r, :f => ?\f, :a => ?\a
|
345
346
|
})
|
346
347
|
|
347
|
-
KEYWORDS =
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
"char",
|
355
|
-
"component",
|
356
|
-
"connector",
|
357
|
-
"const",
|
358
|
-
"consumes",
|
359
|
-
"context",
|
360
|
-
"custom",
|
361
|
-
"default",
|
362
|
-
"double",
|
363
|
-
"exception",
|
364
|
-
"emits",
|
365
|
-
"enum",
|
366
|
-
"eventtype",
|
367
|
-
"factory",
|
368
|
-
"FALSE",
|
369
|
-
"finder",
|
370
|
-
"fixed",
|
371
|
-
"float",
|
372
|
-
"getraises",
|
373
|
-
"home",
|
374
|
-
"import",
|
375
|
-
"in",
|
376
|
-
"inout",
|
377
|
-
"interface",
|
378
|
-
"local",
|
379
|
-
"long",
|
380
|
-
"manages",
|
381
|
-
"mirrorport",
|
382
|
-
"module",
|
383
|
-
"multiple",
|
384
|
-
"native",
|
385
|
-
"Object",
|
386
|
-
"octet",
|
387
|
-
"oneway",
|
388
|
-
"out",
|
389
|
-
"port",
|
390
|
-
"porttype",
|
391
|
-
"primarykey",
|
392
|
-
"private",
|
393
|
-
"provides",
|
394
|
-
"public",
|
395
|
-
"publishes",
|
396
|
-
"raises",
|
397
|
-
"readonly",
|
398
|
-
"setraises",
|
399
|
-
"sequence",
|
400
|
-
"short",
|
401
|
-
"string",
|
402
|
-
"struct",
|
403
|
-
"supports",
|
404
|
-
"switch",
|
405
|
-
"TRUE",
|
406
|
-
"truncatable",
|
407
|
-
"typedef",
|
408
|
-
"typeid",
|
409
|
-
"typename",
|
410
|
-
"typeprefix",
|
411
|
-
"unsigned",
|
412
|
-
"union",
|
413
|
-
"uses",
|
414
|
-
"ValueBase",
|
415
|
-
"valuetype",
|
416
|
-
"void",
|
417
|
-
"wchar",
|
418
|
-
"wstring",
|
419
|
-
].inject(TokenRegistry.new) { |h,a| h[a.downcase.to_sym] = a; h }
|
348
|
+
KEYWORDS = %w(
|
349
|
+
abstract alias any attribute boolean case char component connector const consumes context custom default double
|
350
|
+
exception emits enum eventtype factory FALSE finder fixed float getraises home import in inout interface local
|
351
|
+
long manages mirrorport module multiple native Object octet oneway out port porttype primarykey private provides
|
352
|
+
public publishes raises readonly setraises sequence short string struct supports switch TRUE truncatable typedef
|
353
|
+
typeid typename typeprefix unsigned union uses ValueBase valuetype void wchar wstring
|
354
|
+
).inject(TokenRegistry.new) { |h,a| h[a.downcase.to_sym] = a; h }
|
420
355
|
|
421
356
|
LITERALS = [
|
422
357
|
:integer_literal,
|
data/lib/ridl/version.rb
CHANGED
@@ -15,8 +15,8 @@ module IDL
|
|
15
15
|
|
16
16
|
RIDL_VERSION_MAJOR = 2.freeze
|
17
17
|
RIDL_VERSION_MINOR = 2.freeze
|
18
|
-
RIDL_VERSION_RELEASE =
|
18
|
+
RIDL_VERSION_RELEASE = 5.freeze
|
19
19
|
RIDL_VERSION = "#{RIDL_VERSION_MAJOR}.#{RIDL_VERSION_MINOR}.#{RIDL_VERSION_RELEASE}"
|
20
|
-
RIDL_COPYRIGHT = 'Copyright (c) 2007-
|
20
|
+
RIDL_COPYRIGHT = 'Copyright (c) 2007-2014 Remedy IT Expertise BV, The Netherlands'.freeze
|
21
21
|
|
22
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ridl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Corino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: OMG v. 3.3 compliant native Ruby IDL compiler frontend with support for
|
14
14
|
pluggable (and stackable) backends.
|