Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

16871 lines (15003 sloc) 895.159 kb
shift/reduce conflict in state 347 resolved as shift.
Unused terminals:
TYPEDEF_CHAR
RANGE
UNSIGNED_CHAR
ERRORCODE
TYPEDEF_INT
ERRORCODE2
UNSIGNED_INT
Grammar
Rule 1 primary_expr -> identifier
Rule 2 primary_expr -> CONSTANT
Rule 3 primary_expr -> STRING_LITERAL
Rule 4 primary_expr -> ( expr )
Rule 5 postfix_expr -> primary_expr
Rule 6 postfix_expr -> postfix_expr [ expr ]
Rule 7 postfix_expr -> postfix_expr ( )
Rule 8 postfix_expr -> postfix_expr ( argument_expr_list )
Rule 9 postfix_expr -> postfix_expr . identifier
Rule 10 postfix_expr -> postfix_expr PTR_OP identifier
Rule 11 postfix_expr -> postfix_expr INC_OP
Rule 12 postfix_expr -> postfix_expr DEC_OP
Rule 13 argument_expr_list -> assignment_expr
Rule 14 argument_expr_list -> argument_expr_list , assignment_expr
Rule 15 unary_expr -> postfix_expr
Rule 16 unary_expr -> INC_OP unary_expr
Rule 17 unary_expr -> DEC_OP unary_expr
Rule 18 unary_expr -> unary_operator cast_expr
Rule 19 unary_expr -> SIZEOF unary_expr
Rule 20 unary_expr -> SIZEOF ( type_name )
Rule 21 unary_operator -> &
Rule 22 unary_operator -> *
Rule 23 unary_operator -> +
Rule 24 unary_operator -> -
Rule 25 unary_operator -> ~
Rule 26 unary_operator -> !
Rule 27 cast_expr -> unary_expr
Rule 28 cast_expr -> ( type_name ) cast_expr
Rule 29 multiplicative_expr -> cast_expr
Rule 30 multiplicative_expr -> multiplicative_expr * cast_expr
Rule 31 multiplicative_expr -> multiplicative_expr / cast_expr
Rule 32 multiplicative_expr -> multiplicative_expr % cast_expr
Rule 33 additive_expr -> multiplicative_expr
Rule 34 additive_expr -> additive_expr + multiplicative_expr
Rule 35 additive_expr -> additive_expr - multiplicative_expr
Rule 36 shift_expr -> additive_expr
Rule 37 shift_expr -> shift_expr LEFT_OP additive_expr
Rule 38 shift_expr -> shift_expr RIGHT_OP additive_expr
Rule 39 relational_expr -> shift_expr
Rule 40 relational_expr -> relational_expr < shift_expr
Rule 41 relational_expr -> relational_expr > shift_expr
Rule 42 relational_expr -> relational_expr LE_OP shift_expr
Rule 43 relational_expr -> relational_expr GE_OP shift_expr
Rule 44 equality_expr -> relational_expr
Rule 45 equality_expr -> equality_expr EQ_OP relational_expr
Rule 46 equality_expr -> equality_expr NE_OP relational_expr
Rule 47 and_expr -> equality_expr
Rule 48 and_expr -> and_expr & equality_expr
Rule 49 exclusive_or_expr -> and_expr
Rule 50 exclusive_or_expr -> exclusive_or_expr ^ and_expr
Rule 51 inclusive_or_expr -> exclusive_or_expr
Rule 52 inclusive_or_expr -> inclusive_or_expr | exclusive_or_expr
Rule 53 logical_and_expr -> inclusive_or_expr
Rule 54 logical_and_expr -> logical_and_expr AND_OP inclusive_or_expr
Rule 55 logical_or_expr -> logical_and_expr
Rule 56 logical_or_expr -> logical_or_expr OR_OP logical_and_expr
Rule 57 conditional_expr -> logical_or_expr
Rule 58 conditional_expr -> logical_or_expr ? logical_or_expr : conditional_expr
Rule 59 assignment_expr -> conditional_expr
Rule 60 assignment_expr -> unary_expr assignment_operator assignment_expr
Rule 61 assignment_operator -> =
Rule 62 assignment_operator -> MUL_ASSIGN
Rule 63 assignment_operator -> DIV_ASSIGN
Rule 64 assignment_operator -> MOD_ASSIGN
Rule 65 assignment_operator -> ADD_ASSIGN
Rule 66 assignment_operator -> SUB_ASSIGN
Rule 67 assignment_operator -> LEFT_ASSIGN
Rule 68 assignment_operator -> RIGHT_ASSIGN
Rule 69 assignment_operator -> AND_ASSIGN
Rule 70 assignment_operator -> XOR_ASSIGN
Rule 71 assignment_operator -> OR_ASSIGN
Rule 72 expr -> assignment_expr
Rule 73 expr -> expr , assignment_expr
Rule 74 constant_expr -> conditional_expr
Rule 75 declaration -> declaration_specifiers ;
Rule 76 declaration -> declaration_specifiers init_declarator_list ;
Rule 77 declaration_specifiers -> storage_class_specifier
Rule 78 declaration_specifiers -> storage_class_specifier declaration_specifiers
Rule 79 declaration_specifiers -> type_specifier
Rule 80 declaration_specifiers -> type_specifier declaration_specifiers
Rule 81 init_declarator_list -> init_declarator
Rule 82 init_declarator_list -> init_declarator_list , init_declarator
Rule 83 init_declarator -> declarator
Rule 84 init_declarator -> declarator = initializer
Rule 85 storage_class_specifier -> TYPEDEF
Rule 86 storage_class_specifier -> EXTERN
Rule 87 storage_class_specifier -> STATIC
Rule 88 storage_class_specifier -> AUTO
Rule 89 storage_class_specifier -> REGISTER
Rule 90 type_specifier -> CHAR
Rule 91 type_specifier -> SHORT
Rule 92 type_specifier -> INT
Rule 93 type_specifier -> LONG
Rule 94 type_specifier -> SIGNED
Rule 95 type_specifier -> UNSIGNED
Rule 96 type_specifier -> FLOAT
Rule 97 type_specifier -> DOUBLE
Rule 98 type_specifier -> CONST
Rule 99 type_specifier -> VOLATILE
Rule 100 type_specifier -> VOID
Rule 101 type_specifier -> struct_or_union_specifier
Rule 102 type_specifier -> enum_specifier
Rule 103 type_specifier -> TYPE_NAME
Rule 104 struct_or_union_specifier -> struct_or_union identifier { struct_declaration_list }
Rule 105 struct_or_union_specifier -> struct_or_union { struct_declaration_list }
Rule 106 struct_or_union_specifier -> struct_or_union identifier
Rule 107 struct_or_union -> STRUCT
Rule 108 struct_or_union -> UNION
Rule 109 struct_declaration_list -> struct_declaration
Rule 110 struct_declaration_list -> struct_declaration_list struct_declaration
Rule 111 struct_declaration -> type_specifier_list struct_declarator_list ;
Rule 112 struct_declarator_list -> struct_declarator
Rule 113 struct_declarator_list -> struct_declarator_list , struct_declarator
Rule 114 struct_declarator -> declarator
Rule 115 struct_declarator -> : constant_expr
Rule 116 struct_declarator -> declarator : constant_expr
Rule 117 enum_specifier -> ENUM { enumerator_list }
Rule 118 enum_specifier -> ENUM identifier { enumerator_list }
Rule 119 enum_specifier -> ENUM identifier
Rule 120 enumerator_list -> enumerator
Rule 121 enumerator_list -> enumerator_list , enumerator
Rule 122 enumerator -> identifier
Rule 123 enumerator -> identifier = constant_expr
Rule 124 declarator -> declarator2
Rule 125 declarator -> pointer declarator2
Rule 126 declarator2 -> identifier
Rule 127 declarator2 -> ( declarator )
Rule 128 declarator2 -> declarator2 [ ]
Rule 129 declarator2 -> declarator2 [ constant_expr ]
Rule 130 declarator2 -> declarator2 ( )
Rule 131 declarator2 -> declarator2 ( parameter_type_list )
Rule 132 declarator2 -> declarator2 ( parameter_identifier_list )
Rule 133 pointer -> *
Rule 134 pointer -> * type_specifier_list
Rule 135 pointer -> * pointer
Rule 136 pointer -> * type_specifier_list pointer
Rule 137 type_specifier_list -> type_specifier
Rule 138 type_specifier_list -> type_specifier_list type_specifier
Rule 139 parameter_identifier_list -> identifier_list
Rule 140 parameter_identifier_list -> identifier_list , ELIPSIS
Rule 141 identifier_list -> identifier
Rule 142 identifier_list -> identifier_list , identifier
Rule 143 parameter_type_list -> parameter_list
Rule 144 parameter_type_list -> parameter_list , ELIPSIS
Rule 145 parameter_list -> parameter_declaration
Rule 146 parameter_list -> parameter_list , parameter_declaration
Rule 147 parameter_declaration -> type_specifier_list declarator
Rule 148 parameter_declaration -> type_name
Rule 149 type_name -> type_specifier_list
Rule 150 type_name -> type_specifier_list abstract_declarator
Rule 151 abstract_declarator -> pointer
Rule 152 abstract_declarator -> abstract_declarator2
Rule 153 abstract_declarator -> pointer abstract_declarator2
Rule 154 abstract_declarator2 -> ( abstract_declarator )
Rule 155 abstract_declarator2 -> [ ]
Rule 156 abstract_declarator2 -> [ constant_expr ]
Rule 157 abstract_declarator2 -> abstract_declarator2 [ ]
Rule 158 abstract_declarator2 -> abstract_declarator2 [ constant_expr ]
Rule 159 abstract_declarator2 -> ( )
Rule 160 abstract_declarator2 -> ( parameter_type_list )
Rule 161 abstract_declarator2 -> abstract_declarator2 ( )
Rule 162 abstract_declarator2 -> abstract_declarator2 ( parameter_type_list )
Rule 163 initializer -> assignment_expr
Rule 164 initializer -> { initializer_list }
Rule 165 initializer -> { initializer_list , }
Rule 166 initializer_list -> initializer
Rule 167 initializer_list -> initializer_list , initializer
Rule 168 statement -> labeled_statement
Rule 169 statement -> compound_statement
Rule 170 statement -> expression_statement
Rule 171 statement -> selection_statement
Rule 172 statement -> iteration_statement
Rule 173 statement -> jump_statement
Rule 174 labeled_statement -> identifier : statement
Rule 175 labeled_statement -> CASE constant_expr : statement
Rule 176 labeled_statement -> DEFAULT : statement
Rule 177 left_bracket -> {
Rule 178 right_bracket -> }
Rule 179 compound_statement -> left_bracket right_bracket
Rule 180 compound_statement -> left_bracket statement_list right_bracket
Rule 181 compound_statement -> left_bracket declaration_list right_bracket
Rule 182 compound_statement -> left_bracket declaration_list statement_list right_bracket
Rule 183 declaration_list -> declaration
Rule 184 declaration_list -> declaration_list declaration
Rule 185 statement_list -> statement
Rule 186 statement_list -> statement_list statement
Rule 187 expression_statement -> ;
Rule 188 expression_statement -> expr ;
Rule 189 selection_statement -> IF ( expr ) statement
Rule 190 selection_statement -> IF ( expr ) statement ELSE statement
Rule 191 selection_statement -> SWITCH ( expr ) statement
Rule 192 iteration_statement -> WHILE ( expr ) statement
Rule 193 iteration_statement -> DO statement WHILE ( expr ) ;
Rule 194 iteration_statement -> FOR ( ; ; ) statement
Rule 195 iteration_statement -> FOR ( ; ; expr ) statement
Rule 196 iteration_statement -> FOR ( ; expr ; ) statement
Rule 197 iteration_statement -> FOR ( ; expr ; expr ) statement
Rule 198 iteration_statement -> FOR ( expr ; ; ) statement
Rule 199 iteration_statement -> FOR ( expr ; ; expr ) statement
Rule 200 iteration_statement -> FOR ( expr ; expr ; ) statement
Rule 201 iteration_statement -> FOR ( expr ; expr ; expr ) statement
Rule 202 jump_statement -> GOTO identifier ;
Rule 203 jump_statement -> CONTINUE ;
Rule 204 jump_statement -> BREAK ;
Rule 205 jump_statement -> RETURN ;
Rule 206 jump_statement -> RETURN expr ;
Rule 207 code -> file
Rule 208 file -> external_definition
Rule 209 file -> file external_definition
Rule 210 external_definition -> function_definition
Rule 211 external_definition -> declaration
Rule 212 function_definition -> declarator function_body
Rule 213 function_definition -> declaration_specifiers declarator function_body
Rule 214 function_body -> compound_statement
Rule 215 function_body -> declaration_list compound_statement
Rule 216 identifier -> IDENTIFIER
Terminals, with rules where they appear
! : 26
% : 32
& : 21 48
( : 4 7 8 20 28 127 130 131 132 154 159 160 161 162 189 190 191 192 193 194 195 196 197 198 199 200 201
) : 4 7 8 20 28 127 130 131 132 154 159 160 161 162 189 190 191 192 193 194 195 196 197 198 199 200 201
* : 22 30 133 134 135 136
+ : 23 34
, : 14 73 82 113 121 140 142 144 146 165 167
- : 24 35
. : 9
/ : 31
: : 58 115 116 174 175 176
; : 75 76 111 187 188 193 194 194 195 195 196 196 197 197 198 198 199 199 200 200 201 201 202 203 204 205 206
< : 40
= : 61 84 123
> : 41
? : 58
ADD_ASSIGN : 65
AND_ASSIGN : 69
AND_OP : 54
AUTO : 88
BREAK : 204
CASE : 175
CHAR : 90
CONST : 98
CONSTANT : 2
CONTINUE : 203
DEC_OP : 12 17
DEFAULT : 176
DIV_ASSIGN : 63
DO : 193
DOUBLE : 97
ELIPSIS : 140 144
ELSE : 190
ENUM : 117 118 119
EQ_OP : 45
ERRORCODE :
ERRORCODE2 :
EXTERN : 86
FLOAT : 96
FOR : 194 195 196 197 198 199 200 201
GE_OP : 43
GOTO : 202
IDENTIFIER : 216
IF : 189 190
INC_OP : 11 16
INT : 92
LEFT_ASSIGN : 67
LEFT_OP : 37
LE_OP : 42
LONG : 93
MOD_ASSIGN : 64
MUL_ASSIGN : 62
NE_OP : 46
OR_ASSIGN : 71
OR_OP : 56
PTR_OP : 10
RANGE :
REGISTER : 89
RETURN : 205 206
RIGHT_ASSIGN : 68
RIGHT_OP : 38
SHORT : 91
SIGNED : 94
SIZEOF : 19 20
STATIC : 87
STRING_LITERAL : 3
STRUCT : 107
SUB_ASSIGN : 66
SWITCH : 191
TYPEDEF : 85
TYPEDEF_CHAR :
TYPEDEF_INT :
TYPE_NAME : 103
UNION : 108
UNSIGNED : 95
UNSIGNED_CHAR :
UNSIGNED_INT :
VOID : 100
VOLATILE : 99
WHILE : 192 193
XOR_ASSIGN : 70
[ : 6 128 129 155 156 157 158
] : 6 128 129 155 156 157 158
^ : 50
error :
{ : 104 105 117 118 164 165 177
| : 52
} : 104 105 117 118 164 165 178
~ : 25
Nonterminals, with rules where they appear
abstract_declarator : 150 154
abstract_declarator2 : 152 153 157 158 161 162
additive_expr : 34 35 36 37 38
and_expr : 48 49 50
argument_expr_list : 8 14
assignment_expr : 13 14 60 72 73 163
assignment_operator : 60
cast_expr : 18 28 29 30 31 32
code : 0
compound_statement : 169 214 215
conditional_expr : 58 59 74
constant_expr : 115 116 123 129 156 158 175
declaration : 183 184 211
declaration_list : 181 182 184 215
declaration_specifiers : 75 76 78 80 213
declarator : 83 84 114 116 127 147 212 213
declarator2 : 124 125 128 129 130 131 132
enum_specifier : 102
enumerator : 120 121
enumerator_list : 117 118 121
equality_expr : 45 46 47 48
exclusive_or_expr : 50 51 52
expr : 4 6 73 188 189 190 191 192 193 195 196 197 197 198 199 199 200 200 201 201 201 206
expression_statement : 170
external_definition : 208 209
file : 207 209
function_body : 212 213
function_definition : 210
identifier : 1 9 10 104 106 118 119 122 123 126 141 142 174 202
identifier_list : 139 140 142
inclusive_or_expr : 52 53 54
init_declarator : 81 82
init_declarator_list : 76 82
initializer : 84 166 167
initializer_list : 164 165 167
iteration_statement : 172
jump_statement : 173
labeled_statement : 168
left_bracket : 179 180 181 182
logical_and_expr : 54 55 56
logical_or_expr : 56 57 58 58
multiplicative_expr : 30 31 32 33 34 35
parameter_declaration : 145 146
parameter_identifier_list : 132
parameter_list : 143 144 146
parameter_type_list : 131 160 162
pointer : 125 135 136 151 153
postfix_expr : 6 7 8 9 10 11 12 15
primary_expr : 5
relational_expr : 40 41 42 43 44 45 46
right_bracket : 179 180 181 182
selection_statement : 171
shift_expr : 37 38 39 40 41 42 43
statement : 174 175 176 185 186 189 190 190 191 192 193 194 195 196 197 198 199 200 201
statement_list : 180 182 186
storage_class_specifier : 77 78
struct_declaration : 109 110
struct_declaration_list : 104 105 110
struct_declarator : 112 113
struct_declarator_list : 111 113
struct_or_union : 104 105 106
struct_or_union_specifier : 101
type_name : 20 28 148
type_specifier : 79 80 137 138
type_specifier_list : 111 134 136 138 147 149 150
unary_expr : 16 17 19 27 60
unary_operator : 18
Parsing method: LALR
state 0
(0) S' -> . code
(207) code -> . file
(208) file -> . external_definition
(209) file -> . file external_definition
(210) external_definition -> . function_definition
(211) external_definition -> . declaration
(212) function_definition -> . declarator function_body
(213) function_definition -> . declaration_specifiers declarator function_body
(75) declaration -> . declaration_specifiers ;
(76) declaration -> . declaration_specifiers init_declarator_list ;
(124) declarator -> . declarator2
(125) declarator -> . pointer declarator2
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(216) identifier -> . IDENTIFIER
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
( shift and go to state 17
* shift and go to state 18
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
IDENTIFIER shift and go to state 22
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
external_definition shift and go to state 1
storage_class_specifier shift and go to state 2
code shift and go to state 3
struct_or_union_specifier shift and go to state 5
declarator2 shift and go to state 8
file shift and go to state 12
pointer shift and go to state 15
type_specifier shift and go to state 16
struct_or_union shift and go to state 7
declaration_specifiers shift and go to state 26
declaration shift and go to state 27
function_definition shift and go to state 28
enum_specifier shift and go to state 34
declarator shift and go to state 36
identifier shift and go to state 38
state 1
(208) file -> external_definition .
( reduce using rule 208 (file -> external_definition .)
* reduce using rule 208 (file -> external_definition .)
TYPEDEF reduce using rule 208 (file -> external_definition .)
EXTERN reduce using rule 208 (file -> external_definition .)
STATIC reduce using rule 208 (file -> external_definition .)
AUTO reduce using rule 208 (file -> external_definition .)
REGISTER reduce using rule 208 (file -> external_definition .)
CHAR reduce using rule 208 (file -> external_definition .)
SHORT reduce using rule 208 (file -> external_definition .)
INT reduce using rule 208 (file -> external_definition .)
LONG reduce using rule 208 (file -> external_definition .)
SIGNED reduce using rule 208 (file -> external_definition .)
UNSIGNED reduce using rule 208 (file -> external_definition .)
FLOAT reduce using rule 208 (file -> external_definition .)
DOUBLE reduce using rule 208 (file -> external_definition .)
CONST reduce using rule 208 (file -> external_definition .)
VOLATILE reduce using rule 208 (file -> external_definition .)
VOID reduce using rule 208 (file -> external_definition .)
TYPE_NAME reduce using rule 208 (file -> external_definition .)
IDENTIFIER reduce using rule 208 (file -> external_definition .)
ENUM reduce using rule 208 (file -> external_definition .)
STRUCT reduce using rule 208 (file -> external_definition .)
UNION reduce using rule 208 (file -> external_definition .)
$end reduce using rule 208 (file -> external_definition .)
state 2
(77) declaration_specifiers -> storage_class_specifier .
(78) declaration_specifiers -> storage_class_specifier . declaration_specifiers
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
; reduce using rule 77 (declaration_specifiers -> storage_class_specifier .)
( reduce using rule 77 (declaration_specifiers -> storage_class_specifier .)
* reduce using rule 77 (declaration_specifiers -> storage_class_specifier .)
IDENTIFIER reduce using rule 77 (declaration_specifiers -> storage_class_specifier .)
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
storage_class_specifier shift and go to state 2
struct_or_union shift and go to state 7
type_specifier shift and go to state 16
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
declaration_specifiers shift and go to state 39
state 3
(0) S' -> code .
state 4
(98) type_specifier -> CONST .
CHAR reduce using rule 98 (type_specifier -> CONST .)
SHORT reduce using rule 98 (type_specifier -> CONST .)
INT reduce using rule 98 (type_specifier -> CONST .)
LONG reduce using rule 98 (type_specifier -> CONST .)
SIGNED reduce using rule 98 (type_specifier -> CONST .)
UNSIGNED reduce using rule 98 (type_specifier -> CONST .)
FLOAT reduce using rule 98 (type_specifier -> CONST .)
DOUBLE reduce using rule 98 (type_specifier -> CONST .)
CONST reduce using rule 98 (type_specifier -> CONST .)
VOLATILE reduce using rule 98 (type_specifier -> CONST .)
VOID reduce using rule 98 (type_specifier -> CONST .)
TYPE_NAME reduce using rule 98 (type_specifier -> CONST .)
: reduce using rule 98 (type_specifier -> CONST .)
ENUM reduce using rule 98 (type_specifier -> CONST .)
STRUCT reduce using rule 98 (type_specifier -> CONST .)
UNION reduce using rule 98 (type_specifier -> CONST .)
( reduce using rule 98 (type_specifier -> CONST .)
* reduce using rule 98 (type_specifier -> CONST .)
IDENTIFIER reduce using rule 98 (type_specifier -> CONST .)
[ reduce using rule 98 (type_specifier -> CONST .)
) reduce using rule 98 (type_specifier -> CONST .)
TYPEDEF reduce using rule 98 (type_specifier -> CONST .)
EXTERN reduce using rule 98 (type_specifier -> CONST .)
STATIC reduce using rule 98 (type_specifier -> CONST .)
AUTO reduce using rule 98 (type_specifier -> CONST .)
REGISTER reduce using rule 98 (type_specifier -> CONST .)
; reduce using rule 98 (type_specifier -> CONST .)
, reduce using rule 98 (type_specifier -> CONST .)
state 5
(101) type_specifier -> struct_or_union_specifier .
CHAR reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
SHORT reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
INT reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
LONG reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
SIGNED reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
UNSIGNED reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
FLOAT reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
DOUBLE reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
CONST reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
VOLATILE reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
VOID reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
TYPE_NAME reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
: reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
ENUM reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
STRUCT reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
UNION reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
( reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
* reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
IDENTIFIER reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
[ reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
) reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
TYPEDEF reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
EXTERN reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
STATIC reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
AUTO reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
REGISTER reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
; reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
, reduce using rule 101 (type_specifier -> struct_or_union_specifier .)
state 6
(100) type_specifier -> VOID .
CHAR reduce using rule 100 (type_specifier -> VOID .)
SHORT reduce using rule 100 (type_specifier -> VOID .)
INT reduce using rule 100 (type_specifier -> VOID .)
LONG reduce using rule 100 (type_specifier -> VOID .)
SIGNED reduce using rule 100 (type_specifier -> VOID .)
UNSIGNED reduce using rule 100 (type_specifier -> VOID .)
FLOAT reduce using rule 100 (type_specifier -> VOID .)
DOUBLE reduce using rule 100 (type_specifier -> VOID .)
CONST reduce using rule 100 (type_specifier -> VOID .)
VOLATILE reduce using rule 100 (type_specifier -> VOID .)
VOID reduce using rule 100 (type_specifier -> VOID .)
TYPE_NAME reduce using rule 100 (type_specifier -> VOID .)
: reduce using rule 100 (type_specifier -> VOID .)
ENUM reduce using rule 100 (type_specifier -> VOID .)
STRUCT reduce using rule 100 (type_specifier -> VOID .)
UNION reduce using rule 100 (type_specifier -> VOID .)
( reduce using rule 100 (type_specifier -> VOID .)
* reduce using rule 100 (type_specifier -> VOID .)
IDENTIFIER reduce using rule 100 (type_specifier -> VOID .)
[ reduce using rule 100 (type_specifier -> VOID .)
) reduce using rule 100 (type_specifier -> VOID .)
TYPEDEF reduce using rule 100 (type_specifier -> VOID .)
EXTERN reduce using rule 100 (type_specifier -> VOID .)
STATIC reduce using rule 100 (type_specifier -> VOID .)
AUTO reduce using rule 100 (type_specifier -> VOID .)
REGISTER reduce using rule 100 (type_specifier -> VOID .)
; reduce using rule 100 (type_specifier -> VOID .)
, reduce using rule 100 (type_specifier -> VOID .)
state 7
(104) struct_or_union_specifier -> struct_or_union . identifier { struct_declaration_list }
(105) struct_or_union_specifier -> struct_or_union . { struct_declaration_list }
(106) struct_or_union_specifier -> struct_or_union . identifier
(216) identifier -> . IDENTIFIER
{ shift and go to state 41
IDENTIFIER shift and go to state 22
identifier shift and go to state 40
state 8
(124) declarator -> declarator2 .
(128) declarator2 -> declarator2 . [ ]
(129) declarator2 -> declarator2 . [ constant_expr ]
(130) declarator2 -> declarator2 . ( )
(131) declarator2 -> declarator2 . ( parameter_type_list )
(132) declarator2 -> declarator2 . ( parameter_identifier_list )
: reduce using rule 124 (declarator -> declarator2 .)
; reduce using rule 124 (declarator -> declarator2 .)
, reduce using rule 124 (declarator -> declarator2 .)
= reduce using rule 124 (declarator -> declarator2 .)
{ reduce using rule 124 (declarator -> declarator2 .)
TYPEDEF reduce using rule 124 (declarator -> declarator2 .)
EXTERN reduce using rule 124 (declarator -> declarator2 .)
STATIC reduce using rule 124 (declarator -> declarator2 .)
AUTO reduce using rule 124 (declarator -> declarator2 .)
REGISTER reduce using rule 124 (declarator -> declarator2 .)
CHAR reduce using rule 124 (declarator -> declarator2 .)
SHORT reduce using rule 124 (declarator -> declarator2 .)
INT reduce using rule 124 (declarator -> declarator2 .)
LONG reduce using rule 124 (declarator -> declarator2 .)
SIGNED reduce using rule 124 (declarator -> declarator2 .)
UNSIGNED reduce using rule 124 (declarator -> declarator2 .)
FLOAT reduce using rule 124 (declarator -> declarator2 .)
DOUBLE reduce using rule 124 (declarator -> declarator2 .)
CONST reduce using rule 124 (declarator -> declarator2 .)
VOLATILE reduce using rule 124 (declarator -> declarator2 .)
VOID reduce using rule 124 (declarator -> declarator2 .)
TYPE_NAME reduce using rule 124 (declarator -> declarator2 .)
ENUM reduce using rule 124 (declarator -> declarator2 .)
STRUCT reduce using rule 124 (declarator -> declarator2 .)
UNION reduce using rule 124 (declarator -> declarator2 .)
) reduce using rule 124 (declarator -> declarator2 .)
[ shift and go to state 43
( shift and go to state 42
state 9
(90) type_specifier -> CHAR .
CHAR reduce using rule 90 (type_specifier -> CHAR .)
SHORT reduce using rule 90 (type_specifier -> CHAR .)
INT reduce using rule 90 (type_specifier -> CHAR .)
LONG reduce using rule 90 (type_specifier -> CHAR .)
SIGNED reduce using rule 90 (type_specifier -> CHAR .)
UNSIGNED reduce using rule 90 (type_specifier -> CHAR .)
FLOAT reduce using rule 90 (type_specifier -> CHAR .)
DOUBLE reduce using rule 90 (type_specifier -> CHAR .)
CONST reduce using rule 90 (type_specifier -> CHAR .)
VOLATILE reduce using rule 90 (type_specifier -> CHAR .)
VOID reduce using rule 90 (type_specifier -> CHAR .)
TYPE_NAME reduce using rule 90 (type_specifier -> CHAR .)
: reduce using rule 90 (type_specifier -> CHAR .)
ENUM reduce using rule 90 (type_specifier -> CHAR .)
STRUCT reduce using rule 90 (type_specifier -> CHAR .)
UNION reduce using rule 90 (type_specifier -> CHAR .)
( reduce using rule 90 (type_specifier -> CHAR .)
* reduce using rule 90 (type_specifier -> CHAR .)
IDENTIFIER reduce using rule 90 (type_specifier -> CHAR .)
[ reduce using rule 90 (type_specifier -> CHAR .)
) reduce using rule 90 (type_specifier -> CHAR .)
TYPEDEF reduce using rule 90 (type_specifier -> CHAR .)
EXTERN reduce using rule 90 (type_specifier -> CHAR .)
STATIC reduce using rule 90 (type_specifier -> CHAR .)
AUTO reduce using rule 90 (type_specifier -> CHAR .)
REGISTER reduce using rule 90 (type_specifier -> CHAR .)
; reduce using rule 90 (type_specifier -> CHAR .)
, reduce using rule 90 (type_specifier -> CHAR .)
state 10
(91) type_specifier -> SHORT .
CHAR reduce using rule 91 (type_specifier -> SHORT .)
SHORT reduce using rule 91 (type_specifier -> SHORT .)
INT reduce using rule 91 (type_specifier -> SHORT .)
LONG reduce using rule 91 (type_specifier -> SHORT .)
SIGNED reduce using rule 91 (type_specifier -> SHORT .)
UNSIGNED reduce using rule 91 (type_specifier -> SHORT .)
FLOAT reduce using rule 91 (type_specifier -> SHORT .)
DOUBLE reduce using rule 91 (type_specifier -> SHORT .)
CONST reduce using rule 91 (type_specifier -> SHORT .)
VOLATILE reduce using rule 91 (type_specifier -> SHORT .)
VOID reduce using rule 91 (type_specifier -> SHORT .)
TYPE_NAME reduce using rule 91 (type_specifier -> SHORT .)
: reduce using rule 91 (type_specifier -> SHORT .)
ENUM reduce using rule 91 (type_specifier -> SHORT .)
STRUCT reduce using rule 91 (type_specifier -> SHORT .)
UNION reduce using rule 91 (type_specifier -> SHORT .)
( reduce using rule 91 (type_specifier -> SHORT .)
* reduce using rule 91 (type_specifier -> SHORT .)
IDENTIFIER reduce using rule 91 (type_specifier -> SHORT .)
[ reduce using rule 91 (type_specifier -> SHORT .)
) reduce using rule 91 (type_specifier -> SHORT .)
TYPEDEF reduce using rule 91 (type_specifier -> SHORT .)
EXTERN reduce using rule 91 (type_specifier -> SHORT .)
STATIC reduce using rule 91 (type_specifier -> SHORT .)
AUTO reduce using rule 91 (type_specifier -> SHORT .)
REGISTER reduce using rule 91 (type_specifier -> SHORT .)
; reduce using rule 91 (type_specifier -> SHORT .)
, reduce using rule 91 (type_specifier -> SHORT .)
state 11
(87) storage_class_specifier -> STATIC .
TYPEDEF reduce using rule 87 (storage_class_specifier -> STATIC .)
EXTERN reduce using rule 87 (storage_class_specifier -> STATIC .)
STATIC reduce using rule 87 (storage_class_specifier -> STATIC .)
AUTO reduce using rule 87 (storage_class_specifier -> STATIC .)
REGISTER reduce using rule 87 (storage_class_specifier -> STATIC .)
CHAR reduce using rule 87 (storage_class_specifier -> STATIC .)
SHORT reduce using rule 87 (storage_class_specifier -> STATIC .)
INT reduce using rule 87 (storage_class_specifier -> STATIC .)
LONG reduce using rule 87 (storage_class_specifier -> STATIC .)
SIGNED reduce using rule 87 (storage_class_specifier -> STATIC .)
UNSIGNED reduce using rule 87 (storage_class_specifier -> STATIC .)
FLOAT reduce using rule 87 (storage_class_specifier -> STATIC .)
DOUBLE reduce using rule 87 (storage_class_specifier -> STATIC .)
CONST reduce using rule 87 (storage_class_specifier -> STATIC .)
VOLATILE reduce using rule 87 (storage_class_specifier -> STATIC .)
VOID reduce using rule 87 (storage_class_specifier -> STATIC .)
TYPE_NAME reduce using rule 87 (storage_class_specifier -> STATIC .)
ENUM reduce using rule 87 (storage_class_specifier -> STATIC .)
STRUCT reduce using rule 87 (storage_class_specifier -> STATIC .)
UNION reduce using rule 87 (storage_class_specifier -> STATIC .)
; reduce using rule 87 (storage_class_specifier -> STATIC .)
( reduce using rule 87 (storage_class_specifier -> STATIC .)
* reduce using rule 87 (storage_class_specifier -> STATIC .)
IDENTIFIER reduce using rule 87 (storage_class_specifier -> STATIC .)
state 12
(207) code -> file .
(209) file -> file . external_definition
(210) external_definition -> . function_definition
(211) external_definition -> . declaration
(212) function_definition -> . declarator function_body
(213) function_definition -> . declaration_specifiers declarator function_body
(75) declaration -> . declaration_specifiers ;
(76) declaration -> . declaration_specifiers init_declarator_list ;
(124) declarator -> . declarator2
(125) declarator -> . pointer declarator2
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(216) identifier -> . IDENTIFIER
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
$end reduce using rule 207 (code -> file .)
( shift and go to state 17
* shift and go to state 18
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
IDENTIFIER shift and go to state 22
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
external_definition shift and go to state 44
storage_class_specifier shift and go to state 2
struct_or_union_specifier shift and go to state 5
declarator2 shift and go to state 8
pointer shift and go to state 15
type_specifier shift and go to state 16
struct_or_union shift and go to state 7
declaration_specifiers shift and go to state 26
declaration shift and go to state 27
function_definition shift and go to state 28
enum_specifier shift and go to state 34
declarator shift and go to state 36
identifier shift and go to state 38
state 13
(86) storage_class_specifier -> EXTERN .
TYPEDEF reduce using rule 86 (storage_class_specifier -> EXTERN .)
EXTERN reduce using rule 86 (storage_class_specifier -> EXTERN .)
STATIC reduce using rule 86 (storage_class_specifier -> EXTERN .)
AUTO reduce using rule 86 (storage_class_specifier -> EXTERN .)
REGISTER reduce using rule 86 (storage_class_specifier -> EXTERN .)
CHAR reduce using rule 86 (storage_class_specifier -> EXTERN .)
SHORT reduce using rule 86 (storage_class_specifier -> EXTERN .)
INT reduce using rule 86 (storage_class_specifier -> EXTERN .)
LONG reduce using rule 86 (storage_class_specifier -> EXTERN .)
SIGNED reduce using rule 86 (storage_class_specifier -> EXTERN .)
UNSIGNED reduce using rule 86 (storage_class_specifier -> EXTERN .)
FLOAT reduce using rule 86 (storage_class_specifier -> EXTERN .)
DOUBLE reduce using rule 86 (storage_class_specifier -> EXTERN .)
CONST reduce using rule 86 (storage_class_specifier -> EXTERN .)
VOLATILE reduce using rule 86 (storage_class_specifier -> EXTERN .)
VOID reduce using rule 86 (storage_class_specifier -> EXTERN .)
TYPE_NAME reduce using rule 86 (storage_class_specifier -> EXTERN .)
ENUM reduce using rule 86 (storage_class_specifier -> EXTERN .)
STRUCT reduce using rule 86 (storage_class_specifier -> EXTERN .)
UNION reduce using rule 86 (storage_class_specifier -> EXTERN .)
; reduce using rule 86 (storage_class_specifier -> EXTERN .)
( reduce using rule 86 (storage_class_specifier -> EXTERN .)
* reduce using rule 86 (storage_class_specifier -> EXTERN .)
IDENTIFIER reduce using rule 86 (storage_class_specifier -> EXTERN .)
state 14
(103) type_specifier -> TYPE_NAME .
CHAR reduce using rule 103 (type_specifier -> TYPE_NAME .)
SHORT reduce using rule 103 (type_specifier -> TYPE_NAME .)
INT reduce using rule 103 (type_specifier -> TYPE_NAME .)
LONG reduce using rule 103 (type_specifier -> TYPE_NAME .)
SIGNED reduce using rule 103 (type_specifier -> TYPE_NAME .)
UNSIGNED reduce using rule 103 (type_specifier -> TYPE_NAME .)
FLOAT reduce using rule 103 (type_specifier -> TYPE_NAME .)
DOUBLE reduce using rule 103 (type_specifier -> TYPE_NAME .)
CONST reduce using rule 103 (type_specifier -> TYPE_NAME .)
VOLATILE reduce using rule 103 (type_specifier -> TYPE_NAME .)
VOID reduce using rule 103 (type_specifier -> TYPE_NAME .)
TYPE_NAME reduce using rule 103 (type_specifier -> TYPE_NAME .)
: reduce using rule 103 (type_specifier -> TYPE_NAME .)
ENUM reduce using rule 103 (type_specifier -> TYPE_NAME .)
STRUCT reduce using rule 103 (type_specifier -> TYPE_NAME .)
UNION reduce using rule 103 (type_specifier -> TYPE_NAME .)
( reduce using rule 103 (type_specifier -> TYPE_NAME .)
* reduce using rule 103 (type_specifier -> TYPE_NAME .)
IDENTIFIER reduce using rule 103 (type_specifier -> TYPE_NAME .)
[ reduce using rule 103 (type_specifier -> TYPE_NAME .)
) reduce using rule 103 (type_specifier -> TYPE_NAME .)
TYPEDEF reduce using rule 103 (type_specifier -> TYPE_NAME .)
EXTERN reduce using rule 103 (type_specifier -> TYPE_NAME .)
STATIC reduce using rule 103 (type_specifier -> TYPE_NAME .)
AUTO reduce using rule 103 (type_specifier -> TYPE_NAME .)
REGISTER reduce using rule 103 (type_specifier -> TYPE_NAME .)
; reduce using rule 103 (type_specifier -> TYPE_NAME .)
, reduce using rule 103 (type_specifier -> TYPE_NAME .)
state 15
(125) declarator -> pointer . declarator2
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(216) identifier -> . IDENTIFIER
( shift and go to state 17
IDENTIFIER shift and go to state 22
declarator2 shift and go to state 45
identifier shift and go to state 38
state 16
(79) declaration_specifiers -> type_specifier .
(80) declaration_specifiers -> type_specifier . declaration_specifiers
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
; reduce using rule 79 (declaration_specifiers -> type_specifier .)
( reduce using rule 79 (declaration_specifiers -> type_specifier .)
* reduce using rule 79 (declaration_specifiers -> type_specifier .)
IDENTIFIER reduce using rule 79 (declaration_specifiers -> type_specifier .)
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
storage_class_specifier shift and go to state 2
struct_or_union shift and go to state 7
type_specifier shift and go to state 16
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
declaration_specifiers shift and go to state 46
state 17
(127) declarator2 -> ( . declarator )
(124) declarator -> . declarator2
(125) declarator -> . pointer declarator2
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(216) identifier -> . IDENTIFIER
( shift and go to state 17
* shift and go to state 18
IDENTIFIER shift and go to state 22
declarator2 shift and go to state 8
declarator shift and go to state 47
identifier shift and go to state 38
pointer shift and go to state 15
state 18
(133) pointer -> * .
(134) pointer -> * . type_specifier_list
(135) pointer -> * . pointer
(136) pointer -> * . type_specifier_list pointer
(137) type_specifier_list -> . type_specifier
(138) type_specifier_list -> . type_specifier_list type_specifier
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
( reduce using rule 133 (pointer -> * .)
IDENTIFIER reduce using rule 133 (pointer -> * .)
[ reduce using rule 133 (pointer -> * .)
, reduce using rule 133 (pointer -> * .)
) reduce using rule 133 (pointer -> * .)
* shift and go to state 18
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
struct_or_union shift and go to state 7
type_specifier shift and go to state 49
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
type_specifier_list shift and go to state 50
pointer shift and go to state 48
state 19
(95) type_specifier -> UNSIGNED .
CHAR reduce using rule 95 (type_specifier -> UNSIGNED .)
SHORT reduce using rule 95 (type_specifier -> UNSIGNED .)
INT reduce using rule 95 (type_specifier -> UNSIGNED .)
LONG reduce using rule 95 (type_specifier -> UNSIGNED .)
SIGNED reduce using rule 95 (type_specifier -> UNSIGNED .)
UNSIGNED reduce using rule 95 (type_specifier -> UNSIGNED .)
FLOAT reduce using rule 95 (type_specifier -> UNSIGNED .)
DOUBLE reduce using rule 95 (type_specifier -> UNSIGNED .)
CONST reduce using rule 95 (type_specifier -> UNSIGNED .)
VOLATILE reduce using rule 95 (type_specifier -> UNSIGNED .)
VOID reduce using rule 95 (type_specifier -> UNSIGNED .)
TYPE_NAME reduce using rule 95 (type_specifier -> UNSIGNED .)
: reduce using rule 95 (type_specifier -> UNSIGNED .)
ENUM reduce using rule 95 (type_specifier -> UNSIGNED .)
STRUCT reduce using rule 95 (type_specifier -> UNSIGNED .)
UNION reduce using rule 95 (type_specifier -> UNSIGNED .)
( reduce using rule 95 (type_specifier -> UNSIGNED .)
* reduce using rule 95 (type_specifier -> UNSIGNED .)
IDENTIFIER reduce using rule 95 (type_specifier -> UNSIGNED .)
[ reduce using rule 95 (type_specifier -> UNSIGNED .)
) reduce using rule 95 (type_specifier -> UNSIGNED .)
TYPEDEF reduce using rule 95 (type_specifier -> UNSIGNED .)
EXTERN reduce using rule 95 (type_specifier -> UNSIGNED .)
STATIC reduce using rule 95 (type_specifier -> UNSIGNED .)
AUTO reduce using rule 95 (type_specifier -> UNSIGNED .)
REGISTER reduce using rule 95 (type_specifier -> UNSIGNED .)
; reduce using rule 95 (type_specifier -> UNSIGNED .)
, reduce using rule 95 (type_specifier -> UNSIGNED .)
state 20
(93) type_specifier -> LONG .
CHAR reduce using rule 93 (type_specifier -> LONG .)
SHORT reduce using rule 93 (type_specifier -> LONG .)
INT reduce using rule 93 (type_specifier -> LONG .)
LONG reduce using rule 93 (type_specifier -> LONG .)
SIGNED reduce using rule 93 (type_specifier -> LONG .)
UNSIGNED reduce using rule 93 (type_specifier -> LONG .)
FLOAT reduce using rule 93 (type_specifier -> LONG .)
DOUBLE reduce using rule 93 (type_specifier -> LONG .)
CONST reduce using rule 93 (type_specifier -> LONG .)
VOLATILE reduce using rule 93 (type_specifier -> LONG .)
VOID reduce using rule 93 (type_specifier -> LONG .)
TYPE_NAME reduce using rule 93 (type_specifier -> LONG .)
: reduce using rule 93 (type_specifier -> LONG .)
ENUM reduce using rule 93 (type_specifier -> LONG .)
STRUCT reduce using rule 93 (type_specifier -> LONG .)
UNION reduce using rule 93 (type_specifier -> LONG .)
( reduce using rule 93 (type_specifier -> LONG .)
* reduce using rule 93 (type_specifier -> LONG .)
IDENTIFIER reduce using rule 93 (type_specifier -> LONG .)
[ reduce using rule 93 (type_specifier -> LONG .)
) reduce using rule 93 (type_specifier -> LONG .)
TYPEDEF reduce using rule 93 (type_specifier -> LONG .)
EXTERN reduce using rule 93 (type_specifier -> LONG .)
STATIC reduce using rule 93 (type_specifier -> LONG .)
AUTO reduce using rule 93 (type_specifier -> LONG .)
REGISTER reduce using rule 93 (type_specifier -> LONG .)
; reduce using rule 93 (type_specifier -> LONG .)
, reduce using rule 93 (type_specifier -> LONG .)
state 21
(108) struct_or_union -> UNION .
{ reduce using rule 108 (struct_or_union -> UNION .)
IDENTIFIER reduce using rule 108 (struct_or_union -> UNION .)
state 22
(216) identifier -> IDENTIFIER .
: reduce using rule 216 (identifier -> IDENTIFIER .)
[ reduce using rule 216 (identifier -> IDENTIFIER .)
( reduce using rule 216 (identifier -> IDENTIFIER .)
. reduce using rule 216 (identifier -> IDENTIFIER .)
PTR_OP reduce using rule 216 (identifier -> IDENTIFIER .)
INC_OP reduce using rule 216 (identifier -> IDENTIFIER .)
DEC_OP reduce using rule 216 (identifier -> IDENTIFIER .)
= reduce using rule 216 (identifier -> IDENTIFIER .)
MUL_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
DIV_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
MOD_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
ADD_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
SUB_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
LEFT_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
RIGHT_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
AND_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
XOR_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
OR_ASSIGN reduce using rule 216 (identifier -> IDENTIFIER .)
* reduce using rule 216 (identifier -> IDENTIFIER .)
/ reduce using rule 216 (identifier -> IDENTIFIER .)
% reduce using rule 216 (identifier -> IDENTIFIER .)
+ reduce using rule 216 (identifier -> IDENTIFIER .)
- reduce using rule 216 (identifier -> IDENTIFIER .)
LEFT_OP reduce using rule 216 (identifier -> IDENTIFIER .)
RIGHT_OP reduce using rule 216 (identifier -> IDENTIFIER .)
< reduce using rule 216 (identifier -> IDENTIFIER .)
> reduce using rule 216 (identifier -> IDENTIFIER .)
LE_OP reduce using rule 216 (identifier -> IDENTIFIER .)
GE_OP reduce using rule 216 (identifier -> IDENTIFIER .)
EQ_OP reduce using rule 216 (identifier -> IDENTIFIER .)
NE_OP reduce using rule 216 (identifier -> IDENTIFIER .)
& reduce using rule 216 (identifier -> IDENTIFIER .)
^ reduce using rule 216 (identifier -> IDENTIFIER .)
| reduce using rule 216 (identifier -> IDENTIFIER .)
AND_OP reduce using rule 216 (identifier -> IDENTIFIER .)
? reduce using rule 216 (identifier -> IDENTIFIER .)
OR_OP reduce using rule 216 (identifier -> IDENTIFIER .)
; reduce using rule 216 (identifier -> IDENTIFIER .)
, reduce using rule 216 (identifier -> IDENTIFIER .)
) reduce using rule 216 (identifier -> IDENTIFIER .)
] reduce using rule 216 (identifier -> IDENTIFIER .)
} reduce using rule 216 (identifier -> IDENTIFIER .)
{ reduce using rule 216 (identifier -> IDENTIFIER .)
TYPEDEF reduce using rule 216 (identifier -> IDENTIFIER .)
EXTERN reduce using rule 216 (identifier -> IDENTIFIER .)
STATIC reduce using rule 216 (identifier -> IDENTIFIER .)
AUTO reduce using rule 216 (identifier -> IDENTIFIER .)
REGISTER reduce using rule 216 (identifier -> IDENTIFIER .)
CHAR reduce using rule 216 (identifier -> IDENTIFIER .)
SHORT reduce using rule 216 (identifier -> IDENTIFIER .)
INT reduce using rule 216 (identifier -> IDENTIFIER .)
LONG reduce using rule 216 (identifier -> IDENTIFIER .)
SIGNED reduce using rule 216 (identifier -> IDENTIFIER .)
UNSIGNED reduce using rule 216 (identifier -> IDENTIFIER .)
FLOAT reduce using rule 216 (identifier -> IDENTIFIER .)
DOUBLE reduce using rule 216 (identifier -> IDENTIFIER .)
CONST reduce using rule 216 (identifier -> IDENTIFIER .)
VOLATILE reduce using rule 216 (identifier -> IDENTIFIER .)
VOID reduce using rule 216 (identifier -> IDENTIFIER .)
TYPE_NAME reduce using rule 216 (identifier -> IDENTIFIER .)
ENUM reduce using rule 216 (identifier -> IDENTIFIER .)
STRUCT reduce using rule 216 (identifier -> IDENTIFIER .)
UNION reduce using rule 216 (identifier -> IDENTIFIER .)
IDENTIFIER reduce using rule 216 (identifier -> IDENTIFIER .)
state 23
(85) storage_class_specifier -> TYPEDEF .
TYPEDEF reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
EXTERN reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
STATIC reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
AUTO reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
REGISTER reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
CHAR reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
SHORT reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
INT reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
LONG reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
SIGNED reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
UNSIGNED reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
FLOAT reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
DOUBLE reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
CONST reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
VOLATILE reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
VOID reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
TYPE_NAME reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
ENUM reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
STRUCT reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
UNION reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
; reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
( reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
* reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
IDENTIFIER reduce using rule 85 (storage_class_specifier -> TYPEDEF .)
state 24
(88) storage_class_specifier -> AUTO .
TYPEDEF reduce using rule 88 (storage_class_specifier -> AUTO .)
EXTERN reduce using rule 88 (storage_class_specifier -> AUTO .)
STATIC reduce using rule 88 (storage_class_specifier -> AUTO .)
AUTO reduce using rule 88 (storage_class_specifier -> AUTO .)
REGISTER reduce using rule 88 (storage_class_specifier -> AUTO .)
CHAR reduce using rule 88 (storage_class_specifier -> AUTO .)
SHORT reduce using rule 88 (storage_class_specifier -> AUTO .)
INT reduce using rule 88 (storage_class_specifier -> AUTO .)
LONG reduce using rule 88 (storage_class_specifier -> AUTO .)
SIGNED reduce using rule 88 (storage_class_specifier -> AUTO .)
UNSIGNED reduce using rule 88 (storage_class_specifier -> AUTO .)
FLOAT reduce using rule 88 (storage_class_specifier -> AUTO .)
DOUBLE reduce using rule 88 (storage_class_specifier -> AUTO .)
CONST reduce using rule 88 (storage_class_specifier -> AUTO .)
VOLATILE reduce using rule 88 (storage_class_specifier -> AUTO .)
VOID reduce using rule 88 (storage_class_specifier -> AUTO .)
TYPE_NAME reduce using rule 88 (storage_class_specifier -> AUTO .)
ENUM reduce using rule 88 (storage_class_specifier -> AUTO .)
STRUCT reduce using rule 88 (storage_class_specifier -> AUTO .)
UNION reduce using rule 88 (storage_class_specifier -> AUTO .)
; reduce using rule 88 (storage_class_specifier -> AUTO .)
( reduce using rule 88 (storage_class_specifier -> AUTO .)
* reduce using rule 88 (storage_class_specifier -> AUTO .)
IDENTIFIER reduce using rule 88 (storage_class_specifier -> AUTO .)
state 25
(117) enum_specifier -> ENUM . { enumerator_list }
(118) enum_specifier -> ENUM . identifier { enumerator_list }
(119) enum_specifier -> ENUM . identifier
(216) identifier -> . IDENTIFIER
{ shift and go to state 52
IDENTIFIER shift and go to state 22
identifier shift and go to state 51
state 26
(213) function_definition -> declaration_specifiers . declarator function_body
(75) declaration -> declaration_specifiers . ;
(76) declaration -> declaration_specifiers . init_declarator_list ;
(124) declarator -> . declarator2
(125) declarator -> . pointer declarator2
(81) init_declarator_list -> . init_declarator
(82) init_declarator_list -> . init_declarator_list , init_declarator
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(83) init_declarator -> . declarator
(84) init_declarator -> . declarator = initializer
(216) identifier -> . IDENTIFIER
; shift and go to state 53
( shift and go to state 17
* shift and go to state 18
IDENTIFIER shift and go to state 22
init_declarator shift and go to state 56
declarator2 shift and go to state 8
init_declarator_list shift and go to state 55
declarator shift and go to state 54
identifier shift and go to state 38
pointer shift and go to state 15
state 27
(211) external_definition -> declaration .
( reduce using rule 211 (external_definition -> declaration .)
* reduce using rule 211 (external_definition -> declaration .)
TYPEDEF reduce using rule 211 (external_definition -> declaration .)
EXTERN reduce using rule 211 (external_definition -> declaration .)
STATIC reduce using rule 211 (external_definition -> declaration .)
AUTO reduce using rule 211 (external_definition -> declaration .)
REGISTER reduce using rule 211 (external_definition -> declaration .)
CHAR reduce using rule 211 (external_definition -> declaration .)
SHORT reduce using rule 211 (external_definition -> declaration .)
INT reduce using rule 211 (external_definition -> declaration .)
LONG reduce using rule 211 (external_definition -> declaration .)
SIGNED reduce using rule 211 (external_definition -> declaration .)
UNSIGNED reduce using rule 211 (external_definition -> declaration .)
FLOAT reduce using rule 211 (external_definition -> declaration .)
DOUBLE reduce using rule 211 (external_definition -> declaration .)
CONST reduce using rule 211 (external_definition -> declaration .)
VOLATILE reduce using rule 211 (external_definition -> declaration .)
VOID reduce using rule 211 (external_definition -> declaration .)
TYPE_NAME reduce using rule 211 (external_definition -> declaration .)
IDENTIFIER reduce using rule 211 (external_definition -> declaration .)
ENUM reduce using rule 211 (external_definition -> declaration .)
STRUCT reduce using rule 211 (external_definition -> declaration .)
UNION reduce using rule 211 (external_definition -> declaration .)
$end reduce using rule 211 (external_definition -> declaration .)
state 28
(210) external_definition -> function_definition .
( reduce using rule 210 (external_definition -> function_definition .)
* reduce using rule 210 (external_definition -> function_definition .)
TYPEDEF reduce using rule 210 (external_definition -> function_definition .)
EXTERN reduce using rule 210 (external_definition -> function_definition .)
STATIC reduce using rule 210 (external_definition -> function_definition .)
AUTO reduce using rule 210 (external_definition -> function_definition .)
REGISTER reduce using rule 210 (external_definition -> function_definition .)
CHAR reduce using rule 210 (external_definition -> function_definition .)
SHORT reduce using rule 210 (external_definition -> function_definition .)
INT reduce using rule 210 (external_definition -> function_definition .)
LONG reduce using rule 210 (external_definition -> function_definition .)
SIGNED reduce using rule 210 (external_definition -> function_definition .)
UNSIGNED reduce using rule 210 (external_definition -> function_definition .)
FLOAT reduce using rule 210 (external_definition -> function_definition .)
DOUBLE reduce using rule 210 (external_definition -> function_definition .)
CONST reduce using rule 210 (external_definition -> function_definition .)
VOLATILE reduce using rule 210 (external_definition -> function_definition .)
VOID reduce using rule 210 (external_definition -> function_definition .)
TYPE_NAME reduce using rule 210 (external_definition -> function_definition .)
IDENTIFIER reduce using rule 210 (external_definition -> function_definition .)
ENUM reduce using rule 210 (external_definition -> function_definition .)
STRUCT reduce using rule 210 (external_definition -> function_definition .)
UNION reduce using rule 210 (external_definition -> function_definition .)
$end reduce using rule 210 (external_definition -> function_definition .)
state 29
(107) struct_or_union -> STRUCT .
{ reduce using rule 107 (struct_or_union -> STRUCT .)
IDENTIFIER reduce using rule 107 (struct_or_union -> STRUCT .)
state 30
(92) type_specifier -> INT .
CHAR reduce using rule 92 (type_specifier -> INT .)
SHORT reduce using rule 92 (type_specifier -> INT .)
INT reduce using rule 92 (type_specifier -> INT .)
LONG reduce using rule 92 (type_specifier -> INT .)
SIGNED reduce using rule 92 (type_specifier -> INT .)
UNSIGNED reduce using rule 92 (type_specifier -> INT .)
FLOAT reduce using rule 92 (type_specifier -> INT .)
DOUBLE reduce using rule 92 (type_specifier -> INT .)
CONST reduce using rule 92 (type_specifier -> INT .)
VOLATILE reduce using rule 92 (type_specifier -> INT .)
VOID reduce using rule 92 (type_specifier -> INT .)
TYPE_NAME reduce using rule 92 (type_specifier -> INT .)
: reduce using rule 92 (type_specifier -> INT .)
ENUM reduce using rule 92 (type_specifier -> INT .)
STRUCT reduce using rule 92 (type_specifier -> INT .)
UNION reduce using rule 92 (type_specifier -> INT .)
( reduce using rule 92 (type_specifier -> INT .)
* reduce using rule 92 (type_specifier -> INT .)
IDENTIFIER reduce using rule 92 (type_specifier -> INT .)
[ reduce using rule 92 (type_specifier -> INT .)
) reduce using rule 92 (type_specifier -> INT .)
TYPEDEF reduce using rule 92 (type_specifier -> INT .)
EXTERN reduce using rule 92 (type_specifier -> INT .)
STATIC reduce using rule 92 (type_specifier -> INT .)
AUTO reduce using rule 92 (type_specifier -> INT .)
REGISTER reduce using rule 92 (type_specifier -> INT .)
; reduce using rule 92 (type_specifier -> INT .)
, reduce using rule 92 (type_specifier -> INT .)
state 31
(97) type_specifier -> DOUBLE .
CHAR reduce using rule 97 (type_specifier -> DOUBLE .)
SHORT reduce using rule 97 (type_specifier -> DOUBLE .)
INT reduce using rule 97 (type_specifier -> DOUBLE .)
LONG reduce using rule 97 (type_specifier -> DOUBLE .)
SIGNED reduce using rule 97 (type_specifier -> DOUBLE .)
UNSIGNED reduce using rule 97 (type_specifier -> DOUBLE .)
FLOAT reduce using rule 97 (type_specifier -> DOUBLE .)
DOUBLE reduce using rule 97 (type_specifier -> DOUBLE .)
CONST reduce using rule 97 (type_specifier -> DOUBLE .)
VOLATILE reduce using rule 97 (type_specifier -> DOUBLE .)
VOID reduce using rule 97 (type_specifier -> DOUBLE .)
TYPE_NAME reduce using rule 97 (type_specifier -> DOUBLE .)
: reduce using rule 97 (type_specifier -> DOUBLE .)
ENUM reduce using rule 97 (type_specifier -> DOUBLE .)
STRUCT reduce using rule 97 (type_specifier -> DOUBLE .)
UNION reduce using rule 97 (type_specifier -> DOUBLE .)
( reduce using rule 97 (type_specifier -> DOUBLE .)
* reduce using rule 97 (type_specifier -> DOUBLE .)
IDENTIFIER reduce using rule 97 (type_specifier -> DOUBLE .)
[ reduce using rule 97 (type_specifier -> DOUBLE .)
) reduce using rule 97 (type_specifier -> DOUBLE .)
TYPEDEF reduce using rule 97 (type_specifier -> DOUBLE .)
EXTERN reduce using rule 97 (type_specifier -> DOUBLE .)
STATIC reduce using rule 97 (type_specifier -> DOUBLE .)
AUTO reduce using rule 97 (type_specifier -> DOUBLE .)
REGISTER reduce using rule 97 (type_specifier -> DOUBLE .)
; reduce using rule 97 (type_specifier -> DOUBLE .)
, reduce using rule 97 (type_specifier -> DOUBLE .)
state 32
(96) type_specifier -> FLOAT .
CHAR reduce using rule 96 (type_specifier -> FLOAT .)
SHORT reduce using rule 96 (type_specifier -> FLOAT .)
INT reduce using rule 96 (type_specifier -> FLOAT .)
LONG reduce using rule 96 (type_specifier -> FLOAT .)
SIGNED reduce using rule 96 (type_specifier -> FLOAT .)
UNSIGNED reduce using rule 96 (type_specifier -> FLOAT .)
FLOAT reduce using rule 96 (type_specifier -> FLOAT .)
DOUBLE reduce using rule 96 (type_specifier -> FLOAT .)
CONST reduce using rule 96 (type_specifier -> FLOAT .)
VOLATILE reduce using rule 96 (type_specifier -> FLOAT .)
VOID reduce using rule 96 (type_specifier -> FLOAT .)
TYPE_NAME reduce using rule 96 (type_specifier -> FLOAT .)
: reduce using rule 96 (type_specifier -> FLOAT .)
ENUM reduce using rule 96 (type_specifier -> FLOAT .)
STRUCT reduce using rule 96 (type_specifier -> FLOAT .)
UNION reduce using rule 96 (type_specifier -> FLOAT .)
( reduce using rule 96 (type_specifier -> FLOAT .)
* reduce using rule 96 (type_specifier -> FLOAT .)
IDENTIFIER reduce using rule 96 (type_specifier -> FLOAT .)
[ reduce using rule 96 (type_specifier -> FLOAT .)
) reduce using rule 96 (type_specifier -> FLOAT .)
TYPEDEF reduce using rule 96 (type_specifier -> FLOAT .)
EXTERN reduce using rule 96 (type_specifier -> FLOAT .)
STATIC reduce using rule 96 (type_specifier -> FLOAT .)
AUTO reduce using rule 96 (type_specifier -> FLOAT .)
REGISTER reduce using rule 96 (type_specifier -> FLOAT .)
; reduce using rule 96 (type_specifier -> FLOAT .)
, reduce using rule 96 (type_specifier -> FLOAT .)
state 33
(94) type_specifier -> SIGNED .
CHAR reduce using rule 94 (type_specifier -> SIGNED .)
SHORT reduce using rule 94 (type_specifier -> SIGNED .)
INT reduce using rule 94 (type_specifier -> SIGNED .)
LONG reduce using rule 94 (type_specifier -> SIGNED .)
SIGNED reduce using rule 94 (type_specifier -> SIGNED .)
UNSIGNED reduce using rule 94 (type_specifier -> SIGNED .)
FLOAT reduce using rule 94 (type_specifier -> SIGNED .)
DOUBLE reduce using rule 94 (type_specifier -> SIGNED .)
CONST reduce using rule 94 (type_specifier -> SIGNED .)
VOLATILE reduce using rule 94 (type_specifier -> SIGNED .)
VOID reduce using rule 94 (type_specifier -> SIGNED .)
TYPE_NAME reduce using rule 94 (type_specifier -> SIGNED .)
: reduce using rule 94 (type_specifier -> SIGNED .)
ENUM reduce using rule 94 (type_specifier -> SIGNED .)
STRUCT reduce using rule 94 (type_specifier -> SIGNED .)
UNION reduce using rule 94 (type_specifier -> SIGNED .)
( reduce using rule 94 (type_specifier -> SIGNED .)
* reduce using rule 94 (type_specifier -> SIGNED .)
IDENTIFIER reduce using rule 94 (type_specifier -> SIGNED .)
[ reduce using rule 94 (type_specifier -> SIGNED .)
) reduce using rule 94 (type_specifier -> SIGNED .)
TYPEDEF reduce using rule 94 (type_specifier -> SIGNED .)
EXTERN reduce using rule 94 (type_specifier -> SIGNED .)
STATIC reduce using rule 94 (type_specifier -> SIGNED .)
AUTO reduce using rule 94 (type_specifier -> SIGNED .)
REGISTER reduce using rule 94 (type_specifier -> SIGNED .)
; reduce using rule 94 (type_specifier -> SIGNED .)
, reduce using rule 94 (type_specifier -> SIGNED .)
state 34
(102) type_specifier -> enum_specifier .
CHAR reduce using rule 102 (type_specifier -> enum_specifier .)
SHORT reduce using rule 102 (type_specifier -> enum_specifier .)
INT reduce using rule 102 (type_specifier -> enum_specifier .)
LONG reduce using rule 102 (type_specifier -> enum_specifier .)
SIGNED reduce using rule 102 (type_specifier -> enum_specifier .)
UNSIGNED reduce using rule 102 (type_specifier -> enum_specifier .)
FLOAT reduce using rule 102 (type_specifier -> enum_specifier .)
DOUBLE reduce using rule 102 (type_specifier -> enum_specifier .)
CONST reduce using rule 102 (type_specifier -> enum_specifier .)
VOLATILE reduce using rule 102 (type_specifier -> enum_specifier .)
VOID reduce using rule 102 (type_specifier -> enum_specifier .)
TYPE_NAME reduce using rule 102 (type_specifier -> enum_specifier .)
: reduce using rule 102 (type_specifier -> enum_specifier .)
ENUM reduce using rule 102 (type_specifier -> enum_specifier .)
STRUCT reduce using rule 102 (type_specifier -> enum_specifier .)
UNION reduce using rule 102 (type_specifier -> enum_specifier .)
( reduce using rule 102 (type_specifier -> enum_specifier .)
* reduce using rule 102 (type_specifier -> enum_specifier .)
IDENTIFIER reduce using rule 102 (type_specifier -> enum_specifier .)
[ reduce using rule 102 (type_specifier -> enum_specifier .)
) reduce using rule 102 (type_specifier -> enum_specifier .)
TYPEDEF reduce using rule 102 (type_specifier -> enum_specifier .)
EXTERN reduce using rule 102 (type_specifier -> enum_specifier .)
STATIC reduce using rule 102 (type_specifier -> enum_specifier .)
AUTO reduce using rule 102 (type_specifier -> enum_specifier .)
REGISTER reduce using rule 102 (type_specifier -> enum_specifier .)
; reduce using rule 102 (type_specifier -> enum_specifier .)
, reduce using rule 102 (type_specifier -> enum_specifier .)
state 35
(99) type_specifier -> VOLATILE .
CHAR reduce using rule 99 (type_specifier -> VOLATILE .)
SHORT reduce using rule 99 (type_specifier -> VOLATILE .)
INT reduce using rule 99 (type_specifier -> VOLATILE .)
LONG reduce using rule 99 (type_specifier -> VOLATILE .)
SIGNED reduce using rule 99 (type_specifier -> VOLATILE .)
UNSIGNED reduce using rule 99 (type_specifier -> VOLATILE .)
FLOAT reduce using rule 99 (type_specifier -> VOLATILE .)
DOUBLE reduce using rule 99 (type_specifier -> VOLATILE .)
CONST reduce using rule 99 (type_specifier -> VOLATILE .)
VOLATILE reduce using rule 99 (type_specifier -> VOLATILE .)
VOID reduce using rule 99 (type_specifier -> VOLATILE .)
TYPE_NAME reduce using rule 99 (type_specifier -> VOLATILE .)
: reduce using rule 99 (type_specifier -> VOLATILE .)
ENUM reduce using rule 99 (type_specifier -> VOLATILE .)
STRUCT reduce using rule 99 (type_specifier -> VOLATILE .)
UNION reduce using rule 99 (type_specifier -> VOLATILE .)
( reduce using rule 99 (type_specifier -> VOLATILE .)
* reduce using rule 99 (type_specifier -> VOLATILE .)
IDENTIFIER reduce using rule 99 (type_specifier -> VOLATILE .)
[ reduce using rule 99 (type_specifier -> VOLATILE .)
) reduce using rule 99 (type_specifier -> VOLATILE .)
TYPEDEF reduce using rule 99 (type_specifier -> VOLATILE .)
EXTERN reduce using rule 99 (type_specifier -> VOLATILE .)
STATIC reduce using rule 99 (type_specifier -> VOLATILE .)
AUTO reduce using rule 99 (type_specifier -> VOLATILE .)
REGISTER reduce using rule 99 (type_specifier -> VOLATILE .)
; reduce using rule 99 (type_specifier -> VOLATILE .)
, reduce using rule 99 (type_specifier -> VOLATILE .)
state 36
(212) function_definition -> declarator . function_body
(214) function_body -> . compound_statement
(215) function_body -> . declaration_list compound_statement
(179) compound_statement -> . left_bracket right_bracket
(180) compound_statement -> . left_bracket statement_list right_bracket
(181) compound_statement -> . left_bracket declaration_list right_bracket
(182) compound_statement -> . left_bracket declaration_list statement_list right_bracket
(183) declaration_list -> . declaration
(184) declaration_list -> . declaration_list declaration
(177) left_bracket -> . {
(75) declaration -> . declaration_specifiers ;
(76) declaration -> . declaration_specifiers init_declarator_list ;
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
{ shift and go to state 63
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
storage_class_specifier shift and go to state 2
struct_or_union shift and go to state 7
type_specifier shift and go to state 16
compound_statement shift and go to state 59
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
declaration shift and go to state 61
declaration_list shift and go to state 62
declaration_specifiers shift and go to state 60
function_body shift and go to state 57
left_bracket shift and go to state 58
state 37
(89) storage_class_specifier -> REGISTER .
TYPEDEF reduce using rule 89 (storage_class_specifier -> REGISTER .)
EXTERN reduce using rule 89 (storage_class_specifier -> REGISTER .)
STATIC reduce using rule 89 (storage_class_specifier -> REGISTER .)
AUTO reduce using rule 89 (storage_class_specifier -> REGISTER .)
REGISTER reduce using rule 89 (storage_class_specifier -> REGISTER .)
CHAR reduce using rule 89 (storage_class_specifier -> REGISTER .)
SHORT reduce using rule 89 (storage_class_specifier -> REGISTER .)
INT reduce using rule 89 (storage_class_specifier -> REGISTER .)
LONG reduce using rule 89 (storage_class_specifier -> REGISTER .)
SIGNED reduce using rule 89 (storage_class_specifier -> REGISTER .)
UNSIGNED reduce using rule 89 (storage_class_specifier -> REGISTER .)
FLOAT reduce using rule 89 (storage_class_specifier -> REGISTER .)
DOUBLE reduce using rule 89 (storage_class_specifier -> REGISTER .)
CONST reduce using rule 89 (storage_class_specifier -> REGISTER .)
VOLATILE reduce using rule 89 (storage_class_specifier -> REGISTER .)
VOID reduce using rule 89 (storage_class_specifier -> REGISTER .)
TYPE_NAME reduce using rule 89 (storage_class_specifier -> REGISTER .)
ENUM reduce using rule 89 (storage_class_specifier -> REGISTER .)
STRUCT reduce using rule 89 (storage_class_specifier -> REGISTER .)
UNION reduce using rule 89 (storage_class_specifier -> REGISTER .)
; reduce using rule 89 (storage_class_specifier -> REGISTER .)
( reduce using rule 89 (storage_class_specifier -> REGISTER .)
* reduce using rule 89 (storage_class_specifier -> REGISTER .)
IDENTIFIER reduce using rule 89 (storage_class_specifier -> REGISTER .)
state 38
(126) declarator2 -> identifier .
[ reduce using rule 126 (declarator2 -> identifier .)
( reduce using rule 126 (declarator2 -> identifier .)
, reduce using rule 126 (declarator2 -> identifier .)
) reduce using rule 126 (declarator2 -> identifier .)
= reduce using rule 126 (declarator2 -> identifier .)
{ reduce using rule 126 (declarator2 -> identifier .)
TYPEDEF reduce using rule 126 (declarator2 -> identifier .)
EXTERN reduce using rule 126 (declarator2 -> identifier .)
STATIC reduce using rule 126 (declarator2 -> identifier .)
AUTO reduce using rule 126 (declarator2 -> identifier .)
REGISTER reduce using rule 126 (declarator2 -> identifier .)
CHAR reduce using rule 126 (declarator2 -> identifier .)
SHORT reduce using rule 126 (declarator2 -> identifier .)
INT reduce using rule 126 (declarator2 -> identifier .)
LONG reduce using rule 126 (declarator2 -> identifier .)
SIGNED reduce using rule 126 (declarator2 -> identifier .)
UNSIGNED reduce using rule 126 (declarator2 -> identifier .)
FLOAT reduce using rule 126 (declarator2 -> identifier .)
DOUBLE reduce using rule 126 (declarator2 -> identifier .)
CONST reduce using rule 126 (declarator2 -> identifier .)
VOLATILE reduce using rule 126 (declarator2 -> identifier .)
VOID reduce using rule 126 (declarator2 -> identifier .)
TYPE_NAME reduce using rule 126 (declarator2 -> identifier .)
ENUM reduce using rule 126 (declarator2 -> identifier .)
STRUCT reduce using rule 126 (declarator2 -> identifier .)
UNION reduce using rule 126 (declarator2 -> identifier .)
; reduce using rule 126 (declarator2 -> identifier .)
: reduce using rule 126 (declarator2 -> identifier .)
state 39
(78) declaration_specifiers -> storage_class_specifier declaration_specifiers .
; reduce using rule 78 (declaration_specifiers -> storage_class_specifier declaration_specifiers .)
( reduce using rule 78 (declaration_specifiers -> storage_class_specifier declaration_specifiers .)
* reduce using rule 78 (declaration_specifiers -> storage_class_specifier declaration_specifiers .)
IDENTIFIER reduce using rule 78 (declaration_specifiers -> storage_class_specifier declaration_specifiers .)
state 40
(104) struct_or_union_specifier -> struct_or_union identifier . { struct_declaration_list }
(106) struct_or_union_specifier -> struct_or_union identifier .
{ shift and go to state 64
TYPEDEF reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
EXTERN reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
STATIC reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
AUTO reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
REGISTER reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
CHAR reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
SHORT reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
INT reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
LONG reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
SIGNED reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
UNSIGNED reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
FLOAT reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
DOUBLE reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
CONST reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
VOLATILE reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
VOID reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
TYPE_NAME reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
ENUM reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
STRUCT reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
UNION reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
; reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
( reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
* reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
IDENTIFIER reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
: reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
[ reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
) reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
, reduce using rule 106 (struct_or_union_specifier -> struct_or_union identifier .)
state 41
(105) struct_or_union_specifier -> struct_or_union { . struct_declaration_list }
(109) struct_declaration_list -> . struct_declaration
(110) struct_declaration_list -> . struct_declaration_list struct_declaration
(111) struct_declaration -> . type_specifier_list struct_declarator_list ;
(137) type_specifier_list -> . type_specifier
(138) type_specifier_list -> . type_specifier_list type_specifier
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
struct_or_union shift and go to state 7
type_specifier shift and go to state 49
struct_declaration shift and go to state 66
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
struct_declaration_list shift and go to state 65
type_specifier_list shift and go to state 67
state 42
(130) declarator2 -> declarator2 ( . )
(131) declarator2 -> declarator2 ( . parameter_type_list )
(132) declarator2 -> declarator2 ( . parameter_identifier_list )
(143) parameter_type_list -> . parameter_list
(144) parameter_type_list -> . parameter_list , ELIPSIS
(139) parameter_identifier_list -> . identifier_list
(140) parameter_identifier_list -> . identifier_list , ELIPSIS
(145) parameter_list -> . parameter_declaration
(146) parameter_list -> . parameter_list , parameter_declaration
(141) identifier_list -> . identifier
(142) identifier_list -> . identifier_list , identifier
(147) parameter_declaration -> . type_specifier_list declarator
(148) parameter_declaration -> . type_name
(216) identifier -> . IDENTIFIER
(137) type_specifier_list -> . type_specifier
(138) type_specifier_list -> . type_specifier_list type_specifier
(149) type_name -> . type_specifier_list
(150) type_name -> . type_specifier_list abstract_declarator
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
) shift and go to state 68
IDENTIFIER shift and go to state 22
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
struct_or_union shift and go to state 7
identifier shift and go to state 76
parameter_list shift and go to state 75
parameter_type_list shift and go to state 70
parameter_declaration shift and go to state 71
type_name shift and go to state 69
parameter_identifier_list shift and go to state 72
enum_specifier shift and go to state 34
type_specifier_list shift and go to state 73
struct_or_union_specifier shift and go to state 5
type_specifier shift and go to state 49
identifier_list shift and go to state 74
state 43
(128) declarator2 -> declarator2 [ . ]
(129) declarator2 -> declarator2 [ . constant_expr ]
(74) constant_expr -> . conditional_expr
(57) conditional_expr -> . logical_or_expr
(58) conditional_expr -> . logical_or_expr ? logical_or_expr : conditional_expr
(55) logical_or_expr -> . logical_and_expr
(56) logical_or_expr -> . logical_or_expr OR_OP logical_and_expr
(53) logical_and_expr -> . inclusive_or_expr
(54) logical_and_expr -> . logical_and_expr AND_OP inclusive_or_expr
(51) inclusive_or_expr -> . exclusive_or_expr
(52) inclusive_or_expr -> . inclusive_or_expr | exclusive_or_expr
(49) exclusive_or_expr -> . and_expr
(50) exclusive_or_expr -> . exclusive_or_expr ^ and_expr
(47) and_expr -> . equality_expr
(48) and_expr -> . and_expr & equality_expr
(44) equality_expr -> . relational_expr
(45) equality_expr -> . equality_expr EQ_OP relational_expr
(46) equality_expr -> . equality_expr NE_OP relational_expr
(39) relational_expr -> . shift_expr
(40) relational_expr -> . relational_expr < shift_expr
(41) relational_expr -> . relational_expr > shift_expr
(42) relational_expr -> . relational_expr LE_OP shift_expr
(43) relational_expr -> . relational_expr GE_OP shift_expr
(36) shift_expr -> . additive_expr
(37) shift_expr -> . shift_expr LEFT_OP additive_expr
(38) shift_expr -> . shift_expr RIGHT_OP additive_expr
(33) additive_expr -> . multiplicative_expr
(34) additive_expr -> . additive_expr + multiplicative_expr
(35) additive_expr -> . additive_expr - multiplicative_expr
(29) multiplicative_expr -> . cast_expr
(30) multiplicative_expr -> . multiplicative_expr * cast_expr
(31) multiplicative_expr -> . multiplicative_expr / cast_expr
(32) multiplicative_expr -> . multiplicative_expr % cast_expr
(27) cast_expr -> . unary_expr
(28) cast_expr -> . ( type_name ) cast_expr
(15) unary_expr -> . postfix_expr
(16) unary_expr -> . INC_OP unary_expr
(17) unary_expr -> . DEC_OP unary_expr
(18) unary_expr -> . unary_operator cast_expr
(19) unary_expr -> . SIZEOF unary_expr
(20) unary_expr -> . SIZEOF ( type_name )
(5) postfix_expr -> . primary_expr
(6) postfix_expr -> . postfix_expr [ expr ]
(7) postfix_expr -> . postfix_expr ( )
(8) postfix_expr -> . postfix_expr ( argument_expr_list )
(9) postfix_expr -> . postfix_expr . identifier
(10) postfix_expr -> . postfix_expr PTR_OP identifier
(11) postfix_expr -> . postfix_expr INC_OP
(12) postfix_expr -> . postfix_expr DEC_OP
(21) unary_operator -> . &
(22) unary_operator -> . *
(23) unary_operator -> . +
(24) unary_operator -> . -
(25) unary_operator -> . ~
(26) unary_operator -> . !
(1) primary_expr -> . identifier
(2) primary_expr -> . CONSTANT
(3) primary_expr -> . STRING_LITERAL
(4) primary_expr -> . ( expr )
(216) identifier -> . IDENTIFIER
] shift and go to state 96
( shift and go to state 88
INC_OP shift and go to state 106
DEC_OP shift and go to state 80
SIZEOF shift and go to state 85
& shift and go to state 87
* shift and go to state 83
+ shift and go to state 89
- shift and go to state 81
~ shift and go to state 107
! shift and go to state 86
CONSTANT shift and go to state 78
STRING_LITERAL shift and go to state 100
IDENTIFIER shift and go to state 22
equality_expr shift and go to state 90
unary_expr shift and go to state 79
constant_expr shift and go to state 82
logical_or_expr shift and go to state 84
additive_expr shift and go to state 77
cast_expr shift and go to state 95
postfix_expr shift and go to state 99
shift_expr shift and go to state 91
multiplicative_expr shift and go to state 92
unary_operator shift and go to state 105
and_expr shift and go to state 93
relational_expr shift and go to state 94
conditional_expr shift and go to state 97
exclusive_or_expr shift and go to state 101
logical_and_expr shift and go to state 102
inclusive_or_expr shift and go to state 103
primary_expr shift and go to state 104
identifier shift and go to state 98
state 44
(209) file -> file external_definition .
( reduce using rule 209 (file -> file external_definition .)
* reduce using rule 209 (file -> file external_definition .)
TYPEDEF reduce using rule 209 (file -> file external_definition .)
EXTERN reduce using rule 209 (file -> file external_definition .)
STATIC reduce using rule 209 (file -> file external_definition .)
AUTO reduce using rule 209 (file -> file external_definition .)
REGISTER reduce using rule 209 (file -> file external_definition .)
CHAR reduce using rule 209 (file -> file external_definition .)
SHORT reduce using rule 209 (file -> file external_definition .)
INT reduce using rule 209 (file -> file external_definition .)
LONG reduce using rule 209 (file -> file external_definition .)
SIGNED reduce using rule 209 (file -> file external_definition .)
UNSIGNED reduce using rule 209 (file -> file external_definition .)
FLOAT reduce using rule 209 (file -> file external_definition .)
DOUBLE reduce using rule 209 (file -> file external_definition .)
CONST reduce using rule 209 (file -> file external_definition .)
VOLATILE reduce using rule 209 (file -> file external_definition .)
VOID reduce using rule 209 (file -> file external_definition .)
TYPE_NAME reduce using rule 209 (file -> file external_definition .)
IDENTIFIER reduce using rule 209 (file -> file external_definition .)
ENUM reduce using rule 209 (file -> file external_definition .)
STRUCT reduce using rule 209 (file -> file external_definition .)
UNION reduce using rule 209 (file -> file external_definition .)
$end reduce using rule 209 (file -> file external_definition .)
state 45
(125) declarator -> pointer declarator2 .
(128) declarator2 -> declarator2 . [ ]
(129) declarator2 -> declarator2 . [ constant_expr ]
(130) declarator2 -> declarator2 . ( )
(131) declarator2 -> declarator2 . ( parameter_type_list )
(132) declarator2 -> declarator2 . ( parameter_identifier_list )
: reduce using rule 125 (declarator -> pointer declarator2 .)
; reduce using rule 125 (declarator -> pointer declarator2 .)
, reduce using rule 125 (declarator -> pointer declarator2 .)
= reduce using rule 125 (declarator -> pointer declarator2 .)
{ reduce using rule 125 (declarator -> pointer declarator2 .)
TYPEDEF reduce using rule 125 (declarator -> pointer declarator2 .)
EXTERN reduce using rule 125 (declarator -> pointer declarator2 .)
STATIC reduce using rule 125 (declarator -> pointer declarator2 .)
AUTO reduce using rule 125 (declarator -> pointer declarator2 .)
REGISTER reduce using rule 125 (declarator -> pointer declarator2 .)
CHAR reduce using rule 125 (declarator -> pointer declarator2 .)
SHORT reduce using rule 125 (declarator -> pointer declarator2 .)
INT reduce using rule 125 (declarator -> pointer declarator2 .)
LONG reduce using rule 125 (declarator -> pointer declarator2 .)
SIGNED reduce using rule 125 (declarator -> pointer declarator2 .)
UNSIGNED reduce using rule 125 (declarator -> pointer declarator2 .)
FLOAT reduce using rule 125 (declarator -> pointer declarator2 .)
DOUBLE reduce using rule 125 (declarator -> pointer declarator2 .)
CONST reduce using rule 125 (declarator -> pointer declarator2 .)
VOLATILE reduce using rule 125 (declarator -> pointer declarator2 .)
VOID reduce using rule 125 (declarator -> pointer declarator2 .)
TYPE_NAME reduce using rule 125 (declarator -> pointer declarator2 .)
ENUM reduce using rule 125 (declarator -> pointer declarator2 .)
STRUCT reduce using rule 125 (declarator -> pointer declarator2 .)
UNION reduce using rule 125 (declarator -> pointer declarator2 .)
) reduce using rule 125 (declarator -> pointer declarator2 .)
[ shift and go to state 43
( shift and go to state 42
state 46
(80) declaration_specifiers -> type_specifier declaration_specifiers .
; reduce using rule 80 (declaration_specifiers -> type_specifier declaration_specifiers .)
( reduce using rule 80 (declaration_specifiers -> type_specifier declaration_specifiers .)
* reduce using rule 80 (declaration_specifiers -> type_specifier declaration_specifiers .)
IDENTIFIER reduce using rule 80 (declaration_specifiers -> type_specifier declaration_specifiers .)
state 47
(127) declarator2 -> ( declarator . )
) shift and go to state 108
state 48
(135) pointer -> * pointer .
( reduce using rule 135 (pointer -> * pointer .)
IDENTIFIER reduce using rule 135 (pointer -> * pointer .)
[ reduce using rule 135 (pointer -> * pointer .)
, reduce using rule 135 (pointer -> * pointer .)
) reduce using rule 135 (pointer -> * pointer .)
state 49
(137) type_specifier_list -> type_specifier .
CHAR reduce using rule 137 (type_specifier_list -> type_specifier .)
SHORT reduce using rule 137 (type_specifier_list -> type_specifier .)
INT reduce using rule 137 (type_specifier_list -> type_specifier .)
LONG reduce using rule 137 (type_specifier_list -> type_specifier .)
SIGNED reduce using rule 137 (type_specifier_list -> type_specifier .)
UNSIGNED reduce using rule 137 (type_specifier_list -> type_specifier .)
FLOAT reduce using rule 137 (type_specifier_list -> type_specifier .)
DOUBLE reduce using rule 137 (type_specifier_list -> type_specifier .)
CONST reduce using rule 137 (type_specifier_list -> type_specifier .)
VOLATILE reduce using rule 137 (type_specifier_list -> type_specifier .)
VOID reduce using rule 137 (type_specifier_list -> type_specifier .)
TYPE_NAME reduce using rule 137 (type_specifier_list -> type_specifier .)
: reduce using rule 137 (type_specifier_list -> type_specifier .)
ENUM reduce using rule 137 (type_specifier_list -> type_specifier .)
STRUCT reduce using rule 137 (type_specifier_list -> type_specifier .)
UNION reduce using rule 137 (type_specifier_list -> type_specifier .)
( reduce using rule 137 (type_specifier_list -> type_specifier .)
* reduce using rule 137 (type_specifier_list -> type_specifier .)
IDENTIFIER reduce using rule 137 (type_specifier_list -> type_specifier .)
[ reduce using rule 137 (type_specifier_list -> type_specifier .)
) reduce using rule 137 (type_specifier_list -> type_specifier .)
, reduce using rule 137 (type_specifier_list -> type_specifier .)
state 50
(134) pointer -> * type_specifier_list .
(136) pointer -> * type_specifier_list . pointer
(138) type_specifier_list -> type_specifier_list . type_specifier
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
( reduce using rule 134 (pointer -> * type_specifier_list .)
IDENTIFIER reduce using rule 134 (pointer -> * type_specifier_list .)
[ reduce using rule 134 (pointer -> * type_specifier_list .)
, reduce using rule 134 (pointer -> * type_specifier_list .)
) reduce using rule 134 (pointer -> * type_specifier_list .)
* shift and go to state 18
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
struct_or_union shift and go to state 7
type_specifier shift and go to state 110
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
pointer shift and go to state 109
state 51
(118) enum_specifier -> ENUM identifier . { enumerator_list }
(119) enum_specifier -> ENUM identifier .
{ shift and go to state 111
CHAR reduce using rule 119 (enum_specifier -> ENUM identifier .)
SHORT reduce using rule 119 (enum_specifier -> ENUM identifier .)
INT reduce using rule 119 (enum_specifier -> ENUM identifier .)
LONG reduce using rule 119 (enum_specifier -> ENUM identifier .)
SIGNED reduce using rule 119 (enum_specifier -> ENUM identifier .)
UNSIGNED reduce using rule 119 (enum_specifier -> ENUM identifier .)
FLOAT reduce using rule 119 (enum_specifier -> ENUM identifier .)
DOUBLE reduce using rule 119 (enum_specifier -> ENUM identifier .)
CONST reduce using rule 119 (enum_specifier -> ENUM identifier .)
VOLATILE reduce using rule 119 (enum_specifier -> ENUM identifier .)
VOID reduce using rule 119 (enum_specifier -> ENUM identifier .)
TYPE_NAME reduce using rule 119 (enum_specifier -> ENUM identifier .)
( reduce using rule 119 (enum_specifier -> ENUM identifier .)
* reduce using rule 119 (enum_specifier -> ENUM identifier .)
ENUM reduce using rule 119 (enum_specifier -> ENUM identifier .)
[ reduce using rule 119 (enum_specifier -> ENUM identifier .)
IDENTIFIER reduce using rule 119 (enum_specifier -> ENUM identifier .)
STRUCT reduce using rule 119 (enum_specifier -> ENUM identifier .)
UNION reduce using rule 119 (enum_specifier -> ENUM identifier .)
, reduce using rule 119 (enum_specifier -> ENUM identifier .)
) reduce using rule 119 (enum_specifier -> ENUM identifier .)
: reduce using rule 119 (enum_specifier -> ENUM identifier .)
TYPEDEF reduce using rule 119 (enum_specifier -> ENUM identifier .)
EXTERN reduce using rule 119 (enum_specifier -> ENUM identifier .)
STATIC reduce using rule 119 (enum_specifier -> ENUM identifier .)
AUTO reduce using rule 119 (enum_specifier -> ENUM identifier .)
REGISTER reduce using rule 119 (enum_specifier -> ENUM identifier .)
; reduce using rule 119 (enum_specifier -> ENUM identifier .)
state 52
(117) enum_specifier -> ENUM { . enumerator_list }
(120) enumerator_list -> . enumerator
(121) enumerator_list -> . enumerator_list , enumerator
(122) enumerator -> . identifier
(123) enumerator -> . identifier = constant_expr
(216) identifier -> . IDENTIFIER
IDENTIFIER shift and go to state 22
enumerator_list shift and go to state 113
identifier shift and go to state 114
enumerator shift and go to state 112
state 53
(75) declaration -> declaration_specifiers ; .
( reduce using rule 75 (declaration -> declaration_specifiers ; .)
* reduce using rule 75 (declaration -> declaration_specifiers ; .)
TYPEDEF reduce using rule 75 (declaration -> declaration_specifiers ; .)
EXTERN reduce using rule 75 (declaration -> declaration_specifiers ; .)
STATIC reduce using rule 75 (declaration -> declaration_specifiers ; .)
AUTO reduce using rule 75 (declaration -> declaration_specifiers ; .)
REGISTER reduce using rule 75 (declaration -> declaration_specifiers ; .)
CHAR reduce using rule 75 (declaration -> declaration_specifiers ; .)
SHORT reduce using rule 75 (declaration -> declaration_specifiers ; .)
INT reduce using rule 75 (declaration -> declaration_specifiers ; .)
LONG reduce using rule 75 (declaration -> declaration_specifiers ; .)
SIGNED reduce using rule 75 (declaration -> declaration_specifiers ; .)
UNSIGNED reduce using rule 75 (declaration -> declaration_specifiers ; .)
FLOAT reduce using rule 75 (declaration -> declaration_specifiers ; .)
DOUBLE reduce using rule 75 (declaration -> declaration_specifiers ; .)
CONST reduce using rule 75 (declaration -> declaration_specifiers ; .)
VOLATILE reduce using rule 75 (declaration -> declaration_specifiers ; .)
VOID reduce using rule 75 (declaration -> declaration_specifiers ; .)
TYPE_NAME reduce using rule 75 (declaration -> declaration_specifiers ; .)
IDENTIFIER reduce using rule 75 (declaration -> declaration_specifiers ; .)
ENUM reduce using rule 75 (declaration -> declaration_specifiers ; .)
STRUCT reduce using rule 75 (declaration -> declaration_specifiers ; .)
UNION reduce using rule 75 (declaration -> declaration_specifiers ; .)
$end reduce using rule 75 (declaration -> declaration_specifiers ; .)
{ reduce using rule 75 (declaration -> declaration_specifiers ; .)
} reduce using rule 75 (declaration -> declaration_specifiers ; .)
CASE reduce using rule 75 (declaration -> declaration_specifiers ; .)
DEFAULT reduce using rule 75 (declaration -> declaration_specifiers ; .)
; reduce using rule 75 (declaration -> declaration_specifiers ; .)
IF reduce using rule 75 (declaration -> declaration_specifiers ; .)
SWITCH reduce using rule 75 (declaration -> declaration_specifiers ; .)
WHILE reduce using rule 75 (declaration -> declaration_specifiers ; .)
DO reduce using rule 75 (declaration -> declaration_specifiers ; .)
FOR reduce using rule 75 (declaration -> declaration_specifiers ; .)
GOTO reduce using rule 75 (declaration -> declaration_specifiers ; .)
CONTINUE reduce using rule 75 (declaration -> declaration_specifiers ; .)
BREAK reduce using rule 75 (declaration -> declaration_specifiers ; .)
RETURN reduce using rule 75 (declaration -> declaration_specifiers ; .)
INC_OP reduce using rule 75 (declaration -> declaration_specifiers ; .)
DEC_OP reduce using rule 75 (declaration -> declaration_specifiers ; .)
SIZEOF reduce using rule 75 (declaration -> declaration_specifiers ; .)
& reduce using rule 75 (declaration -> declaration_specifiers ; .)
+ reduce using rule 75 (declaration -> declaration_specifiers ; .)
- reduce using rule 75 (declaration -> declaration_specifiers ; .)
~ reduce using rule 75 (declaration -> declaration_specifiers ; .)
! reduce using rule 75 (declaration -> declaration_specifiers ; .)
CONSTANT reduce using rule 75 (declaration -> declaration_specifiers ; .)
STRING_LITERAL reduce using rule 75 (declaration -> declaration_specifiers ; .)
state 54
(213) function_definition -> declaration_specifiers declarator . function_body
(83) init_declarator -> declarator .
(84) init_declarator -> declarator . = initializer
(214) function_body -> . compound_statement
(215) function_body -> . declaration_list compound_statement
(179) compound_statement -> . left_bracket right_bracket
(180) compound_statement -> . left_bracket statement_list right_bracket
(181) compound_statement -> . left_bracket declaration_list right_bracket
(182) compound_statement -> . left_bracket declaration_list statement_list right_bracket
(183) declaration_list -> . declaration
(184) declaration_list -> . declaration_list declaration
(177) left_bracket -> . {
(75) declaration -> . declaration_specifiers ;
(76) declaration -> . declaration_specifiers init_declarator_list ;
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
; reduce using rule 83 (init_declarator -> declarator .)
, reduce using rule 83 (init_declarator -> declarator .)
= shift and go to state 116
{ shift and go to state 63
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
storage_class_specifier shift and go to state 2
struct_or_union shift and go to state 7
type_specifier shift and go to state 16
compound_statement shift and go to state 59
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
declaration shift and go to state 61
declaration_list shift and go to state 62
declaration_specifiers shift and go to state 60
function_body shift and go to state 115
left_bracket shift and go to state 58
state 55
(76) declaration -> declaration_specifiers init_declarator_list . ;
(82) init_declarator_list -> init_declarator_list . , init_declarator
; shift and go to state 117
, shift and go to state 118
state 56
(81) init_declarator_list -> init_declarator .
; reduce using rule 81 (init_declarator_list -> init_declarator .)
, reduce using rule 81 (init_declarator_list -> init_declarator .)
state 57
(212) function_definition -> declarator function_body .
( reduce using rule 212 (function_definition -> declarator function_body .)
* reduce using rule 212 (function_definition -> declarator function_body .)
TYPEDEF reduce using rule 212 (function_definition -> declarator function_body .)
EXTERN reduce using rule 212 (function_definition -> declarator function_body .)
STATIC reduce using rule 212 (function_definition -> declarator function_body .)
AUTO reduce using rule 212 (function_definition -> declarator function_body .)
REGISTER reduce using rule 212 (function_definition -> declarator function_body .)
CHAR reduce using rule 212 (function_definition -> declarator function_body .)
SHORT reduce using rule 212 (function_definition -> declarator function_body .)
INT reduce using rule 212 (function_definition -> declarator function_body .)
LONG reduce using rule 212 (function_definition -> declarator function_body .)
SIGNED reduce using rule 212 (function_definition -> declarator function_body .)
UNSIGNED reduce using rule 212 (function_definition -> declarator function_body .)
FLOAT reduce using rule 212 (function_definition -> declarator function_body .)
DOUBLE reduce using rule 212 (function_definition -> declarator function_body .)
CONST reduce using rule 212 (function_definition -> declarator function_body .)
VOLATILE reduce using rule 212 (function_definition -> declarator function_body .)
VOID reduce using rule 212 (function_definition -> declarator function_body .)
TYPE_NAME reduce using rule 212 (function_definition -> declarator function_body .)
IDENTIFIER reduce using rule 212 (function_definition -> declarator function_body .)
ENUM reduce using rule 212 (function_definition -> declarator function_body .)
STRUCT reduce using rule 212 (function_definition -> declarator function_body .)
UNION reduce using rule 212 (function_definition -> declarator function_body .)
$end reduce using rule 212 (function_definition -> declarator function_body .)
state 58
(179) compound_statement -> left_bracket . right_bracket
(180) compound_statement -> left_bracket . statement_list right_bracket
(181) compound_statement -> left_bracket . declaration_list right_bracket
(182) compound_statement -> left_bracket . declaration_list statement_list right_bracket
(178) right_bracket -> . }
(185) statement_list -> . statement
(186) statement_list -> . statement_list statement
(183) declaration_list -> . declaration
(184) declaration_list -> . declaration_list declaration
(168) statement -> . labeled_statement
(169) statement -> . compound_statement
(170) statement -> . expression_statement
(171) statement -> . selection_statement
(172) statement -> . iteration_statement
(173) statement -> . jump_statement
(75) declaration -> . declaration_specifiers ;
(76) declaration -> . declaration_specifiers init_declarator_list ;
(174) labeled_statement -> . identifier : statement
(175) labeled_statement -> . CASE constant_expr : statement
(176) labeled_statement -> . DEFAULT : statement
(179) compound_statement -> . left_bracket right_bracket
(180) compound_statement -> . left_bracket statement_list right_bracket
(181) compound_statement -> . left_bracket declaration_list right_bracket
(182) compound_statement -> . left_bracket declaration_list statement_list right_bracket
(187) expression_statement -> . ;
(188) expression_statement -> . expr ;
(189) selection_statement -> . IF ( expr ) statement
(190) selection_statement -> . IF ( expr ) statement ELSE statement
(191) selection_statement -> . SWITCH ( expr ) statement
(192) iteration_statement -> . WHILE ( expr ) statement
(193) iteration_statement -> . DO statement WHILE ( expr ) ;
(194) iteration_statement -> . FOR ( ; ; ) statement
(195) iteration_statement -> . FOR ( ; ; expr ) statement
(196) iteration_statement -> . FOR ( ; expr ; ) statement
(197) iteration_statement -> . FOR ( ; expr ; expr ) statement
(198) iteration_statement -> . FOR ( expr ; ; ) statement
(199) iteration_statement -> . FOR ( expr ; ; expr ) statement
(200) iteration_statement -> . FOR ( expr ; expr ; ) statement
(201) iteration_statement -> . FOR ( expr ; expr ; expr ) statement
(202) jump_statement -> . GOTO identifier ;
(203) jump_statement -> . CONTINUE ;
(204) jump_statement -> . BREAK ;
(205) jump_statement -> . RETURN ;
(206) jump_statement -> . RETURN expr ;
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(216) identifier -> . IDENTIFIER
(177) left_bracket -> . {
(72) expr -> . assignment_expr
(73) expr -> . expr , assignment_expr
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(59) assignment_expr -> . conditional_expr
(60) assignment_expr -> . unary_expr assignment_operator assignment_expr
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(57) conditional_expr -> . logical_or_expr
(58) conditional_expr -> . logical_or_expr ? logical_or_expr : conditional_expr
(15) unary_expr -> . postfix_expr
(16) unary_expr -> . INC_OP unary_expr
(17) unary_expr -> . DEC_OP unary_expr
(18) unary_expr -> . unary_operator cast_expr
(19) unary_expr -> . SIZEOF unary_expr
(20) unary_expr -> . SIZEOF ( type_name )
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
(55) logical_or_expr -> . logical_and_expr
(56) logical_or_expr -> . logical_or_expr OR_OP logical_and_expr
(5) postfix_expr -> . primary_expr
(6) postfix_expr -> . postfix_expr [ expr ]
(7) postfix_expr -> . postfix_expr ( )
(8) postfix_expr -> . postfix_expr ( argument_expr_list )
(9) postfix_expr -> . postfix_expr . identifier
(10) postfix_expr -> . postfix_expr PTR_OP identifier
(11) postfix_expr -> . postfix_expr INC_OP
(12) postfix_expr -> . postfix_expr DEC_OP
(21) unary_operator -> . &
(22) unary_operator -> . *
(23) unary_operator -> . +
(24) unary_operator -> . -
(25) unary_operator -> . ~
(26) unary_operator -> . !
(53) logical_and_expr -> . inclusive_or_expr
(54) logical_and_expr -> . logical_and_expr AND_OP inclusive_or_expr
(1) primary_expr -> . identifier
(2) primary_expr -> . CONSTANT
(3) primary_expr -> . STRING_LITERAL
(4) primary_expr -> . ( expr )
(51) inclusive_or_expr -> . exclusive_or_expr
(52) inclusive_or_expr -> . inclusive_or_expr | exclusive_or_expr
(49) exclusive_or_expr -> . and_expr
(50) exclusive_or_expr -> . exclusive_or_expr ^ and_expr
(47) and_expr -> . equality_expr
(48) and_expr -> . and_expr & equality_expr
(44) equality_expr -> . relational_expr
(45) equality_expr -> . equality_expr EQ_OP relational_expr
(46) equality_expr -> . equality_expr NE_OP relational_expr
(39) relational_expr -> . shift_expr
(40) relational_expr -> . relational_expr < shift_expr
(41) relational_expr -> . relational_expr > shift_expr
(42) relational_expr -> . relational_expr LE_OP shift_expr
(43) relational_expr -> . relational_expr GE_OP shift_expr
(36) shift_expr -> . additive_expr
(37) shift_expr -> . shift_expr LEFT_OP additive_expr
(38) shift_expr -> . shift_expr RIGHT_OP additive_expr
(33) additive_expr -> . multiplicative_expr
(34) additive_expr -> . additive_expr + multiplicative_expr
(35) additive_expr -> . additive_expr - multiplicative_expr
(29) multiplicative_expr -> . cast_expr
(30) multiplicative_expr -> . multiplicative_expr * cast_expr
(31) multiplicative_expr -> . multiplicative_expr / cast_expr
(32) multiplicative_expr -> . multiplicative_expr % cast_expr
(27) cast_expr -> . unary_expr
(28) cast_expr -> . ( type_name ) cast_expr
} shift and go to state 147
CASE shift and go to state 136
DEFAULT shift and go to state 134
; shift and go to state 128
IF shift and go to state 146
SWITCH shift and go to state 137
WHILE shift and go to state 135
DO shift and go to state 144
FOR shift and go to state 129
GOTO shift and go to state 122
CONTINUE shift and go to state 131
BREAK shift and go to state 142
RETURN shift and go to state 126
IDENTIFIER shift and go to state 22
{ shift and go to state 63
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
INC_OP shift and go to state 106
DEC_OP shift and go to state 80
SIZEOF shift and go to state 85
STRUCT shift and go to state 29
UNION shift and go to state 21
& shift and go to state 87
* shift and go to state 83
+ shift and go to state 89
- shift and go to state 81
~ shift and go to state 107
! shift and go to state 86
CONSTANT shift and go to state 78
STRING_LITERAL shift and go to state 100
( shift and go to state 121
expression_statement shift and go to state 119
storage_class_specifier shift and go to state 2
unary_expr shift and go to state 133
struct_or_union_specifier shift and go to state 5
logical_or_expr shift and go to state 84
left_bracket shift and go to state 58
iteration_statement shift and go to state 120
additive_expr shift and go to state 77
type_specifier shift and go to state 16
cast_expr shift and go to state 95
compound_statement shift and go to state 127
selection_statement shift and go to state 145
shift_expr shift and go to state 91
multiplicative_expr shift and go to state 92
statement shift and go to state 138
unary_operator shift and go to state 105
and_expr shift and go to state 93
struct_or_union shift and go to state 7
relational_expr shift and go to state 94
right_bracket shift and go to state 130
statement_list shift and go to state 132
declaration_specifiers shift and go to state 60
declaration shift and go to state 61
equality_expr shift and go to state 90
jump_statement shift and go to state 139
conditional_expr shift and go to state 140
exclusive_or_expr shift and go to state 101
enum_specifier shift and go to state 34
expr shift and go to state 141
postfix_expr shift and go to state 99
labeled_statement shift and go to state 123
declaration_list shift and go to state 124
inclusive_or_expr shift and go to state 103
logical_and_expr shift and go to state 102
primary_expr shift and go to state 104
assignment_expr shift and go to state 143
identifier shift and go to state 125
state 59
(214) function_body -> compound_statement .
( reduce using rule 214 (function_body -> compound_statement .)
* reduce using rule 214 (function_body -> compound_statement .)
TYPEDEF reduce using rule 214 (function_body -> compound_statement .)
EXTERN reduce using rule 214 (function_body -> compound_statement .)
STATIC reduce using rule 214 (function_body -> compound_statement .)
AUTO reduce using rule 214 (function_body -> compound_statement .)
REGISTER reduce using rule 214 (function_body -> compound_statement .)
CHAR reduce using rule 214 (function_body -> compound_statement .)
SHORT reduce using rule 214 (function_body -> compound_statement .)
INT reduce using rule 214 (function_body -> compound_statement .)
LONG reduce using rule 214 (function_body -> compound_statement .)
SIGNED reduce using rule 214 (function_body -> compound_statement .)
UNSIGNED reduce using rule 214 (function_body -> compound_statement .)
FLOAT reduce using rule 214 (function_body -> compound_statement .)
DOUBLE reduce using rule 214 (function_body -> compound_statement .)
CONST reduce using rule 214 (function_body -> compound_statement .)
VOLATILE reduce using rule 214 (function_body -> compound_statement .)
VOID reduce using rule 214 (function_body -> compound_statement .)
TYPE_NAME reduce using rule 214 (function_body -> compound_statement .)
IDENTIFIER reduce using rule 214 (function_body -> compound_statement .)
ENUM reduce using rule 214 (function_body -> compound_statement .)
STRUCT reduce using rule 214 (function_body -> compound_statement .)
UNION reduce using rule 214 (function_body -> compound_statement .)
$end reduce using rule 214 (function_body -> compound_statement .)
state 60
(75) declaration -> declaration_specifiers . ;
(76) declaration -> declaration_specifiers . init_declarator_list ;
(81) init_declarator_list -> . init_declarator
(82) init_declarator_list -> . init_declarator_list , init_declarator
(83) init_declarator -> . declarator
(84) init_declarator -> . declarator = initializer
(124) declarator -> . declarator2
(125) declarator -> . pointer declarator2
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(216) identifier -> . IDENTIFIER
; shift and go to state 53
( shift and go to state 17
* shift and go to state 18
IDENTIFIER shift and go to state 22
identifier shift and go to state 38
init_declarator shift and go to state 56
declarator2 shift and go to state 8
declarator shift and go to state 148
init_declarator_list shift and go to state 55
pointer shift and go to state 15
state 61
(183) declaration_list -> declaration .
{ reduce using rule 183 (declaration_list -> declaration .)
TYPEDEF reduce using rule 183 (declaration_list -> declaration .)
EXTERN reduce using rule 183 (declaration_list -> declaration .)
STATIC reduce using rule 183 (declaration_list -> declaration .)
AUTO reduce using rule 183 (declaration_list -> declaration .)
REGISTER reduce using rule 183 (declaration_list -> declaration .)
CHAR reduce using rule 183 (declaration_list -> declaration .)
SHORT reduce using rule 183 (declaration_list -> declaration .)
INT reduce using rule 183 (declaration_list -> declaration .)
LONG reduce using rule 183 (declaration_list -> declaration .)
SIGNED reduce using rule 183 (declaration_list -> declaration .)
UNSIGNED reduce using rule 183 (declaration_list -> declaration .)
FLOAT reduce using rule 183 (declaration_list -> declaration .)
DOUBLE reduce using rule 183 (declaration_list -> declaration .)
CONST reduce using rule 183 (declaration_list -> declaration .)
VOLATILE reduce using rule 183 (declaration_list -> declaration .)
VOID reduce using rule 183 (declaration_list -> declaration .)
TYPE_NAME reduce using rule 183 (declaration_list -> declaration .)
ENUM reduce using rule 183 (declaration_list -> declaration .)
STRUCT reduce using rule 183 (declaration_list -> declaration .)
UNION reduce using rule 183 (declaration_list -> declaration .)
} reduce using rule 183 (declaration_list -> declaration .)
CASE reduce using rule 183 (declaration_list -> declaration .)
DEFAULT reduce using rule 183 (declaration_list -> declaration .)
; reduce using rule 183 (declaration_list -> declaration .)
IF reduce using rule 183 (declaration_list -> declaration .)
SWITCH reduce using rule 183 (declaration_list -> declaration .)
WHILE reduce using rule 183 (declaration_list -> declaration .)
DO reduce using rule 183 (declaration_list -> declaration .)
FOR reduce using rule 183 (declaration_list -> declaration .)
GOTO reduce using rule 183 (declaration_list -> declaration .)
CONTINUE reduce using rule 183 (declaration_list -> declaration .)
BREAK reduce using rule 183 (declaration_list -> declaration .)
RETURN reduce using rule 183 (declaration_list -> declaration .)
IDENTIFIER reduce using rule 183 (declaration_list -> declaration .)
INC_OP reduce using rule 183 (declaration_list -> declaration .)
DEC_OP reduce using rule 183 (declaration_list -> declaration .)
SIZEOF reduce using rule 183 (declaration_list -> declaration .)
& reduce using rule 183 (declaration_list -> declaration .)
* reduce using rule 183 (declaration_list -> declaration .)
+ reduce using rule 183 (declaration_list -> declaration .)
- reduce using rule 183 (declaration_list -> declaration .)
~ reduce using rule 183 (declaration_list -> declaration .)
! reduce using rule 183 (declaration_list -> declaration .)
CONSTANT reduce using rule 183 (declaration_list -> declaration .)
STRING_LITERAL reduce using rule 183 (declaration_list -> declaration .)
( reduce using rule 183 (declaration_list -> declaration .)
state 62
(215) function_body -> declaration_list . compound_statement
(184) declaration_list -> declaration_list . declaration
(179) compound_statement -> . left_bracket right_bracket
(180) compound_statement -> . left_bracket statement_list right_bracket
(181) compound_statement -> . left_bracket declaration_list right_bracket
(182) compound_statement -> . left_bracket declaration_list statement_list right_bracket
(75) declaration -> . declaration_specifiers ;
(76) declaration -> . declaration_specifiers init_declarator_list ;
(177) left_bracket -> . {
(77) declaration_specifiers -> . storage_class_specifier
(78) declaration_specifiers -> . storage_class_specifier declaration_specifiers
(79) declaration_specifiers -> . type_specifier
(80) declaration_specifiers -> . type_specifier declaration_specifiers
(85) storage_class_specifier -> . TYPEDEF
(86) storage_class_specifier -> . EXTERN
(87) storage_class_specifier -> . STATIC
(88) storage_class_specifier -> . AUTO
(89) storage_class_specifier -> . REGISTER
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
{ shift and go to state 63
TYPEDEF shift and go to state 23
EXTERN shift and go to state 13
STATIC shift and go to state 11
AUTO shift and go to state 24
REGISTER shift and go to state 37
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
storage_class_specifier shift and go to state 2
struct_or_union shift and go to state 7
type_specifier shift and go to state 16
compound_statement shift and go to state 149
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
declaration_specifiers shift and go to state 60
declaration shift and go to state 150
left_bracket shift and go to state 58
state 63
(177) left_bracket -> { .
} reduce using rule 177 (left_bracket -> { .)
CASE reduce using rule 177 (left_bracket -> { .)
DEFAULT reduce using rule 177 (left_bracket -> { .)
; reduce using rule 177 (left_bracket -> { .)
IF reduce using rule 177 (left_bracket -> { .)
SWITCH reduce using rule 177 (left_bracket -> { .)
WHILE reduce using rule 177 (left_bracket -> { .)
DO reduce using rule 177 (left_bracket -> { .)
FOR reduce using rule 177 (left_bracket -> { .)
GOTO reduce using rule 177 (left_bracket -> { .)
CONTINUE reduce using rule 177 (left_bracket -> { .)
BREAK reduce using rule 177 (left_bracket -> { .)
RETURN reduce using rule 177 (left_bracket -> { .)
IDENTIFIER reduce using rule 177 (left_bracket -> { .)
{ reduce using rule 177 (left_bracket -> { .)
TYPEDEF reduce using rule 177 (left_bracket -> { .)
EXTERN reduce using rule 177 (left_bracket -> { .)
STATIC reduce using rule 177 (left_bracket -> { .)
AUTO reduce using rule 177 (left_bracket -> { .)
REGISTER reduce using rule 177 (left_bracket -> { .)
CHAR reduce using rule 177 (left_bracket -> { .)
SHORT reduce using rule 177 (left_bracket -> { .)
INT reduce using rule 177 (left_bracket -> { .)
LONG reduce using rule 177 (left_bracket -> { .)
SIGNED reduce using rule 177 (left_bracket -> { .)
UNSIGNED reduce using rule 177 (left_bracket -> { .)
FLOAT reduce using rule 177 (left_bracket -> { .)
DOUBLE reduce using rule 177 (left_bracket -> { .)
CONST reduce using rule 177 (left_bracket -> { .)
VOLATILE reduce using rule 177 (left_bracket -> { .)
VOID reduce using rule 177 (left_bracket -> { .)
TYPE_NAME reduce using rule 177 (left_bracket -> { .)
ENUM reduce using rule 177 (left_bracket -> { .)
INC_OP reduce using rule 177 (left_bracket -> { .)
DEC_OP reduce using rule 177 (left_bracket -> { .)
SIZEOF reduce using rule 177 (left_bracket -> { .)
STRUCT reduce using rule 177 (left_bracket -> { .)
UNION reduce using rule 177 (left_bracket -> { .)
& reduce using rule 177 (left_bracket -> { .)
* reduce using rule 177 (left_bracket -> { .)
+ reduce using rule 177 (left_bracket -> { .)
- reduce using rule 177 (left_bracket -> { .)
~ reduce using rule 177 (left_bracket -> { .)
! reduce using rule 177 (left_bracket -> { .)
CONSTANT reduce using rule 177 (left_bracket -> { .)
STRING_LITERAL reduce using rule 177 (left_bracket -> { .)
( reduce using rule 177 (left_bracket -> { .)
state 64
(104) struct_or_union_specifier -> struct_or_union identifier { . struct_declaration_list }
(109) struct_declaration_list -> . struct_declaration
(110) struct_declaration_list -> . struct_declaration_list struct_declaration
(111) struct_declaration -> . type_specifier_list struct_declarator_list ;
(137) type_specifier_list -> . type_specifier
(138) type_specifier_list -> . type_specifier_list type_specifier
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
struct_or_union shift and go to state 7
type_specifier shift and go to state 49
struct_declaration shift and go to state 66
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
struct_declaration_list shift and go to state 151
type_specifier_list shift and go to state 67
state 65
(105) struct_or_union_specifier -> struct_or_union { struct_declaration_list . }
(110) struct_declaration_list -> struct_declaration_list . struct_declaration
(111) struct_declaration -> . type_specifier_list struct_declarator_list ;
(137) type_specifier_list -> . type_specifier
(138) type_specifier_list -> . type_specifier_list type_specifier
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
} shift and go to state 153
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
struct_or_union shift and go to state 7
type_specifier shift and go to state 49
struct_declaration shift and go to state 152
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
type_specifier_list shift and go to state 67
state 66
(109) struct_declaration_list -> struct_declaration .
} reduce using rule 109 (struct_declaration_list -> struct_declaration .)
CHAR reduce using rule 109 (struct_declaration_list -> struct_declaration .)
SHORT reduce using rule 109 (struct_declaration_list -> struct_declaration .)
INT reduce using rule 109 (struct_declaration_list -> struct_declaration .)
LONG reduce using rule 109 (struct_declaration_list -> struct_declaration .)
SIGNED reduce using rule 109 (struct_declaration_list -> struct_declaration .)
UNSIGNED reduce using rule 109 (struct_declaration_list -> struct_declaration .)
FLOAT reduce using rule 109 (struct_declaration_list -> struct_declaration .)
DOUBLE reduce using rule 109 (struct_declaration_list -> struct_declaration .)
CONST reduce using rule 109 (struct_declaration_list -> struct_declaration .)
VOLATILE reduce using rule 109 (struct_declaration_list -> struct_declaration .)
VOID reduce using rule 109 (struct_declaration_list -> struct_declaration .)
TYPE_NAME reduce using rule 109 (struct_declaration_list -> struct_declaration .)
ENUM reduce using rule 109 (struct_declaration_list -> struct_declaration .)
STRUCT reduce using rule 109 (struct_declaration_list -> struct_declaration .)
UNION reduce using rule 109 (struct_declaration_list -> struct_declaration .)
state 67
(111) struct_declaration -> type_specifier_list . struct_declarator_list ;
(138) type_specifier_list -> type_specifier_list . type_specifier
(112) struct_declarator_list -> . struct_declarator
(113) struct_declarator_list -> . struct_declarator_list , struct_declarator
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(114) struct_declarator -> . declarator
(115) struct_declarator -> . : constant_expr
(116) struct_declarator -> . declarator : constant_expr
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(124) declarator -> . declarator2
(125) declarator -> . pointer declarator2
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(216) identifier -> . IDENTIFIER
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
: shift and go to state 154
ENUM shift and go to state 25
STRUCT shift and go to state 29
UNION shift and go to state 21
( shift and go to state 17
* shift and go to state 18
IDENTIFIER shift and go to state 22
struct_declarator shift and go to state 156
type_specifier shift and go to state 110
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
struct_or_union shift and go to state 7
declarator2 shift and go to state 8
declarator shift and go to state 157
identifier shift and go to state 38
struct_declarator_list shift and go to state 155
pointer shift and go to state 15
state 68
(130) declarator2 -> declarator2 ( ) .
[ reduce using rule 130 (declarator2 -> declarator2 ( ) .)
( reduce using rule 130 (declarator2 -> declarator2 ( ) .)
, reduce using rule 130 (declarator2 -> declarator2 ( ) .)
) reduce using rule 130 (declarator2 -> declarator2 ( ) .)
= reduce using rule 130 (declarator2 -> declarator2 ( ) .)
{ reduce using rule 130 (declarator2 -> declarator2 ( ) .)
TYPEDEF reduce using rule 130 (declarator2 -> declarator2 ( ) .)
EXTERN reduce using rule 130 (declarator2 -> declarator2 ( ) .)
STATIC reduce using rule 130 (declarator2 -> declarator2 ( ) .)
AUTO reduce using rule 130 (declarator2 -> declarator2 ( ) .)
REGISTER reduce using rule 130 (declarator2 -> declarator2 ( ) .)
CHAR reduce using rule 130 (declarator2 -> declarator2 ( ) .)
SHORT reduce using rule 130 (declarator2 -> declarator2 ( ) .)
INT reduce using rule 130 (declarator2 -> declarator2 ( ) .)
LONG reduce using rule 130 (declarator2 -> declarator2 ( ) .)
SIGNED reduce using rule 130 (declarator2 -> declarator2 ( ) .)
UNSIGNED reduce using rule 130 (declarator2 -> declarator2 ( ) .)
FLOAT reduce using rule 130 (declarator2 -> declarator2 ( ) .)
DOUBLE reduce using rule 130 (declarator2 -> declarator2 ( ) .)
CONST reduce using rule 130 (declarator2 -> declarator2 ( ) .)
VOLATILE reduce using rule 130 (declarator2 -> declarator2 ( ) .)
VOID reduce using rule 130 (declarator2 -> declarator2 ( ) .)
TYPE_NAME reduce using rule 130 (declarator2 -> declarator2 ( ) .)
ENUM reduce using rule 130 (declarator2 -> declarator2 ( ) .)
STRUCT reduce using rule 130 (declarator2 -> declarator2 ( ) .)
UNION reduce using rule 130 (declarator2 -> declarator2 ( ) .)
; reduce using rule 130 (declarator2 -> declarator2 ( ) .)
: reduce using rule 130 (declarator2 -> declarator2 ( ) .)
state 69
(148) parameter_declaration -> type_name .
, reduce using rule 148 (parameter_declaration -> type_name .)
) reduce using rule 148 (parameter_declaration -> type_name .)
state 70
(131) declarator2 -> declarator2 ( parameter_type_list . )
) shift and go to state 158
state 71
(145) parameter_list -> parameter_declaration .
, reduce using rule 145 (parameter_list -> parameter_declaration .)
) reduce using rule 145 (parameter_list -> parameter_declaration .)
state 72
(132) declarator2 -> declarator2 ( parameter_identifier_list . )
) shift and go to state 159
state 73
(147) parameter_declaration -> type_specifier_list . declarator
(138) type_specifier_list -> type_specifier_list . type_specifier
(149) type_name -> type_specifier_list .
(150) type_name -> type_specifier_list . abstract_declarator
(124) declarator -> . declarator2
(125) declarator -> . pointer declarator2
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(151) abstract_declarator -> . pointer
(152) abstract_declarator -> . abstract_declarator2
(153) abstract_declarator -> . pointer abstract_declarator2
(126) declarator2 -> . identifier
(127) declarator2 -> . ( declarator )
(128) declarator2 -> . declarator2 [ ]
(129) declarator2 -> . declarator2 [ constant_expr ]
(130) declarator2 -> . declarator2 ( )
(131) declarator2 -> . declarator2 ( parameter_type_list )
(132) declarator2 -> . declarator2 ( parameter_identifier_list )
(133) pointer -> . *
(134) pointer -> . * type_specifier_list
(135) pointer -> . * pointer
(136) pointer -> . * type_specifier_list pointer
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(154) abstract_declarator2 -> . ( abstract_declarator )
(155) abstract_declarator2 -> . [ ]
(156) abstract_declarator2 -> . [ constant_expr ]
(157) abstract_declarator2 -> . abstract_declarator2 [ ]
(158) abstract_declarator2 -> . abstract_declarator2 [ constant_expr ]
(159) abstract_declarator2 -> . ( )
(160) abstract_declarator2 -> . ( parameter_type_list )
(161) abstract_declarator2 -> . abstract_declarator2 ( )
(162) abstract_declarator2 -> . abstract_declarator2 ( parameter_type_list )
(216) identifier -> . IDENTIFIER
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
, reduce using rule 149 (type_name -> type_specifier_list .)
) reduce using rule 149 (type_name -> type_specifier_list .)
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
( shift and go to state 161
* shift and go to state 18
ENUM shift and go to state 25
[ shift and go to state 163
IDENTIFIER shift and go to state 22
STRUCT shift and go to state 29
UNION shift and go to state 21
struct_or_union shift and go to state 7
type_specifier shift and go to state 110
enum_specifier shift and go to state 34
struct_or_union_specifier shift and go to state 5
declarator2 shift and go to state 8
abstract_declarator shift and go to state 164
abstract_declarator2 shift and go to state 162
declarator shift and go to state 165
identifier shift and go to state 38
pointer shift and go to state 160
state 74
(139) parameter_identifier_list -> identifier_list .
(140) parameter_identifier_list -> identifier_list . , ELIPSIS
(142) identifier_list -> identifier_list . , identifier
) reduce using rule 139 (parameter_identifier_list -> identifier_list .)
, shift and go to state 166
state 75
(143) parameter_type_list -> parameter_list .
(144) parameter_type_list -> parameter_list . , ELIPSIS
(146) parameter_list -> parameter_list . , parameter_declaration
) reduce using rule 143 (parameter_type_list -> parameter_list .)
, shift and go to state 167
state 76
(141) identifier_list -> identifier .
, reduce using rule 141 (identifier_list -> identifier .)
) reduce using rule 141 (identifier_list -> identifier .)
state 77
(36) shift_expr -> additive_expr .
(34) additive_expr -> additive_expr . + multiplicative_expr
(35) additive_expr -> additive_expr . - multiplicative_expr
LEFT_OP reduce using rule 36 (shift_expr -> additive_expr .)
RIGHT_OP reduce using rule 36 (shift_expr -> additive_expr .)
< reduce using rule 36 (shift_expr -> additive_expr .)
> reduce using rule 36 (shift_expr -> additive_expr .)
LE_OP reduce using rule 36 (shift_expr -> additive_expr .)
GE_OP reduce using rule 36 (shift_expr -> additive_expr .)
EQ_OP reduce using rule 36 (shift_expr -> additive_expr .)
NE_OP reduce using rule 36 (shift_expr -> additive_expr .)
& reduce using rule 36 (shift_expr -> additive_expr .)
^ reduce using rule 36 (shift_expr -> additive_expr .)
| reduce using rule 36 (shift_expr -> additive_expr .)
AND_OP reduce using rule 36 (shift_expr -> additive_expr .)
? reduce using rule 36 (shift_expr -> additive_expr .)
OR_OP reduce using rule 36 (shift_expr -> additive_expr .)
] reduce using rule 36 (shift_expr -> additive_expr .)
) reduce using rule 36 (shift_expr -> additive_expr .)
, reduce using rule 36 (shift_expr -> additive_expr .)
; reduce using rule 36 (shift_expr -> additive_expr .)
: reduce using rule 36 (shift_expr -> additive_expr .)
} reduce using rule 36 (shift_expr -> additive_expr .)
+ shift and go to state 168
- shift and go to state 169
state 78
(2) primary_expr -> CONSTANT .
[ reduce using rule 2 (primary_expr -> CONSTANT .)
( reduce using rule 2 (primary_expr -> CONSTANT .)
. reduce using rule 2 (primary_expr -> CONSTANT .)
PTR_OP reduce using rule 2 (primary_expr -> CONSTANT .)
INC_OP reduce using rule 2 (primary_expr -> CONSTANT .)
DEC_OP reduce using rule 2 (primary_expr -> CONSTANT .)
* reduce using rule 2 (primary_expr -> CONSTANT .)
/ reduce using rule 2 (primary_expr -> CONSTANT .)
% reduce using rule 2 (primary_expr -> CONSTANT .)
+ reduce using rule 2 (primary_expr -> CONSTANT .)
- reduce using rule 2 (primary_expr -> CONSTANT .)
LEFT_OP reduce using rule 2 (primary_expr -> CONSTANT .)
RIGHT_OP reduce using rule 2 (primary_expr -> CONSTANT .)
< reduce using rule 2 (primary_expr -> CONSTANT .)
> reduce using rule 2 (primary_expr -> CONSTANT .)
LE_OP reduce using rule 2 (primary_expr -> CONSTANT .)
GE_OP reduce using rule 2 (primary_expr -> CONSTANT .)
EQ_OP reduce using rule 2 (primary_expr -> CONSTANT .)
NE_OP reduce using rule 2 (primary_expr -> CONSTANT .)
& reduce using rule 2 (primary_expr -> CONSTANT .)
^ reduce using rule 2 (primary_expr -> CONSTANT .)
| reduce using rule 2 (primary_expr -> CONSTANT .)
AND_OP reduce using rule 2 (primary_expr -> CONSTANT .)
? reduce using rule 2 (primary_expr -> CONSTANT .)
OR_OP reduce using rule 2 (primary_expr -> CONSTANT .)
] reduce using rule 2 (primary_expr -> CONSTANT .)
; reduce using rule 2 (primary_expr -> CONSTANT .)
, reduce using rule 2 (primary_expr -> CONSTANT .)
) reduce using rule 2 (primary_expr -> CONSTANT .)
: reduce using rule 2 (primary_expr -> CONSTANT .)
} reduce using rule 2 (primary_expr -> CONSTANT .)
= reduce using rule 2 (primary_expr -> CONSTANT .)
MUL_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
DIV_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
MOD_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
ADD_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
SUB_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
LEFT_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
RIGHT_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
AND_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
XOR_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
OR_ASSIGN reduce using rule 2 (primary_expr -> CONSTANT .)
state 79
(27) cast_expr -> unary_expr .
* reduce using rule 27 (cast_expr -> unary_expr .)
/ reduce using rule 27 (cast_expr -> unary_expr .)
% reduce using rule 27 (cast_expr -> unary_expr .)
+ reduce using rule 27 (cast_expr -> unary_expr .)
- reduce using rule 27 (cast_expr -> unary_expr .)
LEFT_OP reduce using rule 27 (cast_expr -> unary_expr .)
RIGHT_OP reduce using rule 27 (cast_expr -> unary_expr .)
< reduce using rule 27 (cast_expr -> unary_expr .)
> reduce using rule 27 (cast_expr -> unary_expr .)
LE_OP reduce using rule 27 (cast_expr -> unary_expr .)
GE_OP reduce using rule 27 (cast_expr -> unary_expr .)
EQ_OP reduce using rule 27 (cast_expr -> unary_expr .)
NE_OP reduce using rule 27 (cast_expr -> unary_expr .)
& reduce using rule 27 (cast_expr -> unary_expr .)
^ reduce using rule 27 (cast_expr -> unary_expr .)
| reduce using rule 27 (cast_expr -> unary_expr .)
AND_OP reduce using rule 27 (cast_expr -> unary_expr .)
? reduce using rule 27 (cast_expr -> unary_expr .)
OR_OP reduce using rule 27 (cast_expr -> unary_expr .)
] reduce using rule 27 (cast_expr -> unary_expr .)
; reduce using rule 27 (cast_expr -> unary_expr .)
, reduce using rule 27 (cast_expr -> unary_expr .)
) reduce using rule 27 (cast_expr -> unary_expr .)
: reduce using rule 27 (cast_expr -> unary_expr .)
} reduce using rule 27 (cast_expr -> unary_expr .)
= reduce using rule 27 (cast_expr -> unary_expr .)
MUL_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
DIV_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
MOD_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
ADD_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
SUB_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
LEFT_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
RIGHT_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
AND_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
XOR_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
OR_ASSIGN reduce using rule 27 (cast_expr -> unary_expr .)
state 80
(17) unary_expr -> DEC_OP . unary_expr
(15) unary_expr -> . postfix_expr
(16) unary_expr -> . INC_OP unary_expr
(17) unary_expr -> . DEC_OP unary_expr
(18) unary_expr -> . unary_operator cast_expr
(19) unary_expr -> . SIZEOF unary_expr
(20) unary_expr -> . SIZEOF ( type_name )
(5) postfix_expr -> . primary_expr
(6) postfix_expr -> . postfix_expr [ expr ]
(7) postfix_expr -> . postfix_expr ( )
(8) postfix_expr -> . postfix_expr ( argument_expr_list )
(9) postfix_expr -> . postfix_expr . identifier
(10) postfix_expr -> . postfix_expr PTR_OP identifier
(11) postfix_expr -> . postfix_expr INC_OP
(12) postfix_expr -> . postfix_expr DEC_OP
(21) unary_operator -> . &
(22) unary_operator -> . *
(23) unary_operator -> . +
(24) unary_operator -> . -
(25) unary_operator -> . ~
(26) unary_operator -> . !
(1) primary_expr -> . identifier
(2) primary_expr -> . CONSTANT
(3) primary_expr -> . STRING_LITERAL
(4) primary_expr -> . ( expr )
(216) identifier -> . IDENTIFIER
INC_OP shift and go to state 106
DEC_OP shift and go to state 80
SIZEOF shift and go to state 85
& shift and go to state 87
* shift and go to state 83
+ shift and go to state 89
- shift and go to state 81
~ shift and go to state 107
! shift and go to state 86
CONSTANT shift and go to state 78
STRING_LITERAL shift and go to state 100
( shift and go to state 171
IDENTIFIER shift and go to state 22
postfix_expr shift and go to state 99
unary_expr shift and go to state 170
primary_expr shift and go to state 104
identifier shift and go to state 98
unary_operator shift and go to state 105
state 81
(24) unary_operator -> - .
( reduce using rule 24 (unary_operator -> - .)
INC_OP reduce using rule 24 (unary_operator -> - .)
DEC_OP reduce using rule 24 (unary_operator -> - .)
SIZEOF reduce using rule 24 (unary_operator -> - .)
& reduce using rule 24 (unary_operator -> - .)
* reduce using rule 24 (unary_operator -> - .)
+ reduce using rule 24 (unary_operator -> - .)
- reduce using rule 24 (unary_operator -> - .)
~ reduce using rule 24 (unary_operator -> - .)
! reduce using rule 24 (unary_operator -> - .)
CONSTANT reduce using rule 24 (unary_operator -> - .)
STRING_LITERAL reduce using rule 24 (unary_operator -> - .)
IDENTIFIER reduce using rule 24 (unary_operator -> - .)
state 82
(129) declarator2 -> declarator2 [ constant_expr . ]
] shift and go to state 172
state 83
(22) unary_operator -> * .
( reduce using rule 22 (unary_operator -> * .)
INC_OP reduce using rule 22 (unary_operator -> * .)
DEC_OP reduce using rule 22 (unary_operator -> * .)
SIZEOF reduce using rule 22 (unary_operator -> * .)
& reduce using rule 22 (unary_operator -> * .)
* reduce using rule 22 (unary_operator -> * .)
+ reduce using rule 22 (unary_operator -> * .)
- reduce using rule 22 (unary_operator -> * .)
~ reduce using rule 22 (unary_operator -> * .)
! reduce using rule 22 (unary_operator -> * .)
CONSTANT reduce using rule 22 (unary_operator -> * .)
STRING_LITERAL reduce using rule 22 (unary_operator -> * .)
IDENTIFIER reduce using rule 22 (unary_operator -> * .)
state 84
(57) conditional_expr -> logical_or_expr .
(58) conditional_expr -> logical_or_expr . ? logical_or_expr : conditional_expr
(56) logical_or_expr -> logical_or_expr . OR_OP logical_and_expr
; reduce using rule 57 (conditional_expr -> logical_or_expr .)
, reduce using rule 57 (conditional_expr -> logical_or_expr .)
) reduce using rule 57 (conditional_expr -> logical_or_expr .)
] reduce using rule 57 (conditional_expr -> logical_or_expr .)
} reduce using rule 57 (conditional_expr -> logical_or_expr .)
: reduce using rule 57 (conditional_expr -> logical_or_expr .)
? shift and go to state 174
OR_OP shift and go to state 173
state 85
(19) unary_expr -> SIZEOF . unary_expr
(20) unary_expr -> SIZEOF . ( type_name )
(15) unary_expr -> . postfix_expr
(16) unary_expr -> . INC_OP unary_expr
(17) unary_expr -> . DEC_OP unary_expr
(18) unary_expr -> . unary_operator cast_expr
(19) unary_expr -> . SIZEOF unary_expr
(20) unary_expr -> . SIZEOF ( type_name )
(5) postfix_expr -> . primary_expr
(6) postfix_expr -> . postfix_expr [ expr ]
(7) postfix_expr -> . postfix_expr ( )
(8) postfix_expr -> . postfix_expr ( argument_expr_list )
(9) postfix_expr -> . postfix_expr . identifier
(10) postfix_expr -> . postfix_expr PTR_OP identifier
(11) postfix_expr -> . postfix_expr INC_OP
(12) postfix_expr -> . postfix_expr DEC_OP
(21) unary_operator -> . &
(22) unary_operator -> . *
(23) unary_operator -> . +
(24) unary_operator -> . -
(25) unary_operator -> . ~
(26) unary_operator -> . !
(1) primary_expr -> . identifier
(2) primary_expr -> . CONSTANT
(3) primary_expr -> . STRING_LITERAL
(4) primary_expr -> . ( expr )
(216) identifier -> . IDENTIFIER
( shift and go to state 176
INC_OP shift and go to state 106
DEC_OP shift and go to state 80
SIZEOF shift and go to state 85
& shift and go to state 87
* shift and go to state 83
+ shift and go to state 89
- shift and go to state 81
~ shift and go to state 107
! shift and go to state 86
CONSTANT shift and go to state 78
STRING_LITERAL shift and go to state 100
IDENTIFIER shift and go to state 22
postfix_expr shift and go to state 99
unary_expr shift and go to state 175
primary_expr shift and go to state 104
identifier shift and go to state 98
unary_operator shift and go to state 105
state 86
(26) unary_operator -> ! .
( reduce using rule 26 (unary_operator -> ! .)
INC_OP reduce using rule 26 (unary_operator -> ! .)
DEC_OP reduce using rule 26 (unary_operator -> ! .)
SIZEOF reduce using rule 26 (unary_operator -> ! .)
& reduce using rule 26 (unary_operator -> ! .)
* reduce using rule 26 (unary_operator -> ! .)
+ reduce using rule 26 (unary_operator -> ! .)
- reduce using rule 26 (unary_operator -> ! .)
~ reduce using rule 26 (unary_operator -> ! .)
! reduce using rule 26 (unary_operator -> ! .)
CONSTANT reduce using rule 26 (unary_operator -> ! .)
STRING_LITERAL reduce using rule 26 (unary_operator -> ! .)
IDENTIFIER reduce using rule 26 (unary_operator -> ! .)
state 87
(21) unary_operator -> & .
( reduce using rule 21 (unary_operator -> & .)
INC_OP reduce using rule 21 (unary_operator -> & .)
DEC_OP reduce using rule 21 (unary_operator -> & .)
SIZEOF reduce using rule 21 (unary_operator -> & .)
& reduce using rule 21 (unary_operator -> & .)
* reduce using rule 21 (unary_operator -> & .)
+ reduce using rule 21 (unary_operator -> & .)
- reduce using rule 21 (unary_operator -> & .)
~ reduce using rule 21 (unary_operator -> & .)
! reduce using rule 21 (unary_operator -> & .)
CONSTANT reduce using rule 21 (unary_operator -> & .)
STRING_LITERAL reduce using rule 21 (unary_operator -> & .)
IDENTIFIER reduce using rule 21 (unary_operator -> & .)
state 88
(28) cast_expr -> ( . type_name ) cast_expr
(4) primary_expr -> ( . expr )
(149) type_name -> . type_specifier_list
(150) type_name -> . type_specifier_list abstract_declarator
(72) expr -> . assignment_expr
(73) expr -> . expr , assignment_expr
(137) type_specifier_list -> . type_specifier
(138) type_specifier_list -> . type_specifier_list type_specifier
(59) assignment_expr -> . conditional_expr
(60) assignment_expr -> . unary_expr assignment_operator assignment_expr
(90) type_specifier -> . CHAR
(91) type_specifier -> . SHORT
(92) type_specifier -> . INT
(93) type_specifier -> . LONG
(94) type_specifier -> . SIGNED
(95) type_specifier -> . UNSIGNED
(96) type_specifier -> . FLOAT
(97) type_specifier -> . DOUBLE
(98) type_specifier -> . CONST
(99) type_specifier -> . VOLATILE
(100) type_specifier -> . VOID
(101) type_specifier -> . struct_or_union_specifier
(102) type_specifier -> . enum_specifier
(103) type_specifier -> . TYPE_NAME
(57) conditional_expr -> . logical_or_expr
(58) conditional_expr -> . logical_or_expr ? logical_or_expr : conditional_expr
(15) unary_expr -> . postfix_expr
(16) unary_expr -> . INC_OP unary_expr
(17) unary_expr -> . DEC_OP unary_expr
(18) unary_expr -> . unary_operator cast_expr
(19) unary_expr -> . SIZEOF unary_expr
(20) unary_expr -> . SIZEOF ( type_name )
(104) struct_or_union_specifier -> . struct_or_union identifier { struct_declaration_list }
(105) struct_or_union_specifier -> . struct_or_union { struct_declaration_list }
(106) struct_or_union_specifier -> . struct_or_union identifier
(117) enum_specifier -> . ENUM { enumerator_list }
(118) enum_specifier -> . ENUM identifier { enumerator_list }
(119) enum_specifier -> . ENUM identifier
(55) logical_or_expr -> . logical_and_expr
(56) logical_or_expr -> . logical_or_expr OR_OP logical_and_expr
(5) postfix_expr -> . primary_expr
(6) postfix_expr -> . postfix_expr [ expr ]
(7) postfix_expr -> . postfix_expr ( )
(8) postfix_expr -> . postfix_expr ( argument_expr_list )
(9) postfix_expr -> . postfix_expr . identifier
(10) postfix_expr -> . postfix_expr PTR_OP identifier
(11) postfix_expr -> . postfix_expr INC_OP
(12) postfix_expr -> . postfix_expr DEC_OP
(21) unary_operator -> . &
(22) unary_operator -> . *
(23) unary_operator -> . +
(24) unary_operator -> . -
(25) unary_operator -> . ~
(26) unary_operator -> . !
(107) struct_or_union -> . STRUCT
(108) struct_or_union -> . UNION
(53) logical_and_expr -> . inclusive_or_expr
(54) logical_and_expr -> . logical_and_expr AND_OP inclusive_or_expr
(1) primary_expr -> . identifier
(2) primary_expr -> . CONSTANT
(3) primary_expr -> . STRING_LITERAL
(4) primary_expr -> . ( expr )
(51) inclusive_or_expr -> . exclusive_or_expr
(52) inclusive_or_expr -> . inclusive_or_expr | exclusive_or_expr
(216) identifier -> . IDENTIFIER
(49) exclusive_or_expr -> . and_expr
(50) exclusive_or_expr -> . exclusive_or_expr ^ and_expr
(47) and_expr -> . equality_expr
(48) and_expr -> . and_expr & equality_expr
(44) equality_expr -> . relational_expr
(45) equality_expr -> . equality_expr EQ_OP relational_expr
(46) equality_expr -> . equality_expr NE_OP relational_expr
(39) relational_expr -> . shift_expr
(40) relational_expr -> . relational_expr < shift_expr
(41) relational_expr -> . relational_expr > shift_expr
(42) relational_expr -> . relational_expr LE_OP shift_expr
(43) relational_expr -> . relational_expr GE_OP shift_expr
(36) shift_expr -> . additive_expr
(37) shift_expr -> . shift_expr LEFT_OP additive_expr
(38) shift_expr -> . shift_expr RIGHT_OP additive_expr
(33) additive_expr -> . multiplicative_expr
(34) additive_expr -> . additive_expr + multiplicative_expr
(35) additive_expr -> . additive_expr - multiplicative_expr
(29) multiplicative_expr -> . cast_expr
(30) multiplicative_expr -> . multiplicative_expr * cast_expr
(31) multiplicative_expr -> . multiplicative_expr / cast_expr
(32) multiplicative_expr -> . multiplicative_expr % cast_expr
(27) cast_expr -> . unary_expr
(28) cast_expr -> . ( type_name ) cast_expr
CHAR shift and go to state 9
SHORT shift and go to state 10
INT shift and go to state 30
LONG shift and go to state 20
SIGNED shift and go to state 33
UNSIGNED shift and go to state 19
FLOAT shift and go to state 32
DOUBLE shift and go to state 31
CONST shift and go to state 4
VOLATILE shift and go to state 35
VOID shift and go to state 6
TYPE_NAME shift and go to state 14
INC_OP shift and go to state 106
DEC_OP shift and go to state 80
SIZEOF shift and go to state 85
ENUM shift and go to state 25
& shift and go to state 87
* shift and go to state 83
+ shift and go to state 89
- shift and go to state 81
~ shift and go to state 107
! shift and go to state 86
STRUCT shift and go to state 29
UNION shift and go to state 21
CONSTANT shift and go to state 78
STRING_LITERAL shift and go to state 100
( shift and go to state 121
IDENTIFIER shift and go to state 22
equality_expr shift and go to state 90
unary_expr shift and go to state 133
struct_or_union_specifier shift and go to state 5
logical_or_expr shift and go to state 84
additive_expr shift and go to state 77
type_specifier shift and go to state 49
cast_expr shift and go to state 95
postfix_expr shift and go to state 99
type_name shift and go to state 177
shift_expr shift and go to state 91
multiplicative_expr shift and go to state 92
unary_operator shift and go to state 105
and_expr shift and go to state 93
struct_or_union shift and go to state 7
relational_expr shift and go to state 94
type_specifier_list shift and go to state 178
conditional_expr shift and go to state 140
exclusive_or_expr shift and go to state 101
enum_specifier shift and go to state 34
expr shift and go to state 179
logical_and_expr shift and go to state 102
inclusive_or_expr shift and go to state 103
primary_expr shift and go to state 104
assignment_expr shift and go to state 143
identifier shift and go to state 98
state 89
(23) unary_operator -> + .
( reduce using rule 23 (unary_operator -> + .)
INC_OP reduce using rule 23 (unary_operator -> + .)
DEC_OP reduce using rule 23 (unary_operator -> + .)
SIZEOF reduce using rule 23 (unary_operator -> + .)
& reduce using rule 23 (unary_operator -> + .)
* reduce using rule 23 (unary_operator -> + .)
+ reduce using rule 23 (unary_operator -> + .)
- reduce using rule 23 (unary_operator -> + .)
~ reduce using rule 23 (unary_operator -> + .)
! reduce using rule 23 (unary_operator -> + .)
CONSTANT reduce using rule 23 (unary_operator -> + .)
STRING_LITERAL reduce using rule 23 (unary_operator -> + .)
IDENTIFIER reduce using rule 23 (unary_operator -> + .)
state 90
(47) and_expr -> equality_expr .
(45) equality_expr -> equality_expr . EQ_OP relational_expr
(46) equality_expr -> equality_expr . NE_OP relational_expr
& reduce using rule 47 (and_expr -> equality_expr .)
^ reduce using rule 47 (and_expr -> equality_expr .)
| reduce using rule 47 (and_expr -> equality_expr .)
AND_OP reduce using rule 47 (and_expr -> equality_expr .)
? reduce using rule 47 (and_expr -> equality_expr .)
OR_OP reduce using rule 47 (and_expr -> equality_expr .)
; reduce using rule 47 (and_expr -> equality_expr .)
, reduce using rule 47 (and_expr -> equality_expr .)
] reduce using rule 47 (and_expr -> equality_expr .)
) reduce using rule 47 (and_expr -> equality_expr .)
: reduce using rule 47 (and_expr -> equality_expr .)
} reduce using rule 47 (and_expr -> equality_expr .)
EQ_OP shift and go to state 180
NE_OP shift and go to state 181
state 91
(39) relational_expr -> shift_expr .
(37) shift_expr -> shift_expr . LEFT_OP additive_expr
(38) shift_expr -> shift_expr . RIGHT_OP additive_expr
< reduce using rule 39 (relational_expr -> shift_expr .)
> reduce using rule 39 (relational_expr -> shift_expr .)
LE_OP reduce using rule 39 (relational_expr -> shift_expr .)
GE_OP reduce using rule 39 (relational_expr -> shift_expr .)
EQ_OP reduce using rule 39 (relational_expr -> shift_expr .)
NE_OP reduce using rule 39 (relational_expr -> shift_expr .)
& reduce using rule 39 (relational_expr -> shift_expr .)
^ reduce using rule 39 (relational_expr -> shift_expr .)
| reduce using rule 39 (relational_expr -> shift_expr .)
AND_OP reduce using rule 39 (relational_expr -> shift_expr .)
? reduce using rule 39 (relational_expr -> shift_expr .)
OR_OP reduce using rule 39 (relational_expr -> shift_expr .)
; reduce using rule 39 (relational_expr -> shift_expr .)
, reduce using rule 39 (relational_expr -> shift_expr .)
) reduce using rule 39 (relational_expr -> shift_expr .)
] reduce using rule 39 (relational_expr -> shift_expr .)
: reduce using rule 39 (relational_expr -> shift_expr .)
} reduce using rule 39 (relational_expr -> shift_expr .)
LEFT_OP shift and go to state 182
RIGHT_OP shift and go to state 183
state 92
(33) additive_expr -> multiplicative_expr .
(30) multiplicative_expr -> multiplicative_expr . * cast_expr
(31) multiplicative_expr -> multiplicative_expr . / cast_expr
(32) multiplicative_expr -> multiplicative_expr . % cast_expr
+ reduce using rule 33 (additive_expr -> multiplicative_expr .)
- reduce using rule 33 (additive_expr -> multiplicative_expr .)
LEFT_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
RIGHT_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
< reduce using rule 33 (additive_expr -> multiplicative_expr .)
> reduce using rule 33 (additive_expr -> multiplicative_expr .)
LE_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
GE_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
EQ_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
NE_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
& reduce using rule 33 (additive_expr -> multiplicative_expr .)
^ reduce using rule 33 (additive_expr -> multiplicative_expr .)
| reduce using rule 33 (additive_expr -> multiplicative_expr .)
AND_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
? reduce using rule 33 (additive_expr -> multiplicative_expr .)
OR_OP reduce using rule 33 (additive_expr -> multiplicative_expr .)
; reduce using rule 33 (additive_expr -> multiplicative_expr .)
, reduce using rule 33 (additive_expr -> multiplicative_expr .)
} reduce using rule 33 (additive_expr -> multiplicative_expr .)
] reduce using rule 33 (additive_expr -> multiplicative_expr .)
) reduce using rule 33 (additive_expr -> multiplicative_expr .)
: reduce using rule 33 (additive_expr -> multiplicative_expr .)
* shift and go to state 185
/ shift and go to state 186
% shift and go to state 184
state 93
(49) exclusive_or_expr -> and_expr .
(48) and_expr -> and_expr . & equality_expr
^ reduce using rule 49 (exclusive_or_expr -> and_expr .)
| reduce using rule 49 (exclusive_or_expr -> and_expr .)
AND_OP reduce using rule 49 (exclusive_or_expr -> and_expr .)
? reduce using rule 49 (exclusive_or_expr -> and_expr .)
OR_OP reduce using rule 49 (exclusive_or_expr -> and_expr .)
) reduce using rule 49 (exclusive_or_expr -> and_expr .)
, reduce using rule 49 (exclusive_or_expr -> and_expr .)
; reduce using rule 49 (exclusive_or_expr -> and_expr .)
} reduce using rule 49 (exclusive_or_expr -> and_expr .)
] reduce using rule 49 (exclusive_or_expr -> and_expr .)
: reduce using rule 49 (exclusive_or_expr -> and_expr .)
& shift and go to state 187
state 94
(44) equality_expr -> relational_expr .
(40) relational_expr -> relational_expr . < shift_expr
(41) relational_expr -> relational_expr . > shift_expr
(42) relational_expr -> relational_expr . LE_OP shift_expr
(43) relational_expr -> relational_expr . GE_OP shift_expr
EQ_OP reduce using rule 44 (equality_expr -> relational_expr .)
NE_OP reduce using rule 44 (equality_expr -> relational_expr .)
& reduce using rule 44 (equality_expr -> relational_expr .)
^ reduce using rule 44 (equality_expr -> relational_expr .)
| reduce using rule 44 (equality_expr -> relational_expr .)
AND_OP reduce using rule 44 (equality_expr -> relational_expr .)
? reduce using rule 44 (equality_expr -> relational_expr .)
OR_OP reduce using rule 44 (equality_expr -> relational_expr .)
; reduce using rule 44 (equality_expr -> relational_expr .)
, reduce using rule 44 (equality_expr -> relational_expr .)
] reduce using rule 44 (equality_expr -> relational_expr .)
) reduce using rule 44 (equality_expr -> relational_expr .)
: reduce using rule 44 (equality_expr -> relational_expr .)
} reduce using rule 44 (equality_expr -> relational_expr .)
< shift and go to state 190
> shift and go to state 191
LE_OP shift and go to state 188
GE_OP shift and go to state 189
state 95
(29) multiplicative_expr -> cast_expr .
* reduce using rule 29 (multiplicative_expr -> cast_expr .)
/ reduce using rule 29 (multiplicative_expr -> cast_expr .)
% reduce using rule 29 (multiplicative_expr -> cast_expr .)
+ reduce using rule 29 (multiplicative_expr -> cast_expr .)
- reduce using rule 29 (multiplicative_expr -> cast_expr .)
LEFT_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
RIGHT_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
< reduce using rule 29 (multiplicative_expr -> cast_expr .)
> reduce using rule 29 (multiplicative_expr -> cast_expr .)
LE_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
GE_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
EQ_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
NE_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
& reduce using rule 29 (multiplicative_expr -> cast_expr .)
^ reduce using rule 29 (multiplicative_expr -> cast_expr .)
| reduce using rule 29 (multiplicative_expr -> cast_expr .)
AND_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
? reduce using rule 29 (multiplicative_expr -> cast_expr .)
OR_OP reduce using rule 29 (multiplicative_expr -> cast_expr .)
} reduce using rule 29 (multiplicative_expr -> cast_expr .)
, reduce using rule 29 (multiplicative_expr -> cast_expr .)
] reduce using rule 29 (multiplicative_expr -> cast_expr .)
; reduce using rule 29 (multiplicative_expr -> cast_expr .)
) reduce using rule 29 (multiplicative_expr -> cast_expr .)
: reduce using rule 29 (multiplicative_expr -> cast_expr .)
state 96
(128) declarator2 -> declarator2 [ ] .
[ reduce using rule 128 (declarator2 -> declarator2 [ ] .)
( reduce using rule 128 (declarator2 -> declarator2 [ ] .)
, reduce using rule 128 (declarator2 -> declarator2 [ ] .)
) reduce using rule 128 (declarator2 -> declarator2 [ ] .)
= reduce using rule 128 (declarator2 -> declarator2 [ ] .)
{ reduce using rule 128 (declarator2 -> declarator2 [ ] .)
TYPEDEF reduce using rule 128 (declarator2 -> declarator2 [ ] .)
EXTERN reduce using rule 128 (declarator2 -> declarator2 [ ] .)
STATIC reduce using rule 128 (declarator2 -> declarator2 [ ] .)
AUTO reduce using rule 128 (declarator2 -> declarator2 [ ] .)
REGISTER reduce using rule 128 (declarator2 -> declarator2 [ ] .)
CHAR reduce using rule 128 (declarator2 -> declarator2 [ ] .)
SHORT reduce using rule 128 (declarator2 -> declarator2 [ ] .)
INT reduce using rule 128 (declarator2 -> declarator2 [ ] .)
LONG reduce using rule 128 (declarator2 -> declarator2 [ ] .)
SIGNED reduce using rule 128 (declarator2 -> declarator2 [ ] .)
UNSIGNED reduce using rule 128 (declarator2 -> declarator2 [ ] .)
FLOAT reduce using rule 128 (declarator2 -> declarator2 [ ] .)
DOUBLE reduce using rule 128 (declarator2 -> declarator2 [ ] .)
CONST reduce using rule 128 (declarator2 -> declarator2 [ ] .)
VOLATILE reduce using rule 128 (declarator2 -> declarator2 [ ] .)
VOID reduce using rule 128 (declarator2 -> declarator2 [ ] .)
TYPE_NAME reduce using rule 128 (declarator2 -> declarator2 [ ] .)
ENUM reduce using rule 128 (declarator2 -> declarator2 [ ] .)
STRUCT reduce using rule 128 (declarator2 -> declarator2 [ ] .)
UNION reduce using rule 128 (declarator2 -> declarator2 [ ] .)
; reduce using rule 128 (declarator2 -> declarator2 [ ] .)
: reduce using rule 128 (declarator2 -> declarator2 [ ] .)
state 97
(74) constant_expr -> conditional_expr .
} reduce using rule 74 (constant_expr -> conditional_expr .)
, reduce using rule 74 (constant_expr -> conditional_expr .)
] reduce using rule 74 (constant_expr -> conditional_expr .)
; reduce using rule 74 (constant_expr -> conditional_expr .)
: reduce using rule 74 (constant_expr -> conditional_expr .)
state 98
(1) primary_expr -> identifier .
[ reduce using rule 1 (primary_expr -> identifier .)
( reduce using rule 1 (primary_expr -> identifier .)
. reduce using rule 1 (primary_expr -> identifier .)
PTR_OP reduce using rule 1 (primary_expr -> identifier .)
INC_OP reduce using rule 1 (primary_expr -> identifier .)
DEC_OP reduce using rule 1 (primary_expr -> identifier .)
* reduce using rule 1 (primary_expr -> identifier .)
/ reduce using rule 1 (primary_expr -> identifier .)
% reduce using rule 1 (primary_expr -> identifier .)
+ reduce using rule 1 (primary_expr -> identifier .)
- reduce using rule 1 (primary_expr -> identifier .)
LEFT_OP reduce using rule 1 (primary_expr -> identifier .)
RIGHT_OP reduce using rule 1 (primary_expr -> identifier .)
< reduce using rule 1 (primary_expr -> identifier .)
> reduce using rule 1 (primary_expr -> identifier .)
LE_OP reduce using rule 1 (primary_expr -> identifier .)
GE_OP reduce using rule 1 (primary_expr -> identifier .)
EQ_OP reduce using rule 1 (primary_expr -> identifier .)
NE_OP reduce using rule 1 (primary_expr -> identifier .)
& reduce using rule 1 (primary_expr -> identifier .)
^ reduce using rule 1 (primary_expr -> identifier .)
| reduce using rule 1 (primary_expr -> identifier .)
AND_OP reduce using rule 1 (primary_expr -> identifier .)
? reduce using rule 1 (primary_expr -> identifier .)
OR_OP reduce using rule 1 (primary_expr -> identifier .)
] reduce using rule 1 (primary_expr -> identifier .)
; reduce using rule 1 (primary_expr -> identifier .)
, reduce using rule 1 (primary_expr -> identifier .)
) reduce using rule 1 (primary_expr -> identifier .)
: reduce using rule 1 (primary_expr -> identifier .)
} reduce using rule 1 (primary_expr -> identifier .)
= reduce using rule 1 (primary_expr -> identifier .)
MUL_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
DIV_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
MOD_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
ADD_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
SUB_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
LEFT_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
RIGHT_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
AND_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
XOR_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
OR_ASSIGN reduce using rule 1 (primary_expr -> identifier .)
state 99
(15) unary_expr -> postfix_expr .
(6) postfix_expr -> postfix_expr . [ expr ]
(7) postfix_expr -> postfix_expr . ( )
(8) postfix_expr -> postfix_expr . ( argument_expr_list )
(9) postfix_expr -> postfix_expr . . identifier
(10) postfix_expr -> postfix_expr . PTR_OP identifier
(11) postfix_expr -> postfix_expr . INC_OP
(12) postfix_expr -> postfix_expr . DEC_OP
= reduce using rule 15 (unary_expr -> postfix_expr .)
MUL_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
DIV_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
MOD_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
ADD_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
SUB_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
LEFT_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
RIGHT_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
AND_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
XOR_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
OR_ASSIGN reduce using rule 15 (unary_expr -> postfix_expr .)
* reduce using rule 15 (unary_expr -> postfix_expr .)
/ reduce using rule 15 (unary_expr -> postfix_expr .)
% reduce using rule 15 (unary_expr -> postfix_expr .)
+ reduce using rule 15 (unary_expr -> postfix_expr .)
- reduce using rule 15 (unary_expr -> postfix_expr .)
LEFT_OP reduce using rule 15 (unary_expr -> postfix_expr .)
RIGHT_OP reduce using rule 15 (unary_expr -> postfix_expr .)
< reduce using rule 15 (unary_expr -> postfix_expr .)
> reduce using rule 15 (unary_expr -> postfix_expr .)
LE_OP reduce using rule 15 (unary_expr -> postfix_expr .)
GE_OP reduce using rule 15 (unary_expr -> postfix_expr .)
EQ_OP reduce using rule 15 (unary_expr -> postfix_expr .)
NE_OP reduce using rule 15 (unary_expr -> postfix_expr .)
& reduce using rule 15 (unary_expr -> postfix_expr .)
^ reduce using rule 15 (unary_expr -> postfix_expr .)
| reduce using rule 15 (unary_expr -> postfix_expr .)
AND_OP reduce using rule 15 (unary_expr -> postfix_expr .)
? reduce using rule 15 (unary_expr -> postfix_expr .)
OR_OP reduce using rule 15 (unary_expr -> postfix_expr .)
; reduce using rule 15 (unary_expr -> postfix_expr .)
, reduce using rule 15 (unary_expr -> postfix_expr .)
) reduce using rule 15 (unary_expr -> postfix_expr .)
: reduce using rule 15 (unary_expr -> postfix_expr .)
] reduce using rule 15 (unary_expr -> postfix_expr .)
} reduce using rule 15 (unary_expr -> postfix_expr .)
[ shift and go to state 197
( shift and go to state 196
. shift and go to state 193
PTR_OP shift and go to state 195
INC_OP shift and go to state 194
DEC_OP shift and go to state 192
state 100
(3) primary_expr -> STRING_LITERAL .
[ reduce using rule 3 (primary_expr -> STRING_LITERAL .)
( reduce using rule 3 (primary_expr -> STRING_LITERAL .)
. reduce using rule 3 (primary_expr -> STRING_LITERAL .)
PTR_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
INC_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
DEC_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
* reduce using rule 3 (primary_expr -> STRING_LITERAL .)
/ reduce using rule 3 (primary_expr -> STRING_LITERAL .)
% reduce using rule 3 (primary_expr -> STRING_LITERAL .)
+ reduce using rule 3 (primary_expr -> STRING_LITERAL .)
- reduce using rule 3 (primary_expr -> STRING_LITERAL .)
LEFT_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
RIGHT_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
< reduce using rule 3 (primary_expr -> STRING_LITERAL .)
> reduce using rule 3 (primary_expr -> STRING_LITERAL .)
LE_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
GE_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
EQ_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
NE_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
& reduce using rule 3 (primary_expr -> STRING_LITERAL .)
^ reduce using rule 3 (primary_expr -> STRING_LITERAL .)
| reduce using rule 3 (primary_expr -> STRING_LITERAL .)
AND_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
? reduce using rule 3 (primary_expr -> STRING_LITERAL .)
OR_OP reduce using rule 3 (primary_expr -> STRING_LITERAL .)
] reduce using rule 3 (primary_expr -> STRING_LITERAL .)
; reduce using rule 3 (primary_expr -> STRING_LITERAL .)
, reduce using rule 3 (primary_expr -> STRING_LITERAL .)
) reduce using rule 3 (primary_expr -> STRING_LITERAL .)
: reduce using rule 3 (primary_expr -> STRING_LITERAL .)
} reduce using rule 3 (primary_expr -> STRING_LITERAL .)
= reduce using rule 3 (primary_expr -> STRING_LITERAL .)
MUL_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
DIV_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
MOD_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
ADD_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
SUB_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
LEFT_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
RIGHT_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
AND_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
XOR_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
OR_ASSIGN reduce using rule 3 (primary_expr -> STRING_LITERAL .)
state 101
(51) inclusive_or_expr -> exclusive_or_expr .
(50) exclusive_or_expr -> exclusive_or_expr . ^ and_expr
| reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
AND_OP reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
? reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
OR_OP reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
; reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
, reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
} reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
) reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
] reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
: reduce using rule 51 (inclusive_or_expr -> exclusive_or_expr .)
^ shift and go to state 198
state 102
(55) logical_or_expr -> logical_and_expr .
(54) logical_and_expr -> logical_and_expr . AND_OP inclusive_or_expr
? reduce using rule 55 (logical_or_expr -> logical_and_expr .)
OR_OP reduce using rule 55 (logical_or_expr -> logical_and_expr .)
; reduce using rule 55 (logical_or_expr -> logical_and_expr .)
, reduce using rule 55 (logical_or_expr -> logical_and_expr .)
) reduce using rule 55 (logical_or_expr -> logical_and_expr .)
] reduce using rule 55 (logical_or_expr -> logical_and_expr .)
} reduce using rule 55 (logical_or_expr -> logical_and_expr .)
: reduce using rule 55 (logical_or_expr -> logical_and_expr .)
AND_OP shift and go to state 199
state 103
(53) logical_and_expr -> inclusive_or_expr .
(52) inclusive_or_expr -> inclusive_or_expr . | exclusive_or_expr
AND_OP reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
? reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
OR_OP reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
) reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
, reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
; reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
] reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
: reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
} reduce using rule 53 (logical_and_expr -> inclusive_or_expr .)
| shift and go to state 200
state 104
(5) postfix_expr -> primary_expr .
[ reduce using rule 5 (postfix_expr -> primary_expr .)
( reduce using rule 5 (postfix_expr -> primary_expr .)
. reduce using rule 5 (postfix_expr -> primary_expr .)
PTR_OP reduce using rule 5 (postfix_expr -> primary_expr .)
INC_OP reduce using rule 5 (postfix_expr -> primary_expr .)
DEC_OP reduce using rule 5 (postfix_expr -> primary_expr .)
= reduce using rule 5 (postfix_expr -> primary_expr .)
MUL_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
DIV_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
MOD_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
ADD_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
SUB_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
LEFT_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
RIGHT_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
AND_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
XOR_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
OR_ASSIGN reduce using rule 5 (postfix_expr -> primary_expr .)
* reduce using rule 5 (postfix_expr -> primary_expr .)
/ reduce using rule 5 (postfix_expr -> primary_expr .)
% reduce using rule 5 (postfix_expr -> primary_expr .)
+ reduce using rule 5 (postfix_expr -> primary_expr .)
- reduce using rule 5 (postfix_expr -> primary_expr .)
LEFT_OP reduce using rule 5 (postfix_expr -> primary_expr .)
RIGHT_OP reduce using rule 5 (postfix_expr -> primary_expr .)
< reduce using rule 5 (postfix_expr -> primary_expr .)
> reduce using rule 5 (postfix_expr -> primary_expr .)
LE_OP reduce using rule 5 (postfix_expr -> primary_expr .)
GE_OP reduce using rule 5 (postfix_expr -> primary_expr .)
EQ_OP reduce using rule 5 (postfix_expr -> primary_expr .)
NE_OP reduce using rule 5 (postfix_expr -> primary_expr .)
& reduce using rule 5 (postfix_expr -> primary_expr .)
^ reduce using rule 5 (postfix_expr -> primary_expr .)
| reduce using rule 5 (postfix_expr -> primary_expr .)
AND_OP reduce using rule 5 (postfix_expr -> primary_expr .)
? reduce using rule 5 (postfix_expr -> primary_expr .)
OR_OP reduce using rule 5 (postfix_expr -> primary_expr .)
; reduce using rule 5 (postfix_expr -> primary_expr .)
, reduce using rule 5 (postfix_expr -> primary_expr .)
] reduce using rule 5 (postfix_expr -> primary_expr .)
) reduce using rule 5 (postfix_expr -> primary_expr .)
: reduce using rule 5 (postfix_expr -> primary_expr .)
} reduce using rule 5 (postfix_expr -> primary_expr .)
state 105
(18) unary_expr -> unary_operator . cast_expr
(27) cast_expr -> . unary_expr
(28) cast_expr -> . ( type_name ) cast_expr
(15) unary_expr -> . postfix_expr
(16) unary_expr -> . INC_OP unary_expr
(17) unary_expr -> . DEC_OP unary_expr
(18) unary_expr -> . unary_operator cast_expr
(19) unary_expr -> . SIZEOF unary_expr
(20) unary_expr -> . SIZEOF ( type_name )
(5) postfix_expr -> . primary_expr
(6) postfix_expr -> . postfix_expr [ expr ]
(7) postfix_expr -> . postfix_expr ( )
(8) postfix_expr -> . postfix_expr ( argument_expr_list )
(9) postfix_expr -> . postfix_expr . identifier
(10) postfix_expr -> . postfix_expr PTR_OP identifier
(11) postfix_expr -> . postfix_expr INC_OP
(12) postfix_expr -> . postfix_expr DEC_OP
(21) unary_operator -> . &
(22) unary_operator -> . *
(23) unary_operator -> . +
(24) unary_operator -> . -
(25) unary_operator -> . ~
(26) unary_operator -> . !
(1) primary_expr -> . identifier
(2) primary_expr -> . CONSTANT
(3) primary_expr -> . STRING_LITERAL
(4) primary_expr -> . ( expr )
(216) identifier -> . IDENTIFIER
( shift and go to state 88
INC_OP shift and go to state 106
DEC_OP shift and go to state 80
SIZEOF shift and go to state 85
& shift and go to state 87
* shift and go to state 83
+ shift and go to state 89
- shift and go to state 81
~ shift and go to state 107
! shift and go to state 86
CONSTANT shift and go to state 78
STRING_LITERAL shift and go to state 100
IDENTIFIER shift and go to state 22
cast_expr shift and go to state 201
postfix_expr shift and go to state 99
unary_expr shift and go to state 79
primary_expr shift and go to state 104
identifier shift and go to state 98
unary_operator shift and go to state 105
state 106
(16) unary_expr -> INC_OP . unary_expr
(15) unary_expr -> . postfix_expr
(16) unary_expr -> . INC_OP unary_expr
(17) unary_expr -> . DEC_OP unary_expr
(18) unary_expr -> . unary_operator cast_expr
(19) unary_expr -> . SIZEOF unary_expr
(20) unary_expr -> . SIZEOF ( type_name )
(5) postfix_expr -> . primary_expr
(6) postfix_expr -> . postfix_expr [ expr ]
(7) postfix_expr -> . postfix_expr ( )
(8) postfix_expr -> . postfix_expr ( argument_expr_list )
(9) postfix_expr -> . postfix_expr . identifier
(10) postfix_expr -> . postfix_expr PTR_OP identifier
(11) postfix_expr -> . postfix_expr INC_OP
(12) postfix_expr -> . postfix_expr DEC_OP
(21) unary_operator -> . &
(22) unary_operator -> . *
(23) unary_operator -> . +
(24) unary_operator -> . -
(25) unary_operator -> . ~
(26) unary_operator -> . !
(1) primary_expr -> . identifier
(2) primary_expr -> . CONSTANT
(3) primary_expr -> . STRING_LITERAL
(4) primary_expr -> . ( expr )
(216) identifier -> . IDENTIFIER
INC_OP shift and go to state 106
DEC_OP shift and go to state 80
SIZEOF shift and go to state 85
& shift and go to state 87
* shift and go to state 83
+ shift and go to state 89
- shift and go to state 81
~ shift and go to state 107
! shift and go to state 86
CONSTANT shift and go to state 78
STRING_LITERAL shift and go to state 100
( shift and go to state 171
IDENTIFIER shift and go to state 22
postfix_expr shift and go to state 99
unary_expr shift and go to state 202
primary_expr shift and go to state 104
identifier shift and go to state 98
unary_operator shift and go to state 105
state 107
(25) unary_operator -> ~ .
( reduce using rule 25 (unary_operator -> ~ .)
INC_OP reduce using rule 25 (unary_operator -> ~ .)
DEC_OP reduce using rule 25 (unary_operator -> ~ .)
SIZEOF reduce using rule 25 (unary_operator -> ~ .)
& reduce using rule 25 (unary_operator -> ~ .)
* reduce using rule 25 (unary_operator -> ~ .)
+ reduce using rule 25 (unary_operator -> ~ .)
- reduce using rule 25 (unary_operator -> ~ .)
~ reduce using rule 25 (unary_operator -> ~ .)
! reduce using rule 25 (unary_operator -> ~ .)
CONSTANT reduce using rule 25 (unary_operator -> ~ .)
STRING_LITERAL reduce using rule 25 (unary_operator -> ~ .)
IDENTIFIER reduce using rule 25 (unary_operator -> ~ .)
state 108
(127) declarator2 -> ( declarator ) .
[ reduce using rule 127 (declarator2 -> ( declarator ) .)
( reduce using rule 127 (declarator2 -> ( declarator ) .)
, reduce using rule 127 (declarator2 -> ( declarator ) .)
) reduce using rule 127 (declarator2 -> ( declarator ) .)
= reduce using rule 127 (declarator2 -> ( declarator ) .)
{ reduce using rule 127 (declarator2 -> ( declarator ) .)
TYPEDEF reduce using rule 127 (declarator2 -> ( declarator ) .)
EXTERN reduce using rule 127 (declarator2 -> ( declarator ) .)
STATIC reduce using rule 127 (declarator2 -> ( declarator ) .)
AUTO reduce using rule 127 (declarator2 -> ( declarator ) .)
REGISTER reduce using rule 127 (declarator2 -> ( declarator ) .)
CHAR reduce using rule 127 (declarator2 -> ( declarator ) .)
SHORT reduce using rule 127 (declarator2 -> ( declarator ) .)
INT reduce using rule 127 (declarator2 -> ( declarator ) .)
LONG reduce using rule 127 (declarator2 -> ( declarator ) .)
SIGNED reduce using rule 127 (declarator2 -> ( declarator ) .)
UNSIGNED reduce using rule 127 (declarator2 -> ( declarator ) .)
FLOAT reduce using rule 127 (declarator2 -> ( declarator ) .)
DOUBLE reduce using rule 127 (declarator2 -> ( declarator ) .)
CONST reduce using rule 127 (declarator2 -> ( declarator ) .)
VOLATILE reduce using rule 127 (declarator2 -> ( declarator ) .)
VOID reduce using rule 127 (declarator2 -> ( declarator ) .)
TYPE_NAME reduce using rule 127 (declarator2 -> ( declarator ) .)
ENUM reduce using rule 127 (declarator2 -> ( declarator ) .)
STRUCT reduce using rule 127 (declarator2 -> ( declarator ) .)
UNION reduce using rule 127 (declarator2 -> ( declarator ) .)
; reduce using rule 127 (declarator2 -> ( declarator ) .)
: reduce using rule 127 (declarator2 -> ( declarator ) .)
state 109
(136) pointer -> * type_specifier_list pointer .
( reduce using rule 136 (pointer -> * type_specifier_list pointer .)
IDENTIFIER reduce using rule 136 (pointer -> * type_specifier_list pointer .)
[ reduce using rule 136 (pointer -> * type_specifier_list pointer .)
, reduce using rule 136 (pointer -> * type_specifier_list pointer .)
) reduce using rule 136 (pointer -> * type_specifier_list pointer .)
state 110
(138) type_specifier_list -> type_specifier_list type_specifier .
CHAR reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
SHORT reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
INT reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
LONG reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
SIGNED reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
UNSIGNED reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
FLOAT reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
DOUBLE reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
CONST reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
VOLATILE reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
VOID reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
TYPE_NAME reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)
: reduce using rule 138 (type_specifier_list -> type_specifier_list type_specifier .)