kdl 1.0.2 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +1 -1
- data/kdl.gemspec +3 -1
- data/lib/kdl/kdl.tab.rb +4 -2
- data/lib/kdl/tokenizer.rb +20 -6
- data/lib/kdl/types/url_template.rb +2 -0
- data/lib/kdl/version.rb +1 -1
- metadata +35 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d3070a54498a965985d61d8dea528ed71b8f096b5ff35f173ca1fe95e61c1fa
|
4
|
+
data.tar.gz: 31ff09d83e0f814e023724975f6136b048f01f54b03415d89594b3972bfb6193
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75803a3b0adaf8e216c401e18a0d5eab7da745728503d133a45b4377e5f34b83313f11d5e0c5f5e2ee337c275b188e0d826af057a01015574897baaa264c4586
|
7
|
+
data.tar.gz: 00aaf994ee907ac85acdba91c525556fa47e71bf650238aa5165b2bf2284a1c86b8b63aa6ea7af000aeff274026ef002396655994977714291268ef657375644
|
data/.github/workflows/ruby.yml
CHANGED
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.
|
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.
|
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,15 +113,15 @@ module KDL
|
|
113
113
|
if c == '0' && n =~ /[box]/
|
114
114
|
traverse(2)
|
115
115
|
@buffer = ''
|
116
|
-
self.context =
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
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
|
-
traverse(1)
|
124
123
|
@buffer = c
|
124
|
+
traverse(1)
|
125
125
|
end
|
126
126
|
when '\\'
|
127
127
|
t = Tokenizer.new(@str, @index + 1)
|
@@ -341,6 +341,20 @@ module KDL
|
|
341
341
|
return parse_float(s) if s =~ /[.E]/i
|
342
342
|
|
343
343
|
token(:INTEGER, Integer(munch_underscores(s), 10), format: '%d')
|
344
|
+
rescue
|
345
|
+
if s[0] =~ INITIAL_IDENTIFIER_CHARS && s[1..-1].each_char.all? { |c| c =~ IDENTIFIER_CHARS }
|
346
|
+
token(:IDENT, s)
|
347
|
+
else
|
348
|
+
raise
|
349
|
+
end
|
350
|
+
end
|
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
|
344
358
|
end
|
345
359
|
|
346
360
|
def parse_float(s)
|
data/lib/kdl/version.rb
CHANGED
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.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danielle Smith
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
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
|
@@ -97,7 +125,7 @@ metadata:
|
|
97
125
|
homepage_uri: https://kdl.dev
|
98
126
|
source_code_uri: https://github.com/danini-the-panini/kdl-rb
|
99
127
|
changelog_uri: https://github.com/danini-the-panini/kdl-rb/releases
|
100
|
-
post_install_message:
|
128
|
+
post_install_message:
|
101
129
|
rdoc_options: []
|
102
130
|
require_paths:
|
103
131
|
- lib
|
@@ -105,15 +133,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
133
|
requirements:
|
106
134
|
- - ">="
|
107
135
|
- !ruby/object:Gem::Version
|
108
|
-
version: 2.
|
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.
|
116
|
-
signing_key:
|
143
|
+
rubygems_version: 3.5.3
|
144
|
+
signing_key:
|
117
145
|
specification_version: 4
|
118
146
|
summary: KDL Document Language
|
119
147
|
test_files: []
|