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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/cddlc +8 -0
  3. data/cddlc.gemspec +1 -1
  4. data/lib/cddlc.rb +5 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 170d7338cde350c8b6ee58e02b2c7b0ada1c72a1500b4ea9ce81414f9915f8a9
4
- data.tar.gz: 6ac50c47755da10bea332c53b4986393541284197e266d1450d8035d11bf9333
3
+ metadata.gz: 1dfe2802ae8527a4b38a7c0c91f62a6aff4fa17043281b0593d40ba1c428a77f
4
+ data.tar.gz: 445a6efba2bf00ac88331e2703da21a5f1a61411bb864d766955f17054509fa5
5
5
  SHA512:
6
- metadata.gz: 53a637266de716c2e8e3a20b225f1ec1a141e0a91ee84a0666bcf8698eb85f7044e842e3735288071da6a66aa72bd9fd34be2ad1db35bfe7fbbcfac834be9c2c
7
- data.tar.gz: c4f41f0fb34bc103e5d667a82b27757ea044e974689044e0d56df842452748e359903d56d7a4d8bad9918bd3a7bdf04a09e413ddc3281b3d8247c6b40634d7e8
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.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]+\z/
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/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cddlc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann