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  decl : decl_specs declarator_list ';'

  11  $$3 :

  12  decl : decl_specs declarator $$3 block_statement

  13  decl_specs : decl_spec
  14             | decl_specs $$2 decl_spec

  15  cv_quals :
  16           | cv_quals cv_qual

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

  22  cv_qual : CONST
  23          | VOLATILE

  24  $$4 :

  25  $$5 :

  26  declarator_list : declarator_list ',' $$4 $$5 declarator
  27                  | declarator

  28  declarator :
  29             | ID

  30  $$6 :

  31  $$7 :

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

  36  formal_arg_list :
  37                  | nonempty_formal_arg_list

  38  nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 formal_arg
  39                           | formal_arg

  40  formal_arg : decl_specs declarator

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

  49  statement : decl
  50            | expr ';'

  51  $$8 :

  52  $$9 :

  53  statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement
  54            | IF '(' $$6 expr ')' THEN $$8 statement

  55  $$10 :

  56  statement : $$10 block_statement

  57  statement_list :
  58                 | statement_list $$2 statement

  59  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 .  (19)

	.  reduce 19


state 6
	decl_spec : REGISTER .  (20)

	.  reduce 20


state 7
	decl_spec : STATIC .  (21)

	.  reduce 21


state 8
	cv_qual : CONST .  (22)

	.  reduce 22


state 9
	cv_qual : VOLATILE .  (23)

	.  reduce 23


state 10
	opt_scope : CLCL .  (2)

	.  reduce 2


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

	.  reduce 9


12: shift/reduce conflict (shift 18, reduce 28) on '('
12: shift/reduce conflict (shift 19, reduce 8) on ID
state 12
	decl : decl_specs . declarator_list ';'  (10)
	decl : decl_specs . declarator $$3 block_statement  (12)
	decl_specs : decl_specs . $$2 decl_spec  (14)
	$$2 : .  (8)
	declarator : .  (28)

	'*'  shift 17
	'('  [trial] shift 18
	ID  [trial] shift 19
	'('  [trial] reduce 28
	'['  reduce 28
	ID  [trial] reduce 8
	EXTERN  reduce 8
	REGISTER  reduce 8
	STATIC  reduce 8
	CONST  reduce 8
	VOLATILE  reduce 8
	CLCL  reduce 8
	';'  reduce 28
	','  reduce 28
	'{'  reduce 28

	declarator_list  goto 20
	declarator  goto 21
	$$2  goto 22


state 13
	decl_specs : decl_spec .  (13)

	.  reduce 13


state 14
	decl_spec : typename .  (18)

	.  reduce 18


state 15
	decl_spec : cv_qual .  (17)

	.  reduce 17


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

	ID  shift 23
	.  error


state 17
	declarator : '*' . cv_quals $$4 $$5 declarator  (33)
	cv_quals : .  (15)

	.  reduce 15

	cv_quals  goto 24


state 18
	declarator : '(' . $$6 $$7 declarator ')'  (32)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 25


state 19
	declarator : ID .  (29)

	.  reduce 29


state 20
	decl : decl_specs declarator_list . ';'  (10)
	declarator_list : declarator_list . ',' $$4 $$5 declarator  (26)

	';'  shift 26
	','  shift 27
	.  error


state 21
	decl : decl_specs declarator . $$3 block_statement  (12)
	declarator_list : declarator .  (27)
	declarator : declarator . '[' $$4 expr ']'  (34)
	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)
	$$3 : .  (11)

	'('  shift 28
	'['  shift 29
	';'  reduce 27
	','  reduce 27
	'{'  reduce 11

	$$3  goto 30


state 22
	decl_specs : decl_specs $$2 . decl_spec  (14)
	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_spec  goto 31
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16


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

	CLCL  [trial] shift 32
	'*'  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 24
	cv_quals : cv_quals . cv_qual  (16)
	declarator : '*' cv_quals . $$4 $$5 declarator  (33)
	$$4 : .  (24)

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

	cv_qual  goto 33
	$$4  goto 34


