tomlrb 1.3.0 → 2.0.4

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.
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.16.pre.1
4
- # from Racc grammer file "".
3
+ # This file is automatically generated by Racc 1.8.1
4
+ # from Racc grammar file "parser.y".
5
5
  #
6
6
 
7
7
  require 'racc/parser.rb'
@@ -10,160 +10,221 @@ module Tomlrb
10
10
  ##### State transition tables begin ###
11
11
 
12
12
  racc_action_table = [
13
- 2, 17, 11, 31, 12, 31, 13, 79, 14, 40,
14
- 41, 80, 15, 16, 8, 71, 72, 10, 27, 29,
15
- 32, 29, 59, 60, 61, 62, 58, 55, 52, 53,
16
- 54, 56, 57, 46, 33, 34, 10, 59, 60, 61,
17
- 62, 58, 55, 52, 53, 54, 56, 57, 46, 35,
18
- 36, 10, 59, 60, 61, 62, 58, 55, 52, 53,
19
- 54, 56, 57, 46, 37, 38, 10, 59, 60, 61,
20
- 62, 58, 55, 52, 53, 54, 56, 57, 46, 43,
21
- 68, 10, 59, 60, 61, 62, 58, 55, 52, 53,
22
- 54, 56, 57, 46, nil, nil, 10, 59, 60, 61,
23
- 62, 58, 55, 52, 53, 54, 56, 57, 46, nil,
24
- nil, 10, 59, 60, 61, 62, 58, 55, 52, 53,
25
- 54, 56, 57, 46, nil, nil, 10, 59, 60, 61,
26
- 62, 58, 55, 52, 53, 54, 56, 57, 46, 75,
27
- nil, 10, 59, 60, 61, 62, 58, 55, 52, 53,
28
- 54, 56, 57, 46, 75, 21, 10, 22, nil, 23,
29
- nil, 24, nil, nil, nil, 25, 26, 21, 19, 22,
30
- nil, 23, nil, 24, nil, nil, nil, 25, 26, nil,
31
- 19 ]
13
+ 2, 49, 16, 25, 17, 48, 18, 23, 24, 19,
14
+ 20, 14, 21, 22, 8, 4, 10, 60, 16, 12,
15
+ 17, 59, 18, 23, 24, 19, 20, 46, 21, 22,
16
+ 28, 51, 54, 53, 54, 84, 43, 77, 78, 79,
17
+ 80, 75, 76, 72, 73, 70, 71, 74, 93, 92,
18
+ 63, 40, 55, 12, 77, 78, 79, 80, 75, 76,
19
+ 72, 73, 70, 71, 74, 43, 58, 63, 87, 87,
20
+ 12, 77, 78, 79, 80, 75, 76, 72, 73, 70,
21
+ 71, 74, 54, nil, 63, 98, nil, 12, 77, 78,
22
+ 79, 80, 75, 76, 72, 73, 70, 71, 74, 87,
23
+ nil, 63, 111, nil, 12, 77, 78, 79, 80, 75,
24
+ 76, 72, 73, 70, 71, 74, 54, nil, 63, 98,
25
+ nil, 12, 77, 78, 79, 80, 75, 76, 72, 73,
26
+ 70, 71, 74, 54, nil, 63, 98, nil, 12, 77,
27
+ 78, 79, 80, 75, 76, 72, 73, 70, 71, 74,
28
+ 87, nil, 63, 111, 31, 12, 32, nil, 33, 38,
29
+ 39, 34, 35, 29, 36, 37, 16, nil, 17, 28,
30
+ 18, 23, 24, 19, 20, 82, 21, 22, 31, nil,
31
+ 32, nil, 33, 38, 39, 34, 35, 86, 36, 37,
32
+ 16, nil, 17, nil, 18, 23, 24, 19, 20, 46,
33
+ 21, 22, 16, nil, 17, nil, 18, 23, 24, 19,
34
+ 20, 91, 21, 22, 54, 54, 87, 98, 98, 111,
35
+ nil, 109, 109, 118 ]
32
36
 
33
37
  racc_action_check = [
34
- 1, 2, 1, 9, 1, 72, 1, 76, 1, 20,
35
- 20, 76, 1, 1, 1, 42, 42, 1, 8, 9,
36
- 11, 72, 32, 32, 32, 32, 32, 32, 32, 32,
37
- 32, 32, 32, 32, 12, 13, 32, 33, 33, 33,
38
- 33, 33, 33, 33, 33, 33, 33, 33, 33, 14,
39
- 15, 33, 34, 34, 34, 34, 34, 34, 34, 34,
40
- 34, 34, 34, 34, 16, 19, 34, 35, 35, 35,
41
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 30,
42
- 40, 35, 36, 36, 36, 36, 36, 36, 36, 36,
43
- 36, 36, 36, 36, nil, nil, 36, 37, 37, 37,
44
- 37, 37, 37, 37, 37, 37, 37, 37, 37, nil,
45
- nil, 37, 43, 43, 43, 43, 43, 43, 43, 43,
46
- 43, 43, 43, 43, nil, nil, 43, 45, 45, 45,
47
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
48
- nil, 45, 80, 80, 80, 80, 80, 80, 80, 80,
49
- 80, 80, 80, 80, 80, 7, 80, 7, nil, 7,
50
- nil, 7, nil, nil, nil, 7, 7, 41, 7, 41,
51
- nil, 41, nil, 41, nil, nil, nil, 41, 41, nil,
52
- 41 ]
38
+ 1, 13, 1, 2, 1, 13, 1, 1, 1, 1,
39
+ 1, 1, 1, 1, 1, 1, 1, 45, 11, 1,
40
+ 11, 45, 11, 11, 11, 11, 11, 11, 11, 11,
41
+ 26, 26, 27, 27, 50, 50, 11, 48, 48, 48,
42
+ 48, 48, 48, 48, 48, 48, 48, 48, 61, 61,
43
+ 48, 10, 28, 48, 59, 59, 59, 59, 59, 59,
44
+ 59, 59, 59, 59, 59, 42, 44, 59, 52, 83,
45
+ 59, 62, 62, 62, 62, 62, 62, 62, 62, 62,
46
+ 62, 62, 62, nil, 62, 62, nil, 62, 96, 96,
47
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
48
+ nil, 96, 96, nil, 96, 105, 105, 105, 105, 105,
49
+ 105, 105, 105, 105, 105, 105, 105, nil, 105, 105,
50
+ nil, 105, 112, 112, 112, 112, 112, 112, 112, 112,
51
+ 112, 112, 112, 112, nil, 112, 112, nil, 112, 116,
52
+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
53
+ 116, nil, 116, 116, 9, 116, 9, nil, 9, 9,
54
+ 9, 9, 9, 9, 9, 9, 49, nil, 49, 9,
55
+ 49, 49, 49, 49, 49, 49, 49, 49, 51, nil,
56
+ 51, nil, 51, 51, 51, 51, 51, 51, 51, 51,
57
+ 58, nil, 58, nil, 58, 58, 58, 58, 58, 58,
58
+ 58, 58, 60, nil, 60, nil, 60, 60, 60, 60,
59
+ 60, 60, 60, 60, 94, 104, 108, 94, 104, 108,
60
+ nil, 94, 104, 108 ]
53
61
 
