kdl 2.0.1 → 2.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 323bc0f1637f5dea4aaa671d7582c87118d8a7500557fbbec5907d34082d0914
4
- data.tar.gz: abd85e1a66342b328ad9da3946a14565ee300a0f5e77c5c5418cbc931cf8fe38
3
+ metadata.gz: be3bacf1ec9d5292dfa518987c77b5d40eed8e67305bd4888118a633b8fa45f0
4
+ data.tar.gz: 7da6c65eff791761f4ff0d36182fa98aa715359d301830c447b0717095061bea
5
5
  SHA512:
6
- metadata.gz: 9fafe1a9343387a093c324f84cccd47378a635c950f9892b9456d23f2c75fe2341ebb68ea09e0043b0672430fc0c799fb13263447ddb4586539cd5f306357c4b
7
- data.tar.gz: 3cf0863f0e7751890f394f7f5d759adf980ca7b4fec872c40a1b75f71a08e380681bc8ed93e917567bbab337281b4c03a1a8f34760bd9fa66aefd67187a59a0e
6
+ metadata.gz: 0af1a1c13a2b88bdd2266f1ff5d057da2a26ea87027c64c5507054962564ac76e005927b4e69480da79a4ba16c55b2e749b9d30debd880e3cead808e66a8824d
7
+ data.tar.gz: f707eea04e876c2c6c781203a2d00e5675f8ae8c414e48a4f9413f8f614eedaf208c0a5411481b24b756f6954b625fe37f2105a3de6d12ef79bc059d3eb8a60e
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in kdl.gemspec
4
4
  gemspec
5
5
 
6
- gem "rake", "~> 12.0"
6
+ gem "rake", "~> 13.0"
7
7
 
8
8
  group :test do
9
9
  gem "minitest", "~> 5.0"
data/lib/kdl/kdl.tab.rb CHANGED
@@ -29,100 +29,100 @@ module_eval(<<'...end kdl.yy/module_eval...', 'kdl.yy', 78)
29
29
  ##### State transition tables begin ###
30
30
 
31
31
  racc_action_table = [
32
- 20, 21, 22, 9, 33, 26, 20, 21, 22, 33,
33
- 33, 33, 19, 18, 5, 6, 33, 18, 19, 18,
34
- 18, 33, 7, 18, 48, 49, 50, 54, 55, 58,
35
- 59, 57, 33, 33, -63, -63, 19, 20, 21, 22,
36
- 71, 18, 18, -39, -40, 5, 6, -41, 85, 19,
37
- 20, 21, 22, 7, 18, 73, 20, 21, 22, 33,
38
- 33, 87, 19, 83, 5, 6, 33, 18, 19, 18,
39
- 91, 92, 7, 48, 49, 50, 54, 55, 58, 59,
40
- 57, 70, 6, nil, 33, 19, -54, -54, nil, 7,
41
- 75, 76, 77, 54, 55, 58, 59, 57, 33, 33,
42
- nil, nil, 19, 5, 6, 5, 6, 18, 18, 5,
43
- 6, 7, 30, 7, 5, 6, nil, 7, 5, 6,
44
- 5, 6, 7, 70, 6, nil, 7, nil, 7, 5,
45
- 6, 7, 70, 6, 70, 6, nil, 7, nil, 30,
46
- 7, 30, 7, 75, 76, 77, 54, 55, 58, 59,
47
- 57, 20, 21, 22, 20, 21, 22 ]
32
+ 20, 21, 22, 9, 34, 26, 20, 21, 22, 20,
33
+ 21, 22, 19, 18, 5, 6, 34, 18, 19, 20,
34
+ 21, 22, 7, 18, 34, 18, 34, 5, 6, 72,
35
+ 86, 19, 20, 21, 22, 7, 18, -39, 20, 21,
36
+ 22, -40, 34, 88, 19, -41, 5, 6, 74, 18,
37
+ 19, 18, 34, 84, 7, 49, 50, 51, 55, 56,
38
+ 59, 60, 58, 71, 6, 34, 34, 19, -54, -54,
39
+ 92, 7, 49, 50, 51, 55, 56, 59, 60, 58,
40
+ 20, 21, 22, 93, 19, 76, 77, 78, 55, 56,
41
+ 59, 60, 58, 34, 34, -63, -63, 19, 34, 34,
42
+ 34, 34, -63, 18, 5, 6, nil, 18, 18, 18,
43
+ 18, nil, 7, 5, 6, 5, 6, 5, 6, nil,
44
+ 30, 7, nil, 7, nil, 7, 5, 6, 5, 6,
45
+ 71, 6, 5, 6, 7, nil, 7, nil, 7, nil,
46
+ 7, 71, 6, 71, 6, nil, nil, nil, 30, 7,
47
+ 30, 7, 76, 77, 78, 55, 56, 59, 60, 58 ]
48
48
 
