0 $accept : declaration $end
1 declaration : class type namelist '(' class ',' type ')'
2 | type locnamelist '(' class ')'
3 class : GLOBAL
4 | LOCAL
5 type : REAL
6 | INTEGER
7 namelist : namelist NAME
8 | NAME
9 locnamelist : namelist '(' LOCAL ',' type ')'
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 . (3)
. reduce 3
state 2
class : LOCAL . (4)
. reduce 4
state 3
type : REAL . (5)
. reduce 5
state 4
type : INTEGER . (6)
. reduce 6
state 5
$accept : declaration . $end (0)
$end accept
state 6
declaration : class . type namelist '(' class ',' type ')' (1)
REAL shift 3
INTEGER shift 4
. error
type goto 8
state 7
declaration : type . locnamelist '(' class ')' (2)
NAME shift 9
. error
locnamelist goto 10
namelist goto 11
state 8
declaration : class type . namelist '(' class ',' type ')' (1)
NAME shift 9
. error
namelist goto 12
state 9
namelist : NAME . (8)
. reduce 8
state 10
declaration : type locnamelist . '(' class ')' (2)
'(' shift 13
. error
state 11
namelist : namelist . NAME (7)
locnamelist : namelist . '(' LOCAL ',' type ')' (9)
NAME shift 14
'(' shift 15
. error
state 12
declaration : class type namelist . '(' class ',' type ')' (1)
namelist : namelist . NAME (7)
NAME shift 14
'(' shift 16
. error
state 13
declaration : type locnamelist '(' . class ')' (2)
GLOBAL shift 1
LOCAL shift 2
. error
class goto 17
state 14
namelist : namelist NAME . (7)
. reduce 7
state 15
locnamelist : namelist '(' . LOCAL ',' type ')' (9)
LOCAL shift 18
. error
state 16
declaration : class type namelist '(' . class ',' type ')' (1)
GLOBAL shift 1
LOCAL shift 2
. error
class goto 19
state 17
declaration : type locnamelist '(' class . ')' (2)
')' shift 20
. error
state 18
locnamelist : namelist '(' LOCAL . ',' type ')' (9)
',' shift 21
. error
state 19
declaration : class type namelist '(' class . ',' type ')' (1)
',' shift 22
. error
state 20
declaration : type locnamelist '(' class ')' . (2)
. reduce 2
state 21
locnamelist : namelist '(' LOCAL ',' . type ')' (9)
REAL shift 3
INTEGER shift 4
. error
type goto 23
state 22
declaration : class type namelist '(' class ',' . type ')' (1)
REAL shift 3
INTEGER shift 4
. error
type goto 24
state 23
locnamelist : namelist '(' LOCAL ',' type . ')' (9)
')' shift 25
. error
state 24
declaration : class type namelist '(' class ',' type . ')' (1)
')' shift 26
. error
state 25
locnamelist : namelist '(' LOCAL ',' type ')' . (9)
. reduce 9
state 26
declaration : class type namelist '(' class ',' type ')' . (1)
. reduce 1
10 terminals, 6 nonterminals
10 grammar rules, 27 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 40 '('
8 44 ','
9 41 ')'
10 262 $accept
11 263 declaration
12 264 locnamelist
13 265 class
14 266 type
15 267 namelist