sportdb-parser 0.7.1 → 0.7.2

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