49
49
  racc_action_check = [
50
- 2, 2, 2, 1, 40, 9, 3, 3, 3, 15,
51
- 46, 62, 2, 40, 3, 3, 19, 2, 3, 46,
52
- 62, 33, 3, 3, 32, 32, 32, 32, 32, 32,
53
- 32, 32, 32, 41, 32, 41, 32, 80, 80, 80,
54
- 45, 32, 41, 48, 49, 80, 80, 50, 80, 80,
55
- 81, 81, 81, 80, 80, 51, 17, 17, 17, 61,
56
- 64, 81, 81, 78, 17, 17, 83, 81, 17, 64,
57
- 89, 90, 17, 43, 43, 43, 43, 43, 43, 43,
58
- 43, 43, 43, nil, 70, 43, 70, 70, nil, 43,
59
- 73, 73, 73, 73, 73, 73, 73, 73, 65, 79,
60
- nil, nil, 73, 0, 0, 12, 12, 65, 79, 28,
61
- 28, 0, 12, 12, 30, 30, nil, 28, 35, 35,
62
- 39, 39, 30, 63, 63, nil, 35, nil, 39, 71,
63
- 71, 63, 84, 84, 86, 86, nil, 71, nil, 84,
64
- 84, 86, 86, 53, 53, 53, 53, 53, 53, 53,
65
- 53, 14, 14, 14, 36, 36, 36 ]
50
+ 2, 2, 2, 1, 32, 9, 3, 3, 3, 14,
51
+ 14, 14, 2, 32, 3, 3, 41, 2, 3, 81,
52
+ 81, 81, 3, 3, 19, 41, 34, 81, 81, 44,
53
+ 81, 81, 82, 82, 82, 81, 81, 49, 17, 17,
54
+ 17, 50, 45, 82, 82, 51, 17, 17, 52, 82,
55
+ 17, 45, 62, 79, 17, 43, 43, 43, 43, 43,
56
+ 43, 43, 43, 43, 43, 84, 71, 43, 71, 71,
57
+ 90, 43, 33, 33, 33, 33, 33, 33, 33, 33,
58
+ 38, 38, 38, 91, 33, 74, 74, 74, 74, 74,
59
+ 74, 74, 74, 15, 42, 15, 42, 74, 63, 65,
60
+ 66, 80, 15, 42, 0, 0, nil, 63, 65, 66,
61
+ 80, nil, 0, 12, 12, 28, 28, 30, 30, nil,
62
+ 12, 12, nil, 28, nil, 30, 37, 37, 40, 40,
63
+ 64, 64, 72, 72, 37, nil, 40, nil, 64, nil,
64
+ 72, 85, 85, 87, 87, nil, nil, nil, 85, 85,
65
+ 87, 87, 54, 54, 54, 54, 54, 54, 54, 54 ]
66
66
 
67
67
  racc_action_pointer = [
68
- 93, 3, -2, 4, nil, nil, nil, nil, nil, 5,
69
- nil, nil, 95, nil, 149, -1, nil, 54, nil, 6,
70
- nil, nil, nil, nil, nil, nil, nil, nil, 99, nil,
71
- 104, nil, 22, 11, nil, 108, 152, nil, nil, 110,
72
- -6, 23, nil, 71, nil, 28, 0, nil, 27, 28,
73
- 31, 39, nil, 141, nil, nil, nil, nil, nil, nil,
74
- nil, 49, 1, 113, 50, 88, nil, nil, nil, nil,
75
- 74, 119, nil, 88, nil, nil, nil, nil, 48, 89,
76
- 35, 48, nil, 56, 122, nil, 124, nil, nil, 57,
77
- 58, nil, nil ]
68
+ 94, 3, -2, 4, nil, nil, nil, nil, nil, 5,
69
+ nil, nil, 103, nil, 7, 83, nil, 36, nil, 14,
70
+ nil, nil, nil, nil, nil, nil, nil, nil, 105, nil,
71
+ 107, nil, -6, 70, 16, nil, nil, 116, 78, nil,
72
+ 118, 6, 84, 53, 17, 32, nil, nil, nil, 21,
73
+ 25, 29, 32, nil, 150, nil, nil, nil, nil, nil,
74
+ nil, nil, 42, 88, 120, 89, 90, nil, nil, nil,
75
+ nil, 56, 122, nil, 83, nil, nil, nil, nil, 38,
76
+ 91, 17, 30, nil, 55, 131, nil, 133, nil, nil,
77
+ 57, 70, nil, nil ]
78
78
 