54
62
  racc_action_pointer = [
55
- nil, 0, 1, nil, nil, nil, nil, 153, 4, 1,
56
- nil, 0, 14, 15, 29, 30, 44, nil, nil, 50,
57
- -6, nil, nil, nil, nil, nil, nil, nil, nil, nil,
58
- 59, nil, 19, 34, 49, 64, 79, 94, nil, nil,
59
- 65, 165, -3, 109, nil, 124, nil, nil, nil, nil,
63
+ nil, 0, 3, nil, nil, nil, nil, nil, nil, 152,
64
+ 35, 16, nil, -17, nil, nil, nil, nil, nil, nil,
65
+ nil, nil, nil, nil, nil, nil, 13, 18, 35, nil,
60
66
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
67
+ nil, nil, 45, nil, 45, -1, nil, nil, 34, 164,
68
+ 20, 176, 54, nil, nil, nil, nil, nil, 188, 51,
69
+ 200, 34, 68, nil, nil, nil, nil, nil, nil, nil,
61
70
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
62
- nil, nil, 3, nil, nil, nil, -8, nil, nil, nil,
63
- 139, nil ]
71
+ nil, nil, nil, 55, nil, nil, nil, nil, nil, nil,
72
+ nil, nil, nil, nil, 200, nil, 85, nil, nil, nil,
73
+ nil, nil, nil, nil, 201, 102, nil, nil, 202, nil,
74
+ nil, nil, 119, nil, nil, nil, 136, nil, nil, nil,
75
+ nil ]
64
76
 
65
77
  racc_action_default = [
66
- -1, -58, -58, -2, -3, -4, -5, -58, -8, -58,
67
- -22, -58, -58, -58, -58, -58, -58, 82, -6, -10,
68
- -58, -15, -16, -17, -18, -19, -20, -7, -21, -23,
69
- -58, -27, -46, -46, -46, -46, -46, -46, -9, -11,
70
- -13, -58, -58, -46, -29, -46, -40, -41, -42, -43,
71
- -44, -45, -47, -48, -49, -50, -51, -52, -53, -54,
72
- -55, -56, -57, -30, -31, -32, -33, -34, -12, -14,
73
- -24, -25, -58, -28, -35, -36, -58, -26, -37, -38,
74
- -46, -39 ]
78
+ -1, -97, -97, -2, -3, -4, -5, -6, -7, -97,
79
+ -13, -97, -31, -97, -45, -46, -47, -48, -49, -50,
80
+ -51, -52, -53, -54, -55, 121, -97, -97, -15, -18,
81
+ -19, -20, -21, -22, -23, -24, -25, -26, -27, -28,
82
+ -12, -29, -97, -32, -33, -97, -39, -40, -84, -97,
83
+ -97, -97, -10, -11, -73, -14, -30, -34, -97, -84,
84
+ -97, -97, -97, -67, -74, -75, -76, -80, -81, -85,
85
+ -86, -87, -88, -89, -90, -91, -92, -93, -94, -95,
86
+ -96, -43, -44, -8, -9, -16, -17, -72, -35, -36,
87
+ -37, -38, -41, -42, -97, -60, -97, -62, -69, -77,
88
+ -78, -79, -82, -83, -97, -97, -59, -64, -97, -71,
89
+ -61, -68, -97, -57, -63, -58, -97, -66, -70, -56,
90
+ -65 ]
75
91
 
76
92
  racc_goto_table = [
77
- 28, 74, 1, 18, 44, 63, 64, 65, 66, 67,
78
- 3, 4, 5, 6, 7, 73, 39, 42, 70, 78,
79
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
80
- nil, nil, nil, nil, nil, nil, 81, 69, nil, nil,
81
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
82
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
83
- nil, nil, nil, 77 ]
93
+ 52, 15, 97, 7, 42, 95, 61, 41, 27, 65,
94
+ 30, 67, 1, 69, 3, 5, 105, 89, 107, 6,
95
+ 65, 9, 67, 83, 69, 50, 112, 26, 114, 57,
96
+ 13, 94, 104, nil, nil, 96, 110, 106, 56, nil,
97
+ nil, nil, nil, nil, nil, nil, nil, 113, 115, 81,
98
+ 66, 88, 85, nil, nil, 119, 120, nil, nil, nil,
99
+ 90, 66, nil, nil, nil, nil, nil, nil, nil, nil,
100
+ nil, nil, nil, nil, nil, nil, nil, nil, 116, nil,
101
+ nil, nil, nil, nil, nil, 116 ]
84
102
 
