   0  $accept : input $end

   1  opt_scope :
   2            | CLCL
   3            | opt_scope ID CLCL

   4  typename : opt_scope ID

   5  $$1 :

   6  input : $$1 decl_list

   7  decl_list :

   8  $$2 :

   9  decl_list : decl_list $$2 decl

  10  $$3 :

  11  decl : decl_specs $$2 $$3 declarator_list ';'

  12  $$4 :

  13  decl : decl_specs $$2 $$3 declarator $$4 block_statement

  14  decl_specs : decl_spec
  15             | decl_specs $$2 decl_spec

  16  cv_quals :
  17           | cv_quals cv_qual

  18  decl_spec : cv_qual
  19            | typename
  20            | EXTERN
  21            | REGISTER
  22            | STATIC

  23  cv_qual : CONST
  24          | VOLATILE

  25  $$5 :

  26  $$6 :

  27  declarator_list : declarator_list ',' $$5 $$6 declarator
  28                  | declarator

  29  declarator :
  30             | ID

  31  $$7 :

  32  $$8 :

  33  declarator : '(' $$7 $$8 declarator ')'
  34             | '*' cv_quals $$5 $$6 declarator
  35             | declarator '[' $$5 expr ']'
  36             | declarator '(' $$5 formal_arg_list ')' cv_quals

  37  formal_arg_list :
  38                  | nonempty_formal_arg_list

  39  nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$7 formal_arg
  40                           | formal_arg

  41  formal_arg : decl_specs $$2 $$3 declarator

  42  expr : expr '+' $$7 expr
  43       | expr '-' $$7 expr
  44       | expr '*' $$7 expr
  45       | expr '%' $$7 expr
  46       | expr '/' $$7 expr
  47       | '*' $$2 expr
  48       | ID
  49       | CONSTANT

  50  statement : decl

  51  $$9 :

  52  statement : $$9 expr ';'

  53  $$10 :

  54  $$11 :

  55  statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE $$11 statement
  56            | IF '(' $$7 expr ')' THEN $$10 statement

  57  $$12 :

  58  statement : $$12 block_statement

  59  statement_list :
  60                 | statement_list $$2 statement

  61  block_statement : '{' $$2 statement_list '}'

state 0
	$accept : . input $end  (0)
	$$1 : .  (5)

	.  reduce 5

	input  goto 1
	$$1  goto 2


state 1
	$accept : input . $end  (0)

	$end  accept


state 2
	input : $$1 . decl_list  (6)
	decl_list : .  (7)

	.  reduce 7

	decl_list  goto 3


state 3
	input : $$1 decl_list .  (6)
	decl_list : decl_list . $$2 decl  (9)
	$$2 : .  (8)

	$end  reduce 6
	ID  reduce 8
	EXTERN  reduce 8
	REGISTER  reduce 8
	STATIC  reduce 8
	CONST  reduce 8
	VOLATILE  reduce 8
	CLCL  reduce 8

	$$2  goto 4


state 4
	decl_list : decl_list $$2 . decl  (9)
	opt_scope : .  (1)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	CLCL  shift 10
	ID  reduce 1

	decl  goto 11
	decl_specs  goto 12
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16


state 5
	decl_spec : EXTERN .  (20)

	.  reduce 20


state 6
	decl_spec : REGISTER .  (21)

	.  reduce 21


state 7
	decl_spec : STATIC .  (22)

	.  reduce 22


state 8
	cv_qual : CONST .  (23)

	.  reduce 23


state 9
	cv_qual : VOLATILE .  (24)

	.  reduce 24


state 10
	opt_scope : CLCL .  (2)

	.  reduce 2


state 11
	decl_list : decl_list $$2 decl .  (9)

	.  reduce 9


state 12
	decl : decl_specs . $$2 $$3 declarator_list ';'  (11)
	decl : decl_specs . $$2 $$3 declarator $$4 block_statement  (13)
	decl_specs : decl_specs . $$2 decl_spec  (15)
	$$2 : .  (8)

	.  reduce 8

	$$2  goto 17


state 13
	decl_specs : decl_spec .  (14)

	.  reduce 14


state 14
	decl_spec : typename .  (19)

	.  reduce 19


state 15
	decl_spec : cv_qual .  (18)

	.  reduce 18