79
79
  racc_action_default = [
80
80
  -63, -64, -1, -2, -3, -58, -59, -60, -61, -64,
81
81
  -6, -7, -64, -9, -64, -11, -17, -64, -36, -63,
82
- -39, -40, -41, -4, -5, -62, 93, -8, -32, -33,
83
- -34, -10, -22, -54, -23, -37, -64, -56, -57, -35,
84
- -12, -13, -18, -63, -20, -64, -57, -30, -45, -46,
85
- -47, -64, -43, -64, -48, -49, -50, -51, -52, -53,
86
- -55, -63, -15, -63, -64, -14, -31, -19, -21, -28,
87
- -58, -63, -29, -64, -44, -45, -46, -47, -64, -16,
88
- -64, -64, -42, -63, -63, -25, -63, -24, -38, -64,
89
- -64, -27, -26 ]
82
+ -39, -40, -41, -4, -5, -62, 94, -8, -32, -33,
83
+ -34, -10, -63, -22, -54, -56, -23, -37, -64, -57,
84
+ -35, -12, -13, -63, -64, -57, -30, -18, -20, -45,
85
+ -46, -47, -64, -43, -64, -48, -49, -50, -51, -52,
86
+ -53, -55, -63, -15, -63, -64, -14, -31, -19, -21,
87
+ -28, -58, -63, -29, -64, -44, -45, -46, -47, -64,
88
+ -16, -64, -64, -42, -63, -63, -25, -63, -24, -38,
89
+ -64, -64, -27, -26 ]
90
90
 
91
91
  racc_goto_table = [
92
- 17, 17, 2, 23, 24, 3, 25, 36, 41, 53,
93
- 42, 4, 1, 44, 51, 31, 62, 34, 61, 74,
94
- 53, 67, 35, 66, 68, 51, nil, 40, 72, nil,
95
- 43, 25, 84, 86, nil, 39, 65, nil, 25, 32,
96
- nil, 79, 25, nil, 66, nil, 72, nil, 35, 78,
97
- 53, 82, nil, nil, nil, nil, 46, 60, nil, nil,
98
- nil, 66, nil, nil, 64, 46, nil, nil, 35, nil,
99
- 64, 88, 89, 81, 90, nil, 80, nil, 17, 17,
100
- 23, 24, 4, 25, nil, nil, 64, nil, 64, 64,
101
- nil, nil, nil, nil, 60, nil, nil, nil, nil, nil,
102
- nil, nil, nil, 64 ]
92
+ 17, 17, 2, 23, 24, 3, 25, 1, 54, 47,
93
+ 31, 4, 85, 87, 75, 41, 32, 36, 54, 68,
94
+ 38, 67, 37, 42, 73, 66, 48, nil, 52, nil,
95
+ 43, 25, 63, 62, nil, 40, 69, nil, 52, nil,
96
+ 25, 33, 67, 25, 73, nil, nil, nil, 37, 54,
97
+ 83, nil, nil, nil, nil, nil, nil, 80, 45, 67,
98
+ 61, nil, nil, 79, nil, nil, nil, 65, 45, 37,
99
+ nil, 65, nil, nil, 82, nil, nil, 81, nil, 17,
100
+ 17, 23, 24, 4, 25, 89, 90, nil, 91, 65,
101
+ nil, 65, 65, nil, nil, nil, nil, 61, nil, nil,
102
+ nil, nil, nil, nil, nil, nil, 65 ]
103
103
 