state 25
	declarator : '(' $$6 . $$7 declarator ')'  (32)
	$$7 : .  (31)

	.  reduce 31

	$$7  goto 35


state 26
	decl : decl_specs declarator_list ';' .  (10)

	.  reduce 10


state 27
	declarator_list : declarator_list ',' . $$4 $$5 declarator  (26)
	$$4 : .  (24)

	.  reduce 24

	$$4  goto 36


state 28
	declarator : declarator '(' . $$4 formal_arg_list ')' cv_quals  (35)
	$$4 : .  (24)

	.  reduce 24

	$$4  goto 37


state 29
	declarator : declarator '[' . $$4 expr ']'  (34)
	$$4 : .  (24)

	.  reduce 24

	$$4  goto 38


state 30
	decl : decl_specs declarator $$3 . block_statement  (12)

	'{'  shift 39
	.  error

	block_statement  goto 40


state 31
	decl_specs : decl_specs $$2 decl_spec .  (14)

	.  reduce 14


state 32
	opt_scope : opt_scope ID CLCL .  (3)

	.  reduce 3


state 33
	cv_quals : cv_quals cv_qual .  (16)

	.  reduce 16


state 34
	declarator : '*' cv_quals $$4 . $$5 declarator  (33)
	$$5 : .  (25)

	.  reduce 25

	$$5  goto 41


35: shift/reduce conflict (shift 18, reduce 28) on '('
state 35
	declarator : '(' $$6 $$7 . declarator ')'  (32)
	declarator : .  (28)

	'*'  shift 17
	'('  [trial] shift 18
	ID  shift 19
	'('  [trial] reduce 28
	'['  reduce 28
	')'  reduce 28

	declarator  goto 42


state 36
	declarator_list : declarator_list ',' $$4 . $$5 declarator  (26)
	$$5 : .  (25)

	.  reduce 25

	$$5  goto 43


state 37
	declarator : declarator '(' $$4 . formal_arg_list ')' cv_quals  (35)
	opt_scope : .  (1)
	formal_arg_list : .  (36)

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

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


state 38
	declarator : declarator '[' $$4 . expr ']'  (34)

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

	expr  goto 51


state 39
	block_statement : '{' . $$2 statement_list '}'  (59)
	$$2 : .  (8)

	.  reduce 8

	$$2  goto 52


state 40
	decl : decl_specs declarator $$3 block_statement .  (12)

	.  reduce 12


41: shift/reduce conflict (shift 18, reduce 28) on '('
state 41
	declarator : '*' cv_quals $$4 $$5 . declarator  (33)
	declarator : .  (28)

	'*'  shift 17
	'('  [trial] shift 18
	ID  shift 19
	'('  [trial] reduce 28
	'['  reduce 28
	';'  reduce 28
	','  reduce 28
	')'  reduce 28
	'{'  reduce 28

	declarator  goto 53


state 42
	declarator : '(' $$6 $$7 declarator . ')'  (32)
	declarator : declarator . '[' $$4 expr ']'  (34)
	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)

	'('  shift 28
	'['  shift 29
	')'  shift 54
	.  error


43: shift/reduce conflict (shift 18, reduce 28) on '('
state 43
	declarator_list : declarator_list ',' $$4 $$5 . declarator  (26)
	declarator : .  (28)

	'*'  shift 17
	'('  [trial] shift 18
	ID  shift 19
	'('  [trial] reduce 28
	'['  reduce 28
	';'  reduce 28
	','  reduce 28

	declarator  goto 55


state 44
	nonempty_formal_arg_list : formal_arg .  (39)

	.  reduce 39


