sportdb-parser 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,166 +9,211 @@ class RaccMatchParser < Racc::Parser
9
9
  ##### State transition tables begin ###
10
10
 
11
11
  racc_action_table = [
12
- 27, 45, 11, 36, 26, 21, 12, 13, 31, 14,
13
- 45, 24, 46, 18, 20, 11, 58, 26, 21, 12,
14
- 13, 46, 14, 32, 24, 52, 18, 20, 37, 42,
15
- 50, 51, 52, 33, 48, 39, 40, 50, 51, 76,
16
- 55, 20, 36, 56, 34, 60, 55, 61, 24, 29,
17
- 30, 65, 66, 78, 79, 83, 84, 63, 67, 68,
18
- 55, 69, 71, 73, 33, 74, 36, 81, 36, 85,
19
- 86, 87, 88, 55, 36, 36, 90 ]
12
+ 29, 50, 12, 92, 28, 53, 26, 50, 22, 33,
13
+ 57, 16, 76, 37, 77, 13, 57, 23, 14, 15,
14
+ 51, 20, 22, 12, 60, 28, 51, 26, 55, 56,
15
+ 60, 38, 16, 26, 55, 56, 13, 108, 23, 14,
16
+ 15, 35, 20, 22, 41, 63, 39, 42, 45, 44,
17
+ 109, 81, 82, 34, 36, 41, 67, 69, 70, 71,
18
+ 72, 94, 95, 106, 107, 47, 61, 65, 66, 79,
19
+ 83, 84, 60, 85, 87, 89, 38, 90, 41, 97,
20
+ 41, 99, 33, 101, 76, 60, 110, 111, 112, 113,
21
+ 60, 41, 41, 33, 116, 60, 118, 119 ]
20
22
 
21
23
  racc_action_check = [
22
- 1, 17, 1, 23, 1, 1, 1, 1, 12, 1,
23
- 41, 1, 17, 1, 1, 0, 23, 0, 0, 0,
24
- 0, 41, 0, 13, 0, 42, 0, 0, 15, 16,
25
- 42, 42, 21, 13, 18, 15, 15, 21, 21, 53,
26
- 21, 18, 14, 22, 14, 24, 53, 27, 14, 11,
27
- 11, 31, 31, 55, 55, 62, 62, 29, 34, 35,
28
- 36, 38, 44, 46, 48, 49, 57, 58, 60, 64,
29
- 67, 68, 72, 76, 80, 82, 88 ]
24
+ 1, 19, 1, 58, 1, 20, 1, 46, 20, 12,
25
+ 23, 1, 33, 15, 33, 1, 47, 1, 1, 1,
26
+ 19, 1, 1, 0, 58, 0, 46, 0, 23, 23,
27
+ 23, 15, 0, 16, 47, 47, 0, 78, 0, 0,
28
+ 0, 13, 0, 0, 16, 25, 16, 17, 17, 17,
29
+ 78, 36, 36, 13, 14, 25, 31, 31, 31, 31,
30
+ 31, 60, 60, 77, 77, 18, 24, 26, 29, 34,
31
+ 39, 40, 41, 43, 49, 51, 53, 54, 62, 63,
32
+ 65, 67, 68, 70, 74, 76, 80, 83, 84, 88,
33
+ 92, 96, 98, 103, 104, 105, 113, 115 ]
30
34
 
31
35
  racc_action_pointer = [
32
- 13, 0, nil, nil, nil, nil, nil, nil, nil, nil,
33
- nil, 46, 5, 19, 37, 24, 24, -3, 27, nil,
34
- nil, 21, 39, -2, 27, nil, nil, 47, nil, 52,
35
- nil, 44, nil, nil, 48, 49, 41, nil, 55, nil,
36
- nil, 6, 14, nil, 58, nil, 58, nil, 50, 60,
37
- nil, nil, nil, 27, nil, 33, nil, 61, 63, nil,
38
- 63, nil, 51, nil, 65, nil, nil, 66, 67, nil,
39
- nil, nil, 60, nil, nil, nil, 54, nil, nil, nil,
40
- 69, nil, 70, nil, nil, nil, nil, nil, 71, nil,
41
- nil ]
36
+ 21, 0, nil, nil, nil, nil, nil, nil, nil, nil,
37
+ nil, nil, 1, 37, 38, 9, 27, 43, 48, -3,
38
+ -14, nil, nil, 4, 62, 38, 60, nil, nil, 68,
39
+ nil, 53, nil, 3, 52, nil, 32, nil, nil, 58,
40
+ 59, 46, nil, 55, nil, nil, 3, 10, nil, 70,
41
+ nil, 58, nil, 54, 60, nil, nil, nil, -2, nil,
42
+ 34, nil, 61, 75, nil, 63, nil, 77, 74, nil,
43
+ 79, nil, nil, nil, 75, nil, 59, 50, 33, nil,
44
+ 82, nil, nil, 83, 84, nil, nil, nil, 84, nil,
45
+ nil, nil, 64, nil, nil, nil, 74, nil, 75, nil,
46
+ nil, nil, nil, 85, 82, 69, nil, nil, nil, nil,
47
+ nil, nil, nil, 79, nil, 87, nil, nil, nil, nil ]
42
48
 