104
104
  racc_goto_check = [
105
- 17, 17, 2, 5, 6, 3, 24, 19, 14, 10,
106
- 16, 4, 1, 18, 15, 9, 14, 5, 15, 22,
107
- 10, 16, 3, 20, 18, 15, nil, 13, 20, nil,
108
- 17, 24, 7, 7, nil, 3, 13, nil, 24, 12,
109
- nil, 14, 24, nil, 20, nil, 20, nil, 3, 19,
110
- 10, 16, nil, nil, nil, nil, 12, 12, nil, nil,
111
- nil, 20, nil, nil, 12, 12, nil, nil, 3, nil,
112
- 12, 19, 19, 2, 19, nil, 3, nil, 17, 17,
113
- 5, 6, 4, 24, nil, nil, 12, nil, 12, 12,
114
- nil, nil, nil, nil, 12, nil, nil, nil, nil, nil,
115
- nil, nil, nil, 12 ]
105
+ 18, 18, 2, 5, 6, 3, 24, 1, 10, 17,
106
+ 9, 4, 7, 7, 22, 13, 12, 5, 10, 17,
107
+ 12, 20, 3, 14, 20, 13, 19, nil, 15, nil,
108
+ 18, 24, 14, 15, nil, 3, 19, nil, 15, nil,
109
+ 24, 16, 20, 24, 20, nil, nil, nil, 3, 10,
110
+ 17, nil, nil, nil, nil, nil, nil, 14, 16, 20,
111
+ 16, nil, nil, 12, nil, nil, nil, 16, 16, 3,
112
+ nil, 16, nil, nil, 2, nil, nil, 3, nil, 18,
113
+ 18, 5, 6, 4, 24, 12, 12, nil, 12, 16,
114
+ nil, 16, 16, nil, nil, nil, nil, 16, nil, nil,
115
+ nil, nil, nil, nil, nil, nil, 16 ]
116
116
 
117
117
  racc_goto_pointer = [
118
- nil, 12, 2, 5, 11, 0, 1, -48, nil, 1,
119
- -23, nil, 24, -5, -24, -18, -22, -2, -19, -12,
120
- -18, nil, -34, nil, 3 ]
118
+ nil, 7, 2, 5, 11, 0, 1, -69, nil, -4,
119
+ -25, nil, 1, -17, -9, -5, 26, -24, -2, -7,
120
+ -21, nil, -40, nil, 3 ]
121
121
 
122
122
  racc_goto_default = [
123
- nil, nil, nil, 28, 37, 10, 11, 12, 27, 13,
124
- 14, 15, 38, 69, nil, 16, nil, 63, nil, 45,
125
- 47, 29, 52, 56, 8 ]
123
+ nil, nil, nil, 28, 35, 10, 11, 12, 27, 13,
124
+ 14, 15, 44, 70, nil, 16, 39, nil, 64, nil,
125
+ 46, 29, 53, 57, 8 ]
126
126
 