45: shift/reduce conflict (shift 18, reduce 28) on '('
45: shift/reduce conflict (shift 19, reduce 8) on ID
state 45
	decl_specs : decl_specs . $$2 decl_spec  (14)
	formal_arg : decl_specs . declarator  (40)
	$$2 : .  (8)
	declarator : .  (28)

	'*'  shift 17
	'('  [trial] shift 18
	ID  [trial] shift 19
	'('  [trial] reduce 28
	'['  reduce 28
	ID  [trial] reduce 8
	EXTERN  reduce 8
	REGISTER  reduce 8
	STATIC  reduce 8
	CONST  reduce 8
	VOLATILE  reduce 8
	CLCL  reduce 8
	','  reduce 28
	')'  reduce 28

	declarator  goto 56
	$$2  goto 22


state 46
	declarator : declarator '(' $$4 formal_arg_list . ')' cv_quals  (35)

	')'  shift 57
	.  error


state 47
	formal_arg_list : nonempty_formal_arg_list .  (37)
	nonempty_formal_arg_list : nonempty_formal_arg_list . ',' $$6 formal_arg  (38)

	','  shift 58
	')'  reduce 37


state 48
	expr : '*' . $$2 expr  (46)
	$$2 : .  (8)

	.  reduce 8

	$$2  goto 59


state 49
	expr : ID .  (47)

	.  reduce 47


state 50
	expr : CONSTANT .  (48)

	.  reduce 48


state 51
	declarator : declarator '[' $$4 expr . ']'  (34)
	expr : expr . '+' $$6 expr  (41)
	expr : expr . '-' $$6 expr  (42)
	expr : expr . '*' $$6 expr  (43)
	expr : expr . '%' $$6 expr  (44)
	expr : expr . '/' $$6 expr  (45)

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


state 52
	block_statement : '{' $$2 . statement_list '}'  (59)
	statement_list : .  (57)

	.  reduce 57

	statement_list  goto 66


state 53
	declarator : '*' cv_quals $$4 $$5 declarator .  (33)
	declarator : declarator . '[' $$4 expr ']'  (34)
	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)

	'('  shift 28
	'['  shift 29
	';'  reduce 33
	','  reduce 33
	')'  reduce 33
	'{'  reduce 33


state 54
	declarator : '(' $$6 $$7 declarator ')' .  (32)

	.  reduce 32


state 55
	declarator_list : declarator_list ',' $$4 $$5 declarator .  (26)
	declarator : declarator . '[' $$4 expr ']'  (34)
	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)

	'('  shift 28
	'['  shift 29
	';'  reduce 26
	','  reduce 26


state 56
	declarator : declarator . '[' $$4 expr ']'  (34)
	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)
	formal_arg : decl_specs declarator .  (40)

	'('  shift 28
	'['  shift 29
	','  reduce 40
	')'  reduce 40


state 57
	declarator : declarator '(' $$4 formal_arg_list ')' . cv_quals  (35)
	cv_quals : .  (15)

	.  reduce 15

	cv_quals  goto 67


state 58
	nonempty_formal_arg_list : nonempty_formal_arg_list ',' . $$6 formal_arg  (38)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 68


state 59
	expr : '*' $$2 . expr  (46)

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

	expr  goto 69


state 60
	expr : expr '+' . $$6 expr  (41)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 70


state 61
	expr : expr '-' . $$6 expr  (42)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 71


state 62
	expr : expr '*' . $$6 expr  (43)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 72


state 63
	expr : expr '/' . $$6 expr  (45)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 73


state 64
	expr : expr '%' . $$6 expr  (44)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 74


state 65
	declarator : declarator '[' $$4 expr ']' .  (34)

	.  reduce 34


state 66
	statement_list : statement_list . $$2 statement  (58)
	block_statement : '{' $$2 statement_list . '}'  (59)
	$$2 : .  (8)

	'}'  shift 75
	'*'  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 76


state 67
	cv_quals : cv_quals . cv_qual  (16)
	declarator : declarator '(' $$4 formal_arg_list ')' cv_quals .  (35)

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

	cv_qual  goto 33


state 68
	nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 . formal_arg  (38)
	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 77
	decl_specs  goto 45
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16


