0 $accept : declaration $end 1 $$1 : 2 $$2 : 3 declaration : class type $$1 $$2 namelist 4 $$3 : 5 declaration : type $$3 locnamelist 6 class : GLOBAL 7 | LOCAL 8 type : REAL 9 | INTEGER 10 namelist : namelist NAME 11 | NAME 12 locnamelist : 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 . (6) . reduce 6 state 2 class : LOCAL . (7) . reduce 7 state 3 type : REAL . (8) . reduce 8 state 4 type : INTEGER . (9) . reduce 9 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 . $$3 locnamelist (5) $$3 : . (4) . reduce 4 $$3 goto 9 state 8 declaration : class type . $$1 $$2 namelist (3) $$1 : . (1) . reduce 1 $$1 goto 10 state 9 declaration : type $$3 . locnamelist (5) NAME shift 11 . error namelist goto 12 locnamelist goto 13 state 10 declaration : class type $$1 . $$2 namelist (3) $$2 : . (2) . reduce 2 $$2 goto 14 state 11 namelist : NAME . (11) . reduce 11 state 12 namelist : namelist . NAME (10) locnamelist : namelist . (12) NAME shift 15 $end reduce 12 state 13 declaration : type $$3 locnamelist . (5) . reduce 5 state 14 declaration : class type $$1 $$2 . namelist (3) NAME shift 11 . error namelist goto 16 state 15 namelist : namelist NAME . (10) . reduce 10 state 16 declaration : class type $$1 $$2 namelist . (3) namelist : namelist . NAME (10) NAME shift 15 $end reduce 3 7 terminals, 9 nonterminals 13 grammar rules, 17 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