85
103
  racc_goto_check = [
86
- 11, 18, 1, 7, 15, 15, 15, 15, 15, 15,
87
- 2, 3, 4, 5, 6, 15, 9, 13, 14, 19,
88
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
89
- nil, nil, nil, nil, nil, nil, 18, 7, nil, nil,
90
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
91
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
92
- nil, nil, nil, 11 ]
104
+ 9, 18, 26, 5, 13, 25, 17, 12, 8, 20,
105
+ 10, 30, 1, 32, 2, 3, 24, 17, 27, 4,
106
+ 20, 6, 30, 9, 32, 8, 24, 7, 27, 15,
107
+ 19, 22, 23, nil, nil, 9, 26, 25, 12, nil,
108
+ nil, nil, nil, nil, nil, nil, nil, 25, 25, 18,
109
+ 5, 13, 10, nil, nil, 25, 26, nil, nil, nil,
110
+ 18, 5, nil, nil, nil, nil, nil, nil, nil, nil,
111
+ nil, nil, nil, nil, nil, nil, nil, nil, 9, nil,
112
+ nil, nil, nil, nil, nil, 9 ]
93
113
 
94
114
  racc_goto_pointer = [
95
- nil, 2, 9, 10, 11, 12, 13, -4, nil, -4,
96
- nil, -9, nil, -13, -24, -28, nil, nil, -44, -57,
97
- nil, nil, nil ]
115
+ nil, 12, 13, 14, 18, 2, 20, 18, -1, -27,
116
+ 1, nil, -4, -7, nil, -15, nil, -42, 0, 29,
117
+ -39, nil, -31, -62, -78, -57, -60, -76, nil, nil,
118
+ -37, nil, -35 ]
98
119
 
99
120
  racc_goto_default = [
100
- nil, nil, nil, nil, nil, 49, nil, nil, 20, nil,
101
- 9, nil, 30, nil, nil, 76, 48, 45, nil, nil,
102
- 47, 50, 51 ]
121
+ nil, nil, nil, nil, nil, 101, nil, nil, nil, 108,
122
+ nil, 11, nil, nil, 44, nil, 45, nil, 47, nil,
123
+ 100, 62, nil, nil, nil, nil, 117, nil, 64, 99,
124
+ 102, 68, 103 ]
103
125
 
