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