state 69
	expr : expr . '+' $$6 expr  (41)
	expr : expr . '-' $$6 expr  (42)
	expr : expr . '*' $$6 expr  (43)
	expr : expr . '%' $$6 expr  (44)
	expr : expr . '/' $$6 expr  (45)
	expr : '*' $$2 expr .  (46)

	.  reduce 46


state 70
	expr : expr '+' $$6 . expr  (41)

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

	expr  goto 78


state 71
	expr : expr '-' $$6 . expr  (42)

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

	expr  goto 79


state 72
	expr : expr '*' $$6 . expr  (43)

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

	expr  goto 80


state 73
	expr : expr '/' $$6 . expr  (45)

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

	expr  goto 81


state 74
	expr : expr '%' $$6 . expr  (44)

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

	expr  goto 82


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

	.  reduce 59


76: shift/reduce conflict (shift 49, reduce 1) on ID
state 76
	statement_list : statement_list $$2 . statement  (58)
	opt_scope : .  (1)
	$$10 : .  (55)

	'*'  shift 48
	ID  [trial] shift 49
	CONSTANT  shift 50
	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	IF  shift 83
	CLCL  shift 10
	ID  [trial] reduce 1
	'{'  reduce 55

	expr  goto 84
	decl  goto 85
	statement  goto 86
	decl_specs  goto 12
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$10  goto 87


state 77
	nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 formal_arg .  (38)

	.  reduce 38


state 78
	expr : expr . '+' $$6 expr  (41)
	expr : expr '+' $$6 expr .  (41)
	expr : expr . '-' $$6 expr  (42)
	expr : expr . '*' $$6 expr  (43)
	expr : expr . '%' $$6 expr  (44)
	expr : expr . '/' $$6 expr  (45)

	'*'  shift 62
	'/'  shift 63
	'%'  shift 64
	'+'  reduce 41
	'-'  reduce 41
	';'  reduce 41
	')'  reduce 41
	']'  reduce 41


state 79
	expr : expr . '+' $$6 expr  (41)
	expr : expr . '-' $$6 expr  (42)
	expr : expr '-' $$6 expr .  (42)
	expr : expr . '*' $$6 expr  (43)
	expr : expr . '%' $$6 expr  (44)
	expr : expr . '/' $$6 expr  (45)

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


state 80
	expr : expr . '+' $$6 expr  (41)
	expr : expr . '-' $$6 expr  (42)
	expr : expr . '*' $$6 expr  (43)
	expr : expr '*' $$6 expr .  (43)
	expr : expr . '%' $$6 expr  (44)
	expr : expr . '/' $$6 expr  (45)

	.  reduce 43


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

	.  reduce 45


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

	.  reduce 44


state 83
	statement : IF . '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement  (53)
	statement : IF . '(' $$6 expr ')' THEN $$8 statement  (54)

	'('  shift 88
	.  error


state 84
	expr : expr . '+' $$6 expr  (41)
	expr : expr . '-' $$6 expr  (42)
	expr : expr . '*' $$6 expr  (43)
	expr : expr . '%' $$6 expr  (44)
	expr : expr . '/' $$6 expr  (45)
	statement : expr . ';'  (50)

	'+'  shift 60
	'-'  shift 61
	'*'  shift 62
	'/'  shift 63
	'%'  shift 64
	';'  shift 89
	.  error


state 85
	statement : decl .  (49)

	.  reduce 49


state 86
	statement_list : statement_list $$2 statement .  (58)

	.  reduce 58


state 87
	statement : $$10 . block_statement  (56)

	'{'  shift 39
	.  error

	block_statement  goto 90


state 88
	statement : IF '(' . $$6 expr ')' THEN $$8 statement ELSE $$9 statement  (53)
	statement : IF '(' . $$6 expr ')' THEN $$8 statement  (54)
	$$6 : .  (30)

	.  reduce 30

	$$6  goto 91


state 89
	statement : expr ';' .  (50)

	.  reduce 50