43
49
  racc_action_default = [
44
- -60, -60, -1, -3, -4, -5, -6, -7, -8, -9,
45
- -10, -60, -21, -30, -60, -60, -60, -60, -27, -29,
46
- -32, -60, -60, -44, -60, -49, -59, -60, -2, -60,
47
- -19, -60, -17, -31, -60, -60, -60, -20, -60, -23,
48
- -24, -60, -60, -26, -60, -34, -60, -28, -30, -60,
49
- -39, -40, -41, -51, -52, -55, -43, -60, -47, -50,
50
- -60, 91, -60, -12, -60, -15, -16, -60, -60, -22,
51
- -25, -33, -35, -36, -38, -53, -60, -56, -57, -58,
52
- -46, -48, -45, -11, -13, -14, -18, -42, -60, -54,
53
- -37 ]
50
+ -80, -80, -1, -3, -4, -5, -6, -7, -8, -9,
51
+ -10, -11, -80, -80, -41, -50, -80, -80, -80, -80,
52
+ -47, -49, -52, -80, -80, -64, -80, -69, -79, -80,
53
+ -2, -80, -13, -20, -80, -39, -80, -37, -51, -80,
54
+ -80, -80, -40, -80, -43, -44, -80, -80, -46, -80,
55
+ -54, -80, -48, -50, -80, -59, -60, -61, -71, -72,
56
+ -75, -63, -80, -67, -70, -80, 120, -80, -80, -15,
57
+ -16, -18, -19, -21, -22, -24, -80, -80, -80, -32,
58
+ -80, -35, -36, -80, -80, -42, -45, -53, -55, -56,
59
+ -58, -73, -80, -76, -77, -78, -66, -68, -65, -12,
60
+ -14, -17, -23, -80, -80, -27, -29, -30, -31, -33,
61
+ -34, -38, -62, -80, -74, -80, -26, -28, -57, -25 ]
54
62
 
55
63
  racc_goto_table = [
56
- 59, 43, 80, 75, 1, 82, 2, 28, 62, 64,
57
- 38, 41, 47, 72, 35, 57, 77, nil, nil, nil,
58
- nil, nil, nil, nil, nil, 70, 89, nil, nil, nil,
64
+ 32, 64, 91, 75, 48, 96, 2, 30, 98, 1,
65
+ 31, 68, 73, 74, 104, 105, 78, 80, 43, 46,
66
+ 103, 52, 88, 40, 62, 93, nil, nil, nil, nil,
67
+ nil, 86, nil, nil, nil, nil, 114, nil, nil, nil,
68
+ nil, nil, nil, nil, 102, nil, nil, nil, nil, 117,
69
+ nil, nil, nil, nil, nil, nil, 100, nil, nil, nil,
59
70
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
71
+ nil, nil, 64, nil, 64, nil, nil, nil, nil, nil,
60
72
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
61
- nil, nil, nil, nil, nil, nil, nil, 59, nil, 59 ]
73
+ nil, 115 ]
62
74
 
63
75
  racc_goto_check = [
64
- 25, 17, 23, 27, 1, 23, 2, 2, 11, 12,
65
- 14, 16, 18, 20, 22, 24, 28, nil, nil, nil,
66
- nil, nil, nil, nil, nil, 17, 27, nil, nil, nil,
76
+ 13, 35, 18, 17, 27, 33, 2, 2, 33, 1,
77
+ 12, 14, 15, 16, 19, 20, 21, 22, 24, 26,
78
+ 18, 28, 30, 32, 34, 37, nil, nil, nil, nil,
79
+ nil, 27, nil, nil, nil, nil, 18, nil, nil, nil,
80
+ nil, nil, nil, nil, 17, nil, nil, nil, nil, 18,
81
+ nil, nil, nil, nil, nil, nil, 13, nil, nil, nil,
67
82
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
83
+ nil, nil, 35, nil, 35, nil, nil, nil, nil, nil,
68
84
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
69
- nil, nil, nil, nil, nil, nil, nil, 25, nil, 25 ]
85
+ nil, 13 ]
70
86
 
71
87
  racc_goto_pointer = [
72
- nil, 4, 6, nil, nil, nil, nil, nil, nil, nil,
73
- nil, -21, -22, nil, -5, nil, -5, -16, -6, nil,
74
- -33, nil, 0, -55, -8, -23, nil, -50, -39 ]
88
+ nil, 9, 6, nil, nil, nil, nil, nil, nil, nil,
89
+ nil, nil, -2, -12, -20, -21, -20, -30, -56, -63,
90
+ -62, -18, -19, nil, 1, nil, 1, -15, 1, nil,
91
+ -29, nil, 7, -57, -1, -24, nil, -35 ]
75
92
 
76
93
  racc_goto_default = [
77
94
  nil, nil, nil, 3, 4, 5, 6, 7, 8, 9,
78
- 10, nil, nil, 15, nil, 16, 17, nil, 19, 44,
79
- nil, 49, 22, 23, nil, 25, 53, 54, nil ]
95
+ 10, 11, nil, nil, nil, nil, nil, nil, 59, nil,
96
+ nil, nil, nil, 17, nil, 18, 19, nil, 21, 49,
97
+ nil, 54, 24, 25, nil, 27, 58, nil ]
80
98
 
