fbtxt-parser 0.9.0

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.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +4 -0
  3. data/Manifest.txt +50 -0
  4. data/README.md +22 -0
  5. data/Rakefile +53 -0
  6. data/lib/fbtxt/parser/debuggable.rb +53 -0
  7. data/lib/fbtxt/parser/lexer-logger.rb +20 -0
  8. data/lib/fbtxt/parser/lexer-on_goal.rb +167 -0
  9. data/lib/fbtxt/parser/lexer-on_group_def.rb +31 -0
  10. data/lib/fbtxt/parser/lexer-on_prop_lineup.rb +79 -0
  11. data/lib/fbtxt/parser/lexer-on_prop_misc.rb +123 -0
  12. data/lib/fbtxt/parser/lexer-on_prop_penalties.rb +40 -0
  13. data/lib/fbtxt/parser/lexer-on_round_def.rb +37 -0
  14. data/lib/fbtxt/parser/lexer-on_top.rb +133 -0
  15. data/lib/fbtxt/parser/lexer-prep_doc.rb +131 -0
  16. data/lib/fbtxt/parser/lexer-prep_line.rb +63 -0
  17. data/lib/fbtxt/parser/lexer-tokenize.rb +468 -0
  18. data/lib/fbtxt/parser/lexer.rb +231 -0
  19. data/lib/fbtxt/parser/lexer_buffer.rb +68 -0
  20. data/lib/fbtxt/parser/lexer_token.rb +126 -0
  21. data/lib/fbtxt/parser/parse_tree--core.rb +29 -0
  22. data/lib/fbtxt/parser/parse_tree-match.rb +309 -0
  23. data/lib/fbtxt/parser/parse_tree-props.rb +233 -0
  24. data/lib/fbtxt/parser/parse_tree.rb +202 -0
  25. data/lib/fbtxt/parser/parser-runtime.rb +379 -0
  26. data/lib/fbtxt/parser/parser-top.rb +102 -0
  27. data/lib/fbtxt/parser/parser.rb +2343 -0
  28. data/lib/fbtxt/parser/token-date--helpers.rb +130 -0
  29. data/lib/fbtxt/parser/token-date--names.rb +108 -0
  30. data/lib/fbtxt/parser/token-date.rb +200 -0
  31. data/lib/fbtxt/parser/token-date_duration.rb +171 -0
  32. data/lib/fbtxt/parser/token-geo.rb +134 -0
  33. data/lib/fbtxt/parser/token-goals--helpers.rb +114 -0
  34. data/lib/fbtxt/parser/token-goals.rb +306 -0
  35. data/lib/fbtxt/parser/token-group.rb +29 -0
  36. data/lib/fbtxt/parser/token-note.rb +40 -0
  37. data/lib/fbtxt/parser/token-prop.rb +309 -0
  38. data/lib/fbtxt/parser/token-prop_name.rb +83 -0
  39. data/lib/fbtxt/parser/token-round.rb +88 -0
  40. data/lib/fbtxt/parser/token-score--helpers.rb +189 -0
  41. data/lib/fbtxt/parser/token-score.rb +60 -0
  42. data/lib/fbtxt/parser/token-score_full.rb +331 -0
  43. data/lib/fbtxt/parser/token-score_fuller.rb +434 -0
  44. data/lib/fbtxt/parser/token-score_legs.rb +59 -0
  45. data/lib/fbtxt/parser/token-status.rb +192 -0
  46. data/lib/fbtxt/parser/token-status_inline.rb +112 -0
  47. data/lib/fbtxt/parser/token-text.rb +221 -0
  48. data/lib/fbtxt/parser/token-time.rb +144 -0
  49. data/lib/fbtxt/parser/token.rb +224 -0
  50. data/lib/fbtxt/parser/version.rb +24 -0
  51. data/lib/fbtxt/parser.rb +140 -0
  52. metadata +145 -0
