c5b5d71ad3
Merge byacc 20160606.
217 lines
2.8 KiB
Plaintext
217 lines
2.8 KiB
Plaintext
0 $accept : declaration $end
|
||
|
||
1 $$1 :
|
||
|
||
2 $$2 :
|
||
|
||
3 declaration : class type $$1 $$2 namelist
|
||
4 | type locnamelist
|
||
|
||
5 class : GLOBAL
|
||
6 | LOCAL
|
||
|
||
7 type : REAL
|
||
8 | INTEGER
|
||
|
||
9 $$3 :
|
||
|
||
10 namelist : $$3 namelist NAME
|
||
11 | NAME
|
||
|
||
12 $$4 :
|
||
|
||
13 locnamelist : $$4 $$2 namelist
|
||
|
||
state 0
|
||
$accept : . declaration $end (0)
|
||
|
||
GLOBAL shift 1
|
||
LOCAL shift 2
|
||
REAL shift 3
|
||
INTEGER shift 4
|
||
. error
|
||
|
||
declaration goto 5
|
||
class goto 6
|
||
type goto 7
|
||
|
||
|
||
state 1
|
||
class : GLOBAL . (5)
|
||
|
||
. reduce 5
|
||
|
||
|
||
state 2
|
||
class : LOCAL . (6)
|
||
|
||
. reduce 6
|
||
|
||
|
||
state 3
|
||
type : REAL . (7)
|
||
|
||
. reduce 7
|
||
|
||
|
||
state 4
|
||
type : INTEGER . (8)
|
||
|
||
. reduce 8
|
||
|
||
|
||
state 5
|
||
$accept : declaration . $end (0)
|
||
|
||
$end accept
|
||
|
||
|
||
state 6
|
||
declaration : class . type $$1 $$2 namelist (3)
|
||
|
||
REAL shift 3
|
||
INTEGER shift 4
|
||
. error
|
||
|
||
type goto 8
|
||
|
||
|
||
state 7
|
||
declaration : type . locnamelist (4)
|
||
$$4 : . (12)
|
||
|
||
. reduce 12
|
||
|
||
locnamelist goto 9
|
||
$$4 goto 10
|
||
|
||
|
||
state 8
|
||
declaration : class type . $$1 $$2 namelist (3)
|
||
$$1 : . (1)
|
||
|
||
. reduce 1
|
||
|
||
$$1 goto 11
|
||
|
||
|
||
state 9
|
||
declaration : type locnamelist . (4)
|
||
|
||
. reduce 4
|
||
|
||
|
||
state 10
|
||
locnamelist : $$4 . $$2 namelist (13)
|
||
$$2 : . (2)
|
||
|
||
. reduce 2
|
||
|
||
$$2 goto 12
|
||
|
||
|
||
state 11
|
||
declaration : class type $$1 . $$2 namelist (3)
|
||
$$2 : . (2)
|
||
|
||
. reduce 2
|
||
|
||
$$2 goto 13
|
||
|
||
|
||
12: shift/reduce conflict (shift 14, reduce 9) on NAME
|
||
state 12
|
||
locnamelist : $$4 $$2 . namelist (13)
|
||
$$3 : . (9)
|
||
|
||
NAME shift 14
|
||
|
||
namelist goto 15
|
||
$$3 goto 16
|
||
|
||
|
||
13: shift/reduce conflict (shift 14, reduce 9) on NAME
|
||
state 13
|
||
declaration : class type $$1 $$2 . namelist (3)
|
||
$$3 : . (9)
|
||
|
||
NAME shift 14
|
||
|
||
namelist goto 17
|
||
$$3 goto 16
|
||
|
||
|
||
state 14
|
||
namelist : NAME . (11)
|
||
|
||
. reduce 11
|
||
|
||
|
||
state 15
|
||
locnamelist : $$4 $$2 namelist . (13)
|
||
|
||
. reduce 13
|
||
|
||
|
||
16: shift/reduce conflict (shift 14, reduce 9) on NAME
|
||
state 16
|
||
namelist : $$3 . namelist NAME (10)
|
||
$$3 : . (9)
|
||
|
||
NAME shift 14
|
||
|
||
namelist goto 18
|
||
$$3 goto 16
|
||
|
||
|
||
state 17
|
||
declaration : class type $$1 $$2 namelist . (3)
|
||
|
||
. reduce 3
|
||
|
||
|
||
state 18
|
||
namelist : $$3 namelist . NAME (10)
|
||
|
||
NAME shift 19
|
||
. error
|
||
|
||
|
||
state 19
|
||
namelist : $$3 namelist NAME . (10)
|
||
|
||
. reduce 10
|
||
|
||
|
||
Rules never reduced:
|
||
$$3 : (9)
|
||
|
||
|
||
State 12 contains 1 shift/reduce conflict.
|
||
State 13 contains 1 shift/reduce conflict.
|
||
State 16 contains 1 shift/reduce conflict.
|
||
|
||
|
||
7 terminals, 10 nonterminals
|
||
14 grammar rules, 20 states
|
||
|
||
grammar parser grammar
|
||
symbol# value# symbol
|
||
0 0 $end
|
||
1 256 error
|
||
2 257 GLOBAL
|
||
3 258 LOCAL
|
||
4 259 REAL
|
||
5 260 INTEGER
|
||
6 261 NAME
|
||
7 262 $accept
|
||
8 263 declaration
|
||
9 264 namelist
|
||
10 265 locnamelist
|
||
11 266 class
|
||
12 267 type
|
||
13 268 $$1
|
||
14 269 $$2
|
||
15 270 $$3
|
||
16 271 $$4
|