104
126
  racc_reduce_table = [
105
127
  0, 0, :racc_error,
106
- 0, 22, :_reduce_none,
107
- 2, 22, :_reduce_none,
108
- 1, 23, :_reduce_none,
109
- 1, 23, :_reduce_none,
110
- 1, 23, :_reduce_none,
128
+ 0, 24, :_reduce_none,
111
129
  2, 24, :_reduce_none,
112
- 2, 27, :_reduce_7,
113
- 1, 27, :_reduce_8,
114
- 2, 28, :_reduce_9,
115
- 1, 28, :_reduce_10,
116
- 2, 28, :_reduce_none,
117
- 2, 30, :_reduce_12,
118
- 1, 30, :_reduce_13,
119
- 2, 30, :_reduce_none,
120
- 1, 29, :_reduce_15,
121
- 1, 29, :_reduce_16,
122
- 1, 29, :_reduce_17,
123
- 1, 29, :_reduce_18,
124
- 1, 29, :_reduce_19,
125
- 1, 29, :_reduce_20,
126
- 2, 26, :_reduce_none,
127
- 1, 31, :_reduce_22,
128
- 1, 32, :_reduce_23,
129
- 3, 32, :_reduce_none,
130
- 1, 35, :_reduce_25,
131
- 2, 35, :_reduce_none,
130
+ 2, 24, :_reduce_none,
131
+ 1, 25, :_reduce_none,
132
+ 1, 25, :_reduce_none,
133
+ 1, 25, :_reduce_none,
134
+ 1, 25, :_reduce_none,
135
+ 4, 26, :_reduce_none,
136
+ 4, 26, :_reduce_none,
137
+ 3, 26, :_reduce_none,
138
+ 3, 26, :_reduce_none,
139
+ 2, 29, :_reduce_12,
140
+ 1, 29, :_reduce_13,
141
+ 2, 31, :_reduce_14,
142
+ 1, 31, :_reduce_15,
143
+ 3, 30, :_reduce_16,
144
+ 3, 30, :_reduce_17,
145
+ 1, 30, :_reduce_18,
146
+ 1, 30, :_reduce_19,
147
+ 1, 33, :_reduce_none,
148
+ 1, 33, :_reduce_21,
149
+ 1, 33, :_reduce_none,
150
+ 1, 33, :_reduce_none,
151
+ 1, 33, :_reduce_none,
152
+ 1, 33, :_reduce_none,
153
+ 1, 33, :_reduce_none,
132
154
  1, 33, :_reduce_27,
133
- 2, 34, :_reduce_none,
134
- 3, 25, :_reduce_29,
135
- 3, 25, :_reduce_30,
136
- 3, 25, :_reduce_31,
137
- 3, 25, :_reduce_32,
138
- 3, 25, :_reduce_33,
139
- 3, 25, :_reduce_34,
140
- 2, 37, :_reduce_none,
141
- 1, 39, :_reduce_36,
142
- 2, 39, :_reduce_none,
143
- 1, 40, :_reduce_38,
144
- 2, 40, :_reduce_none,
145
- 1, 38, :_reduce_40,
146
- 1, 36, :_reduce_41,
147
- 1, 36, :_reduce_none,
155
+ 1, 33, :_reduce_28,
156
+ 2, 28, :_reduce_none,
157
+ 3, 28, :_reduce_none,
158
+ 1, 34, :_reduce_31,
159
+ 1, 35, :_reduce_32,
148
160
  1, 36, :_reduce_none,
161
+ 2, 36, :_reduce_none,
162
+ 2, 38, :_reduce_none,
163
+ 3, 37, :_reduce_36,
164
+ 3, 39, :_reduce_37,
165
+ 3, 39, :_reduce_38,
166
+ 1, 39, :_reduce_39,
167
+ 1, 39, :_reduce_40,
168
+ 4, 27, :_reduce_41,
169
+ 4, 27, :_reduce_42,
170
+ 3, 42, :_reduce_43,
171
+ 3, 42, :_reduce_44,
172
+ 1, 42, :_reduce_45,
173
+ 1, 42, :_reduce_46,
149
174
  1, 41, :_reduce_none,
175
+ 1, 41, :_reduce_48,
150
176
  1, 41, :_reduce_none,
151
- 0, 43, :_reduce_none,
152
- 1, 43, :_reduce_47,
153
- 1, 43, :_reduce_48,
154
- 1, 43, :_reduce_49,
155
- 1, 43, :_reduce_50,
156
- 1, 43, :_reduce_51,
157
- 1, 43, :_reduce_52,
158
- 1, 43, :_reduce_53,
159
- 1, 42, :_reduce_54,
160
- 1, 42, :_reduce_55,
161
- 1, 42, :_reduce_56,
162
- 1, 42, :_reduce_57 ]
163
-
164
- racc_reduce_n = 58
165
-
166
- racc_shift_n = 82
177
+ 1, 41, :_reduce_none,
178
+ 1, 41, :_reduce_none,
179
+ 1, 41, :_reduce_none,
180
+ 1, 41, :_reduce_none,
181
+ 1, 41, :_reduce_54,
182
+ 1, 41, :_reduce_55,
183
+ 5, 43, :_reduce_none,
184
+ 4, 43, :_reduce_none,
185
+ 4, 43, :_reduce_none,
186
+ 3, 43, :_reduce_none,
187
+ 2, 43, :_reduce_none,
188
+ 2, 45, :_reduce_none,
189
+ 1, 45, :_reduce_none,
190
+ 2, 46, :_reduce_none,
191
+ 1, 46, :_reduce_none,
192
+ 3, 50, :_reduce_none,
193
+ 2, 50, :_reduce_none,
194
+ 1, 44, :_reduce_67,
195
+ 2, 48, :_reduce_68,
196
+ 1, 48, :_reduce_69,
197
+ 2, 47, :_reduce_none,
198
+ 1, 47, :_reduce_none,
199
+ 2, 32, :_reduce_none,
200
+ 1, 32, :_reduce_none,
201
+ 1, 40, :_reduce_74,
202
+ 1, 40, :_reduce_none,
203
+ 1, 40, :_reduce_none,
204
+ 1, 49, :_reduce_77,
205
+ 1, 49, :_reduce_none,
206
+ 1, 49, :_reduce_none,
207
+ 1, 51, :_reduce_none,
208
+ 1, 51, :_reduce_none,
209
+ 1, 52, :_reduce_none,
210
+ 1, 52, :_reduce_none,
211
+ 0, 54, :_reduce_none,
212
+ 1, 54, :_reduce_none,
213
+ 1, 55, :_reduce_86,
214
+ 1, 55, :_reduce_87,
215
+ 1, 55, :_reduce_88,
216
+ 1, 55, :_reduce_89,
217
+ 1, 55, :_reduce_90,
218
+ 1, 55, :_reduce_91,
219
+ 1, 55, :_reduce_92,
220
+ 1, 53, :_reduce_93,
221
+ 1, 53, :_reduce_94,
222
+ 1, 53, :_reduce_95,
223
+ 1, 53, :_reduce_96 ]
224
+
225
+ racc_reduce_n = 97
226
+
227
+ racc_shift_n = 121
167
228
 
168
229
  racc_token_table = {
169
230
  false => 0,
@@ -174,21 +235,23 @@ racc_token_table = {
174
235
  :STRING_LITERAL_MULTI => 5,
175
236
  :STRING_LITERAL => 6,
176
237
  :DATETIME => 7,
177
- :INTEGER => 8,
178
- :FLOAT => 9,
179
- :FLOAT_INF => 10,
180
- :FLOAT_NAN => 11,
181
- :TRUE => 12,
182
- :FALSE => 13,
183
- "[" => 14,
184
- "]" => 15,
185
- "." => 16,
186
- "{" => 17,
187
- "}" => 18,
188
- "," => 19,
189
- "=" => 20 }
190
-
191
- racc_nt_base = 21
238
+ :LOCAL_TIME => 8,
239
+ :INTEGER => 9,
240
+ :NON_DEC_INTEGER => 10,
241
+ :FLOAT => 11,
242
+ :FLOAT_KEYWORD => 12,
243
+ :BOOLEAN => 13,
244
+ :NEWLINE => 14,
245
+ :EOS => 15,
246
+ "[" => 16,
247
+ "]" => 17,
248
+ "." => 18,
249
+ "{" => 19,
250
+ "}" => 20,
251
+ "," => 21,
252
+ "=" => 22 }
253
+
254
+ racc_nt_base = 23
192
255
 
193
256
  racc_use_result_var = true
194
257
 
@@ -207,6 +270,7 @@ Racc_arg = [
207
270
  racc_shift_n,
208
271
  racc_reduce_n,
209
272
  racc_use_result_var ]
273
+ Ractor.make_shareable(Racc_arg) if defined?(Ractor)
210
274
 
