cddl 0.12.11 → 0.12.13
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 -2
- data/data/cddl.abnf +3 -2
- data/lib/cddl.rb +8 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 14b45fb81b49e2fb1f85498e33ceb17ce3cc41ef784b829b9f4c76fa322eaaf5
|
|
4
|
+
data.tar.gz: cfdf92a193c09448a03eacf73525b5ea6294a6d80e1dfbcff3771a5346979aff
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 88002266c186c57d8aece3dffd9cc4cc85d62a3c9b9591dceaa02bd8463857569868cf74a5f716b50755f94fba500a276617017a7448158a809743ce2aac5d00
|
|
7
|
+
data.tar.gz: d5e0bee838808e9cfdbbb0627ec37226406262bde1d1956e42e33079a4de8514ff9399b224dd9264179aead25dfd67ab03a925438756984794fef0252121a467
|
data/cddl.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
spec = Gem::Specification.new do |s|
|
|
2
2
|
s.name = 'cddl'
|
|
3
|
-
s.version = '0.12.
|
|
3
|
+
s.version = '0.12.13'
|
|
4
4
|
s.summary = "CDDL generator and validator."
|
|
5
5
|
s.description = %{A parser, generator, and validator for CDDL}
|
|
6
6
|
s.add_dependency('cbor-diag')
|
|
@@ -16,7 +16,6 @@ spec = Gem::Specification.new do |s|
|
|
|
16
16
|
s.files = Dir['lib/**/*.rb'] + %w(cddl.gemspec) + Dir['data/**/*.abnf'] + Dir['data/**/*.cddl'] + Dir['test-data/**/*.cddl'] + Dir['test/**/*.rb']
|
|
17
17
|
s.require_path = 'lib'
|
|
18
18
|
s.executables = ['cddl']
|
|
19
|
-
s.default_executable = 'cddl'
|
|
20
19
|
s.required_ruby_version = '>= 2.3'
|
|
21
20
|
s.author = "Carsten Bormann"
|
|
22
21
|
s.email = "cabo@tzi.org"
|
data/data/cddl.abnf
CHANGED
|
@@ -65,9 +65,10 @@ value = number
|
|
|
65
65
|
int = ["-"] uint
|
|
66
66
|
|
|
67
67
|
; This is a float if it has fraction or exponent; int otherwise
|
|
68
|
-
number = int ["." fraction] ["e" exponent ]
|
|
68
|
+
number = hexfloat / (int ["." fraction] ["e" exponent ])
|
|
69
|
+
hexfloat = ["-"] "0x" 1*HEXDIG ["." 1*HEXDIG] "p" exponent
|
|
69
70
|
fraction = 1*DIGIT
|
|
70
|
-
exponent =
|
|
71
|
+
exponent = ["+"/"-"] 1*DIGIT
|
|
71
72
|
|
|
72
73
|
text = %x22 *SCHAR %x22
|
|
73
74
|
SCHAR = %x20-21 / %x23-5B / %x5D-7E / NONASCII / SESC
|
data/lib/cddl.rb
CHANGED
|
@@ -215,7 +215,8 @@ module CDDL
|
|
|
215
215
|
ids = g.children(:id).map(&:to_s)
|
|
216
216
|
# puts ["ids", ids].inspect
|
|
217
217
|
if b = @generics[n]
|
|
218
|
-
fail "Duplicate generics definition #{n} #{
|
|
218
|
+
fail "Duplicate generics definition #{n} #{
|
|
219
|
+
diff_message(strip_nodes(b[0]).inspect, strip_nodes(rule_ast).inspect)}"
|
|
219
220
|
end
|
|
220
221
|
@generics[n] = [rule_ast, ids]
|
|
221
222
|
else
|
|
@@ -709,6 +710,7 @@ module CDDL
|
|
|
709
710
|
fail "Not smart enough to generate #{where}#{@last_message}"
|
|
710
711
|
when :within, :and
|
|
711
712
|
try_generate(target) do |content|
|
|
713
|
+
$features ||= Hash.new {|h, k| h[k] = {}}
|
|
712
714
|
if validate1(content, control)
|
|
713
715
|
return content
|
|
714
716
|
elsif conop == :within
|
|
@@ -1571,7 +1573,11 @@ module CDDL
|
|
|
1571
1573
|
end
|
|
1572
1574
|
}
|
|
1573
1575
|
end
|
|
1574
|
-
|
|
1576
|
+
if s =~ /p.*\d\z/ # hexfloat
|
|
1577
|
+
val = s.scanf("%a").first
|
|
1578
|
+
else
|
|
1579
|
+
val = eval(s)
|
|
1580
|
+
end
|
|
1575
1581
|
# warn val
|
|
1576
1582
|
case val
|
|
1577
1583
|
when Integer; [:int, val]
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cddl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.12.
|
|
4
|
+
version: 0.12.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Carsten Bormann
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: cbor-diag
|
|
@@ -290,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
290
290
|
- !ruby/object:Gem::Version
|
|
291
291
|
version: '0'
|
|
292
292
|
requirements: []
|
|
293
|
-
rubygems_version:
|
|
293
|
+
rubygems_version: 4.0.2
|
|
294
294
|
specification_version: 4
|
|
295
295
|
summary: CDDL generator and validator.
|
|
296
296
|
test_files: []
|