sportdb-parser 0.6.1 → 0.6.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -1
- data/lib/sportdb/parser/lexer.rb +8 -1
- data/lib/sportdb/parser/parser.rb +291 -271
- data/lib/sportdb/parser/token-minute.rb +19 -4
- data/lib/sportdb/parser/token-status.rb +109 -0
- data/lib/sportdb/parser/token.rb +2 -0
- data/lib/sportdb/parser/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85526406c8cd97a5b4e8580e64597b60f2046f4667a97080434238e067be2788
|
4
|
+
data.tar.gz: dcd5e6aaa854654974644c026fb99545c31ef2d5929d0518d8418630b5d6ea76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc086846a66d2657d3debae5562fe20fbd2327741c8af1485972dfd0b8f46b3c649c0345ba173f2d3f40622bd4bddecc7ea0072d4d129bc5dc542554c539ebab
|
7
|
+
data.tar.gz: c0c4653cb40cb89e8086b6dc00ed853c62abf75fc18972cf98230a779cd8a7f73d797098ec53c2e942e6271c00c9d11a1da8f6975704141cbfbba599ec741098
|
data/CHANGELOG.md
CHANGED
data/lib/sportdb/parser/lexer.rb
CHANGED
@@ -389,7 +389,9 @@ def _tokenize_line( line )
|
|
389
389
|
puts "!!! TOKENIZE ERROR (PROP_RE) - no match found"
|
390
390
|
nil
|
391
391
|
end
|
392
|
-
|
392
|
+
###################################################
|
393
|
+
## assume TOP_LEVEL (a.k.a. RE) machinery
|
394
|
+
else
|
393
395
|
if m[:space] || m[:spaces]
|
394
396
|
nil ## skip space(s)
|
395
397
|
elsif m[:prop_key]
|
@@ -408,6 +410,11 @@ def _tokenize_line( line )
|
|
408
410
|
else
|
409
411
|
[:STATUS, [m[:status], {status: m[:status] } ]]
|
410
412
|
end
|
413
|
+
elsif m[:note]
|
414
|
+
### todo/check:
|
415
|
+
## use value hash - why? why not? or simplify to:
|
416
|
+
## [:NOTE, m[:note]]
|
417
|
+
[:NOTE, [m[:note], {note: m[:note] } ]]
|
411
418
|
elsif m[:time]
|
412
419
|
## unify to iso-format
|
413
420
|
### 12.40 => 12:40
|
@@ -9,124 +9,126 @@ class RaccMatchParser < Racc::Parser
|
|
9
9
|
##### State transition tables begin ###
|
10
10
|
|
11
11
|
racc_action_table = [
|
12
|
-
15, 12, 16,
|
13
|
-
|
14
|
-
69, 36, 19, 23,
|
15
|
-
32, 33, 15, 12, 16, 59, 39, 39, 44,
|
16
|
-
|
17
|
-
|
18
|
-
27, 30, 32, 33, 55,
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
133, 44,
|
26
|
-
|
27
|
-
|
28
|
-
181 ]
|
12
|
+
15, 12, 16, 45, 85, 127, 160, 42, 17, 47,
|
13
|
+
75, 110, 76, 73, 111, 21, 82, 32, 33, 18,
|
14
|
+
69, 36, 19, 23, 161, 24, 25, 129, 27, 30,
|
15
|
+
32, 33, 50, 15, 12, 16, 59, 39, 39, 44,
|
16
|
+
42, 17, 70, 72, 59, 83, 78, 79, 21, 42,
|
17
|
+
166, 51, 18, 73, 36, 19, 23, 130, 24, 25,
|
18
|
+
124, 27, 30, 32, 33, 55, 50, 56, 155, 61,
|
19
|
+
39, 169, 44, 66, 139, 165, 64, 95, 170, 182,
|
20
|
+
52, 44, 70, 72, 59, 143, 170, 53, 99, 102,
|
21
|
+
100, 101, 59, 63, 99, 102, 100, 101, 106, -73,
|
22
|
+
103, 105, 78, 79, 44, 90, 115, 116, 141, 142,
|
23
|
+
158, 159, -74, 60, 36, 77, 87, 88, 92, 95,
|
24
|
+
96, 113, 117, 118, 120, 121, -63, 122, 36, 131,
|
25
|
+
132, 133, 95, 44, 136, 44, 145, 146, 147, 148,
|
26
|
+
149, 50, 151, 152, 110, 162, 163, 164, 167, 36,
|
27
|
+
171, 172, 44, 44, 95, 174, 175, 176, 177, 50,
|
28
|
+
179, 180, 181, 36, 184, 185 ]
|
29
29
|
|
30
30
|
racc_action_check = [
|
31
|
-
0, 0, 0,
|
31
|
+
0, 0, 0, 1, 37, 70, 112, 0, 0, 16,
|
32
32
|
30, 50, 30, 29, 50, 0, 36, 30, 30, 0,
|
33
|
-
29, 0, 0, 0,
|
34
|
-
0, 0, 2, 2, 2, 70, 0, 37, 0,
|
35
|
-
2,
|
36
|
-
|
37
|
-
2, 2, 2, 2, 21,
|
38
|
-
2,
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
28, 33, 39, 40, 42, 44,
|
43
|
-
|
44
|
-
89,
|
45
|
-
|
46
|
-
|
47
|
-
|
33
|
+
29, 0, 0, 0, 112, 0, 0, 71, 0, 0,
|
34
|
+
0, 0, 17, 2, 2, 2, 70, 0, 37, 0,
|
35
|
+
2, 2, 29, 29, 29, 36, 36, 36, 2, 21,
|
36
|
+
119, 18, 2, 67, 2, 2, 2, 71, 2, 2,
|
37
|
+
67, 2, 2, 2, 2, 21, 110, 21, 110, 26,
|
38
|
+
2, 125, 2, 26, 93, 119, 26, 93, 125, 168,
|
39
|
+
19, 21, 67, 67, 67, 97, 168, 20, 97, 97,
|
40
|
+
97, 97, 22, 26, 47, 47, 47, 47, 48, 23,
|
41
|
+
48, 48, 35, 35, 41, 41, 52, 52, 95, 95,
|
42
|
+
111, 111, 24, 25, 28, 33, 39, 40, 42, 44,
|
43
|
+
45, 51, 54, 57, 59, 62, 64, 65, 69, 72,
|
44
|
+
81, 84, 87, 89, 90, 92, 99, 100, 101, 102,
|
45
|
+
103, 104, 105, 106, 108, 114, 117, 118, 121, 124,
|
46
|
+
128, 130, 135, 137, 139, 145, 146, 147, 154, 155,
|
47
|
+
156, 157, 166, 170, 177, 178 ]
|
48
48
|
|
49
49
|
racc_action_pointer = [
|
50
|
-
-1,
|
51
|
-
nil, nil, nil, nil, nil, nil,
|
52
|
-
|
53
|
-
-14, nil, nil,
|
54
|
-
|
55
|
-
-2,
|
56
|
-
nil, nil,
|
57
|
-
1,
|
58
|
-
|
59
|
-
nil,
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
nil, nil,
|
64
|
-
nil, nil,
|
65
|
-
nil,
|
66
|
-
nil, nil, nil,
|
67
|
-
|
68
|
-
nil, nil ]
|
50
|
+
-1, 3, 32, nil, nil, nil, nil, nil, nil, nil,
|
51
|
+
nil, nil, nil, nil, nil, nil, 5, 20, 30, 59,
|
52
|
+
83, 41, 57, 77, 90, 109, 65, nil, 92, 9,
|
53
|
+
-14, nil, nil, 84, nil, 64, 8, 0, nil, 76,
|
54
|
+
113, 64, 77, nil, 105, 120, nil, 89, 90, nil,
|
55
|
+
-2, 99, 82, nil, 105, nil, nil, 106, nil, 118,
|
56
|
+
nil, nil, 98, nil, 97, 98, nil, 49, nil, 106,
|
57
|
+
1, 23, 125, nil, nil, nil, nil, nil, nil, nil,
|
58
|
+
nil, 108, nil, nil, 109, nil, nil, 118, nil, 93,
|
59
|
+
130, nil, 95, 63, nil, 66, nil, 83, nil, 130,
|
60
|
+
131, 132, 135, 136, 129, 138, 139, nil, 131, nil,
|
61
|
+
54, 92, 2, nil, 141, nil, nil, 142, 143, 39,
|
62
|
+
nil, 144, nil, nil, 127, 67, nil, nil, 146, nil,
|
63
|
+
147, nil, nil, nil, nil, 112, nil, 113, nil, 140,
|
64
|
+
nil, nil, nil, nil, nil, 151, 152, 153, nil, nil,
|
65
|
+
nil, nil, nil, nil, 144, 147, 143, 147, nil, nil,
|
66
|
+
nil, nil, nil, nil, nil, nil, 156, nil, 75, nil,
|
67
|
+
141, nil, nil, nil, nil, nil, nil, 149, 150, nil,
|
68
|
+
nil, nil, nil, nil, nil, nil ]
|
69
69
|
|
70
70
|
racc_action_default = [
|
71
|
-
-1, -
|
72
|
-
-11, -12, -13, -14, -15, -16, -
|
73
|
-
-
|
74
|
-
-70, -72, -75, -76, -
|
75
|
-
-
|
76
|
-
-32, -
|
77
|
-
-55, -56, -
|
78
|
-
-
|
79
|
-
-
|
80
|
-
-
|
81
|
-
-
|
82
|
-
-
|
83
|
-
-
|
84
|
-
|
85
|
-
-17, -19, -
|
86
|
-
-34, -
|
87
|
-
-
|
88
|
-
|
89
|
-
-36, -37 ]
|
71
|
+
-1, -118, -2, -3, -5, -6, -7, -8, -9, -10,
|
72
|
+
-11, -12, -13, -14, -15, -16, -118, -118, -118, -118,
|
73
|
+
-118, -118, -51, -53, -54, -118, -118, -60, -118, -118,
|
74
|
+
-70, -72, -75, -76, -88, -89, -118, -118, -98, -118,
|
75
|
+
-118, -103, -118, -108, -118, -118, -4, -118, -118, -25,
|
76
|
+
-32, -118, -118, -49, -118, -53, -54, -118, -52, -118,
|
77
|
+
-55, -56, -118, -58, -59, -118, -62, -118, -65, -118,
|
78
|
+
-118, -118, -118, -83, -71, -73, -74, -77, -93, -94,
|
79
|
+
-96, -118, -91, -92, -118, -97, -99, -118, -102, -118,
|
80
|
+
-106, -109, -118, -110, -111, -114, 186, -118, -18, -118,
|
81
|
+
-118, -118, -118, -118, -118, -27, -29, -31, -33, -35,
|
82
|
+
-118, -118, -118, -44, -118, -47, -48, -118, -118, -84,
|
83
|
+
-86, -118, -61, -64, -118, -118, -68, -78, -118, -80,
|
84
|
+
-118, -82, -90, -95, -100, -105, -107, -104, -112, -118,
|
85
|
+
-115, -116, -117, -17, -19, -118, -118, -118, -23, -24,
|
86
|
+
-26, -28, -30, -34, -118, -118, -118, -39, -41, -42,
|
87
|
+
-43, -45, -46, -50, -101, -85, -118, -57, -118, -67,
|
88
|
+
-118, -79, -81, -113, -20, -21, -22, -118, -118, -38,
|
89
|
+
-40, -87, -66, -69, -36, -37 ]
|
90
90
|
|
91
91
|
racc_goto_table = [
|
92
|
-
67, 49,
|
93
|
-
1, 3,
|
94
|
-
|
95
|
-
|
96
|
-
nil,
|
97
|
-
nil, nil, nil,
|
92
|
+
67, 49, 109, 91, 125, 94, 98, 58, 68, 135,
|
93
|
+
1, 3, 137, 46, 80, 84, 2, 97, 48, 104,
|
94
|
+
107, 108, 156, 157, 112, 114, 54, 62, 65, 74,
|
95
|
+
119, 81, 86, 57, 89, 93, 140, nil, nil, nil,
|
96
|
+
nil, 126, nil, nil, nil, nil, 123, nil, 134, nil,
|
97
|
+
nil, nil, nil, nil, 138, 128, 144, nil, nil, 168,
|
98
|
+
153, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
98
99
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
100
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 150, nil,
|
101
|
+
nil, nil, nil, nil, 154, nil, 126, 91, nil, 91,
|
102
|
+
173, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
99
103
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
100
|
-
nil, nil, nil, nil, nil, nil, nil, 147, nil, nil,
|
101
|
-
nil, nil, nil, 151, 90, 125, 90, 169, nil, nil,
|
102
104
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
103
|
-
nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
104
|
-
nil, nil,
|
105
|
-
nil, nil, nil, nil, nil, nil, 174, nil, nil, 179 ]
|
105
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 178,
|
106
|
+
nil, nil, 183 ]
|
106
107
|
|
107
108
|
racc_goto_check = [
|
108
|
-
33, 17, 21, 48, 35, 44, 15,
|
109
|
+
33, 17, 21, 48, 35, 44, 15, 28, 34, 46,
|
109
110
|
1, 3, 46, 3, 41, 41, 2, 14, 16, 18,
|
110
111
|
19, 20, 22, 23, 24, 25, 26, 30, 31, 36,
|
111
112
|
37, 40, 43, 45, 47, 49, 50, nil, nil, nil,
|
112
|
-
nil, 33, nil, nil, nil, 34, nil, 44, nil,
|
113
|
-
nil, nil, nil,
|
114
|
-
|
113
|
+
nil, 33, nil, nil, nil, nil, 34, nil, 44, nil,
|
114
|
+
nil, nil, nil, nil, 44, 28, 15, nil, nil, 35,
|
115
|
+
21, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
115
116
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
116
|
-
nil, nil, nil, nil, nil, nil, nil, 17, nil,
|
117
|
-
nil, nil, nil, 17,
|
117
|
+
nil, nil, nil, nil, nil, nil, nil, nil, 17, nil,
|
118
|
+
nil, nil, nil, nil, 17, nil, 33, 48, nil, 48,
|
119
|
+
44, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
118
120
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
119
121
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
120
|
-
nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
121
|
-
nil, nil,
|
122
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 17,
|
123
|
+
nil, nil, 33 ]
|
122
124
|
|
123
125
|
racc_goto_pointer = [
|
124
126
|
nil, 10, 16, 11, nil, nil, nil, nil, nil, nil,
|
125
127
|
nil, nil, nil, nil, -30, -41, 1, -16, -29, -30,
|
126
|
-
-29, -48, -
|
127
|
-
1, 2, nil, -28, -
|
128
|
-
-5, -21, nil, -5, -39, 12, -
|
129
|
-
-
|
128
|
+
-29, -48, -89, -88, -27, -27, 5, nil, -15, nil,
|
129
|
+
1, 2, nil, -28, -21, -65, -1, -29, nil, nil,
|
130
|
+
-5, -21, nil, -5, -39, 12, -80, -7, -38, -9,
|
131
|
+
-59 ]
|
130
132
|
|
131
133
|
racc_goto_default = [
|
132
134
|
nil, nil, nil, nil, 4, 5, 6, 7, 8, 9,
|
@@ -138,125 +140,127 @@ racc_goto_default = [
|
|
138
140
|
|
139
141
|
racc_reduce_table = [
|
140
142
|
0, 0, :racc_error,
|
141
|
-
0,
|
142
|
-
1, 44, :_reduce_none,
|
143
|
+
0, 45, :_reduce_none,
|
143
144
|
1, 45, :_reduce_none,
|
144
|
-
2, 45, :_reduce_none,
|
145
|
-
1, 46, :_reduce_none,
|
146
|
-
1, 46, :_reduce_none,
|
147
|
-
1, 46, :_reduce_none,
|
148
|
-
1, 46, :_reduce_none,
|
149
|
-
1, 46, :_reduce_none,
|
150
|
-
1, 46, :_reduce_none,
|
151
145
|
1, 46, :_reduce_none,
|
152
|
-
|
153
|
-
1,
|
154
|
-
1,
|
155
|
-
1,
|
156
|
-
1,
|
157
|
-
|
158
|
-
1,
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
146
|
+
2, 46, :_reduce_none,
|
147
|
+
1, 47, :_reduce_none,
|
148
|
+
1, 47, :_reduce_none,
|
149
|
+
1, 47, :_reduce_none,
|
150
|
+
1, 47, :_reduce_none,
|
151
|
+
1, 47, :_reduce_none,
|
152
|
+
1, 47, :_reduce_none,
|
153
|
+
1, 47, :_reduce_none,
|
154
|
+
1, 47, :_reduce_none,
|
155
|
+
1, 47, :_reduce_13,
|
156
|
+
1, 47, :_reduce_none,
|
157
|
+
1, 47, :_reduce_none,
|
158
|
+
1, 47, :_reduce_16,
|
159
|
+
4, 56, :_reduce_none,
|
160
|
+
1, 58, :_reduce_none,
|
163
161
|
2, 58, :_reduce_none,
|
164
|
-
|
165
|
-
|
166
|
-
3, 59, :
|
167
|
-
|
168
|
-
|
169
|
-
1,
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
1, 62, :
|
174
|
-
2, 62, :
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
1,
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
1, 68, :
|
189
|
-
2,
|
190
|
-
4,
|
191
|
-
1, 69, :
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
2,
|
197
|
-
|
198
|
-
1,
|
199
|
-
|
200
|
-
|
201
|
-
|
162
|
+
3, 59, :_reduce_20,
|
163
|
+
3, 59, :_reduce_21,
|
164
|
+
3, 59, :_reduce_22,
|
165
|
+
2, 59, :_reduce_none,
|
166
|
+
4, 57, :_reduce_24,
|
167
|
+
1, 60, :_reduce_25,
|
168
|
+
3, 60, :_reduce_26,
|
169
|
+
1, 62, :_reduce_none,
|
170
|
+
2, 62, :_reduce_28,
|
171
|
+
1, 62, :_reduce_none,
|
172
|
+
2, 62, :_reduce_30,
|
173
|
+
2, 61, :_reduce_31,
|
174
|
+
0, 63, :_reduce_32,
|
175
|
+
1, 63, :_reduce_33,
|
176
|
+
2, 63, :_reduce_34,
|
177
|
+
1, 63, :_reduce_35,
|
178
|
+
4, 65, :_reduce_36,
|
179
|
+
4, 65, :_reduce_37,
|
180
|
+
3, 64, :_reduce_38,
|
181
|
+
1, 66, :_reduce_39,
|
182
|
+
2, 66, :_reduce_40,
|
183
|
+
1, 67, :_reduce_none,
|
184
|
+
1, 67, :_reduce_none,
|
185
|
+
4, 51, :_reduce_43,
|
186
|
+
1, 68, :_reduce_44,
|
187
|
+
2, 68, :_reduce_45,
|
188
|
+
4, 52, :_reduce_46,
|
189
|
+
1, 69, :_reduce_47,
|
190
|
+
1, 69, :_reduce_48,
|
191
|
+
2, 48, :_reduce_49,
|
192
|
+
4, 48, :_reduce_50,
|
193
|
+
1, 70, :_reduce_none,
|
194
|
+
2, 70, :_reduce_52,
|
195
|
+
1, 71, :_reduce_53,
|
196
|
+
1, 71, :_reduce_54,
|
197
|
+
2, 49, :_reduce_55,
|
198
|
+
2, 50, :_reduce_56,
|
199
|
+
4, 50, :_reduce_57,
|
202
200
|
1, 74, :_reduce_none,
|
203
201
|
1, 74, :_reduce_none,
|
204
|
-
|
205
|
-
|
206
|
-
5, 52, :_reduce_66,
|
207
|
-
4, 52, :_reduce_67,
|
208
|
-
1, 78, :_reduce_68,
|
209
|
-
3, 78, :_reduce_69,
|
210
|
-
1, 75, :_reduce_70,
|
211
|
-
2, 75, :_reduce_71,
|
202
|
+
1, 73, :_reduce_60,
|
203
|
+
3, 73, :_reduce_61,
|
212
204
|
1, 75, :_reduce_none,
|
213
|
-
1,
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
3,
|
220
|
-
|
221
|
-
|
222
|
-
2, 71, :_reduce_82,
|
223
|
-
3, 71, :_reduce_83,
|
224
|
-
1, 80, :_reduce_84,
|
225
|
-
3, 80, :_reduce_85,
|
226
|
-
1, 76, :_reduce_none,
|
205
|
+
1, 75, :_reduce_none,
|
206
|
+
3, 53, :_reduce_64,
|
207
|
+
2, 53, :_reduce_65,
|
208
|
+
5, 53, :_reduce_66,
|
209
|
+
4, 53, :_reduce_67,
|
210
|
+
1, 79, :_reduce_68,
|
211
|
+
3, 79, :_reduce_69,
|
212
|
+
1, 76, :_reduce_70,
|
213
|
+
2, 76, :_reduce_71,
|
227
214
|
1, 76, :_reduce_none,
|
228
|
-
|
229
|
-
1,
|
230
|
-
1,
|
215
|
+
1, 80, :_reduce_73,
|
216
|
+
1, 80, :_reduce_74,
|
217
|
+
1, 80, :_reduce_75,
|
218
|
+
1, 80, :_reduce_76,
|
219
|
+
2, 80, :_reduce_77,
|
220
|
+
2, 78, :_reduce_78,
|
221
|
+
3, 78, :_reduce_79,
|
222
|
+
2, 78, :_reduce_80,
|
223
|
+
3, 78, :_reduce_81,
|
224
|
+
2, 78, :_reduce_82,
|
225
|
+
1, 78, :_reduce_83,
|
226
|
+
2, 72, :_reduce_84,
|
227
|
+
3, 72, :_reduce_85,
|
228
|
+
1, 81, :_reduce_86,
|
229
|
+
3, 81, :_reduce_87,
|
230
|
+
1, 77, :_reduce_none,
|
231
|
+
1, 77, :_reduce_none,
|
232
|
+
3, 83, :_reduce_90,
|
231
233
|
1, 84, :_reduce_none,
|
232
234
|
1, 84, :_reduce_none,
|
233
|
-
3, 81, :_reduce_93,
|
234
|
-
2, 81, :_reduce_94,
|
235
|
-
2, 54, :_reduce_none,
|
236
235
|
1, 85, :_reduce_none,
|
237
|
-
|
238
|
-
3,
|
239
|
-
|
240
|
-
2,
|
241
|
-
1,
|
242
|
-
|
243
|
-
3,
|
244
|
-
|
245
|
-
2,
|
246
|
-
1, 89, :
|
247
|
-
|
248
|
-
|
249
|
-
1,
|
236
|
+
1, 85, :_reduce_none,
|
237
|
+
3, 82, :_reduce_95,
|
238
|
+
2, 82, :_reduce_96,
|
239
|
+
2, 55, :_reduce_none,
|
240
|
+
1, 86, :_reduce_none,
|
241
|
+
2, 86, :_reduce_none,
|
242
|
+
3, 87, :_reduce_none,
|
243
|
+
4, 54, :_reduce_101,
|
244
|
+
2, 54, :_reduce_102,
|
245
|
+
1, 89, :_reduce_103,
|
246
|
+
3, 89, :_reduce_104,
|
247
|
+
3, 89, :_reduce_105,
|
248
|
+
1, 91, :_reduce_none,
|
249
|
+
2, 91, :_reduce_none,
|
250
|
+
1, 90, :_reduce_108,
|
251
|
+
2, 90, :_reduce_109,
|
250
252
|
2, 92, :_reduce_110,
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
1,
|
255
|
-
|
253
|
+
1, 93, :_reduce_111,
|
254
|
+
2, 93, :_reduce_112,
|
255
|
+
3, 93, :_reduce_113,
|
256
|
+
1, 88, :_reduce_114,
|
257
|
+
2, 88, :_reduce_115,
|
258
|
+
1, 94, :_reduce_116,
|
259
|
+
1, 94, :_reduce_117 ]
|
256
260
|
|
257
|
-
racc_reduce_n =
|
261
|
+
racc_reduce_n = 118
|
258
262
|
|
259
|
-
racc_shift_n =
|
263
|
+
racc_shift_n = 186
|
260
264
|
|
261
265
|
racc_token_table = {
|
262
266
|
false => 0,
|
@@ -293,17 +297,18 @@ racc_token_table = {
|
|
293
297
|
:TIME => 31,
|
294
298
|
:WDAY => 32,
|
295
299
|
:STATUS => 33,
|
296
|
-
|
297
|
-
|
298
|
-
:
|
299
|
-
:
|
300
|
-
:
|
301
|
-
:
|
302
|
-
|
303
|
-
|
304
|
-
:
|
305
|
-
|
306
|
-
|
300
|
+
:NOTE => 34,
|
301
|
+
"@" => 35,
|
302
|
+
:TIMEZONE => 36,
|
303
|
+
:VS => 37,
|
304
|
+
:SCORE => 38,
|
305
|
+
:SCORE_MORE => 39,
|
306
|
+
:PLAYER => 40,
|
307
|
+
";" => 41,
|
308
|
+
:OG => 42,
|
309
|
+
:PEN => 43 }
|
310
|
+
|
311
|
+
racc_nt_base = 44
|
307
312
|
|
308
313
|
racc_use_result_var = true
|
309
314
|
|
@@ -359,6 +364,7 @@ Racc_token_to_s_table = [
|
|
359
364
|
"TIME",
|
360
365
|
"WDAY",
|
361
366
|
"STATUS",
|
367
|
+
"NOTE",
|
362
368
|
"\"@\"",
|
363
369
|
"TIMEZONE",
|
364
370
|
"VS",
|
@@ -889,7 +895,7 @@ module_eval(<<'.,.,', 'parser.y', 289)
|
|
889
895
|
end
|
890
896
|
.,.,
|
891
897
|
|
892
|
-
module_eval(<<'.,.,', 'parser.y',
|
898
|
+
module_eval(<<'.,.,', 'parser.y', 303)
|
893
899
|
def _reduce_78(val, _values, result)
|
894
900
|
## todo - add possible status_notes too!!!
|
895
901
|
result = { status: val[0][1][:status] }
|
@@ -898,7 +904,7 @@ module_eval(<<'.,.,', 'parser.y', 295)
|
|
898
904
|
end
|
899
905
|
.,.,
|
900
906
|
|
901
|
-
module_eval(<<'.,.,', 'parser.y',
|
907
|
+
module_eval(<<'.,.,', 'parser.y', 308)
|
902
908
|
def _reduce_79(val, _values, result)
|
903
909
|
result = { status: val[0][1][:status] }.merge( val[1] )
|
904
910
|
|
@@ -906,54 +912,68 @@ module_eval(<<'.,.,', 'parser.y', 300)
|
|
906
912
|
end
|
907
913
|
.,.,
|
908
914
|
|
909
|
-
module_eval(<<'.,.,', 'parser.y',
|
915
|
+
module_eval(<<'.,.,', 'parser.y', 310)
|
910
916
|
def _reduce_80(val, _values, result)
|
911
917
|
result = {}.merge( val[0] )
|
912
918
|
result
|
913
919
|
end
|
914
920
|
.,.,
|
915
921
|
|
916
|
-
module_eval(<<'.,.,', 'parser.y',
|
922
|
+
module_eval(<<'.,.,', 'parser.y', 311)
|
917
923
|
def _reduce_81(val, _values, result)
|
918
|
-
result = {}
|
924
|
+
result = {}.merge( val[0] )
|
919
925
|
result
|
920
926
|
end
|
921
927
|
.,.,
|
922
928
|
|
923
|
-
module_eval(<<'.,.,', 'parser.y',
|
929
|
+
module_eval(<<'.,.,', 'parser.y', 312)
|
924
930
|
def _reduce_82(val, _values, result)
|
925
|
-
result = {
|
931
|
+
result = {}
|
926
932
|
result
|
927
933
|
end
|
928
934
|
.,.,
|
929
935
|
|
930
|
-
module_eval(<<'.,.,', 'parser.y',
|
936
|
+
module_eval(<<'.,.,', 'parser.y', 313)
|
931
937
|
def _reduce_83(val, _values, result)
|
932
|
-
result = {
|
938
|
+
result = {}
|
933
939
|
result
|
934
940
|
end
|
935
941
|
.,.,
|
936
942
|
|
937
|
-
module_eval(<<'.,.,', 'parser.y',
|
943
|
+
module_eval(<<'.,.,', 'parser.y', 319)
|
938
944
|
def _reduce_84(val, _values, result)
|
939
|
-
|
945
|
+
result = { geo: val[1] }
|
940
946
|
result
|
941
947
|
end
|
942
948
|
.,.,
|
943
949
|
|
944
|
-
module_eval(<<'.,.,', 'parser.y',
|
950
|
+
module_eval(<<'.,.,', 'parser.y', 320)
|
945
951
|
def _reduce_85(val, _values, result)
|
952
|
+
result = { geo: val[1], timezone: val[2] }
|
953
|
+
result
|
954
|
+
end
|
955
|
+
.,.,
|
956
|
+
|
957
|
+
module_eval(<<'.,.,', 'parser.y', 323)
|
958
|
+
def _reduce_86(val, _values, result)
|
959
|
+
result = val
|
960
|
+
result
|
961
|
+
end
|
962
|
+
.,.,
|
963
|
+
|
964
|
+
module_eval(<<'.,.,', 'parser.y', 324)
|
965
|
+
def _reduce_87(val, _values, result)
|
946
966
|
result.push( val[2] )
|
947
967
|
result
|
948
968
|
end
|
949
969
|
.,.,
|
950
970
|
|
951
|
-
# reduce
|
971
|
+
# reduce 88 omitted
|
952
972
|
|
953
|
-
# reduce
|
973
|
+
# reduce 89 omitted
|
954
974
|
|
955
|
-
module_eval(<<'.,.,', 'parser.y',
|
956
|
-
def
|
975
|
+
module_eval(<<'.,.,', 'parser.y', 332)
|
976
|
+
def _reduce_90(val, _values, result)
|
957
977
|
trace( "RECUDE match_fixture" )
|
958
978
|
result = { team1: val[0],
|
959
979
|
team2: val[2] }
|
@@ -962,16 +982,16 @@ module_eval(<<'.,.,', 'parser.y', 322)
|
|
962
982
|
end
|
963
983
|
.,.,
|
964
984
|
|
965
|
-
# reduce 89 omitted
|
966
|
-
|
967
|
-
# reduce 90 omitted
|
968
|
-
|
969
985
|
# reduce 91 omitted
|
970
986
|
|
971
987
|
# reduce 92 omitted
|
972
988
|
|
973
|
-
|
974
|
-
|
989
|
+
# reduce 93 omitted
|
990
|
+
|
991
|
+
# reduce 94 omitted
|
992
|
+
|
993
|
+
module_eval(<<'.,.,', 'parser.y', 346)
|
994
|
+
def _reduce_95(val, _values, result)
|
975
995
|
trace( "REDUCE => match_result : TEAM score TEAM" )
|
976
996
|
result = { team1: val[0],
|
977
997
|
team2: val[2],
|
@@ -982,8 +1002,8 @@ module_eval(<<'.,.,', 'parser.y', 336)
|
|
982
1002
|
end
|
983
1003
|
.,.,
|
984
1004
|
|
985
|
-
module_eval(<<'.,.,', 'parser.y',
|
986
|
-
def
|
1005
|
+
module_eval(<<'.,.,', 'parser.y', 354)
|
1006
|
+
def _reduce_96(val, _values, result)
|
987
1007
|
trace( "REDUCE => match_result : match_fixture score" )
|
988
1008
|
result = { score: val[1][1] }.merge( val[0] )
|
989
1009
|
|
@@ -991,16 +1011,16 @@ module_eval(<<'.,.,', 'parser.y', 344)
|
|
991
1011
|
end
|
992
1012
|
.,.,
|
993
1013
|
|
994
|
-
# reduce 95 omitted
|
995
|
-
|
996
|
-
# reduce 96 omitted
|
997
|
-
|
998
1014
|
# reduce 97 omitted
|
999
1015
|
|
1000
1016
|
# reduce 98 omitted
|
1001
1017
|
|
1002
|
-
|
1003
|
-
|
1018
|
+
# reduce 99 omitted
|
1019
|
+
|
1020
|
+
# reduce 100 omitted
|
1021
|
+
|
1022
|
+
module_eval(<<'.,.,', 'parser.y', 386)
|
1023
|
+
def _reduce_101(val, _values, result)
|
1004
1024
|
kwargs = val[1]
|
1005
1025
|
@tree << GoalLine.new( **kwargs )
|
1006
1026
|
|
@@ -1008,8 +1028,8 @@ module_eval(<<'.,.,', 'parser.y', 376)
|
|
1008
1028
|
end
|
1009
1029
|
.,.,
|
1010
1030
|
|
1011
|
-
module_eval(<<'.,.,', 'parser.y',
|
1012
|
-
def
|
1031
|
+
module_eval(<<'.,.,', 'parser.y', 391)
|
1032
|
+
def _reduce_102(val, _values, result)
|
1013
1033
|
kwargs = val[0]
|
1014
1034
|
@tree << GoalLine.new( **kwargs )
|
1015
1035
|
|
@@ -1017,8 +1037,8 @@ module_eval(<<'.,.,', 'parser.y', 381)
|
|
1017
1037
|
end
|
1018
1038
|
.,.,
|
1019
1039
|
|
1020
|
-
module_eval(<<'.,.,', 'parser.y',
|
1021
|
-
def
|
1040
|
+
module_eval(<<'.,.,', 'parser.y', 396)
|
1041
|
+
def _reduce_103(val, _values, result)
|
1022
1042
|
result = { goals1: val[0],
|
1023
1043
|
goals2: [] }
|
1024
1044
|
|
@@ -1026,8 +1046,8 @@ module_eval(<<'.,.,', 'parser.y', 386)
|
|
1026
1046
|
end
|
1027
1047
|
.,.,
|
1028
1048
|
|
1029
|
-
module_eval(<<'.,.,', 'parser.y',
|
1030
|
-
def
|
1049
|
+
module_eval(<<'.,.,', 'parser.y', 399)
|
1050
|
+
def _reduce_104(val, _values, result)
|
1031
1051
|
result = { goals1: [],
|
1032
1052
|
goals2: val[2] }
|
1033
1053
|
|
@@ -1035,8 +1055,8 @@ module_eval(<<'.,.,', 'parser.y', 389)
|
|
1035
1055
|
end
|
1036
1056
|
.,.,
|
1037
1057
|
|
1038
|
-
module_eval(<<'.,.,', 'parser.y',
|
1039
|
-
def
|
1058
|
+
module_eval(<<'.,.,', 'parser.y', 402)
|
1059
|
+
def _reduce_105(val, _values, result)
|
1040
1060
|
result = { goals1: val[0],
|
1041
1061
|
goals2: val[2] }
|
1042
1062
|
|
@@ -1044,26 +1064,26 @@ module_eval(<<'.,.,', 'parser.y', 392)
|
|
1044
1064
|
end
|
1045
1065
|
.,.,
|
1046
1066
|
|
1047
|
-
# reduce
|
1067
|
+
# reduce 106 omitted
|
1048
1068
|
|
1049
|
-
# reduce
|
1069
|
+
# reduce 107 omitted
|
1050
1070
|
|
1051
|
-
module_eval(<<'.,.,', 'parser.y',
|
1052
|
-
def
|
1071
|
+
module_eval(<<'.,.,', 'parser.y', 416)
|
1072
|
+
def _reduce_108(val, _values, result)
|
1053
1073
|
result = val
|
1054
1074
|
result
|
1055
1075
|
end
|
1056
1076
|
.,.,
|
1057
1077
|
|
1058
|
-
module_eval(<<'.,.,', 'parser.y',
|
1059
|
-
def
|
1078
|
+
module_eval(<<'.,.,', 'parser.y', 417)
|
1079
|
+
def _reduce_109(val, _values, result)
|
1060
1080
|
result.push( val[1])
|
1061
1081
|
result
|
1062
1082
|
end
|
1063
1083
|
.,.,
|
1064
1084
|
|
1065
|
-
module_eval(<<'.,.,', 'parser.y',
|
1066
|
-
def
|
1085
|
+
module_eval(<<'.,.,', 'parser.y', 433)
|
1086
|
+
def _reduce_110(val, _values, result)
|
1067
1087
|
result = Goal.new( player: val[0],
|
1068
1088
|
minutes: val[1] )
|
1069
1089
|
|
@@ -1071,29 +1091,29 @@ module_eval(<<'.,.,', 'parser.y', 423)
|
|
1071
1091
|
end
|
1072
1092
|
.,.,
|
1073
1093
|
|
1074
|
-
module_eval(<<'.,.,', 'parser.y',
|
1075
|
-
def
|
1094
|
+
module_eval(<<'.,.,', 'parser.y', 445)
|
1095
|
+
def _reduce_111(val, _values, result)
|
1076
1096
|
result = val
|
1077
1097
|
result
|
1078
1098
|
end
|
1079
1099
|
.,.,
|
1080
1100
|
|
1081
|
-
module_eval(<<'.,.,', 'parser.y',
|
1082
|
-
def
|
1101
|
+
module_eval(<<'.,.,', 'parser.y', 446)
|
1102
|
+
def _reduce_112(val, _values, result)
|
1083
1103
|
result.push( val[1])
|
1084
1104
|
result
|
1085
1105
|
end
|
1086
1106
|
.,.,
|
1087
1107
|
|
1088
|
-
module_eval(<<'.,.,', 'parser.y',
|
1089
|
-
def
|
1108
|
+
module_eval(<<'.,.,', 'parser.y', 447)
|
1109
|
+
def _reduce_113(val, _values, result)
|
1090
1110
|
result.push( val[2])
|
1091
1111
|
result
|
1092
1112
|
end
|
1093
1113
|
.,.,
|
1094
1114
|
|
1095
|
-
module_eval(<<'.,.,', 'parser.y',
|
1096
|
-
def
|
1115
|
+
module_eval(<<'.,.,', 'parser.y', 453)
|
1116
|
+
def _reduce_114(val, _values, result)
|
1097
1117
|
kwargs = {}.merge( val[0][1] )
|
1098
1118
|
result = Minute.new( **kwargs )
|
1099
1119
|
|
@@ -1101,8 +1121,8 @@ module_eval(<<'.,.,', 'parser.y', 443)
|
|
1101
1121
|
end
|
1102
1122
|
.,.,
|
1103
1123
|
|
1104
|
-
module_eval(<<'.,.,', 'parser.y',
|
1105
|
-
def
|
1124
|
+
module_eval(<<'.,.,', 'parser.y', 458)
|
1125
|
+
def _reduce_115(val, _values, result)
|
1106
1126
|
kwargs = { }.merge( val[0][1] ).merge( val[1] )
|
1107
1127
|
result = Minute.new( **kwargs )
|
1108
1128
|
|
@@ -1110,15 +1130,15 @@ module_eval(<<'.,.,', 'parser.y', 448)
|
|
1110
1130
|
end
|
1111
1131
|
.,.,
|
1112
1132
|
|
1113
|
-
module_eval(<<'.,.,', 'parser.y',
|
1114
|
-
def
|
1133
|
+
module_eval(<<'.,.,', 'parser.y', 462)
|
1134
|
+
def _reduce_116(val, _values, result)
|
1115
1135
|
result = { og: true }
|
1116
1136
|
result
|
1117
1137
|
end
|
1118
1138
|
.,.,
|
1119
1139
|
|
1120
|
-
module_eval(<<'.,.,', 'parser.y',
|
1121
|
-
def
|
1140
|
+
module_eval(<<'.,.,', 'parser.y', 463)
|
1141
|
+
def _reduce_117(val, _values, result)
|
1122
1142
|
result = { pen: true }
|
1123
1143
|
result
|
1124
1144
|
end
|
@@ -26,14 +26,29 @@ GOAL_OG_RE = %r{
|
|
26
26
|
}ix
|
27
27
|
|
28
28
|
|
29
|
+
## minute variant for N/A not/available
|
30
|
+
## todo/check - find a better syntax - why? why not?
|
31
|
+
##
|
32
|
+
## note "??".to_i(10) returns 0 or
|
33
|
+
## "__".to_i(10) returns 0
|
34
|
+
## quick hack - assume 0 for n/a for now
|
35
|
+
|
36
|
+
MINUTE_NA_RE = %r{
|
37
|
+
(?<minute>
|
38
|
+
(?<=[ (]) # positive lookbehind for space or opening
|
39
|
+
(?<value> \?{2} | _{2} )
|
40
|
+
' ## must have minute marker!!!!
|
41
|
+
)
|
42
|
+
}ix
|
43
|
+
|
29
44
|
MINUTE_RE = %r{
|
30
45
|
(?<minute>
|
31
46
|
(?<=[ (]) # positive lookbehind for space or opening ( e.g. (61') required
|
32
47
|
# todo - add more lookbehinds e.g. ,) etc. - why? why not?
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
48
|
+
(?<value>\d{1,3}) ## constrain numbers to 0 to 999!!!
|
49
|
+
(?: \+
|
50
|
+
(?<value2>\d{1,3})
|
51
|
+
)?
|
37
52
|
' ## must have minute marker!!!!
|
38
53
|
)
|
39
54
|
}ix
|
@@ -12,10 +12,33 @@ STATUS_RE = %r{
|
|
12
12
|
(?:
|
13
13
|
### opt 1 - allow long forms with note/comment for some stati
|
14
14
|
(?: (?<status> awarded
|
15
|
+
## e.g. [awarded match to Leones Negros by undue alignment; original result 1-2]
|
16
|
+
## [awarded 3-0 to Cafetaleros by undue alignment; originally ended 2-0]
|
17
|
+
## [awarded 3-0; originally 0-2, América used ineligible player (Federico Viñas)]
|
15
18
|
|
|
16
19
|
annulled
|
17
20
|
|
|
18
21
|
abandoned
|
22
|
+
## e.g. [abandoned at 1-1 in 65' due to cardiac arrest Luton player Tom Lockyer]
|
23
|
+
## [abandoned at 0-0 in 6' due to waterlogged pitch]
|
24
|
+
## [abandoned at 5-0 in 80' due to attack on assistant referee by Cerro; result stood]
|
25
|
+
## [abandoned at 1-0 in 31']
|
26
|
+
## [abandoned at 0-1' in 85 due to crowd trouble]
|
27
|
+
|
|
28
|
+
postponed
|
29
|
+
## e.g. [postponed due to problems with the screen of the stadium]
|
30
|
+
## [postponed by storm]
|
31
|
+
## [postponed due to tropical storm "Hanna"]
|
32
|
+
## [postponed from Sep 10-12 due to death Queen Elizabeth II]
|
33
|
+
|
|
34
|
+
suspended
|
35
|
+
## e.g. [suspended at 0-0 in 12' due to storm]
|
36
|
+
## [suspended at 84' by storm; result stood]
|
37
|
+
|
|
38
|
+
verified
|
39
|
+
## e.g. [verified 2:0 wo.]
|
40
|
+
|
41
|
+
|
19
42
|
) [ ;,]* (?<status_note> [^\]]+ )
|
20
43
|
[ ]*
|
21
44
|
)
|
@@ -34,12 +57,98 @@ STATUS_RE = %r{
|
|
34
57
|
replay
|
35
58
|
|
|
36
59
|
annulled
|
60
|
+
|
|
61
|
+
suspended ### todo/fix - add status upstream - why? why not?
|
62
|
+
### move to note(s) - do NOT interpret as status - why? why not?
|
63
|
+
|
|
64
|
+
verified ### todo/fix - add status upstream (same as ??) - why? why not?
|
65
|
+
### move to note(s) - do NOT interpret as status - why? why not?
|
37
66
|
)
|
38
67
|
)
|
39
68
|
\]
|
40
69
|
}ix
|
41
70
|
|
42
71
|
|
72
|
+
|
73
|
+
|
74
|
+
###
|
75
|
+
## todo/fix - move to token-note.rb (standalone) file
|
76
|
+
|
77
|
+
NOTE_RE = %r{
|
78
|
+
\[
|
79
|
+
(?<note>
|
80
|
+
(?: ## starting with ___ PLUS requiring more text
|
81
|
+
(?:
|
82
|
+
nb:
|
83
|
+
## e.g. [NB: between top-8 of regular season]
|
84
|
+
# [NB: América, Morelia and Tigres qualified on better record regular season]
|
85
|
+
# [NB: Celaya qualified on away goals]
|
86
|
+
# [NB: Alebrijes qualified on away goal]
|
87
|
+
# [NB: Leones Negros qualified on away goals]
|
88
|
+
#
|
89
|
+
# todo/fix:
|
90
|
+
# add "top-level" NB: version
|
91
|
+
## with full (end-of) line note - why? why not?
|
92
|
+
|
|
93
|
+
(?: originally[ ])? scheduled
|
94
|
+
## e.g. [originally scheduled to play in Mexico City]
|
95
|
+
|
|
96
|
+
rescheduled
|
97
|
+
## e.g. [Rescheduled due to earthquake occurred in Mexico on September 19]
|
98
|
+
|
|
99
|
+
remaining
|
100
|
+
## e.g. [remaining 79']
|
101
|
+
## [remaining 84']
|
102
|
+
## [remaining 59']
|
103
|
+
## [remaining 5']
|
104
|
+
|
|
105
|
+
played
|
106
|
+
## e.g. [played in Macaé-RJ]
|
107
|
+
## [played in Caxias do Sul-RS]
|
108
|
+
## [played in Sete Lagoas-MG]
|
109
|
+
## [played in Uberlândia-MG]
|
110
|
+
## [played in Brasília-DF]
|
111
|
+
## [played in Vöcklabruck]
|
112
|
+
## [played in Pasching]
|
113
|
+
|
|
114
|
+
declared
|
115
|
+
## e.g. [declared void]
|
116
|
+
|
|
117
|
+
inter-group
|
118
|
+
## e.g. [inter-group A-B]
|
119
|
+
## [inter-group C-D]
|
120
|
+
)
|
121
|
+
[ ]
|
122
|
+
[^\]]+? ## slurp all to next ] - (use non-greedy)
|
123
|
+
)
|
124
|
+
|
|
125
|
+
(?:
|
126
|
+
## starting with in - do NOT allow digits
|
127
|
+
## name starting with in possible - why? why not?
|
128
|
+
in[ ]
|
129
|
+
[^0-9\]]+?
|
130
|
+
## e.g. [In Estadio La Corregidora]
|
131
|
+
## [in Unidad Deportiva Centenario]
|
132
|
+
## [in Estadio Olímpico Universitario]
|
133
|
+
## [in Estadio Victoria]
|
134
|
+
## [in UD José Brindis]
|
135
|
+
## [in Colomos Alfredo "Pistache" Torres stadium]
|
136
|
+
)
|
137
|
+
|
|
138
|
+
(?:
|
139
|
+
## e.g. Spain wins on penalties
|
140
|
+
## 1860 München wins on penalties etc.
|
141
|
+
## must start with digit 1-9 or letter
|
142
|
+
## todo - add more special chars - why? why not?
|
143
|
+
[1-9\p{L}][0-9\p{L} .-]+?
|
144
|
+
[ ]wins[ ]on[ ]penalties
|
145
|
+
[^\]]*? ## use non-greedy
|
146
|
+
)
|
147
|
+
)
|
148
|
+
\]
|
149
|
+
}ix
|
150
|
+
|
151
|
+
|
43
152
|
end # class Lexer
|
44
153
|
end # module SportDb
|
45
154
|
|
data/lib/sportdb/parser/token.rb
CHANGED
@@ -127,6 +127,7 @@ BASICS_RE = %r{
|
|
127
127
|
|
128
128
|
RE = Regexp.union( PROP_KEY_RE, ## start with prop key (match will/should switch into prop mode!!!)
|
129
129
|
STATUS_RE,
|
130
|
+
NOTE_RE,
|
130
131
|
TIMEZONE_RE,
|
131
132
|
TIME_RE,
|
132
133
|
DURATION_RE, # note - duration MUST match before date
|
@@ -136,6 +137,7 @@ RE = Regexp.union( PROP_KEY_RE, ## start with prop key (match will/should swit
|
|
136
137
|
SCORE_RE, ## note basic score e.g. 1-1 must go after SCORE_MORE_RE!!!
|
137
138
|
BASICS_RE,
|
138
139
|
MINUTE_RE,
|
140
|
+
MINUTE_NA_RE, ## note - add/allow not/available (n/a,na) minutes hack for now
|
139
141
|
GOAL_OG_RE, GOAL_PEN_RE,
|
140
142
|
TEXT_RE )
|
141
143
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-02-
|
11
|
+
date: 2025-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocos
|