tomlrb 1.3.0 → 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.
@@ -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.6.0
4
+ # from Racc grammar file "".
5
5
  #
6
6
 
7
7
  require 'racc/parser.rb'
@@ -10,160 +10,185 @@ 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, 45, 16, 56, 17, 44, 18, 55, 23, 19,
14
+ 20, 14, 21, 22, 8, 4, 10, 36, 16, 12,
15
+ 17, 48, 18, 46, 47, 19, 20, 42, 21, 22,
16
+ 50, 51, 87, 86, 39, 54, 39, 72, 73, 74,
17
+ 75, 70, 71, 67, 68, 65, 66, 69, 78, nil,
18
+ 59, nil, nil, 12, 72, 73, 74, 75, 70, 71,
19
+ 67, 68, 65, 66, 69, nil, nil, 59, nil, nil,
20
+ 12, 72, 73, 74, 75, 70, 71, 67, 68, 65,
21
+ 66, 69, 91, nil, 59, 89, nil, 12, 72, 73,
22
+ 74, 75, 70, 71, 67, 68, 65, 66, 69, 91,
23
+ nil, 59, 89, nil, 12, 72, 73, 74, 75, 70,
24
+ 71, 67, 68, 65, 66, 69, 91, nil, 59, 89,
25
+ nil, 12, 72, 73, 74, 75, 70, 71, 67, 68,
26
+ 65, 66, 69, 91, nil, 59, 89, 29, 12, 30,
27
+ nil, 31, nil, nil, 32, 33, 27, 34, 35, 29,
28
+ nil, 30, 25, 31, nil, nil, 32, 33, 81, 34,
29
+ 35, 16, nil, 17, 25, 18, nil, nil, 19, 20,
30
+ 77, 21, 22, 16, nil, 17, nil, 18, nil, nil,
31
+ 19, 20, 42, 21, 22, 16, nil, 17, nil, 18,
32
+ nil, nil, 19, 20, 85, 21, 22, 95, nil, nil,
33
+ 93, nil, nil, nil, 94 ]
32
34
 
33
35
  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 ]
36
+ 1, 13, 1, 41, 1, 13, 1, 41, 2, 1,
37
+ 1, 1, 1, 1, 1, 1, 1, 10, 11, 1,
38
+ 11, 25, 11, 24, 24, 11, 11, 11, 11, 11,
39
+ 26, 26, 57, 57, 38, 40, 11, 44, 44, 44,
40
+ 44, 44, 44, 44, 44, 44, 44, 44, 50, nil,
41
+ 44, nil, nil, 44, 55, 55, 55, 55, 55, 55,
42
+ 55, 55, 55, 55, 55, nil, nil, 55, nil, nil,
43
+ 55, 58, 58, 58, 58, 58, 58, 58, 58, 58,
44
+ 58, 58, 58, nil, 58, 58, nil, 58, 91, 91,
45
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
46
+ nil, 91, 91, nil, 91, 94, 94, 94, 94, 94,
47
+ 94, 94, 94, 94, 94, 94, 94, nil, 94, 94,
48
+ nil, 94, 95, 95, 95, 95, 95, 95, 95, 95,
49
+ 95, 95, 95, 95, nil, 95, 95, 9, 95, 9,
50
+ nil, 9, nil, nil, 9, 9, 9, 9, 9, 51,
51
+ nil, 51, 9, 51, nil, nil, 51, 51, 51, 51,
52
+ 51, 45, nil, 45, 51, 45, nil, nil, 45, 45,
53
+ 45, 45, 45, 54, nil, 54, nil, 54, nil, nil,
54
+ 54, 54, 54, 54, 54, 56, nil, 56, nil, 56,
55
+ nil, nil, 56, 56, 56, 56, 56, 90, nil, nil,
56
+ 90, nil, nil, nil, 90 ]
53
57
 
54
58
  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,
