kdl 2.0.1 → 2.0.3

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: ded04666b247c59ca6b21e1c9140ea105859beff049737e9ae4a5a7bd94b6ba8
4
+ data.tar.gz: 143451749e7a73b90e620b297848c1643414102a4cef32412f5c90bad85ebff2
5
5
  SHA512:
6
- metadata.gz: 9fafe1a9343387a093c324f84cccd47378a635c950f9892b9456d23f2c75fe2341ebb68ea09e0043b0672430fc0c799fb13263447ddb4586539cd5f306357c4b
7
- data.tar.gz: 3cf0863f0e7751890f394f7f5d759adf980ca7b4fec872c40a1b75f71a08e380681bc8ed93e917567bbab337281b4c03a1a8f34760bd9fa66aefd67187a59a0e
6
+ metadata.gz: 1795e17bc011c757ae1009688b4ba63f4680438b1cf6ce14c3f8b46729a5b77119a5c1a7501e783d66c55538564d35e035497f14b8bb521355451137bb0122fa
7
+ data.tar.gz: b705ac23181923fa3cf604338e233e9cc98885acdd5347fd98b8b40b1183b0d2268febe338adefb10cf9ba7765b10f2e7edbbfa0697e2c90270cb534c2f8fbdd
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
@@ -417,6 +417,8 @@ module KDL
417
417
  if @comment_nesting == 0
418
418
  revert_context
419
419
  end
420
+ elsif c.nil?
421
+ raise_error "Unterminated multiline comment"
420
422
  else
421
423
  traverse(1)
422
424
  end
@@ -611,8 +613,10 @@ module KDL
611
613
  def unescape(string, rgx = UNESCAPE)
612
614
  string
613
615
  .gsub(rgx) { |m| replace_esc(m) }
614
- .gsub(/\\u\{[0-9a-fA-F]{0,6}\}/) do |m|
615
- i = Integer(m[3..-2], 16)
616
+ .gsub(/\\u\{[0-9a-fA-F]+\}/) do |m|
617
+ digits = m[3..-2]
618
+ raise_error "Invalid code point #{m}" if digits.length > 6
619
+ i = Integer(digits, 16)
616
620
  if i < 0 || i > 0x10FFFF || (0xD800..0xDFFF).include?(i)
617
621
  raise_error "Invalid code point #{m}"
618
622
  end
@@ -637,6 +641,8 @@ module KDL
637
641
 
638
642
  def dedent(string)
639
643
  split = string.split(NEWLINES_PATTERN)
644
+ return "" if split.empty?
645
+
640
646
  lines = split.partition.with_index { |_, i| i.even? }.first
641
647
  if split.last.match?(NEWLINES_PATTERN)
642
648
  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.3"
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.3
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-09-21 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: racc