state 16
	opt_scope : opt_scope . ID CLCL  (3)
	typename : opt_scope . ID  (4)

	ID  shift 18
	.  error


17: reduce/reduce conflict (reduce 1, reduce 10) on ID
state 17
	decl : decl_specs $$2 . $$3 declarator_list ';'  (11)
	decl : decl_specs $$2 . $$3 declarator $$4 block_statement  (13)
	decl_specs : decl_specs $$2 . decl_spec  (15)
	opt_scope : .  (1)
	$$3 : .  (10)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	CLCL  shift 10
	'*'  reduce 10
	'('  reduce 10
	'['  reduce 10
	ID  [trial] reduce 1
	ID  [trial] reduce 10
	';'  reduce 10
	','  reduce 10
	'{'  reduce 10

	decl_spec  goto 19
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$3  goto 20


18: shift/reduce conflict (shift 21, reduce 4) on CLCL
state 18
	opt_scope : opt_scope ID . CLCL  (3)
	typename : opt_scope ID .  (4)

	CLCL  [trial] shift 21
	'*'  reduce 4
	'('  reduce 4
	'['  reduce 4
	ID  reduce 4
	EXTERN  reduce 4
	REGISTER  reduce 4
	STATIC  reduce 4
	CONST  reduce 4
	VOLATILE  reduce 4
	CLCL  [trial] reduce 4
	';'  reduce 4
	','  reduce 4
	')'  reduce 4
	'{'  reduce 4


state 19
	decl_specs : decl_specs $$2 decl_spec .  (15)

	.  reduce 15


20: shift/reduce conflict (shift 23, reduce 29) on '('
state 20
	decl : decl_specs $$2 $$3 . declarator_list ';'  (11)
	decl : decl_specs $$2 $$3 . declarator $$4 block_statement  (13)
	declarator : .  (29)

	'*'  shift 22
	'('  [trial] shift 23
	ID  shift 24
	'('  [trial] reduce 29
	'['  reduce 29
	';'  reduce 29
	','  reduce 29
	'{'  reduce 29

	declarator_list  goto 25
	declarator  goto 26


state 21
	opt_scope : opt_scope ID CLCL .  (3)

	.  reduce 3


state 22
	declarator : '*' . cv_quals $$5 $$6 declarator  (34)
	cv_quals : .  (16)

	.  reduce 16

	cv_quals  goto 27


state 23
	declarator : '(' . $$7 $$8 declarator ')'  (33)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 28


state 24
	declarator : ID .  (30)

	.  reduce 30


state 25
	decl : decl_specs $$2 $$3 declarator_list . ';'  (11)
	declarator_list : declarator_list . ',' $$5 $$6 declarator  (27)

	';'  shift 29
	','  shift 30
	.  error


state 26
	decl : decl_specs $$2 $$3 declarator . $$4 block_statement  (13)
	declarator_list : declarator .  (28)
	declarator : declarator . '[' $$5 expr ']'  (35)
	declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals  (36)
	$$4 : .  (12)

	'('  shift 31
	'['  shift 32
	';'  reduce 28
	','  reduce 28
	'{'  reduce 12

	$$4  goto 33


state 27
	cv_quals : cv_quals . cv_qual  (17)
	declarator : '*' cv_quals . $$5 $$6 declarator  (34)
	$$5 : .  (25)

	CONST  shift 8
	VOLATILE  shift 9
	'*'  reduce 25
	'('  reduce 25
	'['  reduce 25
	ID  reduce 25
	';'  reduce 25
	','  reduce 25
	')'  reduce 25
	'{'  reduce 25

	cv_qual  goto 34
	$$5  goto 35


state 28
	declarator : '(' $$7 . $$8 declarator ')'  (33)
	$$8 : .  (32)

	.  reduce 32

	$$8  goto 36


state 29
	decl : decl_specs $$2 $$3 declarator_list ';' .  (11)

	.  reduce 11


state 30
	declarator_list : declarator_list ',' . $$5 $$6 declarator  (27)
	$$5 : .  (25)

	.  reduce 25

	$$5  goto 37


state 31
	declarator : declarator '(' . $$5 formal_arg_list ')' cv_quals  (36)
	$$5 : .  (25)

	.  reduce 25

	$$5  goto 38


state 32
	declarator : declarator '[' . $$5 expr ']'  (35)
	$$5 : .  (25)

	.  reduce 25

	$$5  goto 39