59
+ nil, 0, 8, nil, nil, nil, nil, nil, nil, 135,
60
+ 1, 16, nil, -17, nil, nil, nil, nil, nil, nil,
61
+ nil, nil, nil, nil, 9, 4, 13, nil, nil, nil,
62
+ nil, nil, nil, nil, nil, nil, nil, nil, 14, nil,
63
+ 14, -15, nil, nil, 34, 159, nil, nil, nil, nil,
64
+ 31, 147, nil, nil, 171, 51, 183, 18, 68, nil,
60
65
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
61
66
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
62
- nil, nil, 3, nil, nil, nil, -8, nil, nil, nil,
63
- 139, nil ]
67
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
68
+ 183, 85, nil, nil, 102, 119, nil, nil, nil ]
64
69
 
65
70
  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 ]
71
+ -1, -79, -79, -2, -3, -4, -5, -6, -7, -79,
72
+ -11, -79, -31, -79, -45, -46, -47, -48, -49, -50,
73
+ -51, -52, -53, 99, -79, -13, -79, -20, -21, -22,
74
+ -23, -24, -25, -26, -27, -28, -10, -29, -79, -32,
75
+ -33, -79, -39, -40, -67, -79, -8, -9, -12, -14,
76
+ -16, -79, -30, -34, -79, -67, -79, -79, -67, -61,
77
+ -62, -63, -64, -65, -66, -68, -69, -70, -71, -72,
78
+ -73, -74, -75, -76, -77, -78, -43, -44, -15, -17,
79
+ -18, -19, -35, -36, -37, -38, -41, -42, -54, -55,
80
+ -79, -67, -56, -58, -67, -67, -57, -59, -60 ]
75
81
 
76
82
  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,
83
+ 15, 24, 38, 88, 28, 37, 57, 1, 3, 5,
84
+ 6, 7, 9, 49, 53, 13, 92, 83, nil, nil,
82
85
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
83
- nil, nil, nil, 77 ]
86
+ nil, nil, 52, nil, nil, nil, 96, nil, nil, 97,
87
+ 98, nil, nil, 79, 76, 82, 80, nil, nil, nil,
88
+ nil, nil, nil, nil, nil, 84 ]
84
89
 
85
90
  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
+ 18, 7, 13, 22, 10, 12, 17, 1, 2, 3,
92
+ 4, 5, 6, 9, 15, 19, 23, 17, nil, nil,
91
93
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
92
- nil, nil, nil, 11 ]
94
+ nil, nil, 12, nil, nil, nil, 22, nil, nil, 22,
95
+ 22, nil, nil, 7, 18, 13, 10, nil, nil, nil,
96
+ nil, nil, nil, nil, nil, 18 ]
93
97
 
94
98
  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 ]
99
+ nil, 7, 7, 8, 9, 10, 11, -8, nil, -13,
100
+ -5, nil, -6, -9, nil, -26, nil, -38, -1, 14,
101
+ nil, nil, -55, -74, nil, nil, nil ]
98
102
 
99
103
  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 ]
104
+ nil, nil, nil, nil, nil, 62, nil, nil, 26, nil,
105
+ nil, 11, nil, nil, 40, nil, 41, 90, 43, nil,
106
+ 61, 58, nil, nil, 60, 63, 64 ]
103
107
 
