248 lines
3.3 KiB
Plaintext
248 lines
3.3 KiB
Plaintext
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
|