@@ -0,0 +1,2343 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.8.1
4
+ # from Racc grammar file "parser.y".
5
+ #
6
+
7
+ ## require 'racc/parser.rb'
8
+ module Fbtxt
9
+ class Parser < Racc::Parser
10
+ ##### State transition tables begin ###
11
+
12
+ racc_action_table = [
13
+ 27, 26, 28, 248, 29, 30, 31, 32, 239, 248,
14
+ 33, 44, 317, 34, 35, 36, 255, 37, 38, 39,
15
+ 42, 43, 221, 156, 221, 319, 262, 130, 78, 236,
16
+ 156, 220, 224, 220, 226, 169, 221, 261, 169, 46,
17
+ 47, 48, 50, 167, 51, 220, 167, 157, 80, 240,
18
+ 248, 221, 67, 235, 157, 46, 47, 48, -195, 68,
19
+ 220, 69, 81, 70, -195, -97, 71, 260, 227, 254,
20
+ 72, 73, 74, 75, 218, 219, -143, 76, 77, 27,
21
+ 26, 28, 233, 29, 30, 31, 32, 135, 316, 33,
22
+ 44, 245, 34, 35, 36, 135, 37, 38, 39, 42,
23
+ 43, 318, 43, -143, 135, -195, 43, 136, 125, 126,
24
+ 43, 175, 243, 82, 246, 295, 83, 175, 46, 47,
25
+ 48, 50, 354, 51, 134, 43, 136, 353, 84, 51,
26
+ 130, 67, 134, 36, 136, 37, 38, 39, 68, 43,
27
+ 69, 134, 70, 230, 296, 71, 358, 176, 51, 72,
28
+ 73, 74, 75, 176, 88, 266, 76, 77, 46, 47,
29
+ 48, 92, 51, 267, 268, 93, 43, 327, 328, 329,
30
+ 231, 95, 232, 96, 97, 99, 100, 101, 102, 106,
31
+ 117, 103, 104, 105, 118, 107, 108, 109, 110, 51,
32
+ 169, 125, 126, 112, 113, 114, 119, 289, 167, 290,
33
+ 111, 85, 86, 169, 96, 97, 99, 100, 101, 102,
34
+ 106, 167, 103, 104, 105, 116, 107, 108, 109, 110,
35
+ 112, 113, 120, 112, 113, 114, 327, 328, 329, 327,
36
+ 328, 329, 327, 328, 329, 90, 89, 184, 185, 125,
37
+ 126, 125, 126, 285, -152, 328, 329, 123, 135, 144,
38
+ 43, 153, 160, 161, 164, 179, 180, 182, 186, 187,
39
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
40
+ 198, 199, 200, 201, 50, 205, 209, 211, 43, 214,
41
+ 153, 216, 229, 237, 241, 242, 169, 250, 251, 252,
42
+ 253, 257, 258, 265, 269, 270, 271, 273, 274, 275,
43
+ 135, 278, 279, 153, 281, 282, 283, 153, 287, 291,
44
+ 292, 293, 160, 297, 298, 299, 164, 301, 302, 169,
45
+ 304, 305, 169, 307, 308, 309, 310, 311, 312, 314,
46
+ 315, 320, 179, 330, 334, 226, 336, 337, 338, 339,
47
+ 340, 341, 342, 343, 344, 347, 350, 351, 352, 360,
48
+ 361, 347, 364 ]
49
+
50
+ racc_action_check = [
51
+ 0, 0, 0, 249, 0, 0, 0, 0, 162, 303,
52
+ 0, 0, 260, 0, 0, 0, 173, 0, 0, 0,
53
+ 0, 0, 154, 68, 151, 261, 177, 54, 1, 160,
54
+ 228, 154, 153, 151, 153, 72, 158, 177, 73, 0,
55
+ 0, 0, 0, 72, 0, 158, 73, 68, 28, 162,
56
+ 166, 280, 0, 160, 228, 54, 54, 54, 249, 0,
57
+ 280, 0, 29, 0, 303, 127, 0, 177, 154, 173,
58
+ 0, 0, 0, 0, 151, 151, 151, 0, 0, 2,
59
+ 2, 2, 158, 2, 2, 2, 2, 55, 260, 2,
60
+ 2, 166, 2, 2, 2, 132, 2, 2, 2, 2,
61
+ 2, 261, 55, 280, 272, 166, 60, 127, 127, 127,
62
+ 132, 76, 166, 30, 166, 235, 31, 256, 2, 2,
63
+ 2, 2, 347, 2, 55, 147, 55, 347, 32, 60,
64
+ 204, 2, 132, 58, 132, 58, 58, 58, 2, 58,
65
+ 2, 272, 2, 157, 235, 2, 353, 76, 147, 2,
66
+ 2, 2, 2, 256, 34, 181, 2, 2, 204, 204,
67
+ 204, 40, 58, 181, 181, 42, 53, 353, 353, 353,
68
+ 157, 43, 157, 44, 44, 44, 44, 44, 44, 44,
69
+ 46, 44, 44, 44, 47, 44, 44, 44, 44, 53,
70
+ 74, 53, 53, 45, 45, 45, 48, 229, 74, 229,
71
+ 44, 33, 33, 75, 130, 130, 130, 130, 130, 130,
72
+ 130, 75, 130, 130, 130, 45, 130, 130, 130, 130,
73
+ 49, 49, 49, 131, 131, 131, 264, 264, 264, 358,
74
+ 358, 358, 360, 360, 360, 35, 35, 91, 91, 139,
75
+ 139, 212, 212, 223, 223, 324, 324, 52, 56, 57,
76
+ 62, 67, 69, 70, 71, 77, 78, 87, 94, 98,
77
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
78
+ 109, 110, 116, 122, 124, 126, 128, 137, 138, 143,
79
+ 144, 150, 156, 161, 164, 165, 167, 169, 170, 171,
80
+ 172, 175, 176, 179, 183, 186, 192, 207, 208, 210,
81
+ 213, 215, 216, 217, 218, 219, 220, 222, 227, 231,
82
+ 232, 233, 234, 236, 237, 238, 239, 240, 242, 244,
83
+ 245, 246, 247, 248, 251, 252, 253, 254, 255, 257,
84
+ 259, 262, 263, 268, 278, 286, 296, 297, 299, 301,
85
+ 315, 316, 317, 318, 319, 322, 331, 342, 344, 354,
86
+ 355, 356, 359 ]
87
+
88
+ racc_action_pointer = [
89
+ -1, 28, 78, nil, nil, nil, nil, nil, nil, nil,
90
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
91
+ nil, nil, nil, nil, nil, nil, nil, nil, 44, 58,
92
+ 109, 112, 124, 192, 150, 226, nil, nil, nil, nil,
93
+ 157, nil, 161, 148, 149, 163, 168, 172, 184, 190,
94
+ nil, nil, 245, 144, 15, 80, 241, 200, 117, nil,
95
+ 84, nil, 228, nil, nil, nil, nil, 195, -9, 189,
96
+ 188, 186, -33, -30, 122, 135, 79, 187, 256, nil,
97
+ nil, nil, nil, nil, nil, nil, nil, 245, nil, nil,
98
+ nil, 221, nil, nil, 245, nil, nil, nil, 247, 248,
99
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
100
+ 259, nil, nil, nil, nil, nil, 268, nil, nil, nil,
101
+ nil, nil, 271, nil, 231, nil, 228, 61, 272, nil,
102
+ 180, 193, 88, nil, nil, nil, nil, 273, 256, 192,
103
+ nil, nil, nil, 275, 224, nil, nil, 103, nil, nil,
104
+ 231, 20, nil, -25, 18, nil, 226, 111, 32, nil,
105
+ -3, 217, -5, nil, 215, 219, 37, 218, nil, 224,
106
+ 222, 223, 224, 3, nil, 223, 223, 13, nil, 212,
107
+ nil, 151, nil, 290, nil, nil, 272, nil, nil, nil,
108
+ nil, nil, 261, nil, nil, nil, nil, nil, nil, nil,
109
+ nil, nil, nil, nil, 118, nil, nil, 293, 294, nil,
110
+ 295, nil, 194, 293, nil, 251, 298, 247, 300, 301,
111
+ 302, nil, 251, 185, nil, nil, nil, 304, -2, 138,
112
+ nil, 277, 278, 307, 249, 83, 257, 310, 249, 248,
113
+ 247, nil, 314, nil, 251, 316, 317, 254, 319, -10,
114
+ nil, 320, 321, 322, 323, 324, 85, 260, nil, 264,
115
+ 8, 21, 327, 264, 142, nil, nil, nil, 321, nil,
116
+ nil, nil, 97, nil, nil, nil, nil, nil, 330, nil,
117
+ 47, nil, nil, nil, nil, nil, 276, nil, nil, nil,
118
+ nil, nil, nil, nil, nil, nil, 304, 276, nil, 334,
119
+ nil, 274, nil, -4, nil, nil, nil, nil, nil, nil,
120
+ nil, nil, nil, nil, nil, 336, 273, 262, 275, 264,
121
+ nil, nil, 263, nil, 160, nil, nil, nil, nil, nil,
122
+ nil, 342, nil, nil, nil, nil, nil, nil, nil, nil,
123
+ nil, nil, 279, nil, 280, nil, nil, 59, nil, nil,
124
+ nil, nil, nil, 83, 281, 267, 269, nil, 145, 289,
125
+ 148, nil, nil, nil, nil, nil ]
126
+
127
+ racc_action_default = [
128
+ -1, -243, -2, -3, -5, -6, -7, -8, -9, -10,
129
+ -11, -12, -13, -14, -15, -16, -17, -18, -19, -20,
130
+ -21, -22, -23, -24, -25, -26, -27, -28, -243, -243,
131
+ -243, -243, -243, -243, -243, -243, -50, -51, -52, -53,
132
+ -54, -55, -243, -243, -243, -129, -243, -243, -243, -132,
133
+ -86, -93, -34, -114, -243, -122, -91, -128, -111, -113,
134
+ -116, -118, -119, -121, -130, -131, -133, -243, -243, -243,
135
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -4,
136
+ -29, -30, -31, -32, -33, -38, -39, -243, -44, -45,
137
+ -46, -243, -56, -57, -58, -59, -61, -62, -243, -243,
138
+ -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
139
+ -243, -134, -68, -69, -75, -76, -243, -81, -82, -83,
140
+ -84, -85, -35, -36, -87, -95, -243, -121, -243, -115,
141
+ -243, -129, -122, -128, -89, -90, -94, -243, -123, -97,
142
+ -126, -127, -92, -243, -243, -54, -112, -114, -117, -120,
143
+ -243, -137, -147, -151, -143, -158, -243, -243, -143, -167,
144
+ -243, -243, -179, -175, -177, -243, -185, -243, -193, -198,
145
+ -243, -243, -243, -243, -203, -243, -207, -210, -219, -222,
146
+ 366, -243, -41, -243, -48, -49, -243, -63, -64, -65,
147
+ -66, -67, -70, -71, -72, -74, -77, -78, -79, -80,
148
+ -135, -37, -88, -99, -243, -96, -98, -243, -243, -102,
149
+ -243, -108, -97, -91, -109, -243, -243, -243, -139, -141,
150
+ -144, -146, -243, -149, -150, -154, -156, -243, -243, -160,
151
+ -163, -243, -243, -243, -243, -243, -243, -243, -243, -243,
152
+ -243, -178, -243, -186, -243, -189, -191, -243, -196, -187,
153
+ -199, -243, -243, -243, -243, -201, -243, -205, -208, -243,
154
+ -243, -217, -215, -243, -233, -223, -40, -42, -243, -47,
155
+ -60, -73, -104, -100, -101, -107, -124, -125, -243, -136,
156
+ -138, -140, -142, -145, -148, -153, -243, -157, -159, -161,
157
+ -162, -164, -165, -166, -168, -169, -243, -171, -173, -243,
158
+ -176, -243, -181, -188, -190, -192, -194, -197, -182, -183,
159
+ -184, -200, -202, -204, -206, -243, -243, -243, -243, -218,
160
+ -216, -220, -228, -234, -235, -238, -239, -240, -241, -242,
161
+ -43, -243, -105, -106, -110, -155, -170, -172, -174, -180,
162
+ -209, -211, -243, -213, -243, -221, -229, -243, -236, -237,
163
+ -103, -212, -214, -233, -243, -243, -231, -224, -233, -234,
164
+ -233, -230, -232, -225, -226, -227 ]
165
+
166
+ racc_goto_table = [
167
+ 142, 178, 174, 163, 159, 155, 143, 225, 131, 133,
168
+ 132, 322, 129, 127, 207, 139, 137, 150, 249, 148,
169
+ 346, 228, 149, 1, 2, 234, 213, 165, 170, 171,
170
+ 172, 3, 124, 79, 122, 87, 181, 91, 183, 145,
171
+ 147, 94, 121, 202, 204, 332, 208, 128, 203, 331,
172
+ 146, 280, 217, 284, 362, 223, 286, 154, 158, 162,
173
+ 238, 244, 306, 173, 256, 177, 259, 263, 264, 345,
174
+ 356, 359, 355, 348, 349, nil, nil, nil, nil, nil,
175
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
176
+ nil, nil, 139, 210, 215, 303, nil, nil, 212, 276,
177
+ 357, nil, nil, nil, nil, 363, 129, 365, nil, nil,
178
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
179
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
180
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
181
+ 335, nil, nil, nil, nil, nil, nil, nil, nil, nil,
182
+ nil, nil, nil, nil, nil, nil, nil, 142, 131, 133,
183
+ 272, nil, nil, 277, nil, 288, nil, nil, nil, 294,
184
+ nil, 300, nil, nil, nil, nil, nil, nil, nil, nil,
185
+ nil, nil, 313, nil, nil, nil, nil, 321, nil, nil,
186
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
187
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
188
+ nil, nil, nil, nil, nil, nil, 333 ]
189
+
190
+ racc_goto_check = [
191
+ 49, 90, 86, 78, 75, 73, 50, 71, 39, 43,
192
+ 57, 92, 64, 36, 54, 36, 60, 62, 80, 64,
193
+ 96, 67, 36, 1, 2, 67, 54, 79, 79, 79,
194
+ 79, 3, 26, 3, 27, 28, 29, 30, 31, 32,
195
+ 35, 37, 42, 46, 47, 48, 52, 53, 56, 58,
196
+ 63, 65, 66, 68, 96, 69, 70, 72, 74, 76,
197
+ 77, 81, 82, 84, 85, 87, 88, 89, 91, 93,
198
+ 94, 95, 97, 99, 100, nil, nil, nil, nil, nil,
199
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
200
+ nil, nil, 36, 60, 62, 80, nil, nil, 36, 54,
201
+ 92, nil, nil, nil, nil, 92, 64, 92, nil, nil,
202
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
203
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
204
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
205
+ 71, nil, nil, nil, nil, nil, nil, nil, nil, nil,
206
+ nil, nil, nil, nil, nil, nil, nil, 49, 39, 43,
207
+ 57, nil, nil, 50, nil, 73, nil, nil, nil, 75,
208
+ nil, 78, nil, nil, nil, nil, nil, nil, nil, nil,
209
+ nil, nil, 86, nil, nil, nil, nil, 90, nil, nil,
210
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
211
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
212
+ nil, nil, nil, nil, nil, nil, 49 ]
213
+
214
+ racc_goto_pointer = [
215
+ nil, 23, 24, 31, nil, nil, nil, nil, nil, nil,
216
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
217
+ nil, nil, nil, nil, nil, nil, -20, -18, 2, -51,
218
+ 2, -53, -19, nil, nil, -18, -40, -2, nil, -46,
219
+ nil, nil, -7, -45, nil, nil, -81, -80, -227, -56,
220
+ -50, nil, -81, -6, -113, nil, -76, -44, -223, nil,
221
+ -39, nil, -50, -8, -41, -166, -99, -133, -169, -98,
222
+ -167, -146, -11, -63, -11, -65, -12, -102, -68, -45,
223
+ -149, -105, -185, nil, -13, -109, -74, -12, -111, -110,
224
+ -76, -111, -253, -253, -277, -282, -302, -275, nil, -251,
225
+ -250 ]
226
+
227
+ racc_goto_default = [
228
+ nil, nil, nil, nil, 4, 5, 6, 7, 8, 9,
229
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
230
+ 20, 21, 22, 23, 24, 25, nil, nil, nil, nil,
231
+ nil, nil, 40, 41, 60, 53, 63, nil, 98, 45,
232
+ 64, 65, 115, 57, 49, 66, 58, nil, 138, 140,
233
+ nil, 62, 141, 206, nil, 52, nil, 55, nil, 54,
234
+ nil, 56, nil, 59, 61, 151, nil, 222, 152, nil,
235
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
236
+ 166, nil, 168, 247, nil, nil, nil, nil, nil, nil,
237
+ nil, nil, nil, nil, nil, 323, nil, nil, 324, 326,
238
+ 325 ]
239
+
240
+ racc_reduce_table = [
241
+ 0, 0, :racc_error,
242
+ 0, 88, :_reduce_1,
243
+ 1, 88, :_reduce_none,
244
+ 1, 89, :_reduce_none,
245
+ 2, 89, :_reduce_none,
246
+ 1, 90, :_reduce_none,
247
+ 1, 90, :_reduce_none,
248
+ 1, 90, :_reduce_none,
249
+ 1, 90, :_reduce_none,
250
+ 1, 90, :_reduce_none,
251
+ 1, 90, :_reduce_none,
252
+ 1, 90, :_reduce_none,
253
+ 1, 90, :_reduce_none,
254
+ 1, 90, :_reduce_none,
255
+ 1, 90, :_reduce_none,
256
+ 1, 90, :_reduce_none,
257
+ 1, 90, :_reduce_none,
258
+ 1, 90, :_reduce_none,
259
+ 1, 90, :_reduce_none,
260
+ 1, 90, :_reduce_none,
261
+ 1, 90, :_reduce_none,
262
+ 1, 90, :_reduce_none,
263
+ 1, 90, :_reduce_none,
264
+ 1, 90, :_reduce_none,
265
+ 1, 90, :_reduce_none,
266
+ 1, 90, :_reduce_none,
267
+ 1, 90, :_reduce_none,
268
+ 1, 90, :_reduce_27,
269
+ 1, 90, :_reduce_28,
270
+ 2, 91, :_reduce_29,
271
+ 2, 91, :_reduce_30,
272
+ 2, 91, :_reduce_31,
273
+ 2, 100, :_reduce_32,
274
+ 2, 101, :_reduce_33,
275
+ 0, 113, :_reduce_34,
276
+ 1, 113, :_reduce_none,
277
+ 1, 114, :_reduce_none,
278
+ 2, 114, :_reduce_none,
279
+ 1, 115, :_reduce_none,
280
+ 1, 115, :_reduce_none,
281
+ 4, 92, :_reduce_40,
282
+ 1, 116, :_reduce_41,
283
+ 2, 116, :_reduce_42,
284
+ 3, 116, :_reduce_43,
285
+ 2, 94, :_reduce_44,
286
+ 1, 117, :_reduce_none,
287
+ 1, 117, :_reduce_none,
288
+ 4, 93, :_reduce_47,
289
+ 1, 118, :_reduce_48,
290
+ 1, 118, :_reduce_49,
291
+ 1, 119, :_reduce_50,
292
+ 1, 119, :_reduce_51,
293
+ 1, 120, :_reduce_52,
294
+ 1, 121, :_reduce_53,
295
+ 1, 122, :_reduce_none,
296
+ 1, 122, :_reduce_none,
297
+ 2, 95, :_reduce_56,
298
+ 2, 98, :_reduce_57,
299
+ 2, 123, :_reduce_58,
300
+ 1, 124, :_reduce_59,
301
+ 3, 124, :_reduce_60,
302
+ 1, 125, :_reduce_none,
303
+ 1, 125, :_reduce_none,
304
+ 3, 126, :_reduce_63,
305
+ 3, 127, :_reduce_64,
306
+ 3, 127, :_reduce_65,
307
+ 3, 127, :_reduce_66,
308
+ 3, 128, :_reduce_67,
309
+ 1, 129, :_reduce_none,
310
+ 1, 129, :_reduce_none,
311
+ 3, 130, :_reduce_70,
312
+ 3, 130, :_reduce_71,
313
+ 3, 130, :_reduce_72,
314
+ 4, 130, :_reduce_73,
315
+ 3, 130, :_reduce_74,
316
+ 2, 130, :_reduce_75,
317
+ 2, 130, :_reduce_76,
318
+ 3, 130, :_reduce_77,
319
+ 3, 130, :_reduce_78,
320
+ 3, 130, :_reduce_79,
321
+ 3, 130, :_reduce_80,
322
+ 2, 131, :_reduce_81,
323
+ 2, 131, :_reduce_82,
324
+ 2, 131, :_reduce_83,
325
+ 2, 132, :_reduce_84,
326
+ 2, 132, :_reduce_85,
327
+ 1, 133, :_reduce_86,
328
+ 0, 134, :_reduce_87,
329
+ 1, 134, :_reduce_none,
330
+ 1, 135, :_reduce_89,
331
+ 1, 136, :_reduce_90,
332
+ 0, 137, :_reduce_91,
333
+ 1, 137, :_reduce_none,
334
+ 1, 138, :_reduce_93,
335
+ 1, 139, :_reduce_94,
336
+ 1, 140, :_reduce_95,
337
+ 2, 140, :_reduce_96,
338
+ 0, 141, :_reduce_97,
339
+ 1, 141, :_reduce_none,
340
+ 3, 96, :_reduce_99,
341
+ 4, 142, :_reduce_100,
342
+ 4, 142, :_reduce_101,
343
+ 3, 142, :_reduce_102,
344
+ 4, 143, :_reduce_103,
345
+ 0, 145, :_reduce_104,
346
+ 1, 145, :_reduce_none,
347
+ 1, 145, :_reduce_none,
348
+ 4, 97, :_reduce_107,
349
+ 3, 97, :_reduce_108,
350
+ 3, 97, :_reduce_109,
351
+ 5, 97, :_reduce_110,
352
+ 1, 146, :_reduce_none,
353
+ 2, 146, :_reduce_112,
354
+ 1, 146, :_reduce_none,
355
+ 1, 150, :_reduce_none,
356
+ 2, 150, :_reduce_115,
357
+ 1, 150, :_reduce_none,
358
+ 2, 150, :_reduce_117,
359
+ 1, 150, :_reduce_none,
360
+ 1, 151, :_reduce_none,
361
+ 2, 151, :_reduce_120,
362
+ 1, 151, :_reduce_none,
363
+ 0, 147, :_reduce_122,
364
+ 1, 147, :_reduce_none,
365
+ 3, 147, :_reduce_124,
366
+ 3, 147, :_reduce_125,
367
+ 1, 147, :_reduce_none,
368
+ 1, 147, :_reduce_none,
369
+ 1, 144, :_reduce_none,
370
+ 1, 144, :_reduce_none,
371
+ 1, 144, :_reduce_none,
372
+ 1, 144, :_reduce_none,
373
+ 1, 144, :_reduce_none,
374
+ 1, 144, :_reduce_none,
375
+ 2, 148, :_reduce_134,
376
+ 3, 99, :_reduce_135,
377
+ 4, 102, :_reduce_136,
378
+ 1, 149, :_reduce_137,
379
+ 3, 149, :_reduce_138,
380
+ 1, 153, :_reduce_none,
381
+ 2, 153, :_reduce_none,
382
+ 1, 153, :_reduce_none,
383
+ 2, 153, :_reduce_none,
384
+ 0, 154, :_reduce_none,
385
+ 1, 154, :_reduce_none,
386
+ 2, 154, :_reduce_none,
387
+ 1, 154, :_reduce_none,
388
+ 1, 152, :_reduce_147,
389
+ 3, 152, :_reduce_148,
390
+ 2, 155, :_reduce_149,
391
+ 2, 155, :_reduce_150,
392
+ 1, 155, :_reduce_151,
393
+ 0, 157, :_reduce_152,
394
+ 1, 157, :_reduce_none,
395
+ 1, 156, :_reduce_154,
396
+ 3, 156, :_reduce_155,
397
+ 1, 158, :_reduce_156,
398
+ 4, 103, :_reduce_157,
399
+ 1, 159, :_reduce_158,
400
+ 3, 159, :_reduce_159,
401
+ 2, 160, :_reduce_160,
402
+ 3, 160, :_reduce_161,
403
+ 3, 160, :_reduce_162,
404
+ 2, 160, :_reduce_163,
405
+ 3, 160, :_reduce_164,
406
+ 3, 160, :_reduce_165,
407
+ 4, 104, :_reduce_166,
408
+ 1, 161, :_reduce_167,
409
+ 3, 161, :_reduce_168,
410
+ 3, 162, :_reduce_169,
411
+ 4, 162, :_reduce_170,
412
+ 3, 162, :_reduce_171,
413
+ 4, 162, :_reduce_172,
414
+ 4, 108, :_reduce_173,
415
+ 5, 107, :_reduce_174,
416
+ 1, 163, :_reduce_175,
417
+ 3, 163, :_reduce_176,
418
+ 1, 165, :_reduce_177,
419
+ 2, 165, :_reduce_178,
420
+ 0, 164, :_reduce_none,
421
+ 3, 164, :_reduce_180,
422
+ 4, 109, :_reduce_181,
423
+ 4, 110, :_reduce_182,
424
+ 4, 111, :_reduce_183,
425
+ 4, 112, :_reduce_184,
426
+ 1, 166, :_reduce_185,
427
+ 2, 166, :_reduce_186,
428
+ 2, 166, :_reduce_187,
429
+ 3, 166, :_reduce_188,
430
+ 1, 168, :_reduce_none,
431
+ 2, 168, :_reduce_none,
432
+ 1, 168, :_reduce_none,
433
+ 2, 168, :_reduce_none,
434
+ 1, 167, :_reduce_193,
435
+ 3, 167, :_reduce_194,
436
+ 0, 170, :_reduce_none,
437
+ 1, 170, :_reduce_none,
438
+ 2, 170, :_reduce_none,
439
+ 1, 169, :_reduce_198,
440
+ 2, 169, :_reduce_199,
441
+ 4, 106, :_reduce_200,
442
+ 1, 172, :_reduce_none,
443
+ 2, 172, :_reduce_none,
444
+ 1, 171, :_reduce_203,
445
+ 3, 171, :_reduce_204,
446
+ 2, 173, :_reduce_205,
447
+ 3, 173, :_reduce_206,
448
+ 1, 173, :_reduce_207,
449
+ 2, 173, :_reduce_208,
450
+ 5, 105, :_reduce_209,
451
+ 0, 175, :_reduce_210,
452
+ 3, 175, :_reduce_211,
453
+ 4, 175, :_reduce_212,
454
+ 3, 175, :_reduce_213,
455
+ 4, 175, :_reduce_214,
456
+ 1, 176, :_reduce_215,
457
+ 2, 176, :_reduce_216,
458
+ 1, 176, :_reduce_217,
459
+ 2, 176, :_reduce_218,
460
+ 1, 174, :_reduce_219,
461
+ 3, 174, :_reduce_220,
462
+ 4, 177, :_reduce_221,
463
+ 0, 178, :_reduce_222,
464
+ 1, 178, :_reduce_223,
465
+ 2, 181, :_reduce_224,
466
+ 3, 181, :_reduce_225,
467
+ 3, 181, :_reduce_226,
468
+ 3, 181, :_reduce_227,
469
+ 0, 180, :_reduce_228,
470
+ 1, 180, :_reduce_none,
471
+ 3, 183, :_reduce_230,
472
+ 1, 184, :_reduce_231,
473
+ 2, 184, :_reduce_232,
474
+ 0, 179, :_reduce_233,
475
+ 1, 179, :_reduce_234,
476
+ 1, 182, :_reduce_235,
477
+ 2, 182, :_reduce_236,
478
+ 2, 182, :_reduce_237,
479
+ 1, 182, :_reduce_238,
480
+ 1, 182, :_reduce_239,
481
+ 1, 185, :_reduce_240,
482
+ 1, 186, :_reduce_241,
483
+ 1, 187, :_reduce_242 ]
484
+
485
+ racc_reduce_n = 243
486
+
487
+ racc_shift_n = 366
488
+
489
+ racc_token_table = {
490
+ false => 0,
491
+ :error => 1,
492
+ :BLANK => 2,
493
+ :H1 => 3,
494
+ :NEWLINE => 4,
495
+ :H2 => 5,
496
+ :H3 => 6,
497
+ :NOTE => 7,
498
+ :NOTA_BENE => 8,
499
+ "|" => 9,
500
+ ":" => 10,
501
+ :GROUP_DEF => 11,
502
+ :TEAM => 12,
503
+ "," => 13,
504
+ :ROUND_OUTLINE => 14,
505
+ :ROUND_DEF => 15,
506
+ :DATE => 16,
507
+ :DURATION => 17,
508
+ :YEAR => 18,
509
+ :DATETIME => 19,
510
+ :TIME => 20,
511
+ :DATE_LEGS => 21,
512
+ "@" => 22,
513
+ :GEO => 23,
514
+ "-" => 24,
515
+ :VS => 25,
516
+ :INLINE_NP => 26,
517
+ :INLINE_CANC => 27,
518
+ :INLINE_WO => 28,
519
+ :INLINE_PPD => 29,
520
+ :SCORE_FULL => 30,
521
+ :SCORE_FULLER => 31,
522
+ :SCORE => 32,
523
+ :SCORE_AWD => 33,
524
+ :SCORE_ABD => 34,
525
+ :SCORE_FULLER_MORE => 35,
526
+ :INLINE_AWD => 36,
527
+ :INLINE_ABD => 37,
528
+ :INLINE_VOID => 38,
529
+ :INLINE_SUSP => 39,
530
+ :TEAM_HOME => 40,
531
+ :TEAM_AWAY => 41,
532
+ :TEAM_NEUTRAL => 42,
533
+ :ORD => 43,
534
+ :STATUS => 44,
535
+ :INLINE_ROUND_SHORT => 45,
536
+ :INLINE_ROUND_BIG => 46,
537
+ :INLINE_ATTENDANCE => 47,
538
+ :INLINE_ATTENDANCE_SEP => 48,
539
+ :INLINE_GOALS => 49,
540
+ :GOALS_END => 50,
541
+ :INLINE_BYE => 51,
542
+ :SCORE_LEGS => 52,
543
+ :GOALS => 53,
544
+ ";" => 54,
545
+ :GOAL_SEP_ALT => 55,
546
+ :PLAYER => 56,
547
+ :GOAL_COUNT => 57,
548
+ :GOAL_MINUTE_SEP => 58,
549
+ :GOAL_MINUTE => 59,
550
+ :GOALS_ALT => 60,
551
+ :GOAL_TYPE => 61,
552
+ :GOALS_COMPAT => 62,
553
+ :MINUTE => 63,
554
+ :PROP_ATTENDANCE => 64,
555
+ :PROP_NUM => 65,
556
+ :PROP_END => 66,
557
+ :PROP_REFEREE => 67,
558
+ :PROP_NAME => 68,
559
+ :ENCLOSED_NAME => 69,
560
+ :ATTENDANCE => 70,
561
+ :PROP_YELLOWCARDS => 71,
562
+ :PROP_REDCARDS => 72,
563
+ :PROP_YELLOWREDCARDS => 73,
564
+ :PROP_SENTOFF => 74,
565
+ :CARDS_NONE_RIGHT => 75,
566
+ :CARDS_NONE_LEFT => 76,
567
+ :CARDS_SEP_ALT => 77,
568
+ :PROP_PENALTIES => 78,
569
+ :PROP => 79,
570
+ :COACH => 80,
571
+ :INLINE_CAPTAIN => 81,
572
+ "(" => 82,
573
+ ")" => 83,
574
+ :INLINE_YELLOW => 84,
575
+ :INLINE_YELLOW_RED => 85,
576
+ :INLINE_RED => 86 }
577
+
578
+ racc_nt_base = 87
579
+
580
+ racc_use_result_var = true
581
+
582
+ Racc_arg = [
583
+ racc_action_table,
584
+ racc_action_check,
585
+ racc_action_default,
586
+ racc_action_pointer,
587
+ racc_goto_table,
588
+ racc_goto_check,
589
+ racc_goto_default,
590
+ racc_goto_pointer,
591
+ racc_nt_base,
592
+ racc_reduce_table,
593
+ racc_token_table,
594
+ racc_shift_n,
595
+ racc_reduce_n,
596
+ racc_use_result_var ]
597
+ Ractor.make_shareable(Racc_arg) if defined?(Ractor)
598
+
599
+ Racc_token_to_s_table = [
600
+ "$end",
601
+ "error",
602
+ "BLANK",
603
+ "H1",
604
+ "NEWLINE",
605
+ "H2",
606
+ "H3",
607
+ "NOTE",
608
+ "NOTA_BENE",
609
+ "\"|\"",
610
+ "\":\"",
611
+ "GROUP_DEF",
612
+ "TEAM",
613
+ "\",\"",
614
+ "ROUND_OUTLINE",
615
+ "ROUND_DEF",
616
+ "DATE",
617
+ "DURATION",
618
+ "YEAR",
619
+ "DATETIME",
620
+ "TIME",
621
+ "DATE_LEGS",
622
+ "\"@\"",
623
+ "GEO",
624
+ "\"-\"",
625
+ "VS",
626
+ "INLINE_NP",
627
+ "INLINE_CANC",
628
+ "INLINE_WO",
629
+ "INLINE_PPD",
630
+ "SCORE_FULL",
631
+ "SCORE_FULLER",
632
+ "SCORE",
633
+ "SCORE_AWD",
634
+ "SCORE_ABD",
635
+ "SCORE_FULLER_MORE",
636
+ "INLINE_AWD",
637
+ "INLINE_ABD",
638
+ "INLINE_VOID",
639
+ "INLINE_SUSP",
640
+ "TEAM_HOME",
641
+ "TEAM_AWAY",
642
+ "TEAM_NEUTRAL",
643
+ "ORD",
644
+ "STATUS",
645
+ "INLINE_ROUND_SHORT",
646
+ "INLINE_ROUND_BIG",
647
+ "INLINE_ATTENDANCE",
648
+ "INLINE_ATTENDANCE_SEP",
649
+ "INLINE_GOALS",
650
+ "GOALS_END",
651
+ "INLINE_BYE",
652
+ "SCORE_LEGS",
653
+ "GOALS",
654
+ "\";\"",
655
+ "GOAL_SEP_ALT",
656
+ "PLAYER",
657
+ "GOAL_COUNT",
658
+ "GOAL_MINUTE_SEP",
659
+ "GOAL_MINUTE",
660
+ "GOALS_ALT",
661
+ "GOAL_TYPE",
662
+ "GOALS_COMPAT",
663
+ "MINUTE",
664
+ "PROP_ATTENDANCE",
665
+ "PROP_NUM",
666
+ "PROP_END",
667
+ "PROP_REFEREE",
668
+ "PROP_NAME",
669
+ "ENCLOSED_NAME",
670
+ "ATTENDANCE",
671
+ "PROP_YELLOWCARDS",
672
+ "PROP_REDCARDS",
673
+ "PROP_YELLOWREDCARDS",
674
+ "PROP_SENTOFF",
675
+ "CARDS_NONE_RIGHT",
676
+ "CARDS_NONE_LEFT",
677
+ "CARDS_SEP_ALT",
678
+ "PROP_PENALTIES",
679
+ "PROP",
680
+ "COACH",
681
+ "INLINE_CAPTAIN",
682
+ "\"(\"",
683
+ "\")\"",
684
+ "INLINE_YELLOW",
685
+ "INLINE_YELLOW_RED",
686
+ "INLINE_RED",
687
+ "$start",
688
+ "document",
689
+ "elements",
690
+ "element",
691
+ "heading",
692
+ "group_def",
693
+ "round_def",
694
+ "round_outline",
695
+ "date_header",
696
+ "match_line_with_header",
697
+ "match_line",
698
+ "date_header_legs",
699
+ "match_line_legs",
700
+ "note_line",
701
+ "nota_bene",
702
+ "goal_lines",
703
+ "goal_lines_alt",
704
+ "goal_lines_compat",
705
+ "lineup_lines",
706
+ "penalties_lines",
707
+ "referee_line",
708
+ "attendance_line",
709
+ "yellowcard_line",
710
+ "redcard_line",
711
+ "yellowredcard_line",
712
+ "sentoff_line",
713
+ "opt_blank_lines",
714
+ "blank_lines",
715
+ "group_def_sep",
716
+ "team_values",
717
+ "round_def_sep",
718
+ "round_date_opts",
719
+ "date",
720
+ "datetime",
721
+ "time",
722
+ "date_datetime",
723
+ "geo",
724
+ "geo_names",
725
+ "match_sep",
726
+ "match_fixture",
727
+ "match_fixture_not_played",
728
+ "match_fixture_postponed",
729
+ "SCORE_FULL_OR_FULLER",
730
+ "match_result",
731
+ "match_fixture_base",
732
+ "match_result_base",
733
+ "ord",
734
+ "opt_ord",
735
+ "status",
736
+ "note",
737
+ "opt_inline_note",
738
+ "inline_round_short",
739
+ "inline_round_big",
740
+ "inline_attendance",
741
+ "opt_inline_attendance",
742
+ "match_header",
743
+ "match_line_header",
744
+ "match",
745
+ "more_match_header_opts",
746
+ "pre_match_opts",
747
+ "more_match_opts",
748
+ "match_bye",
749
+ "goal_lines_body",
750
+ "pre_match1",
751
+ "pre_match2",
752
+ "goals",
753
+ "goals_sep",
754
+ "opt_goal_sep",
755
+ "goal",
756
+ "goal_minutes",
757
+ "opt_goal_minute_sep",
758
+ "goal_minute",
759
+ "goals_alt",
760
+ "goal_alt",
761
+ "goals_compat",
762
+ "goal_compat",
763
+ "referees",
764
+ "attendance_opt",
765
+ "referee",
766
+ "card_body",
767
+ "cards",
768
+ "cards_sep",
769
+ "player_w_minute",
770
+ "opt_card_sep",
771
+ "penalties_body",
772
+ "penalty_sep",
773
+ "penalty",
774
+ "lineup",
775
+ "opt_coach",
776
+ "lineup_sep",
777
+ "lineup_name",
778
+ "opt_captain",
779
+ "opt_inline_cards",
780
+ "opt_lineup_sub",
781
+ "lineup_sub_props",
782
+ "inline_cards",
783
+ "lineup_sub",
784
+ "lineup_sub_contents",
785
+ "inline_yellow",
786
+ "inline_yellow_red",
787
+ "inline_red" ]
788
+ Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
789
+
790
+ Racc_debug_parser = false
791
+
792
+ ##### State transition tables end #####
793
+
794
+ # reduce 0 omitted
795
+
796
+ module_eval(<<'.,.,', 'parser.y', 9)
797
+ def _reduce_1(val, _values, result)
798
+ result = []
799
+ result
800
+ end
801
+ .,.,
802
+
803
+ # reduce 2 omitted
804
+
805
+ # reduce 3 omitted
806
+
807
+ # reduce 4 omitted
808
+
809
+ # reduce 5 omitted
810
+
811
+ # reduce 6 omitted
812
+
813
+ # reduce 7 omitted
814
+
815
+ # reduce 8 omitted
816
+
817
+ # reduce 9 omitted
818
+
819
+ # reduce 10 omitted
820
+
821
+ # reduce 11 omitted
822
+
823
+ # reduce 12 omitted
824
+
825
+ # reduce 13 omitted
826
+
827
+ # reduce 14 omitted
828
+
829
+ # reduce 15 omitted
830
+
831
+ # reduce 16 omitted
832
+
833
+ # reduce 17 omitted
834
+
835
+ # reduce 18 omitted
836
+
837
+ # reduce 19 omitted
838
+
839
+ # reduce 20 omitted
840
+
841
+ # reduce 21 omitted
842
+
843
+ # reduce 22 omitted
844
+
845
+ # reduce 23 omitted
846
+
847
+ # reduce 24 omitted
848
+
849
+ # reduce 25 omitted
850
+
851
+ # reduce 26 omitted
852
+
853
+ module_eval(<<'.,.,', 'parser.y', 54)
854
+ def _reduce_27(val, _values, result)
855
+ ## _trace( "REDUCE BLANK" )
856
+ @tree << BlankLine.new
857
+
858
+ result
859
+ end
860
+ .,.,
861
+
862
+ module_eval(<<'.,.,', 'parser.y', 60)
863
+ def _reduce_28(val, _values, result)
864
+ puts "!! skipping invalid content (trying to recover from parse error):"
865
+ pp val[0]
866
+ ## note - do NOT report recover errors for now
867
+ ## @errors << "parser error (recover) - skipping #{val[0].pretty_inspect}"
868
+
869
+ result
870
+ end
871
+ .,.,
872
+
873
+ module_eval(<<'.,.,', 'parser.y', 71)
874
+ def _reduce_29(val, _values, result)
875
+ @tree << Heading1.new( text: val[0].as_str)
876
+ result
877
+ end
878
+ .,.,
879
+
880
+ module_eval(<<'.,.,', 'parser.y', 72)
881
+ def _reduce_30(val, _values, result)
882
+ @tree << Heading2.new( text: val[0].as_str)
883
+ result
884
+ end
885
+ .,.,
886
+
887
+ module_eval(<<'.,.,', 'parser.y', 73)
888
+ def _reduce_31(val, _values, result)
889
+ @tree << Heading3.new( text: val[0].as_str)
890
+ result
891
+ end
892
+ .,.,
893
+
894
+ module_eval(<<'.,.,', 'parser.y', 77)
895
+ def _reduce_32(val, _values, result)
896
+ @tree << NoteLine.new( text: val[0].as_str)
897
+ result
898
+ end
899
+ .,.,
900
+
901
+ module_eval(<<'.,.,', 'parser.y', 80)
902
+ def _reduce_33(val, _values, result)
903
+ @tree << NotaBene.new( text: val[0].as_str)
904
+ result
905
+ end
906
+ .,.,
907
+
908
+ module_eval(<<'.,.,', 'parser.y', 88)
909
+ def _reduce_34(val, _values, result)
910
+
911
+ result
912
+ end
913
+ .,.,
914
+
915
+ # reduce 35 omitted
916
+
917
+ # reduce 36 omitted
918
+
919
+ # reduce 37 omitted
920
+
921
+ # reduce 38 omitted
922
+
923
+ # reduce 39 omitted
924
+
925
+ module_eval(<<'.,.,', 'parser.y', 110)
926
+ def _reduce_40(val, _values, result)
927
+ @tree << GroupDef.new( name: val[0].as_str,
928
+ teams: val[2] )
929
+
930
+ result
931
+ end
932
+ .,.,
933
+
934
+ module_eval(<<'.,.,', 'parser.y', 115)
935
+ def _reduce_41(val, _values, result)
936
+ result = [val[0].as_str]
937
+ result
938
+ end
939
+ .,.,
940
+
941
+ module_eval(<<'.,.,', 'parser.y', 116)
942
+ def _reduce_42(val, _values, result)
943
+ result.push( val[1].as_str )
944
+ result
945
+ end
946
+ .,.,
947
+
948
+ module_eval(<<'.,.,', 'parser.y', 117)
949
+ def _reduce_43(val, _values, result)
950
+ result.push( val[2].as_str )
951
+ result
952
+ end
953
+ .,.,
954
+
955
+ module_eval(<<'.,.,', 'parser.y', 127)
956
+ def _reduce_44(val, _values, result)
957
+ @tree << RoundOutline.new( **val[0].as_hash )
958
+
959
+ result
960
+ end
961
+ .,.,
962
+
963
+ # reduce 45 omitted
964
+
965
+ # reduce 46 omitted
966
+
967
+ module_eval(<<'.,.,', 'parser.y', 142)
968
+ def _reduce_47(val, _values, result)
969
+ kwargs = { name: val[0].as_str }.merge( val[2] )
970
+ @tree << RoundDef.new( **kwargs )
971
+
972
+ ## auto-add RoundOutline here - why? why not?
973
+ ## or handle "implicit" round_outline
974
+ ## in tree walker?
975
+ @tree << RoundOutline.new( outline: val[0].as_str, level: 1 )
976
+
977
+ result
978
+ end
979
+ .,.,
980
+
981
+ module_eval(<<'.,.,', 'parser.y', 155)
982
+ def _reduce_48(val, _values, result)
983
+ result = { date: val[0].as_hash }
984
+ result
985
+ end
986
+ .,.,
987
+
988
+ module_eval(<<'.,.,', 'parser.y', 156)
989
+ def _reduce_49(val, _values, result)
990
+ result = { duration: val[0].as_hash }
991
+ result
992
+ end
993
+ .,.,
994
+
995
+ module_eval(<<'.,.,', 'parser.y', 166)
996
+ def _reduce_50(val, _values, result)
997
+ result = { date: val[0].as_hash }
998
+ result
999
+ end
1000
+ .,.,
1001
+
1002
+ module_eval(<<'.,.,', 'parser.y', 167)
1003
+ def _reduce_51(val, _values, result)
1004
+ result = { year: val[0].as_int }
1005
+ result
1006
+ end
1007
+ .,.,
1008
+
1009
+ module_eval(<<'.,.,', 'parser.y', 172)
1010
+ def _reduce_52(val, _values, result)
1011
+ result = val[0].as_hash
1012
+ result
1013
+ end
1014
+ .,.,
1015
+
1016
+ module_eval(<<'.,.,', 'parser.y', 175)
1017
+ def _reduce_53(val, _values, result)
1018
+ result = val[0].as_hash
1019
+ result
1020
+ end
1021
+ .,.,
1022
+
1023
+ # reduce 54 omitted
1024
+
1025
+ # reduce 55 omitted
1026
+
1027
+ module_eval(<<'.,.,', 'parser.y', 206)
1028
+ def _reduce_56(val, _values, result)
1029
+ @tree << DateHeader.new( **val[0] )
1030
+
1031
+ result
1032
+ end
1033
+ .,.,
1034
+
1035
+ module_eval(<<'.,.,', 'parser.y', 213)
1036
+ def _reduce_57(val, _values, result)
1037
+ @tree << DateHeaderLegs.new( **val[0].as_hash )
1038
+
1039
+ result
1040
+ end
1041
+ .,.,
1042
+
1043
+ module_eval(<<'.,.,', 'parser.y', 224)
1044
+ def _reduce_58(val, _values, result)
1045
+ result = { geo: val[1] }
1046
+ result
1047
+ end
1048
+ .,.,
1049
+
1050
+ module_eval(<<'.,.,', 'parser.y', 227)
1051
+ def _reduce_59(val, _values, result)
1052
+ result = [val[0].as_str]
1053
+ result
1054
+ end
1055
+ .,.,
1056
+
1057
+ module_eval(<<'.,.,', 'parser.y', 228)
1058
+ def _reduce_60(val, _values, result)
1059
+ result.push( val[2].as_str )
1060
+ result
1061
+ end
1062
+ .,.,
1063
+
1064
+ # reduce 61 omitted
1065
+
1066
+ # reduce 62 omitted
1067
+
1068
+ module_eval(<<'.,.,', 'parser.y', 254)
1069
+ def _reduce_63(val, _values, result)
1070
+ _trace( "RECUDE match_fixture" )
1071
+ result = { team1: val[0].as_str,
1072
+ team2: val[2].as_str }
1073
+
1074
+ result
1075
+ end
1076
+ .,.,
1077
+
1078
+ module_eval(<<'.,.,', 'parser.y', 266)
1079
+ def _reduce_64(val, _values, result)
1080
+ ## note - auto-add (match) status canceled - why? why not?
1081
+ ## A n/p B short (inline) form of =>
1082
+ ## A v B [canceled]
1083
+
1084
+ result = { team1: val[0].as_str,
1085
+ team2: val[2].as_str,
1086
+ status_inline: 'canceled' }
1087
+
1088
+ result
1089
+ end
1090
+ .,.,
1091
+
1092
+ module_eval(<<'.,.,', 'parser.y', 276)
1093
+ def _reduce_65(val, _values, result)
1094
+ result = { team1: val[0].as_str,
1095
+ team2: val[2].as_str,
1096
+ status_inline: 'canceled' }
1097
+
1098
+ result
1099
+ end
1100
+ .,.,
1101
+
1102
+ module_eval(<<'.,.,', 'parser.y', 284)
1103
+ def _reduce_66(val, _values, result)
1104
+ result = { team1: val[0].as_str,
1105
+ team2: val[2].as_str,
1106
+ status_inline: 'walkover' }
1107
+
1108
+ result
1109
+ end
1110
+ .,.,
1111
+
1112
+ module_eval(<<'.,.,', 'parser.y', 292)
1113
+ def _reduce_67(val, _values, result)
1114
+ result = { team1: val[0].as_str,
1115
+ team2: val[2].as_str,
1116
+ status_inline: 'postponed' }
1117
+
1118
+ result
1119
+ end
1120
+ .,.,
1121
+
1122
+ # reduce 68 omitted
1123
+
1124
+ # reduce 69 omitted
1125
+
1126
+ module_eval(<<'.,.,', 'parser.y', 310)
1127
+ def _reduce_70(val, _values, result)
1128
+ _trace( "REDUCE => match_result : TEAM SCORE TEAM" )
1129
+
1130
+ ## note - use/keep generic score (as array!! NOT hash!!!)
1131
+ ## - as array e.g. [1,1] !!
1132
+ result = { team1: val[0].as_str, team2: val[2].as_str,
1133
+ score: val[1].as_ary
1134
+ }
1135
+
1136
+ result
1137
+ end
1138
+ .,.,
1139
+
1140
+ module_eval(<<'.,.,', 'parser.y', 320)
1141
+ def _reduce_71(val, _values, result)
1142
+ result = { team1: val[0].as_str, team2: val[2].as_str,
1143
+ score: val[1].as_ary,
1144
+ status_inline: 'awarded'
1145
+ }
1146
+
1147
+ result
1148
+ end
1149
+ .,.,
1150
+
1151
+ module_eval(<<'.,.,', 'parser.y', 327)
1152
+ def _reduce_72(val, _values, result)
1153
+ result = { team1: val[0].as_str, team2: val[2].as_str,
1154
+ score: val[1].as_ary,
1155
+ status_inline: 'abandoned'
1156
+ }
1157
+
1158
+ result
1159
+ end
1160
+ .,.,
1161
+
1162
+ module_eval(<<'.,.,', 'parser.y', 334)
1163
+ def _reduce_73(val, _values, result)
1164
+ _trace( "REDUCE => match_result : TEAM SCORE TEAM SCORE_FULLER_MORE" )
1165
+ score = if val[3].as_hash[:score] &&
1166
+ val[3].as_hash[:score]=='et' ## check aet flag present?
1167
+ val[3].as_hash.delete( :score ) ## note - remove/delete flag
1168
+ { et: val[1].as_ary }
1169
+ elsif val[3].as_hash[:score] &&
1170
+ val[3].as_hash[:score]=='ht' ## check ht flag present?
1171
+ val[3].as_hash.delete( :score ) ## note - remove/delete flag
1172
+ { ht: val[1].as_ary }
1173
+ elsif val[3].as_hash[:score] &&
1174
+ val[3].as_hash[:score]=='ft' ## check ft flag present?
1175
+ val[3].as_hash.delete( :score ) ## note - remove/delete flag
1176
+ { ft: val[1].as_ary }
1177
+ else ## assume full-time (ft)
1178
+ { ft: val[1].as_ary }
1179
+ end
1180
+
1181
+ result = { team1: val[0].as_str,
1182
+ team2: val[2].as_str,
1183
+ score: score.merge( val[3].as_hash )
1184
+ }
1185
+
1186
+ result
1187
+ end
1188
+ .,.,
1189
+
1190
+ module_eval(<<'.,.,', 'parser.y', 358)
1191
+ def _reduce_74(val, _values, result)
1192
+ result = { team1: val[0].as_str,
1193
+ team2: val[2].as_str,
1194
+ score: val[1].as_hash
1195
+ }
1196
+
1197
+ result
1198
+ end
1199
+ .,.,
1200
+
1201
+ module_eval(<<'.,.,', 'parser.y', 372)
1202
+ def _reduce_75(val, _values, result)
1203
+ _trace( "REDUCE => match_result : match_fixture SCORE" )
1204
+ ## note - use/keep generic score (as array!! NOT hash!!!)
1205
+ ## - as array e.g. [1,1] !!
1206
+ result = { score: val[1].as_ary }.merge( val[0] )
1207
+
1208
+ result
1209
+ end
1210
+ .,.,
1211
+
1212
+ module_eval(<<'.,.,', 'parser.y', 379)
1213
+ def _reduce_76(val, _values, result)
1214
+ _trace( "REDUCE => match_result : match_fixture SCORE_FULL_OR_FULLER" )
1215
+ result = { score: val[1].as_hash }.merge( val[0] )
1216
+
1217
+ result
1218
+ end
1219
+ .,.,
1220
+
1221
+ module_eval(<<'.,.,', 'parser.y', 391)
1222
+ def _reduce_77(val, _values, result)
1223
+ result = { team1: val[0].as_str, team2: val[2].as_str,
1224
+ status_inline: 'awarded'
1225
+ }
1226
+
1227
+ result
1228
+ end
1229
+ .,.,
1230
+
1231
+ module_eval(<<'.,.,', 'parser.y', 397)
1232
+ def _reduce_78(val, _values, result)
1233
+ result = { team1: val[0].as_str, team2: val[2].as_str,
1234
+ status_inline: 'abandoned'
1235
+ }
1236
+
1237
+ result
1238
+ end
1239
+ .,.,
1240
+
1241
+ module_eval(<<'.,.,', 'parser.y', 403)
1242
+ def _reduce_79(val, _values, result)
1243
+ result = { team1: val[0].as_str, team2: val[2].as_str,
1244
+ status_inline: 'annulled'
1245
+ }
1246
+
1247
+ result
1248
+ end
1249
+ .,.,
1250
+
1251
+ module_eval(<<'.,.,', 'parser.y', 409)
1252
+ def _reduce_80(val, _values, result)
1253
+ result = { team1: val[0].as_str, team2: val[2].as_str,
1254
+ status_inline: 'suspended'
1255
+ }
1256
+
1257
+ result
1258
+ end
1259
+ .,.,
1260
+
1261
+ module_eval(<<'.,.,', 'parser.y', 423)
1262
+ def _reduce_81(val, _values, result)
1263
+ result = { team1: '_', team2: val[1].as_str }
1264
+ result
1265
+ end
1266
+ .,.,
1267
+
1268
+ module_eval(<<'.,.,', 'parser.y', 424)
1269
+ def _reduce_82(val, _values, result)
1270
+ result = { team1: val[1].as_str, team2: '_' }
1271
+ result
1272
+ end
1273
+ .,.,
1274
+
1275
+ module_eval(<<'.,.,', 'parser.y', 425)
1276
+ def _reduce_83(val, _values, result)
1277
+ result = { team1: '_', team2: val[1].as_str,
1278
+ neutral: true }
1279
+ result
1280
+ end
1281
+ .,.,
1282
+
1283
+ module_eval(<<'.,.,', 'parser.y', 432)
1284
+ def _reduce_84(val, _values, result)
1285
+ _trace( "REDUCE => match_result_base : match_fixture_base SCORE" )
1286
+ ## note - use/keep generic score (as array!! NOT hash!!!)
1287
+ ## - as array e.g. [1,1] !!
1288
+ result = { score: val[1].as_ary }.merge( val[0] )
1289
+
1290
+ result
1291
+ end
1292
+ .,.,
1293
+
1294
+ module_eval(<<'.,.,', 'parser.y', 439)
1295
+ def _reduce_85(val, _values, result)
1296
+ _trace( "REDUCE => match_result_base : match_fixture_base SCORE_FULL_OR_FULLER" )
1297
+ result = { score: val[1].as_hash }.merge( val[0] )
1298
+
1299
+ result
1300
+ end
1301
+ .,.,
1302
+
1303
+ module_eval(<<'.,.,', 'parser.y', 449)
1304
+ def _reduce_86(val, _values, result)
1305
+ result = { num: val[0].as_int }
1306
+ result
1307
+ end
1308
+ .,.,
1309
+
1310
+ module_eval(<<'.,.,', 'parser.y', 452)
1311
+ def _reduce_87(val, _values, result)
1312
+ result = {}
1313
+ result
1314
+ end
1315
+ .,.,
1316
+
1317
+ # reduce 88 omitted
1318
+
1319
+ module_eval(<<'.,.,', 'parser.y', 461)
1320
+ def _reduce_89(val, _values, result)
1321
+ result = val[0].as_hash
1322
+ result
1323
+ end
1324
+ .,.,
1325
+
1326
+ module_eval(<<'.,.,', 'parser.y', 463)
1327
+ def _reduce_90(val, _values, result)
1328
+ result = { note: val[0].as_str }
1329
+ result
1330
+ end
1331
+ .,.,
1332
+
1333
+ module_eval(<<'.,.,', 'parser.y', 466)
1334
+ def _reduce_91(val, _values, result)
1335
+ result = {}
1336
+ result
1337
+ end
1338
+ .,.,
1339
+
1340
+ # reduce 92 omitted
1341
+
1342
+ module_eval(<<'.,.,', 'parser.y', 470)
1343
+ def _reduce_93(val, _values, result)
1344
+ result = { round_inline_short: val[0].as_str }
1345
+ result
1346
+ end
1347
+ .,.,
1348
+
1349
+ module_eval(<<'.,.,', 'parser.y', 471)
1350
+ def _reduce_94(val, _values, result)
1351
+ result = { round_inline_big: val[0].as_str }
1352
+ result
1353
+ end
1354
+ .,.,
1355
+
1356
+ module_eval(<<'.,.,', 'parser.y', 484)
1357
+ def _reduce_95(val, _values, result)
1358
+ result = { att: val[0].as_hash[:value] }
1359
+
1360
+ result
1361
+ end
1362
+ .,.,
1363
+
1364
+ module_eval(<<'.,.,', 'parser.y', 488)
1365
+ def _reduce_96(val, _values, result)
1366
+ result = { att: val[1].as_hash[:value] }
1367
+
1368
+ result
1369
+ end
1370
+ .,.,
1371
+
1372
+ module_eval(<<'.,.,', 'parser.y', 492)
1373
+ def _reduce_97(val, _values, result)
1374
+ result = {}
1375
+ result
1376
+ end
1377
+ .,.,
1378
+
1379
+ # reduce 98 omitted
1380
+
1381
+ module_eval(<<'.,.,', 'parser.y', 509)
1382
+ def _reduce_99(val, _values, result)
1383
+ ## note - header flag (header: true)
1384
+ ## used downstream for scope / e.g. DateHeader merge/inheritance or such
1385
+ kwargs = { header: true }.merge( val[0], val[2] )
1386
+ @tree << MatchLine.new( **kwargs )
1387
+
1388
+ result
1389
+ end
1390
+ .,.,
1391
+
1392
+ module_eval(<<'.,.,', 'parser.y', 524)
1393
+ def _reduce_100(val, _values, result)
1394
+ result = {}.merge( val[0], val[1], val[2] )
1395
+
1396
+ result
1397
+ end
1398
+ .,.,
1399
+
1400
+ module_eval(<<'.,.,', 'parser.y', 530)
1401
+ def _reduce_101(val, _values, result)
1402
+ result = {}.merge( val[0], val[1], val[2] )
1403
+
1404
+ result
1405
+ end
1406
+ .,.,
1407
+
1408
+ module_eval(<<'.,.,', 'parser.y', 536)
1409
+ def _reduce_102(val, _values, result)
1410
+ result = {}.merge( val[0], val[1] )
1411
+
1412
+ result
1413
+ end
1414
+ .,.,
1415
+
1416
+ module_eval(<<'.,.,', 'parser.y', 542)
1417
+ def _reduce_103(val, _values, result)
1418
+ result = {}.merge( val[0], val[1], val[2] )
1419
+
1420
+ result
1421
+ end
1422
+ .,.,
1423
+
1424
+ module_eval(<<'.,.,', 'parser.y', 550)
1425
+ def _reduce_104(val, _values, result)
1426
+ result = {}
1427
+ result
1428
+ end
1429
+ .,.,
1430
+
1431
+ # reduce 105 omitted
1432
+
1433
+ # reduce 106 omitted
1434
+
1435
+ module_eval(<<'.,.,', 'parser.y', 563)
1436
+ def _reduce_107(val, _values, result)
1437
+ kwargs = {}.merge( val[0], val[1], val[2] )
1438
+ @tree << MatchLine.new( **kwargs )
1439
+
1440
+ result
1441
+ end
1442
+ .,.,
1443
+
1444
+ module_eval(<<'.,.,', 'parser.y', 568)
1445
+ def _reduce_108(val, _values, result)
1446
+ kwargs = {}.merge( val[0], val[1] )
1447
+ @tree << MatchLine.new( **kwargs )
1448
+
1449
+ result
1450
+ end
1451
+ .,.,
1452
+
1453
+ module_eval(<<'.,.,', 'parser.y', 575)
1454
+ def _reduce_109(val, _values, result)
1455
+ kwargs = {}.merge( val[0], val[1] )
1456
+ @tree << MatchLineBye.new( **kwargs )
1457
+
1458
+ result
1459
+ end
1460
+ .,.,
1461
+
1462
+ module_eval(<<'.,.,', 'parser.y', 588)
1463
+ def _reduce_110(val, _values, result)
1464
+ @tree << MatchLine.new( **val[0] )
1465
+
1466
+ @tree << GoalLine.new( goals: val[2] )
1467
+
1468
+ result
1469
+ end
1470
+ .,.,
1471
+
1472
+ # reduce 111 omitted
1473
+
1474
+ module_eval(<<'.,.,', 'parser.y', 609)
1475
+ def _reduce_112(val, _values, result)
1476
+ result = {}.merge( val[0], val[1])
1477
+ result
1478
+ end
1479
+ .,.,
1480
+
1481
+ # reduce 113 omitted
1482
+
1483
+ # reduce 114 omitted
1484
+
1485
+ module_eval(<<'.,.,', 'parser.y', 614)
1486
+ def _reduce_115(val, _values, result)
1487
+ result = {}.merge( val[0], val[1])
1488
+ result
1489
+ end
1490
+ .,.,
1491
+
1492
+ # reduce 116 omitted
1493
+
1494
+ module_eval(<<'.,.,', 'parser.y', 616)
1495
+ def _reduce_117(val, _values, result)
1496
+ result = {}.merge( val[0], val[1])
1497
+ result
1498
+ end
1499
+ .,.,
1500
+
1501
+ # reduce 118 omitted
1502
+
1503
+ # reduce 119 omitted
1504
+
1505
+ module_eval(<<'.,.,', 'parser.y', 621)
1506
+ def _reduce_120(val, _values, result)
1507
+ result = {}.merge( val[0], val[1])
1508
+ result
1509
+ end
1510
+ .,.,
1511
+
1512
+ # reduce 121 omitted
1513
+
1514
+ module_eval(<<'.,.,', 'parser.y', 632)
1515
+ def _reduce_122(val, _values, result)
1516
+ result = {}
1517
+ result
1518
+ end
1519
+ .,.,
1520
+
1521
+ # reduce 123 omitted
1522
+
1523
+ module_eval(<<'.,.,', 'parser.y', 636)
1524
+ def _reduce_124(val, _values, result)
1525
+ result = {}.merge( val[0], val[1], val[2] )
1526
+
1527
+ result
1528
+ end
1529
+ .,.,
1530
+
1531
+ module_eval(<<'.,.,', 'parser.y', 640)
1532
+ def _reduce_125(val, _values, result)
1533
+ result = {}.merge( val[0], val[1], val[2] )
1534
+
1535
+ result
1536
+ end
1537
+ .,.,
1538
+
1539
+ # reduce 126 omitted
1540
+
1541
+ # reduce 127 omitted
1542
+
1543
+ # reduce 128 omitted
1544
+
1545
+ # reduce 129 omitted
1546
+
1547
+ # reduce 130 omitted
1548
+
1549
+ # reduce 131 omitted
1550
+
1551
+ # reduce 132 omitted
1552
+
1553
+ # reduce 133 omitted
1554
+
1555
+ module_eval(<<'.,.,', 'parser.y', 669)
1556
+ def _reduce_134(val, _values, result)
1557
+ result = { team: val[0].as_str }
1558
+
1559
+ result
1560
+ end
1561
+ .,.,
1562
+
1563
+ module_eval(<<'.,.,', 'parser.y', 686)
1564
+ def _reduce_135(val, _values, result)
1565
+ kwargs = { score: val[1].as_hash }.merge( val[0] )
1566
+ @tree << MatchLineLegs.new( **kwargs )
1567
+
1568
+ result
1569
+ end
1570
+ .,.,
1571
+
1572
+ module_eval(<<'.,.,', 'parser.y', 727)
1573
+ def _reduce_136(val, _values, result)
1574
+ @tree << GoalLine.new( goals: val[1] )
1575
+
1576
+ result
1577
+ end
1578
+ .,.,
1579
+
1580
+ module_eval(<<'.,.,', 'parser.y', 738)
1581
+ def _reduce_137(val, _values, result)
1582
+ result = val[0]
1583
+ result
1584
+ end
1585
+ .,.,
1586
+
1587
+ module_eval(<<'.,.,', 'parser.y', 739)
1588
+ def _reduce_138(val, _values, result)
1589
+ result = [val[0],val[2]]
1590
+ result
1591
+ end
1592
+ .,.,
1593
+
1594
+ # reduce 139 omitted
1595
+
1596
+ # reduce 140 omitted
1597
+
1598
+ # reduce 141 omitted
1599
+
1600
+ # reduce 142 omitted
1601
+
1602
+ # reduce 143 omitted
1603
+
1604
+ # reduce 144 omitted
1605
+
1606
+ # reduce 145 omitted
1607
+
1608
+ # reduce 146 omitted
1609
+
1610
+ module_eval(<<'.,.,', 'parser.y', 753)
1611
+ def _reduce_147(val, _values, result)
1612
+ result = val
1613
+ result
1614
+ end
1615
+ .,.,
1616
+
1617
+ module_eval(<<'.,.,', 'parser.y', 754)
1618
+ def _reduce_148(val, _values, result)
1619
+ result.push( val[2])
1620
+ result
1621
+ end
1622
+ .,.,
1623
+
1624
+ module_eval(<<'.,.,', 'parser.y', 765)
1625
+ def _reduce_149(val, _values, result)
1626
+ result = Goal.new( player: val[0].as_str,
1627
+ minutes: val[1] )
1628
+
1629
+ result
1630
+ end
1631
+ .,.,
1632
+
1633
+ module_eval(<<'.,.,', 'parser.y', 770)
1634
+ def _reduce_150(val, _values, result)
1635
+ ### todo/check:
1636
+ ## auto convert/expand
1637
+ ## count to minutes - why? why not?
1638
+ ## todo/fix - pass in empty minutes ary [] - why? why not?
1639
+ result = Goal.new( player: val[0].as_str,
1640
+ count: val[1].as_hash )
1641
+
1642
+ result
1643
+ end
1644
+ .,.,
1645
+
1646
+ module_eval(<<'.,.,', 'parser.y', 779)
1647
+ def _reduce_151(val, _values, result)
1648
+ result = Goal.new( player: val[0].as_str,
1649
+ minutes: [] )
1650
+
1651
+ result
1652
+ end
1653
+ .,.,
1654
+
1655
+ module_eval(<<'.,.,', 'parser.y', 786)
1656
+ def _reduce_152(val, _values, result)
1657
+
1658
+ result
1659
+ end
1660
+ .,.,
1661
+
1662
+ # reduce 153 omitted
1663
+
1664
+ module_eval(<<'.,.,', 'parser.y', 789)
1665
+ def _reduce_154(val, _values, result)
1666
+ result = val
1667
+ result
1668
+ end
1669
+ .,.,
1670
+
1671
+ module_eval(<<'.,.,', 'parser.y', 790)
1672
+ def _reduce_155(val, _values, result)
1673
+ result.push( val[2])
1674
+ result
1675
+ end
1676
+ .,.,
1677
+
1678
+ module_eval(<<'.,.,', 'parser.y', 794)
1679
+ def _reduce_156(val, _values, result)
1680
+ result = GoalMinute.new( **val[0].as_hash )
1681
+
1682
+ result
1683
+ end
1684
+ .,.,
1685
+
1686
+ module_eval(<<'.,.,', 'parser.y', 811)
1687
+ def _reduce_157(val, _values, result)
1688
+ @tree << GoalLineAlt.new( goals: val[1] )
1689
+
1690
+ result
1691
+ end
1692
+ .,.,
1693
+
1694
+ module_eval(<<'.,.,', 'parser.y', 819)
1695
+ def _reduce_158(val, _values, result)
1696
+ result = val
1697
+ result
1698
+ end
1699
+ .,.,
1700
+
1701
+ module_eval(<<'.,.,', 'parser.y', 821)
1702
+ def _reduce_159(val, _values, result)
1703
+ result.push( val[2])
1704
+ result
1705
+ end
1706
+ .,.,
1707
+
1708
+ module_eval(<<'.,.,', 'parser.y', 829)
1709
+ def _reduce_160(val, _values, result)
1710
+ result = GoalAlt.new( score: val[0].as_ary,
1711
+ player: val[1].as_str )
1712
+
1713
+ result
1714
+ end
1715
+ .,.,
1716
+
1717
+ module_eval(<<'.,.,', 'parser.y', 834)
1718
+ def _reduce_161(val, _values, result)
1719
+ goal_minute = GoalMinute.new( **val[2].as_hash )
1720
+
1721
+ result = GoalAlt.new( score: val[0].as_ary,
1722
+ player: val[1].as_str,
1723
+ minute: goal_minute.to_minute,
1724
+ goal_type: goal_minute.to_goal_type )
1725
+
1726
+ result
1727
+ end
1728
+ .,.,
1729
+
1730
+ module_eval(<<'.,.,', 'parser.y', 843)
1731
+ def _reduce_162(val, _values, result)
1732
+ result = GoalAlt.new( score: val[0].as_ary,
1733
+ player: val[1].as_str,
1734
+ goal_type: GoalType.new( **val[2].as_hash ))
1735
+
1736
+ result
1737
+ end
1738
+ .,.,
1739
+
1740
+ module_eval(<<'.,.,', 'parser.y', 853)
1741
+ def _reduce_163(val, _values, result)
1742
+ result = GoalAlt.new( player: val[0].as_str,
1743
+ score: val[1].as_ary )
1744
+
1745
+ result
1746
+ end
1747
+ .,.,
1748
+
1749
+ module_eval(<<'.,.,', 'parser.y', 858)
1750
+ def _reduce_164(val, _values, result)
1751
+ goal_minute = GoalMinute.new( **val[1].as_hash )
1752
+
1753
+ result = GoalAlt.new( player: val[0].as_str,
1754
+ minute: goal_minute.to_minute,
1755
+ goal_type: goal_minute.to_goal_type,
1756
+ score: val[2].as_ary )
1757
+
1758
+ result
1759
+ end
1760
+ .,.,
1761
+
1762
+ module_eval(<<'.,.,', 'parser.y', 867)
1763
+ def _reduce_165(val, _values, result)
1764
+ result = GoalAlt.new( player: val[0].as_str,
1765
+ goal_type: GoalType.new( **val[1].as_hash ),
1766
+ score: val[2].as_ary )
1767
+
1768
+ result
1769
+ end
1770
+ .,.,
1771
+
1772
+ module_eval(<<'.,.,', 'parser.y', 881)
1773
+ def _reduce_166(val, _values, result)
1774
+ @tree << GoalLineCompat.new( goals: val[1] )
1775
+
1776
+ result
1777
+ end
1778
+ .,.,
1779
+
1780
+ module_eval(<<'.,.,', 'parser.y', 885)
1781
+ def _reduce_167(val, _values, result)
1782
+ result = val
1783
+ result
1784
+ end
1785
+ .,.,
1786
+
1787
+ module_eval(<<'.,.,', 'parser.y', 887)
1788
+ def _reduce_168(val, _values, result)
1789
+ result.push( val[2])
1790
+ result
1791
+ end
1792
+ .,.,
1793
+
1794
+ module_eval(<<'.,.,', 'parser.y', 895)
1795
+ def _reduce_169(val, _values, result)
1796
+ result = GoalCompat.new( minute: Minute.new(**val[0].as_hash),
1797
+ player: val[1].as_str,
1798
+ score: val[2].as_ary )
1799
+
1800
+ result
1801
+ end
1802
+ .,.,
1803
+
1804
+ module_eval(<<'.,.,', 'parser.y', 901)
1805
+ def _reduce_170(val, _values, result)
1806
+ result = GoalCompat.new( minute: Minute.new(**val[0].as_hash),
1807
+ player: val[1].as_str,
1808
+ goal_type: GoalType.new( **val[2].as_hash ),
1809
+ score: val[3].as_ary )
1810
+
1811
+ result
1812
+ end
1813
+ .,.,
1814
+
1815
+ module_eval(<<'.,.,', 'parser.y', 908)
1816
+ def _reduce_171(val, _values, result)
1817
+ result = GoalCompat.new( minute: Minute.new(**val[0].as_hash),
1818
+ score: val[1].as_ary,
1819
+ player: val[2].as_str )
1820
+
1821
+ result
1822
+ end
1823
+ .,.,
1824
+
1825
+ module_eval(<<'.,.,', 'parser.y', 914)
1826
+ def _reduce_172(val, _values, result)
1827
+ result = GoalCompat.new( minute: Minute.new(**val[0].as_hash),
1828
+ score: val[1].as_ary,
1829
+ player: val[2].as_str,
1830
+ goal_type: GoalType.new( **val[3].as_hash ))
1831
+
1832
+ result
1833
+ end
1834
+ .,.,
1835
+
1836
+ module_eval(<<'.,.,', 'parser.y', 951)
1837
+ def _reduce_173(val, _values, result)
1838
+ @tree << AttendanceLine.new( att: val[1].as_int )
1839
+
1840
+ result
1841
+ end
1842
+ .,.,
1843
+
1844
+ module_eval(<<'.,.,', 'parser.y', 961)
1845
+ def _reduce_174(val, _values, result)
1846
+ @tree << RefereeLine.new( referees: val[1] )
1847
+
1848
+ result
1849
+ end
1850
+ .,.,
1851
+
1852
+ module_eval(<<'.,.,', 'parser.y', 964)
1853
+ def _reduce_175(val, _values, result)
1854
+ result = val
1855
+ result
1856
+ end
1857
+ .,.,
1858
+
1859
+ module_eval(<<'.,.,', 'parser.y', 965)
1860
+ def _reduce_176(val, _values, result)
1861
+ result.push( val[2] )
1862
+ result
1863
+ end
1864
+ .,.,
1865
+
1866
+ module_eval(<<'.,.,', 'parser.y', 968)
1867
+ def _reduce_177(val, _values, result)
1868
+ result = Referee.new( name: val[0].as_str )
1869
+ result
1870
+ end
1871
+ .,.,
1872
+
1873
+ module_eval(<<'.,.,', 'parser.y', 970)
1874
+ def _reduce_178(val, _values, result)
1875
+ result = Referee.new( name: val[0].as_str, country: val[1].as_str )
1876
+ result
1877
+ end
1878
+ .,.,
1879
+
1880
+ # reduce 179 omitted
1881
+
1882
+ module_eval(<<'.,.,', 'parser.y', 976)
1883
+ def _reduce_180(val, _values, result)
1884
+ @tree << AttendanceLine.new( att: val[2].as_int )
1885
+
1886
+ result
1887
+ end
1888
+ .,.,
1889
+
1890
+ module_eval(<<'.,.,', 'parser.y', 984)
1891
+ def _reduce_181(val, _values, result)
1892
+ @tree << CardsLine.new( type: 'Y', bookings: val[1] )
1893
+
1894
+ result
1895
+ end
1896
+ .,.,
1897
+
1898
+ module_eval(<<'.,.,', 'parser.y', 988)
1899
+ def _reduce_182(val, _values, result)
1900
+ @tree << CardsLine.new( type: 'R', bookings: val[1] )
1901
+
1902
+ result
1903
+ end
1904
+ .,.,
1905
+
1906
+ module_eval(<<'.,.,', 'parser.y', 992)
1907
+ def _reduce_183(val, _values, result)
1908
+ @tree << CardsLine.new( type: 'Y/R', bookings: val[1] )
1909
+
1910
+ result
1911
+ end
1912
+ .,.,
1913
+
1914
+ module_eval(<<'.,.,', 'parser.y', 998)
1915
+ def _reduce_184(val, _values, result)
1916
+ @tree << CardsLine.new( type: 'SENTOFF', bookings: val[1] )
1917
+
1918
+ result
1919
+ end
1920
+ .,.,
1921
+
1922
+ module_eval(<<'.,.,', 'parser.y', 1007)
1923
+ def _reduce_185(val, _values, result)
1924
+ result = val[0]
1925
+ result
1926
+ end
1927
+ .,.,
1928
+
1929
+ module_eval(<<'.,.,', 'parser.y', 1008)
1930
+ def _reduce_186(val, _values, result)
1931
+ result = [val[0], []]
1932
+ result
1933
+ end
1934
+ .,.,
1935
+
1936
+ module_eval(<<'.,.,', 'parser.y', 1009)
1937
+ def _reduce_187(val, _values, result)
1938
+ result = [[], val[1]]
1939
+ result
1940
+ end
1941
+ .,.,
1942
+
1943
+ module_eval(<<'.,.,', 'parser.y', 1010)
1944
+ def _reduce_188(val, _values, result)
1945
+ result = [val[0], val[2]]
1946
+ result
1947
+ end
1948
+ .,.,
1949
+
1950
+ # reduce 189 omitted
1951
+
1952
+ # reduce 190 omitted
1953
+
1954
+ # reduce 191 omitted
1955
+
1956
+ # reduce 192 omitted
1957
+
1958
+ module_eval(<<'.,.,', 'parser.y', 1020)
1959
+ def _reduce_193(val, _values, result)
1960
+ result = val
1961
+ result
1962
+ end
1963
+ .,.,
1964
+
1965
+ module_eval(<<'.,.,', 'parser.y', 1023)
1966
+ def _reduce_194(val, _values, result)
1967
+ result.push( val[2] )
1968
+
1969
+ result
1970
+ end
1971
+ .,.,
1972
+
1973
+ # reduce 195 omitted
1974
+
1975
+ # reduce 196 omitted
1976
+
1977
+ # reduce 197 omitted
1978
+
1979
+ module_eval(<<'.,.,', 'parser.y', 1032)
1980
+ def _reduce_198(val, _values, result)
1981
+ result = Booking.new( name: val[0].as_str )
1982
+ result
1983
+ end
1984
+ .,.,
1985
+
1986
+ module_eval(<<'.,.,', 'parser.y', 1034)
1987
+ def _reduce_199(val, _values, result)
1988
+ result = Booking.new( name: val[0].as_str,
1989
+ minute: Minute.new(**val[1].as_hash) )
1990
+ result
1991
+ end
1992
+ .,.,
1993
+
1994
+ module_eval(<<'.,.,', 'parser.y', 1041)
1995
+ def _reduce_200(val, _values, result)
1996
+ @tree << PenaltiesLine.new( penalties: val[1] )
1997
+
1998
+ result
1999
+ end
2000
+ .,.,
2001
+
2002
+ # reduce 201 omitted
2003
+
2004
+ # reduce 202 omitted
2005
+
2006
+ module_eval(<<'.,.,', 'parser.y', 1049)
2007
+ def _reduce_203(val, _values, result)
2008
+ result = val
2009
+ result
2010
+ end
2011
+ .,.,
2012
+
2013
+ module_eval(<<'.,.,', 'parser.y', 1050)
2014
+ def _reduce_204(val, _values, result)
2015
+ result.push( val[2] )
2016
+ result
2017
+ end
2018
+ .,.,
2019
+
2020
+ module_eval(<<'.,.,', 'parser.y', 1056)
2021
+ def _reduce_205(val, _values, result)
2022
+ result = Penalty.new( score: val[0].as_ary,
2023
+ name: val[1].as_str )
2024
+
2025
+ result
2026
+ end
2027
+ .,.,
2028
+
2029
+ module_eval(<<'.,.,', 'parser.y', 1061)
2030
+ def _reduce_206(val, _values, result)
2031
+ result = Penalty.new( score: val[0].as_ary,
2032
+ name: val[1].as_str,
2033
+ note: val[2].as_str )
2034
+
2035
+ result
2036
+ end
2037
+ .,.,
2038
+
2039
+ module_eval(<<'.,.,', 'parser.y', 1067)
2040
+ def _reduce_207(val, _values, result)
2041
+ result = Penalty.new( name: val[0].as_str )
2042
+
2043
+ result
2044
+ end
2045
+ .,.,
2046
+
2047
+ module_eval(<<'.,.,', 'parser.y', 1071)
2048
+ def _reduce_208(val, _values, result)
2049
+ result = Penalty.new( name: val[0].as_str,
2050
+ note: val[1].as_str )
2051
+
2052
+ result
2053
+ end
2054
+ .,.,
2055
+
2056
+ module_eval(<<'.,.,', 'parser.y', 1083)
2057
+ def _reduce_209(val, _values, result)
2058
+ kwargs = { team: val[0].as_str,
2059
+ lineup: val[1] }.merge( val[2] )
2060
+ @tree << LineupLine.new( **kwargs )
2061
+
2062
+ result
2063
+ end
2064
+ .,.,
2065
+
2066
+ module_eval(<<'.,.,', 'parser.y', 1092)
2067
+ def _reduce_210(val, _values, result)
2068
+ result = {}
2069
+ result
2070
+ end
2071
+ .,.,
2072
+
2073
+ module_eval(<<'.,.,', 'parser.y', 1094)
2074
+ def _reduce_211(val, _values, result)
2075
+ result = { coach: val[2].as_str }
2076
+ result
2077
+ end
2078
+ .,.,
2079
+
2080
+ module_eval(<<'.,.,', 'parser.y', 1096)
2081
+ def _reduce_212(val, _values, result)
2082
+ result = { coach: val[3].as_str }
2083
+ result
2084
+ end
2085
+ .,.,
2086
+
2087
+ module_eval(<<'.,.,', 'parser.y', 1098)
2088
+ def _reduce_213(val, _values, result)
2089
+ result = { coach: val[2].as_str }
2090
+ result
2091
+ end
2092
+ .,.,
2093
+
2094
+ module_eval(<<'.,.,', 'parser.y', 1100)
2095
+ def _reduce_214(val, _values, result)
2096
+ result = { coach: val[3].as_str }
2097
+ result
2098
+ end
2099
+ .,.,
2100
+
2101
+ module_eval(<<'.,.,', 'parser.y', 1104)
2102
+ def _reduce_215(val, _values, result)
2103
+ result = ','
2104
+ result
2105
+ end
2106
+ .,.,
2107
+
2108
+ module_eval(<<'.,.,', 'parser.y', 1105)
2109
+ def _reduce_216(val, _values, result)
2110
+ result = ','
2111
+ result
2112
+ end
2113
+ .,.,
2114
+
2115
+ module_eval(<<'.,.,', 'parser.y', 1106)
2116
+ def _reduce_217(val, _values, result)
2117
+ result = '-'
2118
+ result
2119
+ end
2120
+ .,.,
2121
+
2122
+ module_eval(<<'.,.,', 'parser.y', 1107)
2123
+ def _reduce_218(val, _values, result)
2124
+ result = '-'
2125
+ result
2126
+ end
2127
+ .,.,
2128
+
2129
+ module_eval(<<'.,.,', 'parser.y', 1112)
2130
+ def _reduce_219(val, _values, result)
2131
+ ## note - value must be DOUBLE [[]] nested in array
2132
+ ## allows formations (e.g. 4-3-3 or such)
2133
+ ## via dash (-) separator, see below!
2134
+ result = [[val[0]]]
2135
+
2136
+ result
2137
+ end
2138
+ .,.,
2139
+
2140
+ module_eval(<<'.,.,', 'parser.y', 1119)
2141
+ def _reduce_220(val, _values, result)
2142
+ ## note - if lineup_sep is dash (-) start a new sub array!!
2143
+ if val[1] == '-'
2144
+ result << [val[2]]
2145
+ else
2146
+ result[-1] << val[2]
2147
+ end
2148
+
2149
+ result
2150
+ end
2151
+ .,.,
2152
+
2153
+ module_eval(<<'.,.,', 'parser.y', 1130)
2154
+ def _reduce_221(val, _values, result)
2155
+ kwargs = { name: val[0].as_str }.merge( val[1], val[2], val[3] )
2156
+ result = Lineup.new( **kwargs )
2157
+
2158
+ result
2159
+ end
2160
+ .,.,
2161
+
2162
+ module_eval(<<'.,.,', 'parser.y', 1137)
2163
+ def _reduce_222(val, _values, result)
2164
+ result = {}
2165
+ result
2166
+ end
2167
+ .,.,
2168
+
2169
+ module_eval(<<'.,.,', 'parser.y', 1138)
2170
+ def _reduce_223(val, _values, result)
2171
+ result = { captain: true }
2172
+ result
2173
+ end
2174
+ .,.,
2175
+
2176
+ module_eval(<<'.,.,', 'parser.y', 1161)
2177
+ def _reduce_224(val, _values, result)
2178
+ _trace( "REDUCE => lineup_sub_props : PROP_NAME opt_cards" )
2179
+ result = { name: val[0].as_str }.merge( val[1] )
2180
+
2181
+ result
2182
+ end
2183
+ .,.,
2184
+
2185
+ module_eval(<<'.,.,', 'parser.y', 1168)
2186
+ def _reduce_225(val, _values, result)
2187
+ _trace( "REDUCE => lineup_sub_props : PROP_NAME MINUTE opt_cards" )
2188
+ result = { name: val[0].as_str,
2189
+ minute: Minute.new( **val[1].as_hash )
2190
+ }.merge( val[2])
2191
+
2192
+ result
2193
+ end
2194
+ .,.,
2195
+
2196
+ module_eval(<<'.,.,', 'parser.y', 1178)
2197
+ def _reduce_226(val, _values, result)
2198
+ _trace( "REDUCE => lineup_sub_props : PROP_NAME cards MINUTE" )
2199
+ result = { name: val[0].as_str,
2200
+ minute: Minute.new( **val[2].as_hash ),
2201
+ cards: val[1]
2202
+ }
2203
+
2204
+ result
2205
+ end
2206
+ .,.,
2207
+
2208
+ module_eval(<<'.,.,', 'parser.y', 1189)
2209
+ def _reduce_227(val, _values, result)
2210
+ _trace( "REDUCE => lineup_sub_props : MINUTE PROP_NAME opt_cards" )
2211
+
2212
+ result = { name: val[1].as_str,
2213
+ minute: Minute.new( **val[0].as_hash )
2214
+ }.merge( val[2])
2215
+
2216
+ result
2217
+ end
2218
+ .,.,
2219
+
2220
+ module_eval(<<'.,.,', 'parser.y', 1201)
2221
+ def _reduce_228(val, _values, result)
2222
+ result = {}
2223
+ result
2224
+ end
2225
+ .,.,
2226
+
2227
+ # reduce 229 omitted
2228
+
2229
+ module_eval(<<'.,.,', 'parser.y', 1209)
2230
+ def _reduce_230(val, _values, result)
2231
+ result = val[1]
2232
+ result
2233
+ end
2234
+ .,.,
2235
+
2236
+ module_eval(<<'.,.,', 'parser.y', 1213)
2237
+ def _reduce_231(val, _values, result)
2238
+ _trace( "REDUCE => lineup_sub_contents : line_sub_props" )
2239
+ kwargs = {}.merge( val[0] )
2240
+ minute = kwargs.delete( :minute )
2241
+ sub = Sub.new( sub: Lineup.new( **kwargs ),
2242
+ minute: minute )
2243
+ result = { sub: sub }
2244
+
2245
+ result
2246
+ end
2247
+ .,.,
2248
+
2249
+ module_eval(<<'.,.,', 'parser.y', 1222)
2250
+ def _reduce_232(val, _values, result)
2251
+ _trace( "REDUCE => lineup_sub_contents : line_sub_props lineup_sub" )
2252
+ kwargs = {}.merge( val[0] ).merge( val[1] )
2253
+ minute = kwargs.delete( :minute )
2254
+ sub = Sub.new( sub: Lineup.new( **kwargs ),
2255
+ minute: minute )
2256
+ result = { sub: sub }
2257
+
2258
+ result
2259
+ end
2260
+ .,.,
2261
+
2262
+ module_eval(<<'.,.,', 'parser.y', 1232)
2263
+ def _reduce_233(val, _values, result)
2264
+ result = {}
2265
+ result
2266
+ end
2267
+ .,.,
2268
+
2269
+ module_eval(<<'.,.,', 'parser.y', 1233)
2270
+ def _reduce_234(val, _values, result)
2271
+ result = { cards: val[0] }
2272
+ result
2273
+ end
2274
+ .,.,
2275
+
2276
+ module_eval(<<'.,.,', 'parser.y', 1243)
2277
+ def _reduce_235(val, _values, result)
2278
+ result = [val[0]]
2279
+ result
2280
+ end
2281
+ .,.,
2282
+
2283
+ module_eval(<<'.,.,', 'parser.y', 1244)
2284
+ def _reduce_236(val, _values, result)
2285
+ result = [val[0],val[1]]
2286
+ result
2287
+ end
2288
+ .,.,
2289
+
2290
+ module_eval(<<'.,.,', 'parser.y', 1245)
2291
+ def _reduce_237(val, _values, result)
2292
+ result = [val[0],val[1]]
2293
+ result
2294
+ end
2295
+ .,.,
2296
+
2297
+ module_eval(<<'.,.,', 'parser.y', 1246)
2298
+ def _reduce_238(val, _values, result)
2299
+ result = [val[0]]
2300
+ result
2301
+ end
2302
+ .,.,
2303
+
2304
+ module_eval(<<'.,.,', 'parser.y', 1247)
2305
+ def _reduce_239(val, _values, result)
2306
+ result = [val[0]]
2307
+ result
2308
+ end
2309
+ .,.,
2310
+
2311
+ module_eval(<<'.,.,', 'parser.y', 1253)
2312
+ def _reduce_240(val, _values, result)
2313
+ minute = val[0].as_hash.empty? ? nil : Minute.new( **val[0].as_hash )
2314
+ result = Card.new( name: 'Y', minute: minute )
2315
+
2316
+ result
2317
+ end
2318
+ .,.,
2319
+
2320
+ module_eval(<<'.,.,', 'parser.y', 1259)
2321
+ def _reduce_241(val, _values, result)
2322
+ minute = val[0].as_hash.empty? ? nil : Minute.new( **val[0].as_hash )
2323
+ result = Card.new( name: 'Y/R', minute: minute )
2324
+
2325
+ result
2326
+ end
2327
+ .,.,
2328
+
2329
+ module_eval(<<'.,.,', 'parser.y', 1265)
2330
+ def _reduce_242(val, _values, result)
2331
+ minute = val[0].as_hash.empty? ? nil : Minute.new( **val[0].as_hash )
2332
+ result = Card.new( name: 'R', minute: minute )
2333
+
2334
+ result
2335
+ end
2336
+ .,.,
2337
+
2338
+ def _reduce_none(val, _values, result)
2339
+ val[0]
2340
+ end
2341
+
2342
+ end # class Parser
2343
+ end # module Fbtxt