1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
|
0 $accept : timedate $end
1 timedate :
2 | timedate item
3 item : tspec
4 | zone
5 | dtspec
6 | dyspec
7 | rspec
8 | nspec
9 nspec : NUMBER
10 tspec : NUMBER MERIDIAN
11 | NUMBER ':' NUMBER
12 | NUMBER ':' NUMBER MERIDIAN
13 | NUMBER ':' NUMBER NUMBER
14 | NUMBER ':' NUMBER ':' NUMBER
15 | NUMBER ':' NUMBER ':' NUMBER MERIDIAN
16 | NUMBER ':' NUMBER ':' NUMBER NUMBER
17 zone : ZONE
18 | DAYZONE
19 dyspec : DAY
20 | DAY ','
21 | NUMBER DAY
22 dtspec : NUMBER '/' NUMBER
23 | NUMBER '/' NUMBER '/' NUMBER
24 | MONTH NUMBER
25 | MONTH NUMBER ',' NUMBER
26 | MONTH NUMBER NUMBER ':' NUMBER
27 | MONTH NUMBER NUMBER ':' NUMBER ':' NUMBER
28 | MONTH NUMBER NUMBER
29 | NUMBER MONTH
30 | NUMBER MONTH NUMBER
31 rspec : NUMBER UNIT
32 | NUMBER MUNIT
33 | NUMBER SUNIT
34 | UNIT
35 | MUNIT
36 | SUNIT
37 | rspec AGO
state 0
$accept : . timedate $end (0)
timedate : . (1)
. reduce 1
timedate goto 1
state 1
$accept : timedate . $end (0)
timedate : timedate . item (2)
$end accept
MONTH shift 2
DAY shift 3
NUMBER shift 4
UNIT shift 5
MUNIT shift 6
SUNIT shift 7
ZONE shift 8
DAYZONE shift 9
. error
item goto 10
tspec goto 11
zone goto 12
dtspec goto 13
dyspec goto 14
rspec goto 15
nspec goto 16
state 2
dtspec : MONTH . NUMBER (24)
dtspec : MONTH . NUMBER ',' NUMBER (25)
dtspec : MONTH . NUMBER NUMBER ':' NUMBER (26)
dtspec : MONTH . NUMBER NUMBER ':' NUMBER ':' NUMBER (27)
dtspec : MONTH . NUMBER NUMBER (28)
NUMBER shift 17
. error
state 3
dyspec : DAY . (19)
dyspec : DAY . ',' (20)
',' shift 18
$end reduce 19
MONTH reduce 19
DAY reduce 19
NUMBER reduce 19
UNIT reduce 19
MUNIT reduce 19
SUNIT reduce 19
ZONE reduce 19
DAYZONE reduce 19
4: shift/reduce conflict (shift 19, reduce 9) on MONTH
4: shift/reduce conflict (shift 20, reduce 9) on DAY
4: shift/reduce conflict (shift 22, reduce 9) on UNIT
4: shift/reduce conflict (shift 23, reduce 9) on MUNIT
4: shift/reduce conflict (shift 24, reduce 9) on SUNIT
state 4
nspec : NUMBER . (9)
tspec : NUMBER . MERIDIAN (10)
tspec : NUMBER . ':' NUMBER (11)
tspec : NUMBER . ':' NUMBER MERIDIAN (12)
tspec : NUMBER . ':' NUMBER NUMBER (13)
tspec : NUMBER . ':' NUMBER ':' NUMBER (14)
tspec : NUMBER . ':' NUMBER ':' NUMBER MERIDIAN (15)
tspec : NUMBER . ':' NUMBER ':' NUMBER NUMBER (16)
dyspec : NUMBER . DAY (21)
dtspec : NUMBER . '/' NUMBER (22)
dtspec : NUMBER . '/' NUMBER '/' NUMBER (23)
dtspec : NUMBER . MONTH (29)
dtspec : NUMBER . MONTH NUMBER (30)
rspec : NUMBER . UNIT (31)
rspec : NUMBER . MUNIT (32)
rspec : NUMBER . SUNIT (33)
MONTH shift 19
DAY shift 20
MERIDIAN shift 21
UNIT shift 22
MUNIT shift 23
SUNIT shift 24
':' shift 25
'/' shift 26
$end reduce 9
NUMBER reduce 9
ZONE reduce 9
DAYZONE reduce 9
state 5
rspec : UNIT . (34)
. reduce 34
state 6
rspec : MUNIT . (35)
. reduce 35
state 7
rspec : SUNIT . (36)
. reduce 36
state 8
zone : ZONE . (17)
. reduce 17
state 9
zone : DAYZONE . (18)
. reduce 18
state 10
timedate : timedate item . (2)
. reduce 2
state 11
item : tspec . (3)
. reduce 3
state 12
item : zone . (4)
. reduce 4
state 13
item : dtspec . (5)
. reduce 5
state 14
item : dyspec . (6)
. reduce 6
state 15
item : rspec . (7)
rspec : rspec . AGO (37)
AGO shift 27
$end reduce 7
MONTH reduce 7
DAY reduce 7
NUMBER reduce 7
UNIT reduce 7
MUNIT reduce 7
SUNIT reduce 7
ZONE reduce 7
DAYZONE reduce 7
state 16
item : nspec . (8)
. reduce 8
17: shift/reduce conflict (shift 28, reduce 24) on NUMBER
state 17
dtspec : MONTH NUMBER . (24)
dtspec : MONTH NUMBER . ',' NUMBER (25)
dtspec : MONTH NUMBER . NUMBER ':' NUMBER (26)
dtspec : MONTH NUMBER . NUMBER ':' NUMBER ':' NUMBER (27)
dtspec : MONTH NUMBER . NUMBER (28)
NUMBER shift 28
',' shift 29
$end reduce 24
MONTH reduce 24
DAY reduce 24
UNIT reduce 24
MUNIT reduce 24
SUNIT reduce 24
ZONE reduce 24
DAYZONE reduce 24
state 18
dyspec : DAY ',' . (20)
. reduce 20
19: shift/reduce conflict (shift 30, reduce 29) on NUMBER
state 19
dtspec : NUMBER MONTH . (29)
dtspec : NUMBER MONTH . NUMBER (30)
NUMBER shift 30
$end reduce 29
MONTH reduce 29
DAY reduce 29
UNIT reduce 29
MUNIT reduce 29
SUNIT reduce 29
ZONE reduce 29
DAYZONE reduce 29
state 20
dyspec : NUMBER DAY . (21)
. reduce 21
state 21
tspec : NUMBER MERIDIAN . (10)
. reduce 10
state 22
rspec : NUMBER UNIT . (31)
. reduce 31
state 23
rspec : NUMBER MUNIT . (32)
. reduce 32
state 24
rspec : NUMBER SUNIT . (33)
. reduce 33
state 25
tspec : NUMBER ':' . NUMBER (11)
tspec : NUMBER ':' . NUMBER MERIDIAN (12)
tspec : NUMBER ':' . NUMBER NUMBER (13)
tspec : NUMBER ':' . NUMBER ':' NUMBER (14)
tspec : NUMBER ':' . NUMBER ':' NUMBER MERIDIAN (15)
tspec : NUMBER ':' . NUMBER ':' NUMBER NUMBER (16)
NUMBER shift 31
. error
state 26
dtspec : NUMBER '/' . NUMBER (22)
dtspec : NUMBER '/' . NUMBER '/' NUMBER (23)
NUMBER shift 32
. error
state 27
rspec : rspec AGO . (37)
. reduce 37
state 28
dtspec : MONTH NUMBER NUMBER . ':' NUMBER (26)
dtspec : MONTH NUMBER NUMBER . ':' NUMBER ':' NUMBER (27)
dtspec : MONTH NUMBER NUMBER . (28)
':' shift 33
$end reduce 28
MONTH reduce 28
DAY reduce 28
NUMBER reduce 28
UNIT reduce 28
MUNIT reduce 28
SUNIT reduce 28
ZONE reduce 28
DAYZONE reduce 28
state 29
dtspec : MONTH NUMBER ',' . NUMBER (25)
NUMBER shift 34
. error
state 30
dtspec : NUMBER MONTH NUMBER . (30)
. reduce 30
31: shift/reduce conflict (shift 36, reduce 11) on NUMBER
state 31
tspec : NUMBER ':' NUMBER . (11)
tspec : NUMBER ':' NUMBER . MERIDIAN (12)
tspec : NUMBER ':' NUMBER . NUMBER (13)
tspec : NUMBER ':' NUMBER . ':' NUMBER (14)
tspec : NUMBER ':' NUMBER . ':' NUMBER MERIDIAN (15)
tspec : NUMBER ':' NUMBER . ':' NUMBER NUMBER (16)
MERIDIAN shift 35
NUMBER shift 36
':' shift 37
$end reduce 11
MONTH reduce 11
DAY reduce 11
UNIT reduce 11
MUNIT reduce 11
SUNIT reduce 11
ZONE reduce 11
DAYZONE reduce 11
state 32
dtspec : NUMBER '/' NUMBER . (22)
dtspec : NUMBER '/' NUMBER . '/' NUMBER (23)
'/' shift 38
$end reduce 22
MONTH reduce 22
DAY reduce 22
NUMBER reduce 22
UNIT reduce 22
MUNIT reduce 22
SUNIT reduce 22
ZONE reduce 22
DAYZONE reduce 22
state 33
dtspec : MONTH NUMBER NUMBER ':' . NUMBER (26)
dtspec : MONTH NUMBER NUMBER ':' . NUMBER ':' NUMBER (27)
NUMBER shift 39
. error
state 34
dtspec : MONTH NUMBER ',' NUMBER . (25)
. reduce 25
state 35
tspec : NUMBER ':' NUMBER MERIDIAN . (12)
. reduce 12
state 36
tspec : NUMBER ':' NUMBER NUMBER . (13)
. reduce 13
state 37
tspec : NUMBER ':' NUMBER ':' . NUMBER (14)
tspec : NUMBER ':' NUMBER ':' . NUMBER MERIDIAN (15)
tspec : NUMBER ':' NUMBER ':' . NUMBER NUMBER (16)
NUMBER shift 40
. error
state 38
dtspec : NUMBER '/' NUMBER '/' . NUMBER (23)
NUMBER shift 41
. error
state 39
dtspec : MONTH NUMBER NUMBER ':' NUMBER . (26)
dtspec : MONTH NUMBER NUMBER ':' NUMBER . ':' NUMBER (27)
':' shift 42
$end reduce 26
MONTH reduce 26
DAY reduce 26
NUMBER reduce 26
UNIT reduce 26
MUNIT reduce 26
SUNIT reduce 26
ZONE reduce 26
DAYZONE reduce 26
40: shift/reduce conflict (shift 44, reduce 14) on NUMBER
state 40
tspec : NUMBER ':' NUMBER ':' NUMBER . (14)
tspec : NUMBER ':' NUMBER ':' NUMBER . MERIDIAN (15)
tspec : NUMBER ':' NUMBER ':' NUMBER . NUMBER (16)
MERIDIAN shift 43
NUMBER shift 44
$end reduce 14
MONTH reduce 14
DAY reduce 14
UNIT reduce 14
MUNIT reduce 14
SUNIT reduce 14
ZONE reduce 14
DAYZONE reduce 14
state 41
dtspec : NUMBER '/' NUMBER '/' NUMBER . (23)
. reduce 23
state 42
dtspec : MONTH NUMBER NUMBER ':' NUMBER ':' . NUMBER (27)
NUMBER shift 45
. error
state 43
tspec : NUMBER ':' NUMBER ':' NUMBER MERIDIAN . (15)
. reduce 15
state 44
tspec : NUMBER ':' NUMBER ':' NUMBER NUMBER . (16)
. reduce 16
state 45
dtspec : MONTH NUMBER NUMBER ':' NUMBER ':' NUMBER . (27)
. reduce 27
State 4 contains 5 shift/reduce conflicts.
State 17 contains 1 shift/reduce conflict.
State 19 contains 1 shift/reduce conflict.
State 31 contains 1 shift/reduce conflict.
State 40 contains 1 shift/reduce conflict.
16 terminals, 9 nonterminals
38 grammar rules, 46 states
|