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