cddl 0.12.11 → 0.12.12

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/cddl.gemspec +1 -1
  3. data/data/cddl.abnf +3 -2
  4. data/lib/cddl.rb +7 -2
  5. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfdab2f7b34bf400cc492abf8c301a90e01176423c6d1fb41ec45cc439a7757f
4
- data.tar.gz: 06e53c2536c2a7aa1510f989b2cf8d01d0becbbc71a7264aa8355f29adddb0ad
3
+ metadata.gz: 8117d826af4d671a70b877f6df0acdcb060484c67f9d689493fe0d7bfa4cf360
4
+ data.tar.gz: 1b94c55c7f7029b79d17ad986c3deb8ce096604532775761995500874cd98f30
5
5
  SHA512:
6
- metadata.gz: 170ddd4fa055f9efd24092af3147d4175fdb089e290eafcd418e6a16204250cfa6769f3d53124c5fc6161608301b21186e4d2348bae489175d8ab546230ff5b0
7
- data.tar.gz: 17025b96351c9def9fe171cd74fc9398eeba3e927eb715b691880b2dd9812e1ea7268bbfc42dfe896d5be3cbf8ad0535cbb0a942cae80b04cdbc97a84e5eb293
6
+ metadata.gz: 7df99dd63776070f3c428c14a13e7c75abf04b4e6a1b73399bad3fec2be7accbfacef1becd5da293e840afd2a25e43614e20b9e59d78eccbb6481b0da487215d
7
+ data.tar.gz: d9c8e8896cd9363799a2fe167cfc1698f1c84aa248a7e57f32df0df4bf8b117b22f4631dd5958dd789ed5db47ae4f28aac4786d57c1a58cafe49c02f6c68a4ca
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.11'
3
+ s.version = '0.12.12'
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')
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 = int
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} #{diff_message(strip_nodes(b[0]).inspect, strip_nodes(rule_ast).inspect)}"
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
@@ -1571,7 +1572,11 @@ module CDDL
1571
1572
  end
1572
1573
  }
1573
1574
  end
1574
- val = eval(s)
1575
+ if s =~ /p.*\d\z/ # hexfloat
1576
+ val = s.scanf("%a").first
1577
+ else
1578
+ val = eval(s)
1579
+ end
1575
1580
  # warn val
1576
1581
  case val
1577
1582
  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.11
4
+ version: 0.12.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-05-07 00:00:00.000000000 Z
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: 3.6.2
293
+ rubygems_version: 3.7.2
294
294
  specification_version: 4
295
295
  summary: CDDL generator and validator.
296
296
  test_files: []