state 33
	decl : decl_specs $$2 $$3 declarator $$4 . block_statement  (13)

	'{'  shift 40
	.  error

	block_statement  goto 41


state 34
	cv_quals : cv_quals cv_qual .  (17)

	.  reduce 17


state 35
	declarator : '*' cv_quals $$5 . $$6 declarator  (34)
	$$6 : .  (26)

	.  reduce 26

	$$6  goto 42


36: shift/reduce conflict (shift 23, reduce 29) on '('
state 36
	declarator : '(' $$7 $$8 . declarator ')'  (33)
	declarator : .  (29)

	'*'  shift 22
	'('  [trial] shift 23
	ID  shift 24
	'('  [trial] reduce 29
	'['  reduce 29
	')'  reduce 29

	declarator  goto 43


state 37
	declarator_list : declarator_list ',' $$5 . $$6 declarator  (27)
	$$6 : .  (26)

	.  reduce 26

	$$6  goto 44


state 38
	declarator : declarator '(' $$5 . formal_arg_list ')' cv_quals  (36)
	opt_scope : .  (1)
	formal_arg_list : .  (37)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	CLCL  shift 10
	ID  reduce 1
	')'  reduce 37

	formal_arg  goto 45
	decl_specs  goto 46
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	formal_arg_list  goto 47
	nonempty_formal_arg_list  goto 48


state 39
	declarator : declarator '[' $$5 . expr ']'  (35)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 52


state 40
	block_statement : '{' . $$2 statement_list '}'  (61)
	$$2 : .  (8)

	.  reduce 8

	$$2  goto 53


state 41
	decl : decl_specs $$2 $$3 declarator $$4 block_statement .  (13)

	.  reduce 13


42: shift/reduce conflict (shift 23, reduce 29) on '('
state 42
	declarator : '*' cv_quals $$5 $$6 . declarator  (34)
	declarator : .  (29)

	'*'  shift 22
	'('  [trial] shift 23
	ID  shift 24
	'('  [trial] reduce 29
	'['  reduce 29
	';'  reduce 29
	','  reduce 29
	')'  reduce 29
	'{'  reduce 29

	declarator  goto 54


state 43
	declarator : '(' $$7 $$8 declarator . ')'  (33)
	declarator : declarator . '[' $$5 expr ']'  (35)
	declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals  (36)

	'('  shift 31
	'['  shift 32
	')'  shift 55
	.  error


44: shift/reduce conflict (shift 23, reduce 29) on '('
state 44
	declarator_list : declarator_list ',' $$5 $$6 . declarator  (27)
	declarator : .  (29)

	'*'  shift 22
	'('  [trial] shift 23
	ID  shift 24
	'('  [trial] reduce 29
	'['  reduce 29
	';'  reduce 29
	','  reduce 29

	declarator  goto 56


state 45
	nonempty_formal_arg_list : formal_arg .  (40)

	.  reduce 40


state 46
	decl_specs : decl_specs . $$2 decl_spec  (15)
	formal_arg : decl_specs . $$2 $$3 declarator  (41)
	$$2 : .  (8)

	.  reduce 8

	$$2  goto 57


state 47
	declarator : declarator '(' $$5 formal_arg_list . ')' cv_quals  (36)

	')'  shift 58
	.  error


state 48
	formal_arg_list : nonempty_formal_arg_list .  (38)
	nonempty_formal_arg_list : nonempty_formal_arg_list . ',' $$7 formal_arg  (39)

	','  shift 59
	')'  reduce 38


state 49
	expr : '*' . $$2 expr  (47)
	$$2 : .  (8)

	.  reduce 8

	$$2  goto 60


state 50
	expr : ID .  (48)

	.  reduce 48


state 51
	expr : CONSTANT .  (49)

	.  reduce 49


state 52
	declarator : declarator '[' $$5 expr . ']'  (35)
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)

	'+'  shift 61
	'-'  shift 62
	'*'  shift 63
	'/'  shift 64
	'%'  shift 65
	']'  shift 66
	.  error


state 53
	block_statement : '{' $$2 . statement_list '}'  (61)
	statement_list : .  (59)

	.  reduce 59

	statement_list  goto 67