81
99
  racc_reduce_table = [
82
100
  0, 0, :racc_error,
83
- 1, 23, :_reduce_none,
84
- 2, 23, :_reduce_none,
85
- 1, 24, :_reduce_none,
86
- 1, 24, :_reduce_none,
87
- 1, 24, :_reduce_none,
88
- 1, 24, :_reduce_none,
89
- 1, 24, :_reduce_none,
90
- 1, 24, :_reduce_none,
91
- 1, 24, :_reduce_none,
92
- 1, 24, :_reduce_none,
93
- 4, 28, :_reduce_11,
94
- 1, 33, :_reduce_12,
95
- 2, 33, :_reduce_13,
96
- 4, 29, :_reduce_14,
97
- 1, 34, :_reduce_15,
98
- 1, 34, :_reduce_16,
99
- 2, 25, :_reduce_17,
100
- 4, 25, :_reduce_18,
101
- 2, 26, :_reduce_19,
102
- 2, 27, :_reduce_20,
103
- 1, 35, :_reduce_21,
104
- 3, 35, :_reduce_22,
105
- 1, 36, :_reduce_none,
106
- 1, 36, :_reduce_none,
107
- 3, 30, :_reduce_25,
108
- 2, 30, :_reduce_26,
109
- 1, 37, :_reduce_27,
110
- 2, 37, :_reduce_28,
111
- 1, 37, :_reduce_none,
112
- 1, 40, :_reduce_30,
113
- 2, 40, :_reduce_31,
114
- 1, 40, :_reduce_32,
115
- 2, 39, :_reduce_33,
116
- 1, 39, :_reduce_34,
117
- 2, 41, :_reduce_35,
118
- 1, 42, :_reduce_36,
119
- 3, 42, :_reduce_37,
120
- 3, 38, :_reduce_38,
121
- 1, 43, :_reduce_39,
122
- 1, 43, :_reduce_40,
123
- 1, 43, :_reduce_41,
124
- 4, 31, :_reduce_42,
125
- 2, 31, :_reduce_43,
126
- 1, 44, :_reduce_44,
127
- 3, 44, :_reduce_45,
128
- 3, 44, :_reduce_46,
129
- 1, 46, :_reduce_none,
130
- 2, 46, :_reduce_none,
131
- 1, 45, :_reduce_49,
132
- 2, 45, :_reduce_50,
133
- 2, 47, :_reduce_51,
134
- 1, 48, :_reduce_52,
135
- 2, 48, :_reduce_53,
136
- 3, 48, :_reduce_54,
137
- 1, 49, :_reduce_55,
138
- 2, 49, :_reduce_56,
139
- 1, 50, :_reduce_57,
140
- 1, 50, :_reduce_58,
141
- 1, 32, :_reduce_59 ]
142
-
143
- racc_reduce_n = 60
144
-
145
- racc_shift_n = 91
101
+ 1, 30, :_reduce_none,
102
+ 2, 30, :_reduce_none,
103
+ 1, 31, :_reduce_none,
104
+ 1, 31, :_reduce_none,
105
+ 1, 31, :_reduce_none,
106
+ 1, 31, :_reduce_none,
107
+ 1, 31, :_reduce_none,
108
+ 1, 31, :_reduce_none,
109
+ 1, 31, :_reduce_none,
110
+ 1, 31, :_reduce_none,
111
+ 1, 31, :_reduce_none,
112
+ 4, 40, :_reduce_12,
113
+ 1, 41, :_reduce_13,
114
+ 3, 41, :_reduce_14,
115
+ 2, 41, :_reduce_15,
116
+ 1, 43, :_reduce_none,
117
+ 2, 43, :_reduce_17,
118
+ 1, 43, :_reduce_none,
119
+ 1, 43, :_reduce_none,
120
+ 1, 42, :_reduce_20,
121
+ 2, 42, :_reduce_21,
122
+ 1, 44, :_reduce_22,
123
+ 2, 44, :_reduce_23,
124
+ 1, 44, :_reduce_24,
125
+ 4, 46, :_reduce_25,
126
+ 3, 45, :_reduce_26,
127
+ 1, 48, :_reduce_27,
128
+ 2, 48, :_reduce_28,
129
+ 1, 49, :_reduce_none,
130
+ 1, 49, :_reduce_none,
131
+ 4, 35, :_reduce_31,
132
+ 1, 50, :_reduce_32,
133
+ 2, 50, :_reduce_33,
134
+ 4, 36, :_reduce_34,
135
+ 1, 51, :_reduce_35,
136
+ 1, 51, :_reduce_36,
137
+ 2, 32, :_reduce_37,
138
+ 4, 32, :_reduce_38,
139
+ 2, 33, :_reduce_39,
140
+ 2, 34, :_reduce_40,
141
+ 1, 52, :_reduce_41,
142
+ 3, 52, :_reduce_42,
143
+ 1, 53, :_reduce_none,
144
+ 1, 53, :_reduce_none,
145
+ 3, 37, :_reduce_45,
146
+ 2, 37, :_reduce_46,
147
+ 1, 54, :_reduce_47,
148
+ 2, 54, :_reduce_48,
149
+ 1, 54, :_reduce_none,
150
+ 1, 57, :_reduce_50,
151
+ 2, 57, :_reduce_51,
152
+ 1, 57, :_reduce_52,
153
+ 2, 56, :_reduce_53,
154
+ 1, 56, :_reduce_54,
155
+ 2, 58, :_reduce_55,
156
+ 1, 59, :_reduce_56,
157
+ 3, 59, :_reduce_57,
158
+ 3, 55, :_reduce_58,
159
+ 1, 60, :_reduce_59,
160
+ 1, 60, :_reduce_60,
161
+ 1, 60, :_reduce_61,
162
+ 4, 38, :_reduce_62,
163
+ 2, 38, :_reduce_63,
164
+ 1, 61, :_reduce_64,
165
+ 3, 61, :_reduce_65,
166
+ 3, 61, :_reduce_66,
167
+ 1, 63, :_reduce_none,
168
+ 2, 63, :_reduce_none,
169
+ 1, 62, :_reduce_69,
170
+ 2, 62, :_reduce_70,
171
+ 2, 64, :_reduce_71,
172
+ 1, 65, :_reduce_72,
173
+ 2, 65, :_reduce_73,
174
+ 3, 65, :_reduce_74,
175
+ 1, 47, :_reduce_75,
176
+ 2, 47, :_reduce_76,
177
+ 1, 66, :_reduce_77,
178
+ 1, 66, :_reduce_78,
179
+ 1, 39, :_reduce_79 ]
180
+
181
+ racc_reduce_n = 80
182
+
183
+ racc_shift_n = 120
146
184
 
147
185
  racc_token_table = {
148
186
  false => 0,
149
187
  :error => 1,
150
- :GROUP => 2,
151
- "|" => 3,
188
+ :PROP => 2,
189
+ "." => 3,
152
190
  :NEWLINE => 4,
153
- :TEXT => 5,
154
- :ROUND => 6,
155
- :DATE => 7,
156
- :DURATION => 8,
157
- "[" => 9,
158
- "]" => 10,
159
- "-" => 11,
160
- "," => 12,
161
- :ORD => 13,
162
- :TIME => 14,
163
- "@" => 15,
164
- :SCORE => 16,
165
- :VS => 17,
166
- ";" => 18,
167
- :MINUTE => 19,
168
- :OG => 20,
169
- :PEN => 21 }
170
-
171
- racc_nt_base = 22
191
+ "," => 5,
192
+ "-" => 6,
193
+ ";" => 7,
194
+ :PROP_NAME => 8,
195
+ "(" => 9,
196
+ ")" => 10,
197
+ "[" => 11,
198
+ "]" => 12,
199
+ :YELLOW_CARD => 13,
200
+ :RED_CARD => 14,
201
+ :GROUP => 15,
202
+ "|" => 16,
203
+ :TEXT => 17,
204
+ :ROUND => 18,
205
+ :DATE => 19,
206
+ :DURATION => 20,
207
+ :ORD => 21,
208
+ :TIME => 22,
209
+ "@" => 23,
210
+ :SCORE => 24,
211
+ :VS => 25,
212
+ :MINUTE => 26,
213
+ :OG => 27,
214
+ :PEN => 28 }
215
+
216
+ racc_nt_base = 29
172
217
 
173
218
  racc_use_result_var = true
174
219
 
