cddl 0.8.25 → 0.8.27
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/cddl.gemspec +1 -1
- data/lib/cbor-pp-play.rb +1 -0
- data/lib/cddl.rb +14 -4
- data/test-data/det1.cddl +12 -0
- data/test-data/yangid.cddl +1 -0
- metadata +5 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2ecd9496de4033983eac3321d6cda899c4e948656e06fe48d6bc5e5b9d8e3942
|
|
4
|
+
data.tar.gz: c117ef0c739d0c9d3967532c57a23aec3dd796c0191a8afb1eb03ee3aae4bd9d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2454be6a2b39855ef2d2111c5b5ef98066e32c078ea2ada8ae911c9b0c08fc48cc85c60bead949ab04f5bb7ed4499193283f0abb92296486ec797e48ef1ceb07
|
|
7
|
+
data.tar.gz: 370c93eec6ffc637d4814a81336ebca143ef334a3fad807a2f213104d5ae5051277fbe7d8db19d406e4bde675ff6d993c171f2b5532ff91e64803254f18ec258
|
data/cddl.gemspec
CHANGED
data/lib/cbor-pp-play.rb
CHANGED
|
@@ -2,6 +2,7 @@ require_relative "cbor-pp"
|
|
|
2
2
|
|
|
3
3
|
a = [1, {foo: "bar", busel: "basel", baz: "bass", ant: "cat", bat: "dog", eel: "fox"},
|
|
4
4
|
2, 3, 4, [3]*55, "foo".b, 0.00006103515625, 0.0000099, 1e-7, nil]
|
|
5
|
+
a[0].cbor_annotation_add "flurp"
|
|
5
6
|
a[1].cbor_annotation_add "fasel"
|
|
6
7
|
CBOR::PP.pp a
|
|
7
8
|
|
data/lib/cddl.rb
CHANGED
|
@@ -463,7 +463,10 @@ module CDDL
|
|
|
463
463
|
when :cat, :det
|
|
464
464
|
lhs = generate1(target, inmap)
|
|
465
465
|
rhs = generate1(control)
|
|
466
|
-
|
|
466
|
+
if conop == :det
|
|
467
|
+
lhs = remove_indentation(lhs)
|
|
468
|
+
rhs = remove_indentation(rhs)
|
|
469
|
+
end
|
|
467
470
|
begin
|
|
468
471
|
lhs + rhs
|
|
469
472
|
rescue Exception => e
|
|
@@ -531,6 +534,7 @@ module CDDL
|
|
|
531
534
|
unless !bytes.nil? && String === grammar
|
|
532
535
|
fail "Don't know yet how to generate #{where}"
|
|
533
536
|
end
|
|
537
|
+
grammar << "\n" unless grammar =~ /\n\z/
|
|
534
538
|
out = ABNF_PARSER_FOR_STRING[grammar].generate
|
|
535
539
|
if conop == :abnfb
|
|
536
540
|
out = out.codepoints.pack("C*")
|
|
@@ -611,7 +615,10 @@ module CDDL
|
|
|
611
615
|
elsif vt1 == Float
|
|
612
616
|
[true, v1 + v2, vt1] if vt2 == Integer || vt2 == Float
|
|
613
617
|
else
|
|
614
|
-
|
|
618
|
+
if conop == :det
|
|
619
|
+
v1 = remove_indentation(v1)
|
|
620
|
+
v2 = remove_indentation(v2)
|
|
621
|
+
end
|
|
615
622
|
[true, v1 + v2, vt1] if vt1 == vt2
|
|
616
623
|
end
|
|
617
624
|
end rescue nil
|
|
@@ -854,13 +861,16 @@ module CDDL
|
|
|
854
861
|
[] if where[2] === d && where[1].include?(d)
|
|
855
862
|
when :anno
|
|
856
863
|
_, conop, target, control = where
|
|
857
|
-
if conop == :cat || conop == :plus
|
|
864
|
+
if conop == :cat || conop == :plus || conop == :det
|
|
858
865
|
ok1, v1, vt1 = extract_value(target)
|
|
859
866
|
ok2, v2, vt2 = extract_value(control)
|
|
860
867
|
# warn ["ANNO0", ok1, v1, vt1, ok2, v2, vt2, d].inspect
|
|
861
868
|
if ok1 && ok2
|
|
862
869
|
v2 = Integer(v2) if vt1 == Integer
|
|
863
|
-
|
|
870
|
+
if conop == :det
|
|
871
|
+
v1 = remove_indentation(v1)
|
|
872
|
+
v2 = remove_indentation(v2)
|
|
873
|
+
end
|
|
864
874
|
# warn ["ANNO", ok1, v1, vt1, ok2, v2, vt2, d].inspect
|
|
865
875
|
[] if d == v1 + v2 # XXX Focus ArgumentError
|
|
866
876
|
end
|
data/test-data/det1.cddl
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a = text .regexp "[a-z][a-z0-9]*(-[a-z0-9]+)*"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cddl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.27
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Carsten Bormann
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cbor-diag
|
|
@@ -135,6 +135,7 @@ files:
|
|
|
135
135
|
- test-data/cose.cddl
|
|
136
136
|
- test-data/dcaf.cddl
|
|
137
137
|
- test-data/dcaf1.cddl
|
|
138
|
+
- test-data/det1.cddl
|
|
138
139
|
- test-data/dotsize.cddl
|
|
139
140
|
- test-data/extractor-demo.cddl
|
|
140
141
|
- test-data/feat1.cddl
|
|
@@ -194,6 +195,7 @@ files:
|
|
|
194
195
|
- test-data/wrong2.cddl
|
|
195
196
|
- test-data/wrong2a.cddl
|
|
196
197
|
- test-data/xmlmig.cddl
|
|
198
|
+
- test-data/yangid.cddl
|
|
197
199
|
- test-data/yaron1.cddl
|
|
198
200
|
- test/test-cddl.rb
|
|
199
201
|
homepage: http://github.com/cabo/cddl
|
|
@@ -215,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
215
217
|
- !ruby/object:Gem::Version
|
|
216
218
|
version: '0'
|
|
217
219
|
requirements: []
|
|
218
|
-
rubygems_version: 3.
|
|
220
|
+
rubygems_version: 3.3.3
|
|
219
221
|
signing_key:
|
|
220
222
|
specification_version: 4
|
|
221
223
|
summary: CDDL generator and validator.
|