state 54
	declarator : '*' cv_quals $$5 $$6 declarator .  (34)
	declarator : declarator . '[' $$5 expr ']'  (35)
	declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals  (36)

	'('  shift 31
	'['  shift 32
	';'  reduce 34
	','  reduce 34
	')'  reduce 34
	'{'  reduce 34


state 55
	declarator : '(' $$7 $$8 declarator ')' .  (33)

	.  reduce 33


state 56
	declarator_list : declarator_list ',' $$5 $$6 declarator .  (27)
	declarator : declarator . '[' $$5 expr ']'  (35)
	declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals  (36)

	'('  shift 31
	'['  shift 32
	';'  reduce 27
	','  reduce 27


57: reduce/reduce conflict (reduce 1, reduce 10) on ID
state 57
	decl_specs : decl_specs $$2 . decl_spec  (15)
	formal_arg : decl_specs $$2 . $$3 declarator  (41)
	opt_scope : .  (1)
	$$3 : .  (10)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	CLCL  shift 10
	'*'  reduce 10
	'('  reduce 10
	'['  reduce 10
	ID  [trial] reduce 1
	ID  [trial] reduce 10
	','  reduce 10
	')'  reduce 10

	decl_spec  goto 19
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$3  goto 68


state 58
	declarator : declarator '(' $$5 formal_arg_list ')' . cv_quals  (36)
	cv_quals : .  (16)

	.  reduce 16

	cv_quals  goto 69


state 59
	nonempty_formal_arg_list : nonempty_formal_arg_list ',' . $$7 formal_arg  (39)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 70


state 60
	expr : '*' $$2 . expr  (47)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 71


state 61
	expr : expr '+' . $$7 expr  (42)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 72


state 62
	expr : expr '-' . $$7 expr  (43)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 73


state 63
	expr : expr '*' . $$7 expr  (44)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 74


state 64
	expr : expr '/' . $$7 expr  (46)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 75


state 65
	expr : expr '%' . $$7 expr  (45)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 76


state 66
	declarator : declarator '[' $$5 expr ']' .  (35)

	.  reduce 35


state 67
	statement_list : statement_list . $$2 statement  (60)
	block_statement : '{' $$2 statement_list . '}'  (61)
	$$2 : .  (8)

	'}'  shift 77
	'*'  reduce 8
	ID  reduce 8
	CONSTANT  reduce 8
	EXTERN  reduce 8
	REGISTER  reduce 8
	STATIC  reduce 8
	CONST  reduce 8
	VOLATILE  reduce 8
	IF  reduce 8
	CLCL  reduce 8
	'{'  reduce 8

	$$2  goto 78


68: shift/reduce conflict (shift 23, reduce 29) on '('
state 68
	formal_arg : decl_specs $$2 $$3 . declarator  (41)
	declarator : .  (29)

	'*'  shift 22
	'('  [trial] shift 23
	ID  shift 24
	'('  [trial] reduce 29
	'['  reduce 29
	','  reduce 29
	')'  reduce 29

	declarator  goto 79


state 69
	cv_quals : cv_quals . cv_qual  (17)
	declarator : declarator '(' $$5 formal_arg_list ')' cv_quals .  (36)

	CONST  shift 8
	VOLATILE  shift 9
	'('  reduce 36
	'['  reduce 36
	';'  reduce 36
	','  reduce 36
	')'  reduce 36
	'{'  reduce 36

	cv_qual  goto 34


state 70
	nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$7 . formal_arg  (39)
	opt_scope : .  (1)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	CLCL  shift 10
	ID  reduce 1

	formal_arg  goto 80
	decl_specs  goto 46
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16


state 71
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)
	expr : '*' $$2 expr .  (47)

	.  reduce 47


state 72
	expr : expr '+' $$7 . expr  (42)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 81


state 73
	expr : expr '-' $$7 . expr  (43)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 82


state 74
	expr : expr '*' $$7 . expr  (44)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 83


state 75
	expr : expr '/' $$7 . expr  (46)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 84


state 76
	expr : expr '%' $$7 . expr  (45)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 85


state 77
	block_statement : '{' $$2 statement_list '}' .  (61)

	.  reduce 61