127
127
  racc_reduce_table = [
128
128
  0, 0, :racc_error,
@@ -161,15 +161,15 @@ racc_reduce_table = [
161
161
  1, 28, :_reduce_none,
162
162
  1, 41, :_reduce_none,
163
163
  2, 41, :_reduce_none,
164
- 1, 37, :_reduce_none,
165
- 2, 37, :_reduce_none,
164
+ 1, 38, :_reduce_none,
165
+ 2, 38, :_reduce_none,
166
166
  6, 30, :_reduce_38,
167
167
  1, 35, :_reduce_39,
168
168
  1, 35, :_reduce_40,
169
169
  1, 35, :_reduce_41,
170
- 3, 38, :_reduce_42,
171
- 1, 36, :_reduce_none,
172
- 2, 36, :_reduce_44,
170
+ 3, 39, :_reduce_42,
171
+ 1, 37, :_reduce_none,
172
+ 2, 37, :_reduce_44,
173
173
  1, 42, :_reduce_45,
174
174
  1, 42, :_reduce_46,
175
175
  1, 42, :_reduce_47,
@@ -179,10 +179,10 @@ racc_reduce_table = [
179
179
  1, 42, :_reduce_51,
180
180
  1, 43, :_reduce_52,
181
181
  1, 43, :_reduce_53,
182
+ 1, 36, :_reduce_none,
183
+ 2, 36, :_reduce_none,
184
+ 1, 32, :_reduce_none,
182
185
  1, 32, :_reduce_none,
183
- 2, 32, :_reduce_none,
184
- 1, 39, :_reduce_none,
185
- 1, 39, :_reduce_none,
186
186
  1, 44, :_reduce_none,
187
187
  1, 44, :_reduce_none,
188
188
  1, 44, :_reduce_none,
@@ -192,7 +192,7 @@ racc_reduce_table = [
192
192
 
193
193
  racc_reduce_n = 64
194
194
 
195
- racc_shift_n = 93
195
+ racc_shift_n = 94
196
196
 
197
197
  racc_token_table = {
198
198
  false => 0,
@@ -270,14 +270,14 @@ Racc_token_to_s_table = [
270
270
  "untyped_node",
271
271
  "type",
272
272
  "node_decl",
273
- "ws_plus",
273
+ "ws_star",
274
274
  "node_children",
275
275
  "empty_childrens",
276
276
  "identifier",
277
+ "ws_plus",
277
278
  "value",
278
279
  "slashdash",
279
280
  "property",
280
- "ws_star",
281
281
  "empty_children",
282
282
  "semicolon_term",
283
283
  "untyped_value",
data/lib/kdl/kdl.yy CHANGED
@@ -22,16 +22,16 @@ rule
22
22
  unterm_node : untyped_node { val[0] }
23
23
  | type untyped_node { val[1].as_type(val[0], @type_parsers.fetch(val[0], nil)) }
24
24
  untyped_node : node_decl { val[0].tap { |x| x.children = [] } }
25
- | node_decl ws_plus node_children { val[0].tap { |x| x.children = val[2] } }
26
- | node_decl ws_plus empty_childrens { val[0].tap { |x| x.children = [] } }
27
- | node_decl ws_plus empty_childrens node_children { val[0].tap { |x| x.children = val[3] } }
28
- | node_decl ws_plus node_children empty_childrens { val[0].tap { |x| x.children = val[2] } }
29
- | node_decl ws_plus empty_childrens node_children empty_childrens { val[0].tap { |x| x.children = val[3] } }
25
+ | node_decl ws_star node_children { val[0].tap { |x| x.children = val[2] } }
26
+ | node_decl ws_star empty_childrens { val[0].tap { |x| x.children = [] } }
27
+ | node_decl ws_star empty_childrens node_children { val[0].tap { |x| x.children = val[3] } }
28
+ | node_decl ws_star node_children empty_childrens { val[0].tap { |x| x.children = val[2] } }
29
+ | node_decl ws_star empty_childrens node_children empty_childrens { val[0].tap { |x| x.children = val[3] } }
30
30
  node_decl : identifier { @output_module::Node.new(val[0]) }
31
31
  | node_decl ws_plus value { val[0].tap { |x| x.arguments << val[2] } }
32
- | node_decl ws_plus slashdash value { val[0] }
32
+ | node_decl ws_star slashdash value { val[0] }
33
33
  | node_decl ws_plus property { val[0].tap { |x| x.properties[val[2][0]] = val[2][1] } }
34
- | node_decl ws_plus slashdash property { val[0] }
34
+ | node_decl ws_star slashdash property { val[0] }
35
35
  | node_decl ws_plus { val[0] }
36
36
  empty_node : slashdash node
37
37
  node_children : ws_star LBRACE nodes RBRACE { val[2] }
data/lib/kdl/tokenizer.rb CHANGED
@@ -611,8 +611,10 @@ module KDL
611
611
  def unescape(string, rgx = UNESCAPE)
612
612
  string
613
613
  .gsub(rgx) { |m| replace_esc(m) }
614
- .gsub(/\\u\{[0-9a-fA-F]{0,6}\}/) do |m|
615
- i = Integer(m[3..-2], 16)
614
+ .gsub(/\\u\{[0-9a-fA-F]+\}/) do |m|
615
+ digits = m[3..-2]
616
+ raise_error "Invalid code point #{m}" if digits.length > 6
617
+ i = Integer(digits, 16)
616
618
  if i < 0 || i > 0x10FFFF || (0xD800..0xDFFF).include?(i)
617
619
  raise_error "Invalid code point #{m}"
618
620
  end
@@ -637,6 +639,8 @@ module KDL
637
639
 
638
640
  def dedent(string)
639
641
  split = string.split(NEWLINES_PATTERN)
642
+ return "" if split.empty?
643
+
640
644
  lines = split.partition.with_index { |_, i| i.even? }.first
641
645
  if split.last.match?(NEWLINES_PATTERN)
642
646
  indent = ""
data/lib/kdl/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KDL
4
- VERSION = "2.0.1"
4
+ VERSION = "2.0.2"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kdl
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danielle Smith
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-01-15 00:00:00.000000000 Z
10
+ date: 2025-01-29 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: racc