@@ -192,23 +237,30 @@ Ractor.make_shareable(Racc_arg) if defined?(Ractor)
192
237
  Racc_token_to_s_table = [
193
238
  "$end",
194
239
  "error",
240
+ "PROP",
241
+ "\".\"",
242
+ "NEWLINE",
243
+ "\",\"",
244
+ "\"-\"",
245
+ "\";\"",
246
+ "PROP_NAME",
247
+ "\"(\"",
248
+ "\")\"",
249
+ "\"[\"",
250
+ "\"]\"",
251
+ "YELLOW_CARD",
252
+ "RED_CARD",
195
253
  "GROUP",
196
254
  "\"|\"",
197
- "NEWLINE",
198
255
  "TEXT",
199
256
  "ROUND",
200
257
  "DATE",
201
258
  "DURATION",
202
- "\"[\"",
203
- "\"]\"",
204
- "\"-\"",
205
- "\",\"",
206
259
  "ORD",
207
260
  "TIME",
208
261
  "\"@\"",
209
262
  "SCORE",
210
263
  "VS",
211
- "\";\"",
212
264
  "MINUTE",
213
265
  "OG",
214
266
  "PEN",
@@ -223,6 +275,16 @@ Racc_token_to_s_table = [
223
275
  "match_line",
224
276
  "goal_lines",
225
277
  "empty_line",
278
+ "lineup_lines",
279
+ "lineup",
280
+ "lineup_name",
281
+ "lineup_sep",
282
+ "lineup_name_more",
283
+ "card",
284
+ "lineup_sub",
285
+ "minute",
286
+ "card_body",
287
+ "card_type",
226
288
  "team_values",
227
289
  "round_date_opts",
228
290
  "round_values",
@@ -239,7 +301,6 @@ Racc_token_to_s_table = [
239
301
  "goal_sep",
240
302
  "goal",
241
303
  "minutes",
242
- "minute",
243
304
  "minute_opts" ]
244
305
  Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
245
306
 
@@ -269,8 +330,136 @@ Racc_debug_parser = false
269
330
 
270
331
  # reduce 10 omitted
271
332
 
333
+ # reduce 11 omitted
334
+
272
335
  module_eval(<<'.,.,', 'parser.y', 30)
273
- def _reduce_11(val, _values, result)
336
+ def _reduce_12(val, _values, result)
337
+ @tree << LineupLine.new( team: val[0],
338
+ lineup: val[1]
339
+ )
340
+
341
+ result
342
+ end
343
+ .,.,
344
+
345
+ module_eval(<<'.,.,', 'parser.y', 37)
346
+ def _reduce_13(val, _values, result)
347
+ result = [[val[0]]]
348
+ result
349
+ end
350
+ .,.,
351
+
352
+ module_eval(<<'.,.,', 'parser.y', 40)
353
+ def _reduce_14(val, _values, result)
354
+ ## if lineup_sep is - start a new sub array!!
355
+ if val[1] == '-'
356
+ result << [val[2]]
357
+ else
358
+ result[-1] << val[2]
359
+ end
360
+
361
+ result
362
+ end
363
+ .,.,
364
+
365
+ module_eval(<<'.,.,', 'parser.y', 48)
366
+ def _reduce_15(val, _values, result)
367
+ result = val[0]
368
+ result
369
+ end
370
+ .,.,
371
+
372
+ # reduce 16 omitted
373
+
374
+ module_eval(<<'.,.,', 'parser.y', 52)
375
+ def _reduce_17(val, _values, result)
376
+ result = val[0]
377
+ result
378
+ end
379
+ .,.,
380
+
381
+ # reduce 18 omitted
382
+
383
+ # reduce 19 omitted
384
+
385
+ module_eval(<<'.,.,', 'parser.y', 58)
386
+ def _reduce_20(val, _values, result)
387
+ result = Lineup.new( name: val[0] )
388
+
389
+ result
390
+ end
391
+ .,.,
392
+
393
+ module_eval(<<'.,.,', 'parser.y', 62)
394
+ def _reduce_21(val, _values, result)
395
+ kwargs = { name: val[0] }.merge( val[1] )
396
+ result = Lineup.new( **kwargs )
397
+
398
+ result
399
+ end
400
+ .,.,
401
+
402
+ module_eval(<<'.,.,', 'parser.y', 68)
403
+ def _reduce_22(val, _values, result)
404
+ result = { card: val[0] }
405
+
406
+ result
407
+ end
408
+ .,.,
409
+
410
+ module_eval(<<'.,.,', 'parser.y', 72)
411
+ def _reduce_23(val, _values, result)
412
+ result = { card: val[0], sub: val[1] }
413
+
414
+ result
415
+ end
416
+ .,.,
417
+
418
+ module_eval(<<'.,.,', 'parser.y', 76)
419
+ def _reduce_24(val, _values, result)
420
+ result = { sub: val[0] }
421
+
422
+ result
423
+ end
424
+ .,.,
425
+
426
+ module_eval(<<'.,.,', 'parser.y', 82)
427
+ def _reduce_25(val, _values, result)
428
+ result = Sub.new( minute: val[1], sub: val[2] )
429
+
430
+ result
431
+ end
432
+ .,.,
433
+
434
+ module_eval(<<'.,.,', 'parser.y', 88)
435
+ def _reduce_26(val, _values, result)
436
+ kwargs = val[1]
437
+ result = Card.new( **kwargs )
438
+
439
+ result
440
+ end
441
+ .,.,
442
+
443
+ module_eval(<<'.,.,', 'parser.y', 93)
444
+ def _reduce_27(val, _values, result)
445
+ result = { name: val[0] }
446
+ result
447
+ end
448
+ .,.,
449
+
450
+ module_eval(<<'.,.,', 'parser.y', 96)
451
+ def _reduce_28(val, _values, result)
452
+ result = { name: val[0], minute: val[1] }
453
+ result
454
+ end
455
+ .,.,
456
+
457
+ # reduce 29 omitted
458
+
459
+ # reduce 30 omitted
460
+
461
+ module_eval(<<'.,.,', 'parser.y', 107)
462
+ def _reduce_31(val, _values, result)
274
463
  @tree << GroupDef.new( name: val[0],
275
464
  teams: val[2] )
276
465
 
@@ -278,8 +467,8 @@ module_eval(<<'.,.,', 'parser.y', 30)
278
467
  end
279
468
  .,.,
280
469
 
281
- module_eval(<<'.,.,', 'parser.y', 36)
282
- def _reduce_12(val, _values, result)
470
+ module_eval(<<'.,.,', 'parser.y', 113)
471
+ def _reduce_32(val, _values, result)
283
472
  result = val
284
473
  ## e.g. val is ["Austria"]
285
474
 
@@ -287,16 +476,16 @@ module_eval(<<'.,.,', 'parser.y', 36)
287
476
  end
288
477
  .,.,
289
478
 
290
- module_eval(<<'.,.,', 'parser.y', 40)
291
- def _reduce_13(val, _values, result)
479
+ module_eval(<<'.,.,', 'parser.y', 117)
480
+ def _reduce_33(val, _values, result)
292
481
  result.push( val[1] )
293
482
 
294
483
  result
295
484
  end
296
485
  .,.,
297
486
 
298
- module_eval(<<'.,.,', 'parser.y', 49)
299
- def _reduce_14(val, _values, result)
487
+ module_eval(<<'.,.,', 'parser.y', 126)
488
+ def _reduce_34(val, _values, result)
300
489
  kwargs = { name: val[0] }.merge( val[2] )
301
490
  @tree<< RoundDef.new( **kwargs )
302
491
 
@@ -304,72 +493,72 @@ module_eval(<<'.,.,', 'parser.y', 49)
304
493
  end
305
494
  .,.,
306
495
 
307
- module_eval(<<'.,.,', 'parser.y', 54)
308
- def _reduce_15(val, _values, result)
496
+ module_eval(<<'.,.,', 'parser.y', 131)
497
+ def _reduce_35(val, _values, result)
309
498
  result = { date: val[0][1] }
310
499
  result
311
500
  end
312
501
  .,.,
313
502
 
314
- module_eval(<<'.,.,', 'parser.y', 55)
315
- def _reduce_16(val, _values, result)
503
+ module_eval(<<'.,.,', 'parser.y', 132)
504
+ def _reduce_36(val, _values, result)
316
505
  result = { duration: val[0][1] }
317
506
  result
318
507
  end
319
508
  .,.,
320
509
 
321
- module_eval(<<'.,.,', 'parser.y', 61)
322
- def _reduce_17(val, _values, result)
510
+ module_eval(<<'.,.,', 'parser.y', 138)
511
+ def _reduce_37(val, _values, result)
323
512
  @tree << DateHeader.new( date: val[0][1] )
324
513
 
325
514
  result
326
515
  end
327
516
  .,.,
328
517
 
329
- module_eval(<<'.,.,', 'parser.y', 65)
330
- def _reduce_18(val, _values, result)
518
+ module_eval(<<'.,.,', 'parser.y', 142)
519
+ def _reduce_38(val, _values, result)
331
520
  @tree << DateHeader.new( date: val[1][1] )
332
521
 
333
522
  result
334
523
  end
335
524
  .,.,
336
525
 
337
- module_eval(<<'.,.,', 'parser.y', 72)
338
- def _reduce_19(val, _values, result)
526
+ module_eval(<<'.,.,', 'parser.y', 149)
527
+ def _reduce_39(val, _values, result)
339
528
  @tree << GroupHeader.new( name: val[0] )
340
529
 
341
530
  result
342
531
  end
343
532
  .,.,
344
533
 
345
- module_eval(<<'.,.,', 'parser.y', 82)
346
- def _reduce_20(val, _values, result)
534
+ module_eval(<<'.,.,', 'parser.y', 159)
535
+ def _reduce_40(val, _values, result)
347
536
  @tree << RoundHeader.new( names: val[0] )
348
537
 
349
538
  result
350
539
  end
351
540
  .,.,
352
541
 
353
- module_eval(<<'.,.,', 'parser.y', 85)
354
- def _reduce_21(val, _values, result)
542
+ module_eval(<<'.,.,', 'parser.y', 162)
543
+ def _reduce_41(val, _values, result)
355
544
  result = val
356
545
  result
357
546
  end
358
547
  .,.,
359
548
 
360
- module_eval(<<'.,.,', 'parser.y', 86)
361
- def _reduce_22(val, _values, result)
549
+ module_eval(<<'.,.,', 'parser.y', 163)
550
+ def _reduce_42(val, _values, result)
362
551
  result.push( val[2] )
363
552
  result
364
553
  end
365
554
  .,.,
366
555
 
367
- # reduce 23 omitted
556
+ # reduce 43 omitted
368
557
 
369
- # reduce 24 omitted
558
+ # reduce 44 omitted
370
559
 
371
- module_eval(<<'.,.,', 'parser.y', 97)
372
- def _reduce_25(val, _values, result)
560
+ module_eval(<<'.,.,', 'parser.y', 174)
561
+ def _reduce_45(val, _values, result)
373
562
  puts "match:"
374
563
  pp val[1]
375
564
  puts "more match opts:"
@@ -382,8 +571,8 @@ module_eval(<<'.,.,', 'parser.y', 97)
382
571
  end
383
572
  .,.,
384
573
 
385
- module_eval(<<'.,.,', 'parser.y', 107)
386
- def _reduce_26(val, _values, result)
574
+ module_eval(<<'.,.,', 'parser.y', 184)
575
+ def _reduce_46(val, _values, result)
387
576
  kwargs = {}.merge( val[0], val[1] )
388
577
  @tree << MatchLine.new( **kwargs )
389
578
 
@@ -391,80 +580,80 @@ module_eval(<<'.,.,', 'parser.y', 107)
391
580
  end
392
581
  .,.,
393
582
 
394
- module_eval(<<'.,.,', 'parser.y', 112)
395
- def _reduce_27(val, _values, result)
583
+ module_eval(<<'.,.,', 'parser.y', 189)
584
+ def _reduce_47(val, _values, result)
396
585
  result = { ord: val[0][1][:value] }
397
586
  result
398
587
  end
399
588
  .,.,
400
589
 
401
- module_eval(<<'.,.,', 'parser.y', 113)
402
- def _reduce_28(val, _values, result)
590
+ module_eval(<<'.,.,', 'parser.y', 190)
591
+ def _reduce_48(val, _values, result)
403
592
  result = { ord: val[0][1][:value] }.merge( val[1] )
404
593
  result
405
594
  end
406
595
  .,.,
407
596
 
408
- # reduce 29 omitted
597
+ # reduce 49 omitted
409
598
 
410
- module_eval(<<'.,.,', 'parser.y', 117)
411
- def _reduce_30(val, _values, result)
599
+ module_eval(<<'.,.,', 'parser.y', 194)
600
+ def _reduce_50(val, _values, result)
412
601
  result = { date: val[0][1]}
413
602
  result
414
603
  end
415
604
  .,.,
416
605
 
417
- module_eval(<<'.,.,', 'parser.y', 118)
418
- def _reduce_31(val, _values, result)
606
+ module_eval(<<'.,.,', 'parser.y', 195)
607
+ def _reduce_51(val, _values, result)
419
608
  result = { date: val[0][1], time: val[1][1] }
420
609
  result
421
610
  end
422
611
  .,.,
423
612
 
424
- module_eval(<<'.,.,', 'parser.y', 119)
425
- def _reduce_32(val, _values, result)
613
+ module_eval(<<'.,.,', 'parser.y', 196)
614
+ def _reduce_52(val, _values, result)
426
615
  result = { time: val[0][1]}
427
616
  result
428
617
  end
429
618
  .,.,
430
619
 
431
- module_eval(<<'.,.,', 'parser.y', 123)
432
- def _reduce_33(val, _values, result)
620
+ module_eval(<<'.,.,', 'parser.y', 200)
621
+ def _reduce_53(val, _values, result)
433
622
  result = { geo: val[0]}
434
623
  result
435
624
  end
436
625
  .,.,
437
626
 
438
- module_eval(<<'.,.,', 'parser.y', 124)
439
- def _reduce_34(val, _values, result)
627
+ module_eval(<<'.,.,', 'parser.y', 201)
628
+ def _reduce_54(val, _values, result)
440
629
  result = {}
441
630
  result
442
631
  end
443
632
  .,.,
444
633
 
445
- module_eval(<<'.,.,', 'parser.y', 128)
446
- def _reduce_35(val, _values, result)
634
+ module_eval(<<'.,.,', 'parser.y', 205)
635
+ def _reduce_55(val, _values, result)
447
636
  result = val[1]
448
637
  result
449
638
  end
450
639
  .,.,
451
640
 
452
- module_eval(<<'.,.,', 'parser.y', 131)
453
- def _reduce_36(val, _values, result)
641
+ module_eval(<<'.,.,', 'parser.y', 208)
642
+ def _reduce_56(val, _values, result)
454
643
  result = val
455
644
  result
456
645
  end
457
646
  .,.,
458
647
 
459
- module_eval(<<'.,.,', 'parser.y', 132)
460
- def _reduce_37(val, _values, result)
648
+ module_eval(<<'.,.,', 'parser.y', 209)
649
+ def _reduce_57(val, _values, result)
461
650
  result.push( val[2] )
462
651
  result
463
652
  end
464
653
  .,.,
465
654
 
466
- module_eval(<<'.,.,', 'parser.y', 137)
467
- def _reduce_38(val, _values, result)
655
+ module_eval(<<'.,.,', 'parser.y', 214)
656
+ def _reduce_58(val, _values, result)
468
657
  result = { team1: val[0],
469
658
  team2: val[2]
470
659
  }.merge( val[1] )
@@ -473,29 +662,29 @@ module_eval(<<'.,.,', 'parser.y', 137)
473
662
  end
474
663
  .,.,
475
664
 
476
- module_eval(<<'.,.,', 'parser.y', 142)
477
- def _reduce_39(val, _values, result)
665
+ module_eval(<<'.,.,', 'parser.y', 219)
666
+ def _reduce_59(val, _values, result)
478
667
  result = { score: val[0][1] }
479
668
  result
480
669
  end
481
670
  .,.,
482
671
 
483
- module_eval(<<'.,.,', 'parser.y', 143)
484
- def _reduce_40(val, _values, result)
672
+ module_eval(<<'.,.,', 'parser.y', 220)
673
+ def _reduce_60(val, _values, result)
485
674
  result = {}
486
675
  result
487
676
  end
488
677
  .,.,
489
678
 
490
- module_eval(<<'.,.,', 'parser.y', 144)
491
- def _reduce_41(val, _values, result)
679
+ module_eval(<<'.,.,', 'parser.y', 221)
680
+ def _reduce_61(val, _values, result)
492
681
  result = {}
493
682
  result
494
683
  end
495
684
  .,.,
496
685
 
497
- module_eval(<<'.,.,', 'parser.y', 161)
498
- def _reduce_42(val, _values, result)
686
+ module_eval(<<'.,.,', 'parser.y', 238)
687
+ def _reduce_62(val, _values, result)
499
688
  kwargs = val[1]
500
689
  @tree << GoalLine.new( **kwargs )
501
690
 
@@ -503,8 +692,8 @@ module_eval(<<'.,.,', 'parser.y', 161)
503
692
  end
504
693
  .,.,
505
694
 
506
- module_eval(<<'.,.,', 'parser.y', 166)
507
- def _reduce_43(val, _values, result)
695
+ module_eval(<<'.,.,', 'parser.y', 243)
696
+ def _reduce_63(val, _values, result)
508
697
  kwargs = val[0]
509
698
  @tree << GoalLine.new( **kwargs )
510
699
 
@@ -512,8 +701,8 @@ module_eval(<<'.,.,', 'parser.y', 166)
512
701
  end
513
702
  .,.,
514
703
 
515
- module_eval(<<'.,.,', 'parser.y', 171)
516
- def _reduce_44(val, _values, result)
704
+ module_eval(<<'.,.,', 'parser.y', 248)
705
+ def _reduce_64(val, _values, result)
517
706
  result = { goals1: val[0],
518
707
  goals2: [] }
519
708
 
@@ -521,8 +710,8 @@ module_eval(<<'.,.,', 'parser.y', 171)
521
710
  end
522
711
  .,.,
523
712
 
524
- module_eval(<<'.,.,', 'parser.y', 174)
525
- def _reduce_45(val, _values, result)
713
+ module_eval(<<'.,.,', 'parser.y', 251)
714
+ def _reduce_65(val, _values, result)
526
715
  result = { goals1: [],
527
716
  goals2: val[2] }
528
717
 
@@ -530,8 +719,8 @@ module_eval(<<'.,.,', 'parser.y', 174)
530
719
  end
531
720
  .,.,
532
721
 
533
- module_eval(<<'.,.,', 'parser.y', 177)
534
- def _reduce_46(val, _values, result)
722
+ module_eval(<<'.,.,', 'parser.y', 254)
723
+ def _reduce_66(val, _values, result)
535
724
  result = { goals1: val[0],
536
725
  goals2: val[2] }
537
726
 
@@ -539,26 +728,26 @@ module_eval(<<'.,.,', 'parser.y', 177)
539
728
  end
540
729
  .,.,
541
730
 
542
- # reduce 47 omitted
731
+ # reduce 67 omitted
543
732
 
544
- # reduce 48 omitted
733
+ # reduce 68 omitted
545
734
 
546
- module_eval(<<'.,.,', 'parser.y', 191)
547
- def _reduce_49(val, _values, result)
735
+ module_eval(<<'.,.,', 'parser.y', 268)
736
+ def _reduce_69(val, _values, result)
548
737
  result = val
549
738
  result
550
739
  end
551
740
  .,.,
552
741
 
553
- module_eval(<<'.,.,', 'parser.y', 192)
554
- def _reduce_50(val, _values, result)
742
+ module_eval(<<'.,.,', 'parser.y', 269)
743
+ def _reduce_70(val, _values, result)
555
744
  result.push( val[1])
556
745
  result
557
746
  end
558
747
  .,.,
559
748
 
560
- module_eval(<<'.,.,', 'parser.y', 197)
561
- def _reduce_51(val, _values, result)
749
+ module_eval(<<'.,.,', 'parser.y', 274)
750
+ def _reduce_71(val, _values, result)
562
751
  result = Goal.new( player: val[0],
563
752
  minutes: val[1] )
564
753
 
@@ -566,29 +755,29 @@ module_eval(<<'.,.,', 'parser.y', 197)
566
755
  end
567
756
  .,.,
568
757
 
569
- module_eval(<<'.,.,', 'parser.y', 204)
570
- def _reduce_52(val, _values, result)
758
+ module_eval(<<'.,.,', 'parser.y', 281)
759
+ def _reduce_72(val, _values, result)
571
760
  result = val
572
761
  result
573
762
  end
574
763
  .,.,
575
764
 
576
- module_eval(<<'.,.,', 'parser.y', 205)
577
- def _reduce_53(val, _values, result)
765
+ module_eval(<<'.,.,', 'parser.y', 282)
766
+ def _reduce_73(val, _values, result)
578
767
  result.push( val[1])
579
768
  result
580
769
  end
581
770
  .,.,
582
771
 
583
- module_eval(<<'.,.,', 'parser.y', 206)
584
- def _reduce_54(val, _values, result)
772
+ module_eval(<<'.,.,', 'parser.y', 283)
773
+ def _reduce_74(val, _values, result)
585
774
  result.push( val[2])
586
775
  result
587
776
  end
588
777
  .,.,
589
778
 
590
- module_eval(<<'.,.,', 'parser.y', 212)
591
- def _reduce_55(val, _values, result)
779
+ module_eval(<<'.,.,', 'parser.y', 289)
780
+ def _reduce_75(val, _values, result)
592
781
  kwargs = {}.merge( val[0][1] )
593
782
  result = Minute.new( **kwargs )
594
783
 
@@ -596,8 +785,8 @@ module_eval(<<'.,.,', 'parser.y', 212)
596
785
  end
597
786
  .,.,
598
787
 
599
- module_eval(<<'.,.,', 'parser.y', 217)
600
- def _reduce_56(val, _values, result)
788
+ module_eval(<<'.,.,', 'parser.y', 294)
789
+ def _reduce_76(val, _values, result)
601
790
  kwargs = { }.merge( val[0][1] ).merge( val[1] )
602
791
  result = Minute.new( **kwargs )
603
792
 
@@ -605,22 +794,22 @@ module_eval(<<'.,.,', 'parser.y', 217)
605
794
  end
606
795
  .,.,
607
796
 
608
- module_eval(<<'.,.,', 'parser.y', 221)
609
- def _reduce_57(val, _values, result)
797
+ module_eval(<<'.,.,', 'parser.y', 298)
798
+ def _reduce_77(val, _values, result)
610
799
  result = { og: true }
611
800
  result
612
801
  end
613
802
  .,.,
614
803
 
615
- module_eval(<<'.,.,', 'parser.y', 222)
616
- def _reduce_58(val, _values, result)
804
+ module_eval(<<'.,.,', 'parser.y', 299)
805
+ def _reduce_78(val, _values, result)
617
806
  result = { pen: true }
618
807
  result
619
808
  end
620
809
  .,.,
621
810
 
622
- module_eval(<<'.,.,', 'parser.y', 227)
623
- def _reduce_59(val, _values, result)
811
+ module_eval(<<'.,.,', 'parser.y', 304)
812
+ def _reduce_79(val, _values, result)
624
813
  puts ' MATCH empty_line'
625
814
  result
626
815
  end