state 90
	statement : $$10 block_statement .  (56)

	.  reduce 56


state 91
	statement : IF '(' $$6 . expr ')' THEN $$8 statement ELSE $$9 statement  (53)
	statement : IF '(' $$6 . expr ')' THEN $$8 statement  (54)

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

	expr  goto 92


state 92
	expr : expr . '+' $$6 expr  (41)
	expr : expr . '-' $$6 expr  (42)
	expr : expr . '*' $$6 expr  (43)
	expr : expr . '%' $$6 expr  (44)
	expr : expr . '/' $$6 expr  (45)
	statement : IF '(' $$6 expr . ')' THEN $$8 statement ELSE $$9 statement  (53)
	statement : IF '(' $$6 expr . ')' THEN $$8 statement  (54)

	'+'  shift 60
	'-'  shift 61
	'*'  shift 62
	'/'  shift 63
	'%'  shift 64
	')'  shift 93
	.  error


state 93
	statement : IF '(' $$6 expr ')' . THEN $$8 statement ELSE $$9 statement  (53)
	statement : IF '(' $$6 expr ')' . THEN $$8 statement  (54)

	THEN  shift 94
	.  error


state 94
	statement : IF '(' $$6 expr ')' THEN . $$8 statement ELSE $$9 statement  (53)
	statement : IF '(' $$6 expr ')' THEN . $$8 statement  (54)
	$$8 : .  (51)

	.  reduce 51

	$$8  goto 95


95: shift/reduce conflict (shift 49, reduce 1) on ID
state 95
	statement : IF '(' $$6 expr ')' THEN $$8 . statement ELSE $$9 statement  (53)
	statement : IF '(' $$6 expr ')' THEN $$8 . statement  (54)
	opt_scope : .  (1)
	$$10 : .  (55)

	'*'  shift 48
	ID  [trial] shift 49
	CONSTANT  shift 50
	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	IF  shift 83
	CLCL  shift 10
	ID  [trial] reduce 1
	'{'  reduce 55

	expr  goto 84
	decl  goto 85
	statement  goto 96
	decl_specs  goto 12
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$10  goto 87


96: shift/reduce conflict (shift 97, reduce 54) on ELSE
state 96
	statement : IF '(' $$6 expr ')' THEN $$8 statement . ELSE $$9 statement  (53)
	statement : IF '(' $$6 expr ')' THEN $$8 statement .  (54)

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


state 97
	statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE . $$9 statement  (53)
	$$9 : .  (52)

	.  reduce 52

	$$9  goto 98


98: shift/reduce conflict (shift 49, reduce 1) on ID
state 98
	statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 . statement  (53)
	opt_scope : .  (1)
	$$10 : .  (55)

	'*'  shift 48
	ID  [trial] shift 49
	CONSTANT  shift 50
	EXTERN  shift 5
	REGISTER  shift 6
	STATIC  shift 7
	CONST  shift 8
	VOLATILE  shift 9
	IF  shift 83
	CLCL  shift 10
	ID  [trial] reduce 1
	'{'  reduce 55

	expr  goto 84
	decl  goto 85
	statement  goto 99
	decl_specs  goto 12
	decl_spec  goto 13
	typename  goto 14
	cv_qual  goto 15
	opt_scope  goto 16
	$$10  goto 87


state 99
	statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement .  (53)

	.  reduce 53


State 12 contains 2 shift/reduce conflicts.
State 23 contains 1 shift/reduce conflict.
State 35 contains 1 shift/reduce conflict.
State 41 contains 1 shift/reduce conflict.
State 43 contains 1 shift/reduce conflict.
State 45 contains 2 shift/reduce conflicts.
State 76 contains 1 shift/reduce conflict.
State 95 contains 1 shift/reduce conflict.
State 96 contains 1 shift/reduce conflict.
State 98 contains 1 shift/reduce conflict.


29 terminals, 29 nonterminals
60 grammar rules, 100 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