78: reduce/reduce conflict (reduce 1, reduce 51) on ID
state 78
	statement_list : statement_list $$2 . statement  (60)
	opt_scope : .  (1)
	$$9 : .  (51)
	$$12 : .  (57)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	IF  shift 86
	CLCL  shift 10
	'*'  reduce 51
	ID  [trial] reduce 1
	ID  [trial] reduce 51
	CONSTANT  reduce 51
	'{'  reduce 57

	decl  goto 87
	statement  goto 88
	decl_specs  goto 12
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$9  goto 89
	$$12  goto 90


state 79
	declarator : declarator . '[' $$5 expr ']'  (35)
	declarator : declarator . '(' $$5 formal_arg_list ')' cv_quals  (36)
	formal_arg : decl_specs $$2 $$3 declarator .  (41)

	'('  shift 31
	'['  shift 32
	','  reduce 41
	')'  reduce 41


state 80
	nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$7 formal_arg .  (39)

	.  reduce 39


state 81
	expr : expr . '+' $$7 expr  (42)
	expr : expr '+' $$7 expr .  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)

	'*'  shift 63
	'/'  shift 64
	'%'  shift 65
	'+'  reduce 42
	'-'  reduce 42
	';'  reduce 42
	')'  reduce 42
	']'  reduce 42


state 82
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr '-' $$7 expr .  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)

	'*'  shift 63
	'/'  shift 64
	'%'  shift 65
	'+'  reduce 43
	'-'  reduce 43
	';'  reduce 43
	')'  reduce 43
	']'  reduce 43


state 83
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr '*' $$7 expr .  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)

	.  reduce 44


state 84
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)
	expr : expr '/' $$7 expr .  (46)

	.  reduce 46


state 85
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr '%' $$7 expr .  (45)
	expr : expr . '/' $$7 expr  (46)

	.  reduce 45


state 86
	statement : IF . '(' $$7 expr ')' THEN $$10 statement ELSE $$11 statement  (55)
	statement : IF . '(' $$7 expr ')' THEN $$10 statement  (56)

	'('  shift 91
	.  error


state 87
	statement : decl .  (50)

	.  reduce 50


state 88
	statement_list : statement_list $$2 statement .  (60)

	.  reduce 60


state 89
	statement : $$9 . expr ';'  (52)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 92


state 90
	statement : $$12 . block_statement  (58)

	'{'  shift 40
	.  error

	block_statement  goto 93


state 91
	statement : IF '(' . $$7 expr ')' THEN $$10 statement ELSE $$11 statement  (55)
	statement : IF '(' . $$7 expr ')' THEN $$10 statement  (56)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 94


state 92
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)
	statement : $$9 expr . ';'  (52)

	'+'  shift 61
	'-'  shift 62
	'*'  shift 63
	'/'  shift 64
	'%'  shift 65
	';'  shift 95
	.  error


state 93
	statement : $$12 block_statement .  (58)

	.  reduce 58


state 94
	statement : IF '(' $$7 . expr ')' THEN $$10 statement ELSE $$11 statement  (55)
	statement : IF '(' $$7 . expr ')' THEN $$10 statement  (56)

	'*'  shift 49
	ID  shift 50
	CONSTANT  shift 51
	.  error

	expr  goto 96


state 95
	statement : $$9 expr ';' .  (52)

	.  reduce 52


state 96
	expr : expr . '+' $$7 expr  (42)
	expr : expr . '-' $$7 expr  (43)
	expr : expr . '*' $$7 expr  (44)
	expr : expr . '%' $$7 expr  (45)
	expr : expr . '/' $$7 expr  (46)
	statement : IF '(' $$7 expr . ')' THEN $$10 statement ELSE $$11 statement  (55)
	statement : IF '(' $$7 expr . ')' THEN $$10 statement  (56)

	'+'  shift 61
	'-'  shift 62
	'*'  shift 63
	'/'  shift 64
	'%'  shift 65
	')'  shift 97
	.  error


state 97
	statement : IF '(' $$7 expr ')' . THEN $$10 statement ELSE $$11 statement  (55)
	statement : IF '(' $$7 expr ')' . THEN $$10 statement  (56)

	THEN  shift 98
	.  error


state 98
	statement : IF '(' $$7 expr ')' THEN . $$10 statement ELSE $$11 statement  (55)
	statement : IF '(' $$7 expr ')' THEN . $$10 statement  (56)
	$$10 : .  (53)

	.  reduce 53

	$$10  goto 99