211
275
  Racc_token_to_s_table = [
212
276
  "$end",
@@ -217,12 +281,14 @@ Racc_token_to_s_table = [
217
281
  "STRING_LITERAL_MULTI",
218
282
  "STRING_LITERAL",
219
283
  "DATETIME",
284
+ "LOCAL_TIME",
220
285
  "INTEGER",
286
+ "NON_DEC_INTEGER",
221
287
  "FLOAT",
222
- "FLOAT_INF",
223
- "FLOAT_NAN",
224
- "TRUE",
225
- "FALSE",
288
+ "FLOAT_KEYWORD",
289
+ "BOOLEAN",
290
+ "NEWLINE",
291
+ "EOS",
226
292
  "\"[\"",
227
293
  "\"]\"",
228
294
  "\".\"",
@@ -237,22 +303,33 @@ Racc_token_to_s_table = [
237
303
  "assignment",
238
304
  "inline_table",
239
305
  "table_start",
240
- "table_continued",
241
306
  "table_identifier",
242
- "table_next",
307
+ "table_end",
308
+ "newlines",
309
+ "table_identifier_component",
243
310
  "inline_table_start",
311
+ "inline_table_end",
244
312
  "inline_continued",
245
- "inline_assignment_key",
246
- "inline_assignment_value",
313
+ "inline_assignment",
247
314
  "inline_next",
315
+ "inline_assignment_key",
248
316
  "value",
317
+ "assignment_key_component",
318
+ "assignment_key",
249
319
  "array",
250
320
  "start_array",
251
- "array_continued",
252
- "array_next",
321
+ "array_first_value",
322
+ "array_values",
323
+ "comma",
324
+ "end_array",
325
+ "non_nil_value",
326
+ "array_value",
253
327
  "scalar",
328
+ "non_nil_scalar",
254
329
  "string",
255
- "literal" ]
330
+ "literal",
331
+ "non_nil_literal" ]
332
+ Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
256
333
 
257
334
  Racc_debug_parser = false
258
335
 
@@ -272,291 +349,452 @@ Racc_debug_parser = false
272
349
 
273
350
  # reduce 6 omitted
274
351
 
275
- module_eval(<<'.,.,', 'parser.y', 15)
276
- def _reduce_7(val, _values, result)
352
+ # reduce 7 omitted
353
+
354
+ # reduce 8 omitted
355
+
356
+ # reduce 9 omitted
357
+
358
+ # reduce 10 omitted
359
+
360
+ # reduce 11 omitted
361
+
362
+ module_eval(<<'.,.,', 'parser.y', 20)
363
+ def _reduce_12(val, _values, result)
277
364
  @handler.start_(:array_of_tables)
278
365
  result
279
366
  end
280
367
  .,.,
281
368
 
282
- module_eval(<<'.,.,', 'parser.y', 16)
283
- def _reduce_8(val, _values, result)
369
+ module_eval(<<'.,.,', 'parser.y', 21)
370
+ def _reduce_13(val, _values, result)
284
371
  @handler.start_(:table)
285
372
  result
286
373
  end
287
374
  .,.,
288
375
 
289
- module_eval(<<'.,.,', 'parser.y', 19)
290
- def _reduce_9(val, _values, result)
376
+ module_eval(<<'.,.,', 'parser.y', 25)
377
+ def _reduce_14(val, _values, result)
291
378
  array = @handler.end_(:array_of_tables); @handler.set_context(array, is_array_of_tables: true)
292
379
  result
293
380
  end
294
381
  .,.,
295
382
 
296
- module_eval(<<'.,.,', 'parser.y', 20)
297
- def _reduce_10(val, _values, result)
383
+ module_eval(<<'.,.,', 'parser.y', 26)
384
+ def _reduce_15(val, _values, result)
298
385
  array = @handler.end_(:table); @handler.set_context(array)
299
386
  result
300
387
  end
301
388
  .,.,
302
389
 
303
- # reduce 11 omitted
304
-
305
- module_eval(<<'.,.,', 'parser.y', 24)
306
- def _reduce_12(val, _values, result)
307
- array = @handler.end_(:array_of_tables); @handler.set_context(array, is_array_of_tables: true)
390
+ module_eval(<<'.,.,', 'parser.y', 29)
391
+ def _reduce_16(val, _values, result)
392
+ @handler.push(val[2])
308
393
  result
309
394
  end
310
395
  .,.,
311
396
 
312
- module_eval(<<'.,.,', 'parser.y', 25)
313
- def _reduce_13(val, _values, result)
314
- array = @handler.end_(:table); @handler.set_context(array)
397
+ module_eval(<<'.,.,', 'parser.y', 30)
398
+ def _reduce_17(val, _values, result)
399
+ val[2].split('.').each { |k| @handler.push(k) }
315
400
  result
316
401
  end
317
402
  .,.,
318
403
 
319
- # reduce 14 omitted
404
+ module_eval(<<'.,.,', 'parser.y', 32)
405
+ def _reduce_18(val, _values, result)
406
+ keys = val[0].split('.')
407
+ @handler.start_(:table)
408
+ keys.each { |key| @handler.push(key) }
409
+
410
+ result
411
+ end
412
+ .,.,
320
413
 
321
- module_eval(<<'.,.,', 'parser.y', 29)
322
- def _reduce_15(val, _values, result)
414
+ module_eval(<<'.,.,', 'parser.y', 36)
415
+ def _reduce_19(val, _values, result)
323
416
  @handler.push(val[0])
324
417
  result
325
418
  end
326
419
  .,.,
327
420
 
328
- module_eval(<<'.,.,', 'parser.y', 30)
329
- def _reduce_16(val, _values, result)
330
- @handler.push(val[0])
421
+ # reduce 20 omitted
422
+
423
+ module_eval(<<'.,.,', 'parser.y', 40)
424
+ def _reduce_21(val, _values, result)
425
+ result = StringUtils.replace_escaped_chars(val[0])
331
426
  result
332
427
  end
333
428
  .,.,
334
429
 
335
- module_eval(<<'.,.,', 'parser.y', 31)
336
- def _reduce_17(val, _values, result)
337
- @handler.push(val[0])
430
+ # reduce 22 omitted
431
+
432
+ # reduce 23 omitted
433
+
434
+ # reduce 24 omitted
435
+
436
+ # reduce 25 omitted
437
+
438
+ # reduce 26 omitted
439
+
440
+ module_eval(<<'.,.,', 'parser.y', 46)
441
+ def _reduce_27(val, _values, result)
442
+ result = val[0][0]
338
443
  result
339
444
  end
340
445
  .,.,
341
446
 
342
- module_eval(<<'.,.,', 'parser.y', 32)
343
- def _reduce_18(val, _values, result)
344
- @handler.push(val[0])
447
+ module_eval(<<'.,.,', 'parser.y', 47)
448
+ def _reduce_28(val, _values, result)
449
+ result = val[0][0]
345
450
  result
346
451
  end
347
452
  .,.,
348
453
 
349
- module_eval(<<'.,.,', 'parser.y', 33)
350
- def _reduce_19(val, _values, result)
351
- @handler.push(val[0])
454
+ # reduce 29 omitted
455
+
456
+ # reduce 30 omitted
457
+
458
+ module_eval(<<'.,.,', 'parser.y', 54)
459
+ def _reduce_31(val, _values, result)
460
+ @handler.start_(:inline)
352
461
  result
353
462
  end
354
463
  .,.,
355
464
 
356
- module_eval(<<'.,.,', 'parser.y', 34)
357
- def _reduce_20(val, _values, result)
358
- @handler.push(val[0])
465
+ module_eval(<<'.,.,', 'parser.y', 58)
466
+ def _reduce_32(val, _values, result)
467
+ array = @handler.end_(:inline)
468
+ @handler.push_inline(array)
469
+
359
470
  result
360
471
  end
361
472
  .,.,
362
473
 
363
- # reduce 21 omitted
474
+ # reduce 33 omitted
475
+
476
+ # reduce 34 omitted
477
+
478
+ # reduce 35 omitted
479
+
480
+ module_eval(<<'.,.,', 'parser.y', 71)
481
+ def _reduce_36(val, _values, result)
482
+ keys = @handler.end_(:inline_keys)
483
+ @handler.push(keys)
364
484
 
365
- module_eval(<<'.,.,', 'parser.y', 40)
366
- def _reduce_22(val, _values, result)
367
- @handler.start_(:inline)
368
485
  result
369
486
  end
370
487
  .,.,
371
488
 
372
- module_eval(<<'.,.,', 'parser.y', 43)
373
- def _reduce_23(val, _values, result)
374
- array = @handler.end_(:inline); @handler.push(Hash[*array])
489
+ module_eval(<<'.,.,', 'parser.y', 77)
490
+ def _reduce_37(val, _values, result)
491
+ @handler.push(val[2])
492
+
375
493
  result
376
494
  end
377
495
  .,.,
378
496
 
379
- # reduce 24 omitted
497
+ module_eval(<<'.,.,', 'parser.y', 79)
498
+ def _reduce_38(val, _values, result)
499
+ val[2].split('.').each { |k| @handler.push(k) }
500
+ result
501
+ end
502
+ .,.,
380
503
 
381
- module_eval(<<'.,.,', 'parser.y', 48)
382
- def _reduce_25(val, _values, result)
383
- array = @handler.end_(:inline)
384
- array.map!.with_index{ |n,i| i.even? ? n.to_sym : n } if @handler.symbolize_keys
385
- @handler.push(Hash[*array])
504
+ module_eval(<<'.,.,', 'parser.y', 81)
505
+ def _reduce_39(val, _values, result)
506
+ keys = val[0].split('.')
507
+ @handler.start_(:inline_keys)
508
+ keys.each { |key| @handler.push(key) }
386
509
 
387
510
  result
388
511
  end
389
512
  .,.,
390
513
 
391
- # reduce 26 omitted
514
+ module_eval(<<'.,.,', 'parser.y', 86)
515
+ def _reduce_40(val, _values, result)
516
+ @handler.start_(:inline_keys)
517
+ @handler.push(val[0])
392
518
 
393
- module_eval(<<'.,.,', 'parser.y', 55)
394
- def _reduce_27(val, _values, result)
395
- @handler.push(val[0])
396
519
  result
397
520
  end
398
521
  .,.,
399
522
 
400
- # reduce 28 omitted
523
+ module_eval(<<'.,.,', 'parser.y', 92)
524
+ def _reduce_41(val, _values, result)
525
+ keys = @handler.end_(:keys)
526
+ value = keys.pop
527
+ @handler.validate_value(value)
528
+ @handler.push(value)
529
+ @handler.assign(keys)
401
530
 
402
- module_eval(<<'.,.,', 'parser.y', 61)
403
- def _reduce_29(val, _values, result)
404
- @handler.assign(val[0])
405
531
  result
406
532
  end
407
533
  .,.,
408
534
 
409
- module_eval(<<'.,.,', 'parser.y', 62)
410
- def _reduce_30(val, _values, result)
411
- @handler.assign(val[0])
535
+ module_eval(<<'.,.,', 'parser.y', 99)
536
+ def _reduce_42(val, _values, result)
537
+ keys = @handler.end_(:keys)
538
+ value = keys.pop
539
+ @handler.validate_value(value)
540
+ @handler.push(value)
541
+ @handler.assign(keys)
542
+
412
543
  result
413
544
  end
414
545
  .,.,
415
546
 
416
- module_eval(<<'.,.,', 'parser.y', 63)
417
- def _reduce_31(val, _values, result)
418
- @handler.assign(val[0])
547
+ module_eval(<<'.,.,', 'parser.y', 107)
548
+ def _reduce_43(val, _values, result)
549
+ @handler.push(val[2])
419
550
  result
420
551
  end
421
552
  .,.,
422
553
 
423
- module_eval(<<'.,.,', 'parser.y', 64)
424
- def _reduce_32(val, _values, result)
425
- @handler.assign(val[0])
554
+ module_eval(<<'.,.,', 'parser.y', 108)
555
+ def _reduce_44(val, _values, result)
556
+ val[2].split('.').each { |k| @handler.push(k) }
426
557
  result
427
558
  end
428
559
  .,.,
429
560
 
430
- module_eval(<<'.,.,', 'parser.y', 65)
431
- def _reduce_33(val, _values, result)
432
- @handler.assign(val[0])
561
+ module_eval(<<'.,.,', 'parser.y', 110)
562
+ def _reduce_45(val, _values, result)
563
+ keys = val[0].split('.')
564
+ @handler.start_(:keys)
565
+ keys.each { |key| @handler.push(key) }
566
+
433
567
  result
434
568
  end
435
569
  .,.,
436
570
 
437
- module_eval(<<'.,.,', 'parser.y', 66)
438
- def _reduce_34(val, _values, result)
439
- @handler.assign(val[0])
571
+ module_eval(<<'.,.,', 'parser.y', 114)
572
+ def _reduce_46(val, _values, result)
573
+ @handler.start_(:keys); @handler.push(val[0])
440
574
  result
441
575
  end
442
576
  .,.,
443
577
 
444
- # reduce 35 omitted
578
+ # reduce 47 omitted
445
579
 
446
- module_eval(<<'.,.,', 'parser.y', 72)
447
- def _reduce_36(val, _values, result)
448
- array = @handler.end_(:array); @handler.push(array)
580
+ module_eval(<<'.,.,', 'parser.y', 118)
581
+ def _reduce_48(val, _values, result)
582
+ result = StringUtils.replace_escaped_chars(val[0])
449
583
  result
450
584
  end
451
585
  .,.,
452
586
 
453
- # reduce 37 omitted
587
+ # reduce 49 omitted
454
588
 
455
- module_eval(<<'.,.,', 'parser.y', 76)
456
- def _reduce_38(val, _values, result)
457
- array = @handler.end_(:array); @handler.push(array)
589
+ # reduce 50 omitted
590
+
591
+ # reduce 51 omitted
592
+
593
+ # reduce 52 omitted
594
+
595
+ # reduce 53 omitted
596
+
597
+ module_eval(<<'.,.,', 'parser.y', 124)
598
+ def _reduce_54(val, _values, result)
599
+ result = val[0][0]
600
+ result
601
+ end
602
+ .,.,
603
+
604
+ module_eval(<<'.,.,', 'parser.y', 125)
605
+ def _reduce_55(val, _values, result)
606
+ result = val[0][0]
458
607
  result
459
608
  end
460
609
  .,.,
461
610
 
462
- # reduce 39 omitted
611
+ # reduce 56 omitted
463
612
 
464
- module_eval(<<'.,.,', 'parser.y', 80)
465
- def _reduce_40(val, _values, result)
613
+ # reduce 57 omitted
614
+
615
+ # reduce 58 omitted
616
+
617
+ # reduce 59 omitted
618
+
619
+ # reduce 60 omitted
620
+
621
+ # reduce 61 omitted
622
+
623
+ # reduce 62 omitted
624
+
625
+ # reduce 63 omitted
626
+
627
+ # reduce 64 omitted
628
+
629
+ # reduce 65 omitted
630
+
631
+ # reduce 66 omitted
632
+
633
+ module_eval(<<'.,.,', 'parser.y', 147)
634
+ def _reduce_67(val, _values, result)
466
635
  @handler.start_(:array)
467
636
  result
468
637
  end
469
638
  .,.,
470
639
 
471
- module_eval(<<'.,.,', 'parser.y', 83)
472
- def _reduce_41(val, _values, result)
640
+ module_eval(<<'.,.,', 'parser.y', 150)
641
+ def _reduce_68(val, _values, result)
642
+ array = @handler.end_(:array); @handler.push(array.compact)
643
+ result
644
+ end
645
+ .,.,
646
+
647
+ module_eval(<<'.,.,', 'parser.y', 151)
648
+ def _reduce_69(val, _values, result)
649
+ array = @handler.end_(:array); @handler.push(array.compact)
650
+ result
651
+ end
652
+ .,.,
653
+
654
+ # reduce 70 omitted
655
+
656
+ # reduce 71 omitted
657
+
658
+ # reduce 72 omitted
659
+
660
+ # reduce 73 omitted
661
+
662
+ module_eval(<<'.,.,', 'parser.y', 162)
663
+ def _reduce_74(val, _values, result)
473
664
  @handler.push(val[0])
474
665
  result
475
666
  end
476
667
  .,.,
477
668
 
478
- # reduce 42 omitted
669
+ # reduce 75 omitted
479
670
 
480
- # reduce 43 omitted
671
+ # reduce 76 omitted
481
672
 
482
- # reduce 44 omitted
673
+ module_eval(<<'.,.,', 'parser.y', 167)
674
+ def _reduce_77(val, _values, result)
675
+ @handler.push(val[0])
676
+ result
677
+ end
678
+ .,.,
483
679
 
484
- # reduce 45 omitted
680
+ # reduce 78 omitted
485
681
 
486
- # reduce 46 omitted
682
+ # reduce 79 omitted
487
683
 
488
- module_eval(<<'.,.,', 'parser.y', 92)
489
- def _reduce_47(val, _values, result)
684
+ # reduce 80 omitted
685
+
686
+ # reduce 81 omitted
687
+
688
+ # reduce 82 omitted
689
+
690
+ # reduce 83 omitted
691
+
692
+ # reduce 84 omitted
693
+
694
+ # reduce 85 omitted
695
+
696
+ module_eval(<<'.,.,', 'parser.y', 183)
697
+ def _reduce_86(val, _values, result)
490
698
  result = val[0].to_f
491
699
  result
492
700
  end
493
701
  .,.,
494
702
 
495
- module_eval(<<'.,.,', 'parser.y', 93)
496
- def _reduce_48(val, _values, result)
497
- result = (val[0][0] == '-' ? -1 : 1) * Float::INFINITY
703
+ module_eval(<<'.,.,', 'parser.y', 185)
704
+ def _reduce_87(val, _values, result)
705
+ v = val[0]
706
+ result = if v.end_with?('nan')
707
+ Float::NAN
708
+ else
709
+ (v[0] == '-' ? -1 : 1) * Float::INFINITY
710
+ end
711
+
498
712
  result
499
713
  end
500
714
  .,.,
501
715
 
502
- module_eval(<<'.,.,', 'parser.y', 94)
503
- def _reduce_49(val, _values, result)
504
- result = Float::NAN
716
+ module_eval(<<'.,.,', 'parser.y', 192)
717
+ def _reduce_88(val, _values, result)
718
+ result = val[0].to_i
505
719
  result
506
720
  end
507
721
  .,.,
508
722
 
509
- module_eval(<<'.,.,', 'parser.y', 95)
510
- def _reduce_50(val, _values, result)
511
- result = val[0].to_i
723
+ module_eval(<<'.,.,', 'parser.y', 194)
724
+ def _reduce_89(val, _values, result)
725
+ base = case val[0][1]
726
+ when 'x' then 16
727
+ when 'o' then 8
728
+ when 'b' then 2
729
+ end
730
+ result = val[0].to_i(base)
731
+
512
732
  result
513
733
  end
514
734
  .,.,
515
735
 
516
- module_eval(<<'.,.,', 'parser.y', 96)
517
- def _reduce_51(val, _values, result)
518
- result = true
736
+ module_eval(<<'.,.,', 'parser.y', 201)
737
+ def _reduce_90(val, _values, result)
738
+ result = val[0] == 'true' ? true : false
519
739
  result
520
740
  end
521
741
  .,.,
522
742
 
523
- module_eval(<<'.,.,', 'parser.y', 97)
524
- def _reduce_52(val, _values, result)
525
- result = false
743
+ module_eval(<<'.,.,', 'parser.y', 203)
744
+ def _reduce_91(val, _values, result)
745
+ _str, year, month, day, hour, min, sec, offset = val[0]
746
+ result = if offset.nil?
747
+ if hour.nil?
748
+ LocalDate.new(year, month, day)
749
+ else
750
+ LocalDateTime.new(year, month, day, hour, min || 0, sec.to_f)
751
+ end
752
+ else
753
+ # Patch for 24:00:00 which Ruby parses
754
+ if hour.to_i == 24 && min.to_i == 0 && sec.to_i == 0
755
+ hour = (hour.to_i + 1).to_s
756
+ end
757
+
758
+ time = Time.new(year, month, day, hour || 0, min || 0, sec.to_f, offset)
759
+ # Should be out of parser.y?
760
+ raise ArgumentError, "Invalid Offset Date-Time: #{year}-#{month}-#{day}T#{hour}:#{min}:#{sec}#{offset}" unless min.to_i == time.min && hour.to_i == time.hour && day.to_i == time.day && month.to_i == time.month && year.to_i == time.year
761
+ time
762
+ end
763
+
526
764
  result
527
765
  end
528
766
  .,.,
529
767
 
530
- module_eval(<<'.,.,', 'parser.y', 98)
531
- def _reduce_53(val, _values, result)
532
- result = Time.new(*val[0])
768
+ module_eval(<<'.,.,', 'parser.y', 222)
769
+ def _reduce_92(val, _values, result)
770
+ result = LocalTime.new(*val[0][1..-1])
533
771
  result
534
772
  end
535
773
  .,.,
536
774
 
537
- module_eval(<<'.,.,', 'parser.y', 101)
538
- def _reduce_54(val, _values, result)
775
+ module_eval(<<'.,.,', 'parser.y', 225)
776
+ def _reduce_93(val, _values, result)
539
777
  result = StringUtils.replace_escaped_chars(StringUtils.multiline_replacements(val[0]))
540
778
  result
541
779
  end
542
780
  .,.,
543
781
 
544
- module_eval(<<'.,.,', 'parser.y', 102)
545
- def _reduce_55(val, _values, result)
782
+ module_eval(<<'.,.,', 'parser.y', 226)
783
+ def _reduce_94(val, _values, result)
546
784
  result = StringUtils.replace_escaped_chars(val[0])
547
785
  result
548
786
  end
549
787
  .,.,
550
788
 
551
- module_eval(<<'.,.,', 'parser.y', 103)
552
- def _reduce_56(val, _values, result)
789
+ module_eval(<<'.,.,', 'parser.y', 227)
790
+ def _reduce_95(val, _values, result)
553
791
  result = StringUtils.strip_spaces(val[0])
554
792
  result
555
793
  end
556
794
  .,.,
557
795
 
558
- module_eval(<<'.,.,', 'parser.y', 104)
559
- def _reduce_57(val, _values, result)
796
+ module_eval(<<'.,.,', 'parser.y', 228)
797
+ def _reduce_96(val, _values, result)
560
798
  result = val[0]
561
799
  result
562
800
  end