kdl 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8be036a0955b8ac11ce122cd4515bcb4770d73f2228aaa2e27827705250c95e8
4
- data.tar.gz: 56671b97653eb3c1857a6c1a9df7b427df8e4c486983033aff44e0f8f57b51bc
3
+ metadata.gz: 9d3070a54498a965985d61d8dea528ed71b8f096b5ff35f173ca1fe95e61c1fa
4
+ data.tar.gz: 31ff09d83e0f814e023724975f6136b048f01f54b03415d89594b3972bfb6193
5
5
  SHA512:
6
- metadata.gz: d2c64169c11e46d89ff1e59350d03d88dd364a17e11e2a9e544cd861ab7d51023d3f2c9717f728970512b1072078d2aa3fb41fa83e534518f350d1d8ae2ee70c
7
- data.tar.gz: 96a8ed2c9ea104ff480558e25e104cdbde98a1cab2c457b20022243d41f51e9a4839d5db5bb9bda320643aaafecd0a872e5ada80c25dc1a096ac5e6afabd7700
6
+ metadata.gz: 75803a3b0adaf8e216c401e18a0d5eab7da745728503d133a45b4377e5f34b83313f11d5e0c5f5e2ee337c275b188e0d826af057a01015574897baaa264c4586
7
+ data.tar.gz: 00aaf994ee907ac85acdba91c525556fa47e71bf650238aa5165b2bf2284a1c86b8b63aa6ea7af000aeff274026ef002396655994977714291268ef657375644
@@ -17,7 +17,7 @@ jobs:
17
17
  test:
18
18
  strategy:
19
19
  matrix:
20
- ruby: [2.4, 2.5, 2.6, 2.7, 3.0, 3.1, head]
20
+ ruby: [2.5, 2.6, 2.7, 3.0, 3.1, 3.2, 3.3, head]
21
21
 
22
22
  runs-on: ubuntu-latest
23
23
 
data/kdl.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.description = %q{Ruby implementation of the KDL Document Language Spec}
11
11
  spec.homepage = "https://kdl.dev"
12
12
  spec.license = "MIT"
13
- spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
13
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
14
14
 
15
15
  spec.metadata["homepage_uri"] = spec.homepage
16
16
  spec.metadata["source_code_uri"] = "https://github.com/danini-the-panini/kdl-rb"
@@ -26,4 +26,6 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_development_dependency 'racc', '~> 1.5'
28
28
  spec.add_dependency 'simpleidn', '~> 0.2.1'
29
+ spec.add_dependency 'bigdecimal', '~> 3.1.6'
30
+ spec.add_dependency 'base64', '~> 0.2.0'
29
31
  end
data/lib/kdl/kdl.tab.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.6.0
4
- # from Racc grammar file "".
3
+ # This file is automatically generated by Racc 1.7.3
4
+ # from Racc grammar file "kdl.yy".
5
5
  #
6
6
 
7
7
  require 'racc/parser.rb'
@@ -213,6 +213,7 @@ Racc_arg = [
213
213
  racc_shift_n,
214
214
  racc_reduce_n,
215
215
  racc_use_result_var ]
216
+ Ractor.make_shareable(Racc_arg) if defined?(Ractor)
216
217
 
217
218
  Racc_token_to_s_table = [
218
219
  "$end",
@@ -258,6 +259,7 @@ Racc_token_to_s_table = [
258
259
  "untyped_value",
259
260
  "boolean",
260
261
  "linespace" ]
262
+ Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
261
263
 
262
264
  Racc_debug_parser = false
263
265
 
data/lib/kdl/tokenizer.rb CHANGED
@@ -113,11 +113,11 @@ module KDL
113
113
  if c == '0' && n =~ /[box]/
114
114
  traverse(2)
115
115
  @buffer = ''
116
- self.context = case n
117
- when 'b' then :binary
118
- when 'o' then :octal
119
- when 'x' then :hexadecimal
120
- end
116
+ self.context = integer_context(n)
117
+ elsif c == '-' && n == '0' && (n2 = @str[@index + 2]) =~ /[box]/
118
+ traverse(3)
119
+ @buffer = '-'
120
+ self.context = integer_context(n2)
121
121
  else
122
122
  self.context = :decimal
123
123
  @buffer = c
@@ -349,6 +349,14 @@ module KDL
349
349
  end
350
350
  end
351
351
 
352
+ def integer_context(n)
353
+ case n
354
+ when 'b' then :binary
355
+ when 'o' then :octal
356
+ when 'x' then :hexadecimal
357
+ end
358
+ end
359
+
352
360
  def parse_float(s)
353
361
  match, _, fraction, exponent = *s.match(/^([-+]?[\d_]+)(?:\.([\d_]+))?(?:[eE]([-+]?[\d_]+))?$/)
354
362
  raise_error "Invalid floating point value #{s}" if match.nil?
data/lib/kdl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module KDL
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kdl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danielle Smith
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-01 00:00:00.000000000 Z
11
+ date: 2024-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: racc
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.2.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: bigdecimal
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.1.6
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.1.6
55
+ - !ruby/object:Gem::Dependency
56
+ name: base64
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.0
41
69
  description: Ruby implementation of the KDL Document Language Spec
42
70
  email:
43
71
  - danini@hey.com
@@ -105,14 +133,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
133
  requirements:
106
134
  - - ">="
107
135
  - !ruby/object:Gem::Version
108
- version: 2.4.0
136
+ version: 2.5.0
109
137
  required_rubygems_version: !ruby/object:Gem::Requirement
110
138
  requirements:
111
139
  - - ">="
112
140
  - !ruby/object:Gem::Version
113
141
  version: '0'
114
142
  requirements: []
115
- rubygems_version: 3.3.7
143
+ rubygems_version: 3.5.3
116
144
  signing_key:
117
145
  specification_version: 4
118
146
  summary: KDL Document Language