cddlc 0.4.4 → 0.4.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/bin/cddlc +8 -0
- data/cddlc.gemspec +1 -1
- data/lib/cddlc.rb +5 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1dfe2802ae8527a4b38a7c0c91f62a6aff4fa17043281b0593d40ba1c428a77f
|
|
4
|
+
data.tar.gz: 445a6efba2bf00ac88331e2703da21a5f1a61411bb864d766955f17054509fa5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3306065f415d657586a793ce342db43d9dc1a10d90b6af3bb281368da386226284a5301214831064ec2b7c0a378bd0a7f2f9f4e51a989f1e6ddc8bb9812b0f1b
|
|
7
|
+
data.tar.gz: 3debf194ffee5bf0bb31e9bcf37f1c8c5fe1deb4526be1187cb1ba5fe2afaae044fdc322f64d4e4221406e3a6bdd32d0473a0a066c9d76ea4fa9bf577bc60eb3
|
data/bin/cddlc
CHANGED
|
@@ -88,6 +88,10 @@ begin
|
|
|
88
88
|
opts.on("-sRULE", "--start=RULE", String, "Start rule name") do |v|
|
|
89
89
|
$options.start = v
|
|
90
90
|
end
|
|
91
|
+
opts.on("-SRULE", "--start-and-import=RULE", String, "Start rule name and just import from input") do |v|
|
|
92
|
+
$options.start = v
|
|
93
|
+
$options.input = true
|
|
94
|
+
end
|
|
91
95
|
opts.on("-eCDDL", "CDDL model on command line") do |v|
|
|
92
96
|
$options.model = v
|
|
93
97
|
end
|
|
@@ -125,6 +129,10 @@ end
|
|
|
125
129
|
cddl_file = ""
|
|
126
130
|
if $options.start
|
|
127
131
|
cddl_file << "@.start.@ = #{$options.start}\n"
|
|
132
|
+
if $options.input
|
|
133
|
+
$options.input = ARGF.read
|
|
134
|
+
cddl_file << ";# import /\n"
|
|
135
|
+
end
|
|
128
136
|
end
|
|
129
137
|
if m = $options.model
|
|
130
138
|
cddl_file << m << "\n"
|
data/cddlc.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "cddlc"
|
|
3
|
-
s.version = "0.4.
|
|
3
|
+
s.version = "0.4.5"
|
|
4
4
|
s.summary = "CDDL (Concise Data Definition Language) converters and miscellaneous tools"
|
|
5
5
|
s.description = %q{cddlc implements converters and miscellaneous tools for CDDL, RFC 8610}
|
|
6
6
|
s.author = "Carsten Bormann"
|
data/lib/cddlc.rb
CHANGED
|
@@ -2,6 +2,7 @@ require_relative "parser/cddl-util.rb"
|
|
|
2
2
|
require_relative "processor/cddl-visitor.rb"
|
|
3
3
|
require_relative 'processor/cddl-undefined.rb'
|
|
4
4
|
require_relative 'writer/cddl-writer.rb'
|
|
5
|
+
require 'stringio'
|
|
5
6
|
|
|
6
7
|
class CDDL
|
|
7
8
|
@@parser = CDDLGRAMMARParser.new
|
|
@@ -42,6 +43,9 @@ class CDDL
|
|
|
42
43
|
|
|
43
44
|
def self.read_from_include_path(fn)
|
|
44
45
|
io = nil
|
|
46
|
+
if fn == "/.cddl" # XXX hack in importing from command line files
|
|
47
|
+
return StringIO.new($options.input)
|
|
48
|
+
end
|
|
45
49
|
CDDL::cddl_include_path.each do |path|
|
|
46
50
|
begin
|
|
47
51
|
io = (path + fn).open
|
|
@@ -53,7 +57,7 @@ class CDDL
|
|
|
53
57
|
io
|
|
54
58
|
end
|
|
55
59
|
|
|
56
|
-
SAFE_FN = /\A[-._a-zA-Z0-9]
|
|
60
|
+
SAFE_FN = /\A[-._a-zA-Z0-9]+|\/\z/ # XXX
|
|
57
61
|
IMPINC = /\A(?:import|include)\z/
|
|
58
62
|
IDENTIFIER_RE = /\A[A-Za-z@_$]([-.]*[A-Za-z@_$0-9])*\z/
|
|
59
63
|
INT_RE = /\A0|[-]?[1-9][0-9]*\z/
|