3e794565fc
Update byacc to 20170201.
228 lines
3.0 KiB
Plaintext
228 lines
3.0 KiB
Plaintext
0 $accept : yyyAugNonterm $end
|
||
|
||
1 $$1 :
|
||
|
||
2 yyyAugNonterm : $$1 s
|
||
|
||
3 s : expr
|
||
|
||
4 expr : expr '*' expr
|
||
5 | expr '+' expr
|
||
6 | expr '/' expr
|
||
7 | expr '-' expr
|
||
8 | '(' expr ')'
|
||
9 | ID
|
||
10 | CONST
|
||
|
||
state 0
|
||
$accept : . yyyAugNonterm $end (0)
|
||
$$1 : . (1)
|
||
|
||
. reduce 1
|
||
|
||
yyyAugNonterm goto 1
|
||
$$1 goto 2
|
||
|
||
|
||
state 1
|
||
$accept : yyyAugNonterm . $end (0)
|
||
|
||
$end accept
|
||
|
||
|
||
state 2
|
||
yyyAugNonterm : $$1 . s (2)
|
||
|
||
ID shift 3
|
||
CONST shift 4
|
||
'(' shift 5
|
||
. error
|
||
|
||
s goto 6
|
||
expr goto 7
|
||
|
||
|
||
state 3
|
||
expr : ID . (9)
|
||
|
||
. reduce 9
|
||
|
||
|
||
state 4
|
||
expr : CONST . (10)
|
||
|
||
. reduce 10
|
||
|
||
|
||
state 5
|
||
expr : '(' . expr ')' (8)
|
||
|
||
ID shift 3
|
||
CONST shift 4
|
||
'(' shift 5
|
||
. error
|
||
|
||
expr goto 8
|
||
|
||
|
||
state 6
|
||
yyyAugNonterm : $$1 s . (2)
|
||
|
||
. reduce 2
|
||
|
||
|
||
state 7
|
||
s : expr . (3)
|
||
expr : expr . '*' expr (4)
|
||
expr : expr . '+' expr (5)
|
||
expr : expr . '/' expr (6)
|
||
expr : expr . '-' expr (7)
|
||
|
||
'+' shift 9
|
||
'-' shift 10
|
||
'*' shift 11
|
||
'/' shift 12
|
||
$end reduce 3
|
||
|
||
|
||
state 8
|
||
expr : expr . '*' expr (4)
|
||
expr : expr . '+' expr (5)
|
||
expr : expr . '/' expr (6)
|
||
expr : expr . '-' expr (7)
|
||
expr : '(' expr . ')' (8)
|
||
|
||
'+' shift 9
|
||
'-' shift 10
|
||
'*' shift 11
|
||
'/' shift 12
|
||
')' shift 13
|
||
. error
|
||
|
||
|
||
state 9
|
||
expr : expr '+' . expr (5)
|
||
|
||
ID shift 3
|
||
CONST shift 4
|
||
'(' shift 5
|
||
. error
|
||
|
||
expr goto 14
|
||
|
||
|
||
state 10
|
||
expr : expr '-' . expr (7)
|
||
|
||
ID shift 3
|
||
CONST shift 4
|
||
'(' shift 5
|
||
. error
|
||
|
||
expr goto 15
|
||
|
||
|
||
state 11
|
||
expr : expr '*' . expr (4)
|
||
|
||
ID shift 3
|
||
CONST shift 4
|
||
'(' shift 5
|
||
. error
|
||
|
||
expr goto 16
|
||
|
||
|
||
state 12
|
||
expr : expr '/' . expr (6)
|
||
|
||
ID shift 3
|
||
CONST shift 4
|
||
'(' shift 5
|
||
. error
|
||
|
||
expr goto 17
|
||
|
||
|
||
state 13
|
||
expr : '(' expr ')' . (8)
|
||
|
||
. reduce 8
|
||
|
||
|
||
state 14
|
||
expr : expr . '*' expr (4)
|
||
expr : expr . '+' expr (5)
|
||
expr : expr '+' expr . (5)
|
||
expr : expr . '/' expr (6)
|
||
expr : expr . '-' expr (7)
|
||
|
||
'*' shift 11
|
||
'/' shift 12
|
||
$end reduce 5
|
||
'+' reduce 5
|
||
'-' reduce 5
|
||
')' reduce 5
|
||
|
||
|
||
state 15
|
||
expr : expr . '*' expr (4)
|
||
expr : expr . '+' expr (5)
|
||
expr : expr . '/' expr (6)
|
||
expr : expr . '-' expr (7)
|
||
expr : expr '-' expr . (7)
|
||
|
||
'*' shift 11
|
||
'/' shift 12
|
||
$end reduce 7
|
||
'+' reduce 7
|
||
'-' reduce 7
|
||
')' reduce 7
|
||
|
||
|
||
state 16
|
||
expr : expr . '*' expr (4)
|
||
expr : expr '*' expr . (4)
|
||
expr : expr . '+' expr (5)
|
||
expr : expr . '/' expr (6)
|
||
expr : expr . '-' expr (7)
|
||
|
||
. reduce 4
|
||
|
||
|
||
state 17
|
||
expr : expr . '*' expr (4)
|
||
expr : expr . '+' expr (5)
|
||
expr : expr . '/' expr (6)
|
||
expr : expr '/' expr . (6)
|
||
expr : expr . '-' expr (7)
|
||
|
||
'*' shift 11
|
||
$end reduce 6
|
||
'+' reduce 6
|
||
'-' reduce 6
|
||
'/' reduce 6
|
||
')' reduce 6
|
||
|
||
|
||
10 terminals, 5 nonterminals
|
||
11 grammar rules, 18 states
|
||
|
||
grammar parser grammar
|
||
symbol# value# symbol
|
||
0 0 $end
|
||
1 256 error
|
||
2 257 ID
|
||
3 258 CONST
|
||
4 43 '+'
|
||
5 45 '-'
|
||
6 42 '*'
|
||
7 47 '/'
|
||
8 40 '('
|
||
9 41 ')'
|
||
10 259 $accept
|
||
11 260 yyyAugNonterm
|
||
12 261 s
|
||
13 262 $$1
|
||
14 263 expr
|