99: reduce/reduce conflict (reduce 1, reduce 51) on ID
state 99
	statement : IF '(' $$7 expr ')' THEN $$10 . statement ELSE $$11 statement  (55)
	statement : IF '(' $$7 expr ')' THEN $$10 . statement  (56)
	opt_scope : .  (1)
	$$9 : .  (51)
	$$12 : .  (57)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	IF  shift 86
	CLCL  shift 10
	'*'  reduce 51
	ID  [trial] reduce 1
	ID  [trial] reduce 51
	CONSTANT  reduce 51
	'{'  reduce 57

	decl  goto 87
	statement  goto 100
	decl_specs  goto 12
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$9  goto 89
	$$12  goto 90


100: shift/reduce conflict (shift 101, reduce 56) on ELSE
state 100
	statement : IF '(' $$7 expr ')' THEN $$10 statement . ELSE $$11 statement  (55)
	statement : IF '(' $$7 expr ')' THEN $$10 statement .  (56)

	ELSE  [trial] shift 101
	'*'  reduce 56
	ID  reduce 56
	CONSTANT  reduce 56
	EXTERN  reduce 56
	REGISTER  reduce 56
	STATIC  reduce 56
	CONST  reduce 56
	VOLATILE  reduce 56
	IF  reduce 56
	ELSE  [trial] reduce 56
	CLCL  reduce 56
	'{'  reduce 56
	'}'  reduce 56


state 101
	statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE . $$11 statement  (55)
	$$11 : .  (54)

	.  reduce 54

	$$11  goto 102


102: reduce/reduce conflict (reduce 1, reduce 51) on ID
state 102
	statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE $$11 . statement  (55)
	opt_scope : .  (1)
	$$9 : .  (51)
	$$12 : .  (57)

	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	IF  shift 86
	CLCL  shift 10
	'*'  reduce 51
	ID  [trial] reduce 1
	ID  [trial] reduce 51
	CONSTANT  reduce 51
	'{'  reduce 57

	decl  goto 87
	statement  goto 103
	decl_specs  goto 12
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$9  goto 89
	$$12  goto 90


state 103
	statement : IF '(' $$7 expr ')' THEN $$10 statement ELSE $$11 statement .  (55)

	.  reduce 55


State 17 contains 1 reduce/reduce conflict.
State 18 contains 1 shift/reduce conflict.
State 20 contains 1 shift/reduce conflict.
State 36 contains 1 shift/reduce conflict.
State 42 contains 1 shift/reduce conflict.
State 44 contains 1 shift/reduce conflict.
State 57 contains 1 reduce/reduce conflict.
State 68 contains 1 shift/reduce conflict.
State 78 contains 1 reduce/reduce conflict.
State 99 contains 1 reduce/reduce conflict.
State 100 contains 1 shift/reduce conflict.
State 102 contains 1 reduce/reduce conflict.


29 terminals, 31 nonterminals
62 grammar rules, 104 states

grammar parser grammar
symbol# value# symbol
     0      0  $end
     1    256  error
     2     43  '+'
     3     45  '-'
     4     42  '*'
     5     47  '/'
     6     37  '%'
     7    257  PREFIX
     8    258  POSTFIX
     9     40  '('
    10     91  '['
    11     46  '.'
    12    259  ID
    13    260  CONSTANT
    14    261  EXTERN
    15    262  REGISTER
    16    263  STATIC
    17    264  CONST
    18    265  VOLATILE
    19    266  IF
    20    267  THEN
    21    268  ELSE
    22    269  CLCL
    23     59  ';'
    24     44  ','
    25     41  ')'
    26     93  ']'
    27    123  '{'
    28    125  '}'
    29    270  $accept
    30    271  input
    31    272  expr
    32    273  decl
    33    274  declarator_list
    34    275  decl_list
    35    276  statement
    36    277  statement_list
    37    278  block_statement
    38    279  declarator
    39    280  formal_arg
    40    281  decl_specs
    41    282  decl_spec
    42    283  typename
    43    284  cv_quals
    44    285  cv_qual
    45    286  opt_scope
    46    287  formal_arg_list
    47    288  nonempty_formal_arg_list
    48    289  $$1
    49    290  $$2
    50    291  $$3
    51    292  $$4
    52    293  $$5
    53    294  $$6
    54    295  $$7
    55    296  $$8
    56    297  $$9
    57    298  $$10
    58    299  $$11
    59    300  $$12
