kdl 2.0.1 → 2.0.2

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: 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