ridl 2.2.4 → 2.2.5
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.
- 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.
|