104
108
  racc_reduce_table = [
105
109
  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,
110
+ 0, 24, :_reduce_none,
111
111
  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,
112
+ 2, 24, :_reduce_none,
113
+ 1, 25, :_reduce_none,
114
+ 1, 25, :_reduce_none,
115
+ 1, 25, :_reduce_none,
116
+ 1, 25, :_reduce_none,
117
+ 3, 26, :_reduce_none,
118
+ 3, 26, :_reduce_none,
119
+ 2, 29, :_reduce_10,
120
+ 1, 29, :_reduce_11,
117
121
  2, 30, :_reduce_12,
118
122
  1, 30, :_reduce_13,
119
123
  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,
132
- 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,
124
+ 2, 32, :_reduce_15,
125
+ 1, 32, :_reduce_16,
126
+ 2, 32, :_reduce_none,
127
+ 3, 31, :_reduce_18,
128
+ 3, 31, :_reduce_19,
129
+ 1, 31, :_reduce_20,
130
+ 1, 31, :_reduce_21,
131
+ 1, 33, :_reduce_none,
132
+ 1, 33, :_reduce_23,
133
+ 1, 33, :_reduce_none,
134
+ 1, 33, :_reduce_none,
135
+ 1, 33, :_reduce_none,
136
+ 1, 33, :_reduce_none,
137
+ 1, 33, :_reduce_none,
138
+ 2, 28, :_reduce_none,
139
+ 3, 28, :_reduce_none,
140
+ 1, 34, :_reduce_31,
141
+ 1, 35, :_reduce_32,
148
142
  1, 36, :_reduce_none,
143
+ 2, 36, :_reduce_none,
144
+ 2, 38, :_reduce_none,
145
+ 3, 37, :_reduce_36,
146
+ 3, 39, :_reduce_37,
147
+ 3, 39, :_reduce_38,
148
+ 1, 39, :_reduce_39,
149
+ 1, 39, :_reduce_40,
150
+ 4, 27, :_reduce_41,
151
+ 4, 27, :_reduce_42,
152
+ 3, 42, :_reduce_43,
153
+ 3, 42, :_reduce_44,
154
+ 1, 42, :_reduce_45,
155
+ 1, 42, :_reduce_46,
149
156
  1, 41, :_reduce_none,
157
+ 1, 41, :_reduce_48,
150
158
  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
159
+ 1, 41, :_reduce_none,
160
+ 1, 41, :_reduce_none,
161
+ 1, 41, :_reduce_none,
162
+ 1, 41, :_reduce_none,
163
+ 2, 43, :_reduce_none,
164
+ 1, 45, :_reduce_55,
165
+ 2, 45, :_reduce_none,
166
+ 2, 45, :_reduce_none,
167
+ 1, 46, :_reduce_58,
168
+ 2, 46, :_reduce_none,
169
+ 2, 46, :_reduce_none,
170
+ 1, 44, :_reduce_61,
171
+ 1, 40, :_reduce_62,
172
+ 1, 40, :_reduce_none,
173
+ 1, 40, :_reduce_none,
174
+ 1, 47, :_reduce_none,
175
+ 1, 47, :_reduce_none,
176
+ 0, 49, :_reduce_none,
177
+ 1, 49, :_reduce_68,
178
+ 1, 49, :_reduce_69,
179
+ 1, 49, :_reduce_70,
180
+ 1, 49, :_reduce_71,
181
+ 1, 49, :_reduce_72,
182
+ 1, 49, :_reduce_73,
183
+ 1, 49, :_reduce_74,
184
+ 1, 48, :_reduce_75,
185
+ 1, 48, :_reduce_76,
186
+ 1, 48, :_reduce_77,
187
+ 1, 48, :_reduce_78 ]
188
+
189
+ racc_reduce_n = 79
190
+
191
+ racc_shift_n = 99
167
192
 
168
193
  racc_token_table = {
169
194
  false => 0,
@@ -174,21 +199,23 @@ racc_token_table = {
174
199
  :STRING_LITERAL_MULTI => 5,
175
200
  :STRING_LITERAL => 6,
176
201
  :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
202
+ :LOCAL_TIME => 8,
203
+ :INTEGER => 9,
204
+ :NON_DEC_INTEGER => 10,
205
+ :FLOAT => 11,
206
+ :FLOAT_KEYWORD => 12,
207
+ :BOOLEAN => 13,
208
+ :NEWLINE => 14,
209
+ :EOS => 15,
210
+ "[" => 16,
211
+ "]" => 17,
212
+ "." => 18,
213
+ "{" => 19,
214
+ "}" => 20,
215
+ "," => 21,
216
+ "=" => 22 }
217
+
218
+ racc_nt_base = 23
192
219
 
193
220
  racc_use_result_var = true
194
221
 
@@ -217,12 +244,14 @@ Racc_token_to_s_table = [
217
244
  "STRING_LITERAL_MULTI",
218
245
  "STRING_LITERAL",
219
246
  "DATETIME",
247
+ "LOCAL_TIME",
220
248
  "INTEGER",
249
+ "NON_DEC_INTEGER",
221
250
  "FLOAT",
222
- "FLOAT_INF",
223
- "FLOAT_NAN",
224
- "TRUE",
225
- "FALSE",
251
+ "FLOAT_KEYWORD",
252
+ "BOOLEAN",
253
+ "NEWLINE",
254
+ "EOS",
226
255
  "\"[\"",
227
256
  "\"]\"",
228
257
  "\".\"",
@@ -240,12 +269,16 @@ Racc_token_to_s_table = [
240
269
  "table_continued",
241
270
  "table_identifier",
242
271
  "table_next",
272
+ "table_identifier_component",
243
273
  "inline_table_start",
274
+ "inline_table_end",
244
275
  "inline_continued",
245
- "inline_assignment_key",
246
- "inline_assignment_value",
276
+ "inline_assignment",
247
277
  "inline_next",
278
+ "inline_assignment_key",
248
279
  "value",
280
+ "assignment_key_component",
281
+ "assignment_key",
249
282
  "array",
250
283
  "start_array",
251
284
  "array_continued",
@@ -272,291 +305,398 @@ Racc_debug_parser = false
272
305
 
273
306
  # reduce 6 omitted
274
307
 
275
- module_eval(<<'.,.,', 'parser.y', 15)
276
- def _reduce_7(val, _values, result)
308
+ # reduce 7 omitted
309
+
310
+ # reduce 8 omitted
311
+
312
+ # reduce 9 omitted
313
+
314
+ module_eval(<<'.,.,', 'parser.y', 18)
315
+ def _reduce_10(val, _values, result)
277
316
  @handler.start_(:array_of_tables)
278
317
  result
279
318
  end
280
319
  .,.,
281
320
 
282
- module_eval(<<'.,.,', 'parser.y', 16)
283
- def _reduce_8(val, _values, result)
321
+ module_eval(<<'.,.,', 'parser.y', 19)
322
+ def _reduce_11(val, _values, result)
284
323
  @handler.start_(:table)
285
324
  result
286
325
  end
287
326
  .,.,
288
327
 
289
- module_eval(<<'.,.,', 'parser.y', 19)
290
- def _reduce_9(val, _values, result)
328
+ module_eval(<<'.,.,', 'parser.y', 22)
329
+ def _reduce_12(val, _values, result)
291
330
  array = @handler.end_(:array_of_tables); @handler.set_context(array, is_array_of_tables: true)
292
331
  result
293
332
  end
294
333
  .,.,
295
334
 
296
- module_eval(<<'.,.,', 'parser.y', 20)
297
- def _reduce_10(val, _values, result)
335
+ module_eval(<<'.,.,', 'parser.y', 23)
336
+ def _reduce_13(val, _values, result)
298
337
  array = @handler.end_(:table); @handler.set_context(array)
299
338
  result
300
339
  end
301
340
  .,.,
302
341
 
303
- # reduce 11 omitted
342
+ # reduce 14 omitted
304
343
 
305
- module_eval(<<'.,.,', 'parser.y', 24)
306
- def _reduce_12(val, _values, result)
344
+ module_eval(<<'.,.,', 'parser.y', 27)
345
+ def _reduce_15(val, _values, result)
307
346
  array = @handler.end_(:array_of_tables); @handler.set_context(array, is_array_of_tables: true)
308
347
  result
309
348
  end
310
349
  .,.,
311
350
 
312
- module_eval(<<'.,.,', 'parser.y', 25)
313
- def _reduce_13(val, _values, result)
351
+ module_eval(<<'.,.,', 'parser.y', 28)
352
+ def _reduce_16(val, _values, result)
314
353
  array = @handler.end_(:table); @handler.set_context(array)
315
354
  result
316
355
  end
317
356
  .,.,
318
357
 
319
- # reduce 14 omitted
358
+ # reduce 17 omitted
320
359
 
321
- module_eval(<<'.,.,', 'parser.y', 29)
322
- def _reduce_15(val, _values, result)
323
- @handler.push(val[0])
360
+ module_eval(<<'.,.,', 'parser.y', 32)
361
+ def _reduce_18(val, _values, result)
362
+ @handler.push(val[2])
324
363
  result
325
364
  end
326
365
  .,.,
327
366
 
328
- module_eval(<<'.,.,', 'parser.y', 30)
329
- def _reduce_16(val, _values, result)
330
- @handler.push(val[0])
367
+ module_eval(<<'.,.,', 'parser.y', 33)
368
+ def _reduce_19(val, _values, result)
369
+ val[2].split('.').each { |k| @handler.push(k) }
331
370
  result
332
371
  end
333
372
  .,.,
334
373
 
335
- module_eval(<<'.,.,', 'parser.y', 31)
336
- def _reduce_17(val, _values, result)
337
- @handler.push(val[0])
374
+ module_eval(<<'.,.,', 'parser.y', 35)
375
+ def _reduce_20(val, _values, result)
376
+ keys = val[0].split('.')
377
+ @handler.start_(:table)
378
+ keys.each { |key| @handler.push(key) }
379
+
338
380
  result
339
381
  end
340
382
  .,.,
341
383
 
342
- module_eval(<<'.,.,', 'parser.y', 32)
343
- def _reduce_18(val, _values, result)
384
+ module_eval(<<'.,.,', 'parser.y', 39)
385
+ def _reduce_21(val, _values, result)
344
386
  @handler.push(val[0])
345
387
  result
346
388
  end
347
389
  .,.,
348
390
 
349
- module_eval(<<'.,.,', 'parser.y', 33)
350
- def _reduce_19(val, _values, result)
351
- @handler.push(val[0])
391
+ # reduce 22 omitted
392
+
393
+ module_eval(<<'.,.,', 'parser.y', 43)
394
+ def _reduce_23(val, _values, result)
395
+ result = StringUtils.replace_escaped_chars(val[0])
352
396
  result
353
397
  end
354
398
  .,.,
355
399
 
356
- module_eval(<<'.,.,', 'parser.y', 34)
357
- def _reduce_20(val, _values, result)
358
- @handler.push(val[0])
400
+ # reduce 24 omitted
401
+
402
+ # reduce 25 omitted
403
+
404
+ # reduce 26 omitted
405
+
406
+ # reduce 27 omitted
407
+
408
+ # reduce 28 omitted
409
+
410
+ # reduce 29 omitted
411
+
412
+ # reduce 30 omitted
413
+
414
+ module_eval(<<'.,.,', 'parser.y', 55)
415
+ def _reduce_31(val, _values, result)
416
+ @handler.start_(:inline)
359
417
  result
360
418
  end
361
419
  .,.,
362
420
 
363
- # reduce 21 omitted
421
+ module_eval(<<'.,.,', 'parser.y', 59)
422
+ def _reduce_32(val, _values, result)
423
+ array = @handler.end_(:inline)
424
+ @handler.push_inline(array)
364
425
 
365
- module_eval(<<'.,.,', 'parser.y', 40)
366
- def _reduce_22(val, _values, result)
367
- @handler.start_(:inline)
368
426
  result
369
427
  end
370
428
  .,.,
371
429
 
372
- module_eval(<<'.,.,', 'parser.y', 43)
373
- def _reduce_23(val, _values, result)
374
- array = @handler.end_(:inline); @handler.push(Hash[*array])
430
+ # reduce 33 omitted
431
+
432
+ # reduce 34 omitted
433
+
434
+ # reduce 35 omitted
435
+
436
+ module_eval(<<'.,.,', 'parser.y', 72)
437
+ def _reduce_36(val, _values, result)
438
+ keys = @handler.end_(:inline_keys)
439
+ @handler.push(keys)
440
+
375
441
  result
376
442
  end
377
443
  .,.,
378
444
 
379
- # reduce 24 omitted
445
+ module_eval(<<'.,.,', 'parser.y', 78)
446
+ def _reduce_37(val, _values, result)
447
+ @handler.push(val[2])
380
448
 
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])
449
+ result
450
+ end
451
+ .,.,
386
452
 
453
+ module_eval(<<'.,.,', 'parser.y', 80)
454
+ def _reduce_38(val, _values, result)
455
+ val[2].split('.').each { |k| @handler.push(k) }
387
456
  result
388
457
  end
389
458
  .,.,
390
459
 
391
- # reduce 26 omitted
460
+ module_eval(<<'.,.,', 'parser.y', 82)
461
+ def _reduce_39(val, _values, result)
462
+ keys = val[0].split('.')
463
+ @handler.start_(:inline_keys)
464
+ keys.each { |key| @handler.push(key) }
392
465
 
393
- module_eval(<<'.,.,', 'parser.y', 55)
394
- def _reduce_27(val, _values, result)
395
- @handler.push(val[0])
396
466
  result
397
467
  end
398
468
  .,.,
399
469
 
400
- # reduce 28 omitted
470
+ module_eval(<<'.,.,', 'parser.y', 87)
471
+ def _reduce_40(val, _values, result)
472
+ @handler.start_(:inline_keys)
473
+ @handler.push(val[0])
401
474
 
402
- module_eval(<<'.,.,', 'parser.y', 61)
403
- def _reduce_29(val, _values, result)
404
- @handler.assign(val[0])
405
475
  result
406
476
  end
407
477
  .,.,
408
478
 
409
- module_eval(<<'.,.,', 'parser.y', 62)
410
- def _reduce_30(val, _values, result)
411
- @handler.assign(val[0])
479
+ module_eval(<<'.,.,', 'parser.y', 93)
480
+ def _reduce_41(val, _values, result)
481
+ keys = @handler.end_(:keys)
482
+ value = keys.pop
483
+ @handler.validate_value(value)
484
+ @handler.push(value)
485
+ @handler.assign(keys)
486
+
412
487
  result
413
488
  end
414
489
  .,.,
415
490
 
416
- module_eval(<<'.,.,', 'parser.y', 63)
417
- def _reduce_31(val, _values, result)
418
- @handler.assign(val[0])
491
+ module_eval(<<'.,.,', 'parser.y', 100)
492
+ def _reduce_42(val, _values, result)
493
+ keys = @handler.end_(:keys)
494
+ value = keys.pop
495
+ @handler.validate_value(value)
496
+ @handler.push(value)
497
+ @handler.assign(keys)
498
+
419
499
  result
420
500
  end
421
501
  .,.,
422
502
 
423
- module_eval(<<'.,.,', 'parser.y', 64)
424
- def _reduce_32(val, _values, result)
425
- @handler.assign(val[0])
503
+ module_eval(<<'.,.,', 'parser.y', 108)
504
+ def _reduce_43(val, _values, result)
505
+ @handler.push(val[2])
426
506
  result
427
507
  end
428
508
  .,.,
429
509
 
430
- module_eval(<<'.,.,', 'parser.y', 65)
431
- def _reduce_33(val, _values, result)
432
- @handler.assign(val[0])
510
+ module_eval(<<'.,.,', 'parser.y', 109)
511
+ def _reduce_44(val, _values, result)
512
+ val[2].split('.').each { |k| @handler.push(k) }
433
513
  result
434
514
  end
435
515
  .,.,
436
516
 
437
- module_eval(<<'.,.,', 'parser.y', 66)
438
- def _reduce_34(val, _values, result)
439
- @handler.assign(val[0])
517
+ module_eval(<<'.,.,', 'parser.y', 111)
518
+ def _reduce_45(val, _values, result)
519
+ keys = val[0].split('.')
520
+ @handler.start_(:keys)
521
+ keys.each { |key| @handler.push(key) }
522
+
440
523
  result
441
524
  end
442
525
  .,.,
443
526
 
444
- # reduce 35 omitted
527
+ module_eval(<<'.,.,', 'parser.y', 115)
528
+ def _reduce_46(val, _values, result)
529
+ @handler.start_(:keys); @handler.push(val[0])
530
+ result
531
+ end
532
+ .,.,
445
533
 
446
- module_eval(<<'.,.,', 'parser.y', 72)
447
- def _reduce_36(val, _values, result)
448
- array = @handler.end_(:array); @handler.push(array)
534
+ # reduce 47 omitted
535
+
536
+ module_eval(<<'.,.,', 'parser.y', 119)
537
+ def _reduce_48(val, _values, result)
538
+ result = StringUtils.replace_escaped_chars(val[0])
449
539
  result
450
540
  end
451
541
  .,.,
452
542
 
453
- # reduce 37 omitted
543
+ # reduce 49 omitted
454
544
 
455
- module_eval(<<'.,.,', 'parser.y', 76)
456
- def _reduce_38(val, _values, result)
457
- array = @handler.end_(:array); @handler.push(array)
545
+ # reduce 50 omitted
546
+
547
+ # reduce 51 omitted
548
+
549
+ # reduce 52 omitted
550
+
551
+ # reduce 53 omitted
552
+
553
+ # reduce 54 omitted
554
+
555
+ module_eval(<<'.,.,', 'parser.y', 130)
556
+ def _reduce_55(val, _values, result)
557
+ array = @handler.end_(:array); @handler.push(array.compact)
458
558
  result
459
559
  end
460
560
  .,.,
461
561
 
462
- # reduce 39 omitted
562
+ # reduce 56 omitted
463
563
 
464
- module_eval(<<'.,.,', 'parser.y', 80)
465
- def _reduce_40(val, _values, result)
564
+ # reduce 57 omitted
565
+
566
+ module_eval(<<'.,.,', 'parser.y', 135)
567
+ def _reduce_58(val, _values, result)
568
+ array = @handler.end_(:array); @handler.push(array.compact)
569
+ result
570
+ end
571
+ .,.,
572
+
573
+ # reduce 59 omitted
574
+
575
+ # reduce 60 omitted
576
+
577
+ module_eval(<<'.,.,', 'parser.y', 140)
578
+ def _reduce_61(val, _values, result)
466
579
  @handler.start_(:array)
467
580
  result
468
581
  end
469
582
  .,.,
470
583
 
471
- module_eval(<<'.,.,', 'parser.y', 83)
472
- def _reduce_41(val, _values, result)
584
+ module_eval(<<'.,.,', 'parser.y', 143)
585
+ def _reduce_62(val, _values, result)
473
586
  @handler.push(val[0])
474
587
  result
475
588
  end
476
589
  .,.,
477
590
 
478
- # reduce 42 omitted
591
+ # reduce 63 omitted
479
592
 
480
- # reduce 43 omitted
593
+ # reduce 64 omitted
481
594
 
482
- # reduce 44 omitted
595
+ # reduce 65 omitted
483
596
 
484
- # reduce 45 omitted
597
+ # reduce 66 omitted
485
598
 
486
- # reduce 46 omitted
599
+ # reduce 67 omitted
487
600
 
488
- module_eval(<<'.,.,', 'parser.y', 92)
489
- def _reduce_47(val, _values, result)
601
+ module_eval(<<'.,.,', 'parser.y', 152)
602
+ def _reduce_68(val, _values, result)
490
603
  result = val[0].to_f
491
604
  result
492
605
  end
493
606
  .,.,
494
607
 
495
- module_eval(<<'.,.,', 'parser.y', 93)
496
- def _reduce_48(val, _values, result)
497
- result = (val[0][0] == '-' ? -1 : 1) * Float::INFINITY
608
+ module_eval(<<'.,.,', 'parser.y', 154)
609
+ def _reduce_69(val, _values, result)
610
+ v = val[0]
611
+ result = if v.end_with?('nan')
612
+ Float::NAN
613
+ else
614
+ (v[0] == '-' ? -1 : 1) * Float::INFINITY
615
+ end
616
+
498
617
  result
499
618
  end
500
619
  .,.,
501
620
 
502
- module_eval(<<'.,.,', 'parser.y', 94)
503
- def _reduce_49(val, _values, result)
504
- result = Float::NAN
621
+ module_eval(<<'.,.,', 'parser.y', 161)
622
+ def _reduce_70(val, _values, result)
623
+ result = val[0].to_i
505
624
  result
506
625
  end
507
626
  .,.,
508
627
 
509
- module_eval(<<'.,.,', 'parser.y', 95)
510
- def _reduce_50(val, _values, result)
511
- result = val[0].to_i
628
+ module_eval(<<'.,.,', 'parser.y', 163)
629
+ def _reduce_71(val, _values, result)
630
+ base = case val[0][1]
631
+ when "x" then 16
632
+ when "o" then 8
633
+ when "b" then 2
634
+ end
635
+ result = val[0].to_i(base)
636
+
512
637
  result
513
638
  end
514
639
  .,.,
515
640
 
516
- module_eval(<<'.,.,', 'parser.y', 96)
517
- def _reduce_51(val, _values, result)
518
- result = true
641
+ module_eval(<<'.,.,', 'parser.y', 170)
642
+ def _reduce_72(val, _values, result)
643
+ result = val[0] == 'true' ? true : false
519
644
  result
520
645
  end
521
646
  .,.,
522
647
 
523
- module_eval(<<'.,.,', 'parser.y', 97)
524
- def _reduce_52(val, _values, result)
525
- result = false
648
+ module_eval(<<'.,.,', 'parser.y', 172)
649
+ def _reduce_73(val, _values, result)
650
+ v = val[0]
651
+ result = if v[6].nil?
652
+ if v[4].nil?
653
+ LocalDate.new(v[0], v[1], v[2])
654
+ else
655
+ LocalDateTime.new(v[0], v[1], v[2], v[3] || 0, v[4] || 0, v[5].to_f)
656
+ end
657
+ else
658
+ # Patch for 24:00:00 which Ruby parses
659
+ if v[3].to_i == 24 && v[4].to_i == 0 && v[5].to_i == 0
660
+ v[3] = (v[3].to_i + 1).to_s
661
+ end
662
+
663
+ Time.new(v[0], v[1], v[2], v[3] || 0, v[4] || 0, v[5].to_f, v[6])
664
+ end
665
+
526
666
  result
527
667
  end
528
668
  .,.,
529
669
 
530
- module_eval(<<'.,.,', 'parser.y', 98)
531
- def _reduce_53(val, _values, result)
532
- result = Time.new(*val[0])
670
+ module_eval(<<'.,.,', 'parser.y', 188)
671
+ def _reduce_74(val, _values, result)
672
+ result = LocalTime.new(*val[0])
533
673
  result
534
674
  end
535
675
  .,.,
536
676
 
537
- module_eval(<<'.,.,', 'parser.y', 101)
538
- def _reduce_54(val, _values, result)
677
+ module_eval(<<'.,.,', 'parser.y', 191)
678
+ def _reduce_75(val, _values, result)
539
679
  result = StringUtils.replace_escaped_chars(StringUtils.multiline_replacements(val[0]))
540
680
  result
541
681
  end
542
682
  .,.,
543
683
 
544
- module_eval(<<'.,.,', 'parser.y', 102)
545
- def _reduce_55(val, _values, result)
684
+ module_eval(<<'.,.,', 'parser.y', 192)
685
+ def _reduce_76(val, _values, result)
546
686
  result = StringUtils.replace_escaped_chars(val[0])
547
687
  result
548
688
  end
549
689
  .,.,
550
690
 
551
- module_eval(<<'.,.,', 'parser.y', 103)
552
- def _reduce_56(val, _values, result)
691
+ module_eval(<<'.,.,', 'parser.y', 193)
692
+ def _reduce_77(val, _values, result)
553
693
  result = StringUtils.strip_spaces(val[0])
554
694
  result
555
695
  end
556
696
  .,.,
557
697
 
558
- module_eval(<<'.,.,', 'parser.y', 104)
559
- def _reduce_57(val, _values, result)
698
+ module_eval(<<'.,.,', 'parser.y', 194)
699
+ def _reduce_78(val, _values, result)
560
700
  result = val[0]
561
701
  result
562
702
  end