State 333 conflicts: 1 shift/reduce


Grammar

    0 $accept: translation_unit $end

    1 primary_expression: IDENTIFIER
    2                   | CONSTANT
    3                   | STRING_LITERAL
    4                   | '(' expression ')'

    5 postfix_expression: primary_expression
    6                   | postfix_expression '[' expression ']'
    7                   | postfix_expression '(' ')'
    8                   | postfix_expression '(' argument_expression_list ')'
    9                   | postfix_expression '.' IDENTIFIER
   10                   | postfix_expression PTR_OP IDENTIFIER
   11                   | postfix_expression INC_OP
   12                   | postfix_expression DEC_OP

   13 argument_expression_list: assignment_expression
   14                         | argument_expression_list ',' assignment_expression

   15 unary_expression: postfix_expression
   16                 | INC_OP unary_expression
   17                 | DEC_OP unary_expression
   18                 | unary_operator cast_expression
   19                 | SIZEOF unary_expression
   20                 | SIZEOF '(' type_name ')'

   21 unary_operator: '&'
   22               | '*'
   23               | '+'
   24               | '-'
   25               | '~'
   26               | '!'

   27 cast_expression: unary_expression
   28                | '(' type_name ')' cast_expression

   29 multiplicative_expression: cast_expression
   30                          | multiplicative_expression '*' cast_expression
   31                          | multiplicative_expression '/' cast_expression
   32                          | multiplicative_expression '%' cast_expression

   33 additive_expression: multiplicative_expression
   34                    | additive_expression '+' multiplicative_expression
   35                    | additive_expression '-' multiplicative_expression

   36 shift_expression: additive_expression
   37                 | shift_expression LEFT_OP additive_expression
   38                 | shift_expression RIGHT_OP additive_expression

   39 relational_expression: shift_expression
   40                      | relational_expression '<' shift_expression
   41                      | relational_expression '>' shift_expression
   42                      | relational_expression LE_OP shift_expression
   43                      | relational_expression GE_OP shift_expression

   44 equality_expression: relational_expression
   45                    | equality_expression EQ_OP relational_expression
   46                    | equality_expression NE_OP relational_expression

   47 and_expression: equality_expression
   48               | and_expression '&' equality_expression

   49 exclusive_or_expression: and_expression
   50                        | exclusive_or_expression '^' and_expression

   51 inclusive_or_expression: exclusive_or_expression
   52                        | inclusive_or_expression '|' exclusive_or_expression

   53 logical_and_expression: inclusive_or_expression
   54                       | logical_and_expression AND_OP inclusive_or_expression

   55 logical_or_expression: logical_and_expression
   56                      | logical_or_expression OR_OP logical_and_expression

   57 conditional_expression: logical_or_expression
   58                       | logical_or_expression '?' expression ':' conditional_expression

   59 assignment_expression: conditional_expression
   60                      | unary_expression assignment_operator assignment_expression

   61 assignment_operator: '='
   62                    | MUL_ASSIGN
   63                    | DIV_ASSIGN
   64                    | MOD_ASSIGN
   65                    | ADD_ASSIGN
   66                    | SUB_ASSIGN
   67                    | LEFT_ASSIGN
   68                    | RIGHT_ASSIGN
   69                    | AND_ASSIGN
   70                    | XOR_ASSIGN
   71                    | OR_ASSIGN

   72 expression: assignment_expression
   73           | expression ',' assignment_expression

   74 constant_expression: conditional_expression

   75 declaration: declaration_specifiers ';'
   76            | declaration_specifiers init_declarator_list ';'

   77 declaration_specifiers: storage_class_specifier
   78                       | storage_class_specifier declaration_specifiers
   79                       | type_specifier
   80                       | type_specifier declaration_specifiers
   81                       | type_qualifier
   82                       | type_qualifier declaration_specifiers

   83 init_declarator_list: init_declarator
   84                     | init_declarator_list ',' init_declarator

   85 init_declarator: declarator
   86                | declarator '=' initializer

   87 storage_class_specifier: TYPEDEF
   88                        | EXTERN
   89                        | STATIC
   90                        | AUTO
   91                        | REGISTER

   92 type_specifier: VOID
   93               | CHAR
   94               | SHORT
   95               | INT
   96               | LONG
   97               | FLOAT
   98               | DOUBLE
   99               | SIGNED
  100               | UNSIGNED
  101               | struct_or_union_specifier
  102               | enum_specifier
  103               | TYPE_NAME

  104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}'
  105                          | struct_or_union '{' struct_declaration_list '}'
  106                          | struct_or_union IDENTIFIER

  107 struct_or_union: STRUCT
  108                | UNION

  109 struct_declaration_list: struct_declaration
  110                        | struct_declaration_list struct_declaration

  111 struct_declaration: specifier_qualifier_list struct_declarator_list ';'

  112 specifier_qualifier_list: type_specifier specifier_qualifier_list
  113                         | type_specifier
  114                         | type_qualifier specifier_qualifier_list
  115                         | type_qualifier

  116 struct_declarator_list: struct_declarator
  117                       | struct_declarator_list ',' struct_declarator

  118 struct_declarator: declarator
  119                  | ':' constant_expression
  120                  | declarator ':' constant_expression

  121 enum_specifier: ENUM '{' enumerator_list '}'
  122               | ENUM IDENTIFIER '{' enumerator_list '}'
  123               | ENUM IDENTIFIER

  124 enumerator_list: enumerator
  125                | enumerator_list ',' enumerator

  126 enumerator: IDENTIFIER
  127           | IDENTIFIER '=' constant_expression

  128 type_qualifier: CONST
  129               | VOLATILE

  130 declarator: pointer direct_declarator
  131           | direct_declarator

  132 direct_declarator: IDENTIFIER
  133                  | '(' declarator ')'
  134                  | direct_declarator '[' constant_expression ']'
  135                  | direct_declarator '[' ']'
  136                  | direct_declarator '(' parameter_type_list ')'
  137                  | direct_declarator '(' identifier_list ')'
  138                  | direct_declarator '(' ')'

  139 pointer: '*'
  140        | '*' type_qualifier_list
  141        | '*' pointer
  142        | '*' type_qualifier_list pointer

  143 type_qualifier_list: type_qualifier
  144                    | type_qualifier_list type_qualifier

  145 parameter_type_list: parameter_list
  146                    | parameter_list ',' ELLIPSIS

  147 parameter_list: parameter_declaration
  148               | parameter_list ',' parameter_declaration

  149 parameter_declaration: declaration_specifiers declarator
  150                      | declaration_specifiers abstract_declarator
  151                      | declaration_specifiers

  152 identifier_list: IDENTIFIER
  153                | identifier_list ',' IDENTIFIER

  154 type_name: specifier_qualifier_list
  155          | specifier_qualifier_list abstract_declarator

  156 abstract_declarator: pointer
  157                    | direct_abstract_declarator
  158                    | pointer direct_abstract_declarator

  159 direct_abstract_declarator: '(' abstract_declarator ')'
  160                           | '[' ']'
  161                           | '[' constant_expression ']'
  162                           | direct_abstract_declarator '[' ']'
  163                           | direct_abstract_declarator '[' constant_expression ']'
  164                           | '(' ')'
  165                           | '(' parameter_type_list ')'
  166                           | direct_abstract_declarator '(' ')'
  167                           | direct_abstract_declarator '(' parameter_type_list ')'

  168 initializer: assignment_expression
  169            | '{' initializer_list '}'
  170            | '{' initializer_list ',' '}'

  171 initializer_list: initializer
  172                 | initializer_list ',' initializer

  173 statement: labeled_statement
  174          | compound_statement
  175          | expression_statement
  176          | selection_statement
  177          | iteration_statement
  178          | jump_statement

  179 labeled_statement: IDENTIFIER ':' statement
  180                  | CASE constant_expression ':' statement
  181                  | DEFAULT ':' statement

  182 compound_statement: '{' '}'
  183                   | '{' statement_list '}'
  184                   | '{' declaration_list '}'
  185                   | '{' declaration_list statement_list '}'

  186 declaration_list: declaration
  187                 | declaration_list declaration

  188 statement_list: statement
  189               | statement_list statement

  190 expression_statement: ';'
  191                     | expression ';'

  192 selection_statement: IF '(' expression ')' statement
  193                    | IF '(' expression ')' statement ELSE statement
  194                    | SWITCH '(' expression ')' statement

  195 iteration_statement: WHILE '(' expression ')' statement
  196                    | DO statement WHILE '(' expression ')' ';'
  197                    | FOR '(' expression_statement expression_statement ')' statement
  198                    | FOR '(' expression_statement expression_statement expression ')' statement

  199 jump_statement: GOTO IDENTIFIER ';'
  200               | CONTINUE ';'
  201               | BREAK ';'
  202               | RETURN ';'
  203               | RETURN expression ';'

  204 translation_unit: external_declaration
  205                 | translation_unit external_declaration

  206 external_declaration: function_definition
  207                     | declaration

  208 function_definition: declaration_specifiers declarator declaration_list compound_statement
  209                    | declaration_specifiers declarator compound_statement
  210                    | declarator declaration_list compound_statement
  211                    | declarator compound_statement


Terminals, with rules where they appear

$end (0) 0
'!' (33) 26
'%' (37) 32
'&' (38) 21 48
'(' (40) 4 7 8 20 28 133 136 137 138 159 164 165 166 167 192 193 194
    195 196 197 198
')' (41) 4 7 8 20 28 133 136 137 138 159 164 165 166 167 192 193 194
    195 196 197 198
'*' (42) 22 30 139 140 141 142
'+' (43) 23 34
',' (44) 14 73 84 117 125 146 148 153 170 172
'-' (45) 24 35
'.' (46) 9
'/' (47) 31
':' (58) 58 119 120 179 180 181
';' (59) 75 76 111 190 191 196 199 200 201 202 203
'<' (60) 40
'=' (61) 61 86 127
'>' (62) 41
'?' (63) 58
'[' (91) 6 134 135 160 161 162 163
']' (93) 6 134 135 160 161 162 163
'^' (94) 50
'{' (123) 104 105 121 122 169 170 182 183 184 185
'|' (124) 52
'}' (125) 104 105 121 122 169 170 182 183 184 185
'~' (126) 25
error (256)
IDENTIFIER (258) 1 9 10 104 106 122 123 126 127 132 152 153 179 199
CONSTANT (259) 2
STRING_LITERAL (260) 3
SIZEOF (261) 19 20
PTR_OP (262) 10
INC_OP (263) 11 16
DEC_OP (264) 12 17
LEFT_OP (265) 37
RIGHT_OP (266) 38
LE_OP (267) 42
GE_OP (268) 43
EQ_OP (269) 45
NE_OP (270) 46
AND_OP (271) 54
OR_OP (272) 56
MUL_ASSIGN (273) 62
DIV_ASSIGN (274) 63
MOD_ASSIGN (275) 64
ADD_ASSIGN (276) 65
SUB_ASSIGN (277) 66
LEFT_ASSIGN (278) 67
RIGHT_ASSIGN (279) 68
AND_ASSIGN (280) 69
XOR_ASSIGN (281) 70
OR_ASSIGN (282) 71
TYPE_NAME (283) 103
TYPEDEF (284) 87
EXTERN (285) 88
STATIC (286) 89
AUTO (287) 90
REGISTER (288) 91
CHAR (289) 93
SHORT (290) 94
INT (291) 95
LONG (292) 96
SIGNED (293) 99
UNSIGNED (294) 100
FLOAT (295) 97
DOUBLE (296) 98
CONST (297) 128
VOLATILE (298) 129
VOID (299) 92
STRUCT (300) 107
UNION (301) 108
ENUM (302) 121 122 123
ELLIPSIS (303) 146
CASE (304) 180
DEFAULT (305) 181
IF (306) 192 193
ELSE (307) 193
SWITCH (308) 194
WHILE (309) 195 196
DO (310) 196
FOR (311) 197 198
GOTO (312) 199
CONTINUE (313) 200
BREAK (314) 201
RETURN (315) 202 203


Nonterminals, with rules where they appear

$accept (85)
    on left: 0
primary_expression (86)
    on left: 1 2 3 4, on right: 5
postfix_expression (87)
    on left: 5 6 7 8 9 10 11 12, on right: 6 7 8 9 10 11 12 15
argument_expression_list (88)
    on left: 13 14, on right: 8 14
unary_expression (89)
    on left: 15 16 17 18 19 20, on right: 16 17 19 27 60
unary_operator (90)
    on left: 21 22 23 24 25 26, on right: 18
cast_expression (91)
    on left: 27 28, on right: 18 28 29 30 31 32
multiplicative_expression (92)
    on left: 29 30 31 32, on right: 30 31 32 33 34 35
additive_expression (93)
    on left: 33 34 35, on right: 34 35 36 37 38
shift_expression (94)
    on left: 36 37 38, on right: 37 38 39 40 41 42 43
relational_expression (95)
    on left: 39 40 41 42 43, on right: 40 41 42 43 44 45 46
equality_expression (96)
    on left: 44 45 46, on right: 45 46 47 48
and_expression (97)
    on left: 47 48, on right: 48 49 50
exclusive_or_expression (98)
    on left: 49 50, on right: 50 51 52
inclusive_or_expression (99)
    on left: 51 52, on right: 52 53 54
logical_and_expression (100)
    on left: 53 54, on right: 54 55 56
logical_or_expression (101)
    on left: 55 56, on right: 56 57 58
conditional_expression (102)
    on left: 57 58, on right: 58 59 74
assignment_expression (103)
    on left: 59 60, on right: 13 14 60 72 73 168
assignment_operator (104)
    on left: 61 62 63 64 65 66 67 68 69 70 71, on right: 60
expression (105)
    on left: 72 73, on right: 4 6 58 73 191 192 193 194 195 196 198
    203
constant_expression (106)
    on left: 74, on right: 119 120 127 134 161 163 180
declaration (107)
    on left: 75 76, on right: 186 187 207
declaration_specifiers (108)
    on left: 77 78 79 80 81 82, on right: 75 76 78 80 82 149 150 151
    208 209
init_declarator_list (109)
    on left: 83 84, on right: 76 84
init_declarator (110)
    on left: 85 86, on right: 83 84
storage_class_specifier (111)
    on left: 87 88 89 90 91, on right: 77 78
type_specifier (112)
    on left: 92 93 94 95 96 97 98 99 100 101 102 103,
    on right: 79 80 112 113
struct_or_union_specifier (113)
    on left: 104 105 106, on right: 101
struct_or_union (114)
    on left: 107 108, on right: 104 105 106
struct_declaration_list (115)
    on left: 109 110, on right: 104 105 110
struct_declaration (116)
    on left: 111, on right: 109 110
specifier_qualifier_list (117)
    on left: 112 113 114 115, on right: 111 112 114 154 155
struct_declarator_list (118)
    on left: 116 117, on right: 111 117
struct_declarator (119)
    on left: 118 119 120, on right: 116 117
enum_specifier (120)
    on left: 121 122 123, on right: 102
enumerator_list (121)
    on left: 124 125, on right: 121 122 125
enumerator (122)
    on left: 126 127, on right: 124 125
type_qualifier (123)
    on left: 128 129, on right: 81 82 114 115 143 144
declarator (124)
    on left: 130 131, on right: 85 86 118 120 133 149 208 209 210 211
direct_declarator (125)
    on left: 132 133 134 135 136 137 138, on right: 130 131 134 135
    136 137 138
pointer (126)
    on left: 139 140 141 142, on right: 130 141 142 156 158
type_qualifier_list (127)
    on left: 143 144, on right: 140 142 144
parameter_type_list (128)
    on left: 145 146, on right: 136 165 167
parameter_list (129)
    on left: 147 148, on right: 145 146 148
parameter_declaration (130)
    on left: 149 150 151, on right: 147 148
identifier_list (131)
    on left: 152 153, on right: 137 153
type_name (132)
    on left: 154 155, on right: 20 28
abstract_declarator (133)
    on left: 156 157 158, on right: 150 155 159
direct_abstract_declarator (134)
    on left: 159 160 161 162 163 164 165 166 167, on right: 157 158
    162 163 166 167
initializer (135)
    on left: 168 169 170, on right: 86 171 172
initializer_list (136)
    on left: 171 172, on right: 169 170 172
statement (137)
    on left: 173 174 175 176 177 178, on right: 179 180 181 188 189
    192 193 194 195 196 197 198
labeled_statement (138)
    on left: 179 180 181, on right: 173
compound_statement (139)
    on left: 182 183 184 185, on right: 174 208 209 210 211
declaration_list (140)
    on left: 186 187, on right: 184 185 187 208 210
statement_list (141)
    on left: 188 189, on right: 183 185 189
expression_statement (142)
    on left: 190 191, on right: 175 197 198
selection_statement (143)
    on left: 192 193 194, on right: 176
iteration_statement (144)
    on left: 195 196 197 198, on right: 177
jump_statement (145)
    on left: 199 200 201 202 203, on right: 178
translation_unit (146)
    on left: 204 205, on right: 0 205
external_declaration (147)
    on left: 206 207, on right: 204 205
function_definition (148)
    on left: 208 209 210 211, on right: 206


state 0

    0 $accept: . translation_unit $end

    IDENTIFIER  shift, and go to state 1
    TYPE_NAME   shift, and go to state 2
    TYPEDEF     shift, and go to state 3
    EXTERN      shift, and go to state 4
    STATIC      shift, and go to state 5
    AUTO        shift, and go to state 6
    REGISTER    shift, and go to state 7
    CHAR        shift, and go to state 8
    SHORT       shift, and go to state 9
    INT         shift, and go to state 10
    LONG        shift, and go to state 11
    SIGNED      shift, and go to state 12
    UNSIGNED    shift, and go to state 13
    FLOAT       shift, and go to state 14
    DOUBLE      shift, and go to state 15
    CONST       shift, and go to state 16
    VOLATILE    shift, and go to state 17
    VOID        shift, and go to state 18
    STRUCT      shift, and go to state 19
    UNION       shift, and go to state 20
    ENUM        shift, and go to state 21
    '('         shift, and go to state 22
    '*'         shift, and go to state 23

    declaration                go to state 24
    declaration_specifiers     go to state 25
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    declarator                 go to state 32
    direct_declarator          go to state 33
    pointer                    go to state 34
    translation_unit           go to state 35
    external_declaration       go to state 36
    function_definition        go to state 37


state 1

  132 direct_declarator: IDENTIFIER .

    $default  reduce using rule 132 (direct_declarator)


state 2

  103 type_specifier: TYPE_NAME .

    $default  reduce using rule 103 (type_specifier)


state 3

   87 storage_class_specifier: TYPEDEF .

    $default  reduce using rule 87 (storage_class_specifier)


state 4

   88 storage_class_specifier: EXTERN .

    $default  reduce using rule 88 (storage_class_specifier)


state 5

   89 storage_class_specifier: STATIC .

    $default  reduce using rule 89 (storage_class_specifier)


state 6

   90 storage_class_specifier: AUTO .

    $default  reduce using rule 90 (storage_class_specifier)


state 7

   91 storage_class_specifier: REGISTER .

    $default  reduce using rule 91 (storage_class_specifier)


state 8

   93 type_specifier: CHAR .

    $default  reduce using rule 93 (type_specifier)


state 9

   94 type_specifier: SHORT .

    $default  reduce using rule 94 (type_specifier)


state 10

   95 type_specifier: INT .

    $default  reduce using rule 95 (type_specifier)


state 11

   96 type_specifier: LONG .

    $default  reduce using rule 96 (type_specifier)


state 12

   99 type_specifier: SIGNED .

    $default  reduce using rule 99 (type_specifier)


state 13

  100 type_specifier: UNSIGNED .

    $default  reduce using rule 100 (type_specifier)


state 14

   97 type_specifier: FLOAT .

    $default  reduce using rule 97 (type_specifier)


state 15

   98 type_specifier: DOUBLE .

    $default  reduce using rule 98 (type_specifier)


state 16

  128 type_qualifier: CONST .

    $default  reduce using rule 128 (type_qualifier)


state 17

  129 type_qualifier: VOLATILE .

    $default  reduce using rule 129 (type_qualifier)


state 18

   92 type_specifier: VOID .

    $default  reduce using rule 92 (type_specifier)


state 19

  107 struct_or_union: STRUCT .

    $default  reduce using rule 107 (struct_or_union)


state 20

  108 struct_or_union: UNION .

    $default  reduce using rule 108 (struct_or_union)


state 21

  121 enum_specifier: ENUM . '{' enumerator_list '}'
  122               | ENUM . IDENTIFIER '{' enumerator_list '}'
  123               | ENUM . IDENTIFIER

    IDENTIFIER  shift, and go to state 38
    '{'         shift, and go to state 39


state 22

  133 direct_declarator: '(' . declarator ')'

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 22
    '*'         shift, and go to state 23

    declarator         go to state 40
    direct_declarator  go to state 33
    pointer            go to state 34


state 23

  139 pointer: '*' .
  140        | '*' . type_qualifier_list
  141        | '*' . pointer
  142        | '*' . type_qualifier_list pointer

    CONST     shift, and go to state 16
    VOLATILE  shift, and go to state 17
    '*'       shift, and go to state 23

    $default  reduce using rule 139 (pointer)

    type_qualifier       go to state 41
    pointer              go to state 42
    type_qualifier_list  go to state 43


state 24

  207 external_declaration: declaration .

    $default  reduce using rule 207 (external_declaration)


state 25

   75 declaration: declaration_specifiers . ';'
   76            | declaration_specifiers . init_declarator_list ';'
  208 function_definition: declaration_specifiers . declarator declaration_list compound_statement
  209                    | declaration_specifiers . declarator compound_statement

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 22
    '*'         shift, and go to state 23
    ';'         shift, and go to state 44

    init_declarator_list  go to state 45
    init_declarator       go to state 46
    declarator            go to state 47
    direct_declarator     go to state 33
    pointer               go to state 34


state 26

   77 declaration_specifiers: storage_class_specifier .
   78                       | storage_class_specifier . declaration_specifiers

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21

    $default  reduce using rule 77 (declaration_specifiers)

    declaration_specifiers     go to state 48
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31


state 27

   79 declaration_specifiers: type_specifier .
   80                       | type_specifier . declaration_specifiers

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21

    $default  reduce using rule 79 (declaration_specifiers)

    declaration_specifiers     go to state 49
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31


state 28

  101 type_specifier: struct_or_union_specifier .

    $default  reduce using rule 101 (type_specifier)


state 29

  104 struct_or_union_specifier: struct_or_union . IDENTIFIER '{' struct_declaration_list '}'
  105                          | struct_or_union . '{' struct_declaration_list '}'
  106                          | struct_or_union . IDENTIFIER

    IDENTIFIER  shift, and go to state 50
    '{'         shift, and go to state 51


state 30

  102 type_specifier: enum_specifier .

    $default  reduce using rule 102 (type_specifier)


state 31

   81 declaration_specifiers: type_qualifier .
   82                       | type_qualifier . declaration_specifiers

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21

    $default  reduce using rule 81 (declaration_specifiers)

    declaration_specifiers     go to state 52
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31


state 32

  210 function_definition: declarator . declaration_list compound_statement
  211                    | declarator . compound_statement

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    '{'        shift, and go to state 53

    declaration                go to state 54
    declaration_specifiers     go to state 55
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    compound_statement         go to state 56
    declaration_list           go to state 57


state 33

  131 declarator: direct_declarator .
  134 direct_declarator: direct_declarator . '[' constant_expression ']'
  135                  | direct_declarator . '[' ']'
  136                  | direct_declarator . '(' parameter_type_list ')'
  137                  | direct_declarator . '(' identifier_list ')'
  138                  | direct_declarator . '(' ')'

    '('  shift, and go to state 58
    '['  shift, and go to state 59

    $default  reduce using rule 131 (declarator)


state 34

  130 declarator: pointer . direct_declarator

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 22

    direct_declarator  go to state 60


state 35

    0 $accept: translation_unit . $end
  205 translation_unit: translation_unit . external_declaration

    $end        shift, and go to state 61
    IDENTIFIER  shift, and go to state 1
    TYPE_NAME   shift, and go to state 2
    TYPEDEF     shift, and go to state 3
    EXTERN      shift, and go to state 4
    STATIC      shift, and go to state 5
    AUTO        shift, and go to state 6
    REGISTER    shift, and go to state 7
    CHAR        shift, and go to state 8
    SHORT       shift, and go to state 9
    INT         shift, and go to state 10
    LONG        shift, and go to state 11
    SIGNED      shift, and go to state 12
    UNSIGNED    shift, and go to state 13
    FLOAT       shift, and go to state 14
    DOUBLE      shift, and go to state 15
    CONST       shift, and go to state 16
    VOLATILE    shift, and go to state 17
    VOID        shift, and go to state 18
    STRUCT      shift, and go to state 19
    UNION       shift, and go to state 20
    ENUM        shift, and go to state 21
    '('         shift, and go to state 22
    '*'         shift, and go to state 23

    declaration                go to state 24
    declaration_specifiers     go to state 25
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    declarator                 go to state 32
    direct_declarator          go to state 33
    pointer                    go to state 34
    external_declaration       go to state 62
    function_definition        go to state 37


state 36

  204 translation_unit: external_declaration .

    $default  reduce using rule 204 (translation_unit)


state 37

  206 external_declaration: function_definition .

    $default  reduce using rule 206 (external_declaration)


state 38

  122 enum_specifier: ENUM IDENTIFIER . '{' enumerator_list '}'
  123               | ENUM IDENTIFIER .

    '{'  shift, and go to state 63

    $default  reduce using rule 123 (enum_specifier)


state 39

  121 enum_specifier: ENUM '{' . enumerator_list '}'

    IDENTIFIER  shift, and go to state 64

    enumerator_list  go to state 65
    enumerator       go to state 66


state 40

  133 direct_declarator: '(' declarator . ')'

    ')'  shift, and go to state 67


state 41

  143 type_qualifier_list: type_qualifier .

    $default  reduce using rule 143 (type_qualifier_list)


state 42

  141 pointer: '*' pointer .

    $default  reduce using rule 141 (pointer)


state 43

  140 pointer: '*' type_qualifier_list .
  142        | '*' type_qualifier_list . pointer
  144 type_qualifier_list: type_qualifier_list . type_qualifier

    CONST     shift, and go to state 16
    VOLATILE  shift, and go to state 17
    '*'       shift, and go to state 23

    $default  reduce using rule 140 (pointer)

    type_qualifier  go to state 68
    pointer         go to state 69


state 44

   75 declaration: declaration_specifiers ';' .

    $default  reduce using rule 75 (declaration)


state 45

   76 declaration: declaration_specifiers init_declarator_list . ';'
   84 init_declarator_list: init_declarator_list . ',' init_declarator

    ','  shift, and go to state 70
    ';'  shift, and go to state 71


state 46

   83 init_declarator_list: init_declarator .

    $default  reduce using rule 83 (init_declarator_list)


state 47

   85 init_declarator: declarator .
   86                | declarator . '=' initializer
  208 function_definition: declaration_specifiers declarator . declaration_list compound_statement
  209                    | declaration_specifiers declarator . compound_statement

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    '='        shift, and go to state 72
    '{'        shift, and go to state 53

    $default  reduce using rule 85 (init_declarator)

    declaration                go to state 54
    declaration_specifiers     go to state 55
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    compound_statement         go to state 73
    declaration_list           go to state 74


state 48

   78 declaration_specifiers: storage_class_specifier declaration_specifiers .

    $default  reduce using rule 78 (declaration_specifiers)


state 49

   80 declaration_specifiers: type_specifier declaration_specifiers .

    $default  reduce using rule 80 (declaration_specifiers)


state 50

  104 struct_or_union_specifier: struct_or_union IDENTIFIER . '{' struct_declaration_list '}'
  106                          | struct_or_union IDENTIFIER .

    '{'  shift, and go to state 75

    $default  reduce using rule 106 (struct_or_union_specifier)


state 51

  105 struct_or_union_specifier: struct_or_union '{' . struct_declaration_list '}'

    TYPE_NAME  shift, and go to state 2
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21

    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    struct_declaration_list    go to state 77
    struct_declaration         go to state 78
    specifier_qualifier_list   go to state 79
    enum_specifier             go to state 30
    type_qualifier             go to state 80


state 52

   82 declaration_specifiers: type_qualifier declaration_specifiers .

    $default  reduce using rule 82 (declaration_specifiers)


state 53

  182 compound_statement: '{' . '}'
  183                   | '{' . statement_list '}'
  184                   | '{' . declaration_list '}'
  185                   | '{' . declaration_list statement_list '}'

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    TYPE_NAME       shift, and go to state 2
    TYPEDEF         shift, and go to state 3
    EXTERN          shift, and go to state 4
    STATIC          shift, and go to state 5
    AUTO            shift, and go to state 6
    REGISTER        shift, and go to state 7
    CHAR            shift, and go to state 8
    SHORT           shift, and go to state 9
    INT             shift, and go to state 10
    LONG            shift, and go to state 11
    SIGNED          shift, and go to state 12
    UNSIGNED        shift, and go to state 13
    FLOAT           shift, and go to state 14
    DOUBLE          shift, and go to state 15
    CONST           shift, and go to state 16
    VOLATILE        shift, and go to state 17
    VOID            shift, and go to state 18
    STRUCT          shift, and go to state 19
    UNION           shift, and go to state 20
    ENUM            shift, and go to state 21
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53
    '}'             shift, and go to state 106

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    declaration                go to state 54
    declaration_specifiers     go to state 55
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    statement                  go to state 125
    labeled_statement          go to state 126
    compound_statement         go to state 127
    declaration_list           go to state 128
    statement_list             go to state 129
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 54

  186 declaration_list: declaration .

    $default  reduce using rule 186 (declaration_list)


state 55

   75 declaration: declaration_specifiers . ';'
   76            | declaration_specifiers . init_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 22
    '*'         shift, and go to state 23
    ';'         shift, and go to state 44

    init_declarator_list  go to state 45
    init_declarator       go to state 46
    declarator            go to state 134
    direct_declarator     go to state 33
    pointer               go to state 34


state 56

  211 function_definition: declarator compound_statement .

    $default  reduce using rule 211 (function_definition)


state 57

  187 declaration_list: declaration_list . declaration
  210 function_definition: declarator declaration_list . compound_statement

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    '{'        shift, and go to state 53

    declaration                go to state 135
    declaration_specifiers     go to state 55
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    compound_statement         go to state 136


state 58

  136 direct_declarator: direct_declarator '(' . parameter_type_list ')'
  137                  | direct_declarator '(' . identifier_list ')'
  138                  | direct_declarator '(' . ')'

    IDENTIFIER  shift, and go to state 137
    TYPE_NAME   shift, and go to state 2
    TYPEDEF     shift, and go to state 3
    EXTERN      shift, and go to state 4
    STATIC      shift, and go to state 5
    AUTO        shift, and go to state 6
    REGISTER    shift, and go to state 7
    CHAR        shift, and go to state 8
    SHORT       shift, and go to state 9
    INT         shift, and go to state 10
    LONG        shift, and go to state 11
    SIGNED      shift, and go to state 12
    UNSIGNED    shift, and go to state 13
    FLOAT       shift, and go to state 14
    DOUBLE      shift, and go to state 15
    CONST       shift, and go to state 16
    VOLATILE    shift, and go to state 17
    VOID        shift, and go to state 18
    STRUCT      shift, and go to state 19
    UNION       shift, and go to state 20
    ENUM        shift, and go to state 21
    ')'         shift, and go to state 138

    declaration_specifiers     go to state 139
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    parameter_type_list        go to state 140
    parameter_list             go to state 141
    parameter_declaration      go to state 142
    identifier_list            go to state 143


state 59

  134 direct_declarator: direct_declarator '[' . constant_expression ']'
  135                  | direct_declarator '[' . ']'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    ']'             shift, and go to state 145
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 147
    constant_expression        go to state 148


state 60

  130 declarator: pointer direct_declarator .
  134 direct_declarator: direct_declarator . '[' constant_expression ']'
  135                  | direct_declarator . '[' ']'
  136                  | direct_declarator . '(' parameter_type_list ')'
  137                  | direct_declarator . '(' identifier_list ')'
  138                  | direct_declarator . '(' ')'

    '('  shift, and go to state 58
    '['  shift, and go to state 59

    $default  reduce using rule 130 (declarator)


state 61

    0 $accept: translation_unit $end .

    $default  accept


state 62

  205 translation_unit: translation_unit external_declaration .

    $default  reduce using rule 205 (translation_unit)


state 63

  122 enum_specifier: ENUM IDENTIFIER '{' . enumerator_list '}'

    IDENTIFIER  shift, and go to state 64

    enumerator_list  go to state 149
    enumerator       go to state 66


state 64

  126 enumerator: IDENTIFIER .
  127           | IDENTIFIER . '=' constant_expression

    '='  shift, and go to state 150

    $default  reduce using rule 126 (enumerator)


state 65

  121 enum_specifier: ENUM '{' enumerator_list . '}'
  125 enumerator_list: enumerator_list . ',' enumerator

    ','  shift, and go to state 151
    '}'  shift, and go to state 152


state 66

  124 enumerator_list: enumerator .

    $default  reduce using rule 124 (enumerator_list)


state 67

  133 direct_declarator: '(' declarator ')' .

    $default  reduce using rule 133 (direct_declarator)


state 68

  144 type_qualifier_list: type_qualifier_list type_qualifier .

    $default  reduce using rule 144 (type_qualifier_list)


state 69

  142 pointer: '*' type_qualifier_list pointer .

    $default  reduce using rule 142 (pointer)


state 70

   84 init_declarator_list: init_declarator_list ',' . init_declarator

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 22
    '*'         shift, and go to state 23

    init_declarator    go to state 153
    declarator         go to state 134
    direct_declarator  go to state 33
    pointer            go to state 34


state 71

   76 declaration: declaration_specifiers init_declarator_list ';' .

    $default  reduce using rule 76 (declaration)


state 72

   86 init_declarator: declarator '=' . initializer

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    '{'             shift, and go to state 154

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 155
    initializer                go to state 156


state 73

  209 function_definition: declaration_specifiers declarator compound_statement .

    $default  reduce using rule 209 (function_definition)


state 74

  187 declaration_list: declaration_list . declaration
  208 function_definition: declaration_specifiers declarator declaration_list . compound_statement

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    '{'        shift, and go to state 53

    declaration                go to state 135
    declaration_specifiers     go to state 55
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    compound_statement         go to state 157


state 75

  104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' . struct_declaration_list '}'

    TYPE_NAME  shift, and go to state 2
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21

    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    struct_declaration_list    go to state 158
    struct_declaration         go to state 78
    specifier_qualifier_list   go to state 79
    enum_specifier             go to state 30
    type_qualifier             go to state 80


state 76

  112 specifier_qualifier_list: type_specifier . specifier_qualifier_list
  113                         | type_specifier .

    TYPE_NAME  shift, and go to state 2
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21

    $default  reduce using rule 113 (specifier_qualifier_list)

    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    specifier_qualifier_list   go to state 159
    enum_specifier             go to state 30
    type_qualifier             go to state 80


state 77

  105 struct_or_union_specifier: struct_or_union '{' struct_declaration_list . '}'
  110 struct_declaration_list: struct_declaration_list . struct_declaration

    TYPE_NAME  shift, and go to state 2
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    '}'        shift, and go to state 160

    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    struct_declaration         go to state 161
    specifier_qualifier_list   go to state 79
    enum_specifier             go to state 30
    type_qualifier             go to state 80


state 78

  109 struct_declaration_list: struct_declaration .

    $default  reduce using rule 109 (struct_declaration_list)


state 79

  111 struct_declaration: specifier_qualifier_list . struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 22
    '*'         shift, and go to state 23
    ':'         shift, and go to state 162

    struct_declarator_list  go to state 163
    struct_declarator       go to state 164
    declarator              go to state 165
    direct_declarator       go to state 33
    pointer                 go to state 34


state 80

  114 specifier_qualifier_list: type_qualifier . specifier_qualifier_list
  115                         | type_qualifier .

    TYPE_NAME  shift, and go to state 2
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21

    $default  reduce using rule 115 (specifier_qualifier_list)

    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    specifier_qualifier_list   go to state 166
    enum_specifier             go to state 30
    type_qualifier             go to state 80


state 81

    1 primary_expression: IDENTIFIER .
  179 labeled_statement: IDENTIFIER . ':' statement

    ':'  shift, and go to state 167

    $default  reduce using rule 1 (primary_expression)


state 82

    2 primary_expression: CONSTANT .

    $default  reduce using rule 2 (primary_expression)


state 83

    3 primary_expression: STRING_LITERAL .

    $default  reduce using rule 3 (primary_expression)


state 84

   19 unary_expression: SIZEOF . unary_expression
   20                 | SIZEOF . '(' type_name ')'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 168
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 169
    unary_operator      go to state 110


state 85

   16 unary_expression: INC_OP . unary_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 170
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 171
    unary_operator      go to state 110


state 86

   17 unary_expression: DEC_OP . unary_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 170
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 172
    unary_operator      go to state 110


state 87

  180 labeled_statement: CASE . constant_expression ':' statement

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 147
    constant_expression        go to state 173


state 88

  181 labeled_statement: DEFAULT . ':' statement

    ':'  shift, and go to state 174


state 89

  192 selection_statement: IF . '(' expression ')' statement
  193                    | IF . '(' expression ')' statement ELSE statement

    '('  shift, and go to state 175


state 90

  194 selection_statement: SWITCH . '(' expression ')' statement

    '('  shift, and go to state 176


state 91

  195 iteration_statement: WHILE . '(' expression ')' statement

    '('  shift, and go to state 177


state 92

  196 iteration_statement: DO . statement WHILE '(' expression ')' ';'

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 178
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 93

  197 iteration_statement: FOR . '(' expression_statement expression_statement ')' statement
  198                    | FOR . '(' expression_statement expression_statement expression ')' statement

    '('  shift, and go to state 179


state 94

  199 jump_statement: GOTO . IDENTIFIER ';'

    IDENTIFIER  shift, and go to state 180


state 95

  200 jump_statement: CONTINUE . ';'

    ';'  shift, and go to state 181


state 96

  201 jump_statement: BREAK . ';'

    ';'  shift, and go to state 182


state 97

  202 jump_statement: RETURN . ';'
  203               | RETURN . expression ';'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 183

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 184


state 98

    4 primary_expression: '(' . expression ')'
   28 cast_expression: '(' . type_name ')' cast_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    TYPE_NAME       shift, and go to state 2
    CHAR            shift, and go to state 8
    SHORT           shift, and go to state 9
    INT             shift, and go to state 10
    LONG            shift, and go to state 11
    SIGNED          shift, and go to state 12
    UNSIGNED        shift, and go to state 13
    FLOAT           shift, and go to state 14
    DOUBLE          shift, and go to state 15
    CONST           shift, and go to state 16
    VOLATILE        shift, and go to state 17
    VOID            shift, and go to state 18
    STRUCT          shift, and go to state 19
    UNION           shift, and go to state 20
    ENUM            shift, and go to state 21
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 185
    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    specifier_qualifier_list   go to state 186
    enum_specifier             go to state 30
    type_qualifier             go to state 80
    type_name                  go to state 187


state 99

   21 unary_operator: '&' .

    $default  reduce using rule 21 (unary_operator)


state 100

   22 unary_operator: '*' .

    $default  reduce using rule 22 (unary_operator)


state 101

   23 unary_operator: '+' .

    $default  reduce using rule 23 (unary_operator)


state 102

   24 unary_operator: '-' .

    $default  reduce using rule 24 (unary_operator)


state 103

   25 unary_operator: '~' .

    $default  reduce using rule 25 (unary_operator)


state 104

   26 unary_operator: '!' .

    $default  reduce using rule 26 (unary_operator)


state 105

  190 expression_statement: ';' .

    $default  reduce using rule 190 (expression_statement)


state 106

  182 compound_statement: '{' '}' .

    $default  reduce using rule 182 (compound_statement)


state 107

    5 postfix_expression: primary_expression .

    $default  reduce using rule 5 (postfix_expression)


state 108

    6 postfix_expression: postfix_expression . '[' expression ']'
    7                   | postfix_expression . '(' ')'
    8                   | postfix_expression . '(' argument_expression_list ')'
    9                   | postfix_expression . '.' IDENTIFIER
   10                   | postfix_expression . PTR_OP IDENTIFIER
   11                   | postfix_expression . INC_OP
   12                   | postfix_expression . DEC_OP
   15 unary_expression: postfix_expression .

    PTR_OP  shift, and go to state 188
    INC_OP  shift, and go to state 189
    DEC_OP  shift, and go to state 190
    '('     shift, and go to state 191
    '['     shift, and go to state 192
    '.'     shift, and go to state 193

    $default  reduce using rule 15 (unary_expression)


state 109

   27 cast_expression: unary_expression .
   60 assignment_expression: unary_expression . assignment_operator assignment_expression

    MUL_ASSIGN    shift, and go to state 194
    DIV_ASSIGN    shift, and go to state 195
    MOD_ASSIGN    shift, and go to state 196
    ADD_ASSIGN    shift, and go to state 197
    SUB_ASSIGN    shift, and go to state 198
    LEFT_ASSIGN   shift, and go to state 199
    RIGHT_ASSIGN  shift, and go to state 200
    AND_ASSIGN    shift, and go to state 201
    XOR_ASSIGN    shift, and go to state 202
    OR_ASSIGN     shift, and go to state 203
    '='           shift, and go to state 204

    $default  reduce using rule 27 (cast_expression)

    assignment_operator  go to state 205


state 110

   18 unary_expression: unary_operator . cast_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 146
    unary_operator      go to state 110
    cast_expression     go to state 206


state 111

   29 multiplicative_expression: cast_expression .

    $default  reduce using rule 29 (multiplicative_expression)


state 112

   30 multiplicative_expression: multiplicative_expression . '*' cast_expression
   31                          | multiplicative_expression . '/' cast_expression
   32                          | multiplicative_expression . '%' cast_expression
   33 additive_expression: multiplicative_expression .

    '*'  shift, and go to state 207
    '/'  shift, and go to state 208
    '%'  shift, and go to state 209

    $default  reduce using rule 33 (additive_expression)


state 113

   34 additive_expression: additive_expression . '+' multiplicative_expression
   35                    | additive_expression . '-' multiplicative_expression
   36 shift_expression: additive_expression .

    '+'  shift, and go to state 210
    '-'  shift, and go to state 211

    $default  reduce using rule 36 (shift_expression)


state 114

   37 shift_expression: shift_expression . LEFT_OP additive_expression
   38                 | shift_expression . RIGHT_OP additive_expression
   39 relational_expression: shift_expression .

    LEFT_OP   shift, and go to state 212
    RIGHT_OP  shift, and go to state 213

    $default  reduce using rule 39 (relational_expression)


state 115

   40 relational_expression: relational_expression . '<' shift_expression
   41                      | relational_expression . '>' shift_expression
   42                      | relational_expression . LE_OP shift_expression
   43                      | relational_expression . GE_OP shift_expression
   44 equality_expression: relational_expression .

    LE_OP  shift, and go to state 214
    GE_OP  shift, and go to state 215
    '<'    shift, and go to state 216
    '>'    shift, and go to state 217

    $default  reduce using rule 44 (equality_expression)


state 116

   45 equality_expression: equality_expression . EQ_OP relational_expression
   46                    | equality_expression . NE_OP relational_expression
   47 and_expression: equality_expression .

    EQ_OP  shift, and go to state 218
    NE_OP  shift, and go to state 219

    $default  reduce using rule 47 (and_expression)


state 117

   48 and_expression: and_expression . '&' equality_expression
   49 exclusive_or_expression: and_expression .

    '&'  shift, and go to state 220

    $default  reduce using rule 49 (exclusive_or_expression)


state 118

   50 exclusive_or_expression: exclusive_or_expression . '^' and_expression
   51 inclusive_or_expression: exclusive_or_expression .

    '^'  shift, and go to state 221

    $default  reduce using rule 51 (inclusive_or_expression)


state 119

   52 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression
   53 logical_and_expression: inclusive_or_expression .

    '|'  shift, and go to state 222

    $default  reduce using rule 53 (logical_and_expression)


state 120

   54 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression
   55 logical_or_expression: logical_and_expression .

    AND_OP  shift, and go to state 223

    $default  reduce using rule 55 (logical_or_expression)


state 121

   56 logical_or_expression: logical_or_expression . OR_OP logical_and_expression
   57 conditional_expression: logical_or_expression .
   58                       | logical_or_expression . '?' expression ':' conditional_expression

    OR_OP  shift, and go to state 224
    '?'    shift, and go to state 225

    $default  reduce using rule 57 (conditional_expression)


state 122

   59 assignment_expression: conditional_expression .

    $default  reduce using rule 59 (assignment_expression)


state 123

   72 expression: assignment_expression .

    $default  reduce using rule 72 (expression)


state 124

   73 expression: expression . ',' assignment_expression
  191 expression_statement: expression . ';'

    ','  shift, and go to state 226
    ';'  shift, and go to state 227


state 125

  188 statement_list: statement .

    $default  reduce using rule 188 (statement_list)


state 126

  173 statement: labeled_statement .

    $default  reduce using rule 173 (statement)


state 127

  174 statement: compound_statement .

    $default  reduce using rule 174 (statement)


state 128

  184 compound_statement: '{' declaration_list . '}'
  185                   | '{' declaration_list . statement_list '}'
  187 declaration_list: declaration_list . declaration

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    TYPE_NAME       shift, and go to state 2
    TYPEDEF         shift, and go to state 3
    EXTERN          shift, and go to state 4
    STATIC          shift, and go to state 5
    AUTO            shift, and go to state 6
    REGISTER        shift, and go to state 7
    CHAR            shift, and go to state 8
    SHORT           shift, and go to state 9
    INT             shift, and go to state 10
    LONG            shift, and go to state 11
    SIGNED          shift, and go to state 12
    UNSIGNED        shift, and go to state 13
    FLOAT           shift, and go to state 14
    DOUBLE          shift, and go to state 15
    CONST           shift, and go to state 16
    VOLATILE        shift, and go to state 17
    VOID            shift, and go to state 18
    STRUCT          shift, and go to state 19
    UNION           shift, and go to state 20
    ENUM            shift, and go to state 21
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53
    '}'             shift, and go to state 228

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    declaration                go to state 135
    declaration_specifiers     go to state 55
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    statement                  go to state 125
    labeled_statement          go to state 126
    compound_statement         go to state 127
    statement_list             go to state 229
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 129

  183 compound_statement: '{' statement_list . '}'
  189 statement_list: statement_list . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53
    '}'             shift, and go to state 230

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 231
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 130

  175 statement: expression_statement .

    $default  reduce using rule 175 (statement)


state 131

  176 statement: selection_statement .

    $default  reduce using rule 176 (statement)


state 132

  177 statement: iteration_statement .

    $default  reduce using rule 177 (statement)


state 133

  178 statement: jump_statement .

    $default  reduce using rule 178 (statement)


state 134

   85 init_declarator: declarator .
   86                | declarator . '=' initializer

    '='  shift, and go to state 72

    $default  reduce using rule 85 (init_declarator)


state 135

  187 declaration_list: declaration_list declaration .

    $default  reduce using rule 187 (declaration_list)


state 136

  210 function_definition: declarator declaration_list compound_statement .

    $default  reduce using rule 210 (function_definition)


state 137

  152 identifier_list: IDENTIFIER .

    $default  reduce using rule 152 (identifier_list)


state 138

  138 direct_declarator: direct_declarator '(' ')' .

    $default  reduce using rule 138 (direct_declarator)


state 139

  149 parameter_declaration: declaration_specifiers . declarator
  150                      | declaration_specifiers . abstract_declarator
  151                      | declaration_specifiers .

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 232
    '['         shift, and go to state 233
    '*'         shift, and go to state 23

    $default  reduce using rule 151 (parameter_declaration)

    declarator                  go to state 234
    direct_declarator           go to state 33
    pointer                     go to state 235
    abstract_declarator         go to state 236
    direct_abstract_declarator  go to state 237


state 140

  136 direct_declarator: direct_declarator '(' parameter_type_list . ')'

    ')'  shift, and go to state 238


state 141

  145 parameter_type_list: parameter_list .
  146                    | parameter_list . ',' ELLIPSIS
  148 parameter_list: parameter_list . ',' parameter_declaration

    ','  shift, and go to state 239

    $default  reduce using rule 145 (parameter_type_list)


state 142

  147 parameter_list: parameter_declaration .

    $default  reduce using rule 147 (parameter_list)


state 143

  137 direct_declarator: direct_declarator '(' identifier_list . ')'
  153 identifier_list: identifier_list . ',' IDENTIFIER

    ')'  shift, and go to state 240
    ','  shift, and go to state 241


state 144

    1 primary_expression: IDENTIFIER .

    $default  reduce using rule 1 (primary_expression)


state 145

  135 direct_declarator: direct_declarator '[' ']' .

    $default  reduce using rule 135 (direct_declarator)


state 146

   27 cast_expression: unary_expression .

    $default  reduce using rule 27 (cast_expression)


state 147

   74 constant_expression: conditional_expression .

    $default  reduce using rule 74 (constant_expression)


state 148

  134 direct_declarator: direct_declarator '[' constant_expression . ']'

    ']'  shift, and go to state 242


state 149

  122 enum_specifier: ENUM IDENTIFIER '{' enumerator_list . '}'
  125 enumerator_list: enumerator_list . ',' enumerator

    ','  shift, and go to state 151
    '}'  shift, and go to state 243


state 150

  127 enumerator: IDENTIFIER '=' . constant_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 147
    constant_expression        go to state 244


state 151

  125 enumerator_list: enumerator_list ',' . enumerator

    IDENTIFIER  shift, and go to state 64

    enumerator  go to state 245


state 152

  121 enum_specifier: ENUM '{' enumerator_list '}' .

    $default  reduce using rule 121 (enum_specifier)


state 153

   84 init_declarator_list: init_declarator_list ',' init_declarator .

    $default  reduce using rule 84 (init_declarator_list)


state 154

  169 initializer: '{' . initializer_list '}'
  170            | '{' . initializer_list ',' '}'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    '{'             shift, and go to state 154

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 155
    initializer                go to state 246
    initializer_list           go to state 247


state 155

  168 initializer: assignment_expression .

    $default  reduce using rule 168 (initializer)


state 156

   86 init_declarator: declarator '=' initializer .

    $default  reduce using rule 86 (init_declarator)


state 157

  208 function_definition: declaration_specifiers declarator declaration_list compound_statement .

    $default  reduce using rule 208 (function_definition)


state 158

  104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list . '}'
  110 struct_declaration_list: struct_declaration_list . struct_declaration

    TYPE_NAME  shift, and go to state 2
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    '}'        shift, and go to state 248

    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    struct_declaration         go to state 161
    specifier_qualifier_list   go to state 79
    enum_specifier             go to state 30
    type_qualifier             go to state 80


state 159

  112 specifier_qualifier_list: type_specifier specifier_qualifier_list .

    $default  reduce using rule 112 (specifier_qualifier_list)


state 160

  105 struct_or_union_specifier: struct_or_union '{' struct_declaration_list '}' .

    $default  reduce using rule 105 (struct_or_union_specifier)


state 161

  110 struct_declaration_list: struct_declaration_list struct_declaration .

    $default  reduce using rule 110 (struct_declaration_list)


state 162

  119 struct_declarator: ':' . constant_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 147
    constant_expression        go to state 249


state 163

  111 struct_declaration: specifier_qualifier_list struct_declarator_list . ';'
  117 struct_declarator_list: struct_declarator_list . ',' struct_declarator

    ','  shift, and go to state 250
    ';'  shift, and go to state 251


state 164

  116 struct_declarator_list: struct_declarator .

    $default  reduce using rule 116 (struct_declarator_list)


state 165

  118 struct_declarator: declarator .
  120                  | declarator . ':' constant_expression

    ':'  shift, and go to state 252

    $default  reduce using rule 118 (struct_declarator)


state 166

  114 specifier_qualifier_list: type_qualifier specifier_qualifier_list .

    $default  reduce using rule 114 (specifier_qualifier_list)


state 167

  179 labeled_statement: IDENTIFIER ':' . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 253
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 168

    4 primary_expression: '(' . expression ')'
   20 unary_expression: SIZEOF '(' . type_name ')'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    TYPE_NAME       shift, and go to state 2
    CHAR            shift, and go to state 8
    SHORT           shift, and go to state 9
    INT             shift, and go to state 10
    LONG            shift, and go to state 11
    SIGNED          shift, and go to state 12
    UNSIGNED        shift, and go to state 13
    FLOAT           shift, and go to state 14
    DOUBLE          shift, and go to state 15
    CONST           shift, and go to state 16
    VOLATILE        shift, and go to state 17
    VOID            shift, and go to state 18
    STRUCT          shift, and go to state 19
    UNION           shift, and go to state 20
    ENUM            shift, and go to state 21
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 185
    type_specifier             go to state 76
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    specifier_qualifier_list   go to state 186
    enum_specifier             go to state 30
    type_qualifier             go to state 80
    type_name                  go to state 254


state 169

   19 unary_expression: SIZEOF unary_expression .

    $default  reduce using rule 19 (unary_expression)


state 170

    4 primary_expression: '(' . expression ')'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 185


state 171

   16 unary_expression: INC_OP unary_expression .

    $default  reduce using rule 16 (unary_expression)


state 172

   17 unary_expression: DEC_OP unary_expression .

    $default  reduce using rule 17 (unary_expression)


state 173

  180 labeled_statement: CASE constant_expression . ':' statement

    ':'  shift, and go to state 255


state 174

  181 labeled_statement: DEFAULT ':' . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 256
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 175

  192 selection_statement: IF '(' . expression ')' statement
  193                    | IF '(' . expression ')' statement ELSE statement

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 257


state 176

  194 selection_statement: SWITCH '(' . expression ')' statement

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 258


state 177

  195 iteration_statement: WHILE '(' . expression ')' statement

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 259


state 178

  196 iteration_statement: DO statement . WHILE '(' expression ')' ';'

    WHILE  shift, and go to state 260


state 179

  197 iteration_statement: FOR '(' . expression_statement expression_statement ')' statement
  198                    | FOR '(' . expression_statement expression_statement expression ')' statement

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    expression_statement       go to state 261


state 180

  199 jump_statement: GOTO IDENTIFIER . ';'

    ';'  shift, and go to state 262


state 181

  200 jump_statement: CONTINUE ';' .

    $default  reduce using rule 200 (jump_statement)


state 182

  201 jump_statement: BREAK ';' .

    $default  reduce using rule 201 (jump_statement)


state 183

  202 jump_statement: RETURN ';' .

    $default  reduce using rule 202 (jump_statement)


state 184

   73 expression: expression . ',' assignment_expression
  203 jump_statement: RETURN expression . ';'

    ','  shift, and go to state 226
    ';'  shift, and go to state 263


state 185

    4 primary_expression: '(' expression . ')'
   73 expression: expression . ',' assignment_expression

    ')'  shift, and go to state 264
    ','  shift, and go to state 226


state 186

  154 type_name: specifier_qualifier_list .
  155          | specifier_qualifier_list . abstract_declarator

    '('  shift, and go to state 265
    '['  shift, and go to state 233
    '*'  shift, and go to state 23

    $default  reduce using rule 154 (type_name)

    pointer                     go to state 266
    abstract_declarator         go to state 267
    direct_abstract_declarator  go to state 237


state 187

   28 cast_expression: '(' type_name . ')' cast_expression

    ')'  shift, and go to state 268


state 188

   10 postfix_expression: postfix_expression PTR_OP . IDENTIFIER

    IDENTIFIER  shift, and go to state 269


state 189

   11 postfix_expression: postfix_expression INC_OP .

    $default  reduce using rule 11 (postfix_expression)


state 190

   12 postfix_expression: postfix_expression DEC_OP .

    $default  reduce using rule 12 (postfix_expression)


state 191

    7 postfix_expression: postfix_expression '(' . ')'
    8                   | postfix_expression '(' . argument_expression_list ')'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    ')'             shift, and go to state 270
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    argument_expression_list   go to state 271
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 272


state 192

    6 postfix_expression: postfix_expression '[' . expression ']'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 273


state 193

    9 postfix_expression: postfix_expression '.' . IDENTIFIER

    IDENTIFIER  shift, and go to state 274


state 194

   62 assignment_operator: MUL_ASSIGN .

    $default  reduce using rule 62 (assignment_operator)


state 195

   63 assignment_operator: DIV_ASSIGN .

    $default  reduce using rule 63 (assignment_operator)


state 196

   64 assignment_operator: MOD_ASSIGN .

    $default  reduce using rule 64 (assignment_operator)


state 197

   65 assignment_operator: ADD_ASSIGN .

    $default  reduce using rule 65 (assignment_operator)


state 198

   66 assignment_operator: SUB_ASSIGN .

    $default  reduce using rule 66 (assignment_operator)


state 199

   67 assignment_operator: LEFT_ASSIGN .

    $default  reduce using rule 67 (assignment_operator)


state 200

   68 assignment_operator: RIGHT_ASSIGN .

    $default  reduce using rule 68 (assignment_operator)


state 201

   69 assignment_operator: AND_ASSIGN .

    $default  reduce using rule 69 (assignment_operator)


state 202

   70 assignment_operator: XOR_ASSIGN .

    $default  reduce using rule 70 (assignment_operator)


state 203

   71 assignment_operator: OR_ASSIGN .

    $default  reduce using rule 71 (assignment_operator)


state 204

   61 assignment_operator: '=' .

    $default  reduce using rule 61 (assignment_operator)


state 205

   60 assignment_expression: unary_expression assignment_operator . assignment_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 275


state 206

   18 unary_expression: unary_operator cast_expression .

    $default  reduce using rule 18 (unary_expression)


state 207

   30 multiplicative_expression: multiplicative_expression '*' . cast_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 146
    unary_operator      go to state 110
    cast_expression     go to state 276


state 208

   31 multiplicative_expression: multiplicative_expression '/' . cast_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 146
    unary_operator      go to state 110
    cast_expression     go to state 277


state 209

   32 multiplicative_expression: multiplicative_expression '%' . cast_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 146
    unary_operator      go to state 110
    cast_expression     go to state 278


state 210

   34 additive_expression: additive_expression '+' . multiplicative_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 279


state 211

   35 additive_expression: additive_expression '-' . multiplicative_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 280


state 212

   37 shift_expression: shift_expression LEFT_OP . additive_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 281


state 213

   38 shift_expression: shift_expression RIGHT_OP . additive_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 282


state 214

   42 relational_expression: relational_expression LE_OP . shift_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 283


state 215

   43 relational_expression: relational_expression GE_OP . shift_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 284


state 216

   40 relational_expression: relational_expression '<' . shift_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 285


state 217

   41 relational_expression: relational_expression '>' . shift_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 286


state 218

   45 equality_expression: equality_expression EQ_OP . relational_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 287


state 219

   46 equality_expression: equality_expression NE_OP . relational_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 288


state 220

   48 and_expression: and_expression '&' . equality_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 289


state 221

   50 exclusive_or_expression: exclusive_or_expression '^' . and_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 290


state 222

   52 inclusive_or_expression: inclusive_or_expression '|' . exclusive_or_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 291


state 223

   54 logical_and_expression: logical_and_expression AND_OP . inclusive_or_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 292


state 224

   56 logical_or_expression: logical_or_expression OR_OP . logical_and_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 293


state 225

   58 conditional_expression: logical_or_expression '?' . expression ':' conditional_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 294


state 226

   73 expression: expression ',' . assignment_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 295


state 227

  191 expression_statement: expression ';' .

    $default  reduce using rule 191 (expression_statement)


state 228

  184 compound_statement: '{' declaration_list '}' .

    $default  reduce using rule 184 (compound_statement)


state 229

  185 compound_statement: '{' declaration_list statement_list . '}'
  189 statement_list: statement_list . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53
    '}'             shift, and go to state 296

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 231
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 230

  183 compound_statement: '{' statement_list '}' .

    $default  reduce using rule 183 (compound_statement)


state 231

  189 statement_list: statement_list statement .

    $default  reduce using rule 189 (statement_list)


state 232

  133 direct_declarator: '(' . declarator ')'
  159 direct_abstract_declarator: '(' . abstract_declarator ')'
  164                           | '(' . ')'
  165                           | '(' . parameter_type_list ')'

    IDENTIFIER  shift, and go to state 1
    TYPE_NAME   shift, and go to state 2
    TYPEDEF     shift, and go to state 3
    EXTERN      shift, and go to state 4
    STATIC      shift, and go to state 5
    AUTO        shift, and go to state 6
    REGISTER    shift, and go to state 7
    CHAR        shift, and go to state 8
    SHORT       shift, and go to state 9
    INT         shift, and go to state 10
    LONG        shift, and go to state 11
    SIGNED      shift, and go to state 12
    UNSIGNED    shift, and go to state 13
    FLOAT       shift, and go to state 14
    DOUBLE      shift, and go to state 15
    CONST       shift, and go to state 16
    VOLATILE    shift, and go to state 17
    VOID        shift, and go to state 18
    STRUCT      shift, and go to state 19
    UNION       shift, and go to state 20
    ENUM        shift, and go to state 21
    '('         shift, and go to state 232
    ')'         shift, and go to state 297
    '['         shift, and go to state 233
    '*'         shift, and go to state 23

    declaration_specifiers      go to state 139
    storage_class_specifier     go to state 26
    type_specifier              go to state 27
    struct_or_union_specifier   go to state 28
    struct_or_union             go to state 29
    enum_specifier              go to state 30
    type_qualifier              go to state 31
    declarator                  go to state 40
    direct_declarator           go to state 33
    pointer                     go to state 235
    parameter_type_list         go to state 298
    parameter_list              go to state 141
    parameter_declaration       go to state 142
    abstract_declarator         go to state 299
    direct_abstract_declarator  go to state 237


state 233

  160 direct_abstract_declarator: '[' . ']'
  161                           | '[' . constant_expression ']'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    ']'             shift, and go to state 300
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 147
    constant_expression        go to state 301


state 234

  149 parameter_declaration: declaration_specifiers declarator .

    $default  reduce using rule 149 (parameter_declaration)


state 235

  130 declarator: pointer . direct_declarator
  156 abstract_declarator: pointer .
  158                    | pointer . direct_abstract_declarator

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 232
    '['         shift, and go to state 233

    $default  reduce using rule 156 (abstract_declarator)

    direct_declarator           go to state 60
    direct_abstract_declarator  go to state 302


state 236

  150 parameter_declaration: declaration_specifiers abstract_declarator .

    $default  reduce using rule 150 (parameter_declaration)


state 237

  157 abstract_declarator: direct_abstract_declarator .
  162 direct_abstract_declarator: direct_abstract_declarator . '[' ']'
  163                           | direct_abstract_declarator . '[' constant_expression ']'
  166                           | direct_abstract_declarator . '(' ')'
  167                           | direct_abstract_declarator . '(' parameter_type_list ')'

    '('  shift, and go to state 303
    '['  shift, and go to state 304

    $default  reduce using rule 157 (abstract_declarator)


state 238

  136 direct_declarator: direct_declarator '(' parameter_type_list ')' .

    $default  reduce using rule 136 (direct_declarator)


state 239

  146 parameter_type_list: parameter_list ',' . ELLIPSIS
  148 parameter_list: parameter_list ',' . parameter_declaration

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    ELLIPSIS   shift, and go to state 305

    declaration_specifiers     go to state 139
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    parameter_declaration      go to state 306


state 240

  137 direct_declarator: direct_declarator '(' identifier_list ')' .

    $default  reduce using rule 137 (direct_declarator)


state 241

  153 identifier_list: identifier_list ',' . IDENTIFIER

    IDENTIFIER  shift, and go to state 307


state 242

  134 direct_declarator: direct_declarator '[' constant_expression ']' .

    $default  reduce using rule 134 (direct_declarator)


state 243

  122 enum_specifier: ENUM IDENTIFIER '{' enumerator_list '}' .

    $default  reduce using rule 122 (enum_specifier)


state 244

  127 enumerator: IDENTIFIER '=' constant_expression .

    $default  reduce using rule 127 (enumerator)


state 245

  125 enumerator_list: enumerator_list ',' enumerator .

    $default  reduce using rule 125 (enumerator_list)


state 246

  171 initializer_list: initializer .

    $default  reduce using rule 171 (initializer_list)


state 247

  169 initializer: '{' initializer_list . '}'
  170            | '{' initializer_list . ',' '}'
  172 initializer_list: initializer_list . ',' initializer

    ','  shift, and go to state 308
    '}'  shift, and go to state 309


state 248

  104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}' .

    $default  reduce using rule 104 (struct_or_union_specifier)


state 249

  119 struct_declarator: ':' constant_expression .

    $default  reduce using rule 119 (struct_declarator)


state 250

  117 struct_declarator_list: struct_declarator_list ',' . struct_declarator

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 22
    '*'         shift, and go to state 23
    ':'         shift, and go to state 162

    struct_declarator  go to state 310
    declarator         go to state 165
    direct_declarator  go to state 33
    pointer            go to state 34


state 251

  111 struct_declaration: specifier_qualifier_list struct_declarator_list ';' .

    $default  reduce using rule 111 (struct_declaration)


state 252

  120 struct_declarator: declarator ':' . constant_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 147
    constant_expression        go to state 311


state 253

  179 labeled_statement: IDENTIFIER ':' statement .

    $default  reduce using rule 179 (labeled_statement)


state 254

   20 unary_expression: SIZEOF '(' type_name . ')'

    ')'  shift, and go to state 312


state 255

  180 labeled_statement: CASE constant_expression ':' . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 313
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 256

  181 labeled_statement: DEFAULT ':' statement .

    $default  reduce using rule 181 (labeled_statement)


state 257

   73 expression: expression . ',' assignment_expression
  192 selection_statement: IF '(' expression . ')' statement
  193                    | IF '(' expression . ')' statement ELSE statement

    ')'  shift, and go to state 314
    ','  shift, and go to state 226


state 258

   73 expression: expression . ',' assignment_expression
  194 selection_statement: SWITCH '(' expression . ')' statement

    ')'  shift, and go to state 315
    ','  shift, and go to state 226


state 259

   73 expression: expression . ',' assignment_expression
  195 iteration_statement: WHILE '(' expression . ')' statement

    ')'  shift, and go to state 316
    ','  shift, and go to state 226


state 260

  196 iteration_statement: DO statement WHILE . '(' expression ')' ';'

    '('  shift, and go to state 317


state 261

  197 iteration_statement: FOR '(' expression_statement . expression_statement ')' statement
  198                    | FOR '(' expression_statement . expression_statement expression ')' statement

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    expression_statement       go to state 318


state 262

  199 jump_statement: GOTO IDENTIFIER ';' .

    $default  reduce using rule 199 (jump_statement)


state 263

  203 jump_statement: RETURN expression ';' .

    $default  reduce using rule 203 (jump_statement)


state 264

    4 primary_expression: '(' expression ')' .

    $default  reduce using rule 4 (primary_expression)


state 265

  159 direct_abstract_declarator: '(' . abstract_declarator ')'
  164                           | '(' . ')'
  165                           | '(' . parameter_type_list ')'

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    '('        shift, and go to state 265
    ')'        shift, and go to state 297
    '['        shift, and go to state 233
    '*'        shift, and go to state 23

    declaration_specifiers      go to state 139
    storage_class_specifier     go to state 26
    type_specifier              go to state 27
    struct_or_union_specifier   go to state 28
    struct_or_union             go to state 29
    enum_specifier              go to state 30
    type_qualifier              go to state 31
    pointer                     go to state 266
    parameter_type_list         go to state 298
    parameter_list              go to state 141
    parameter_declaration       go to state 142
    abstract_declarator         go to state 299
    direct_abstract_declarator  go to state 237


state 266

  156 abstract_declarator: pointer .
  158                    | pointer . direct_abstract_declarator

    '('  shift, and go to state 265
    '['  shift, and go to state 233

    $default  reduce using rule 156 (abstract_declarator)

    direct_abstract_declarator  go to state 302


state 267

  155 type_name: specifier_qualifier_list abstract_declarator .

    $default  reduce using rule 155 (type_name)


state 268

   28 cast_expression: '(' type_name ')' . cast_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression  go to state 107
    postfix_expression  go to state 108
    unary_expression    go to state 146
    unary_operator      go to state 110
    cast_expression     go to state 319


state 269

   10 postfix_expression: postfix_expression PTR_OP IDENTIFIER .

    $default  reduce using rule 10 (postfix_expression)


state 270

    7 postfix_expression: postfix_expression '(' ')' .

    $default  reduce using rule 7 (postfix_expression)


state 271

    8 postfix_expression: postfix_expression '(' argument_expression_list . ')'
   14 argument_expression_list: argument_expression_list . ',' assignment_expression

    ')'  shift, and go to state 320
    ','  shift, and go to state 321


state 272

   13 argument_expression_list: assignment_expression .

    $default  reduce using rule 13 (argument_expression_list)


state 273

    6 postfix_expression: postfix_expression '[' expression . ']'
   73 expression: expression . ',' assignment_expression

    ']'  shift, and go to state 322
    ','  shift, and go to state 226


state 274

    9 postfix_expression: postfix_expression '.' IDENTIFIER .

    $default  reduce using rule 9 (postfix_expression)


state 275

   60 assignment_expression: unary_expression assignment_operator assignment_expression .

    $default  reduce using rule 60 (assignment_expression)


state 276

   30 multiplicative_expression: multiplicative_expression '*' cast_expression .

    $default  reduce using rule 30 (multiplicative_expression)


state 277

   31 multiplicative_expression: multiplicative_expression '/' cast_expression .

    $default  reduce using rule 31 (multiplicative_expression)


state 278

   32 multiplicative_expression: multiplicative_expression '%' cast_expression .

    $default  reduce using rule 32 (multiplicative_expression)


state 279

   30 multiplicative_expression: multiplicative_expression . '*' cast_expression
   31                          | multiplicative_expression . '/' cast_expression
   32                          | multiplicative_expression . '%' cast_expression
   34 additive_expression: additive_expression '+' multiplicative_expression .

    '*'  shift, and go to state 207
    '/'  shift, and go to state 208
    '%'  shift, and go to state 209

    $default  reduce using rule 34 (additive_expression)


state 280

   30 multiplicative_expression: multiplicative_expression . '*' cast_expression
   31                          | multiplicative_expression . '/' cast_expression
   32                          | multiplicative_expression . '%' cast_expression
   35 additive_expression: additive_expression '-' multiplicative_expression .

    '*'  shift, and go to state 207
    '/'  shift, and go to state 208
    '%'  shift, and go to state 209

    $default  reduce using rule 35 (additive_expression)


state 281

   34 additive_expression: additive_expression . '+' multiplicative_expression
   35                    | additive_expression . '-' multiplicative_expression
   37 shift_expression: shift_expression LEFT_OP additive_expression .

    '+'  shift, and go to state 210
    '-'  shift, and go to state 211

    $default  reduce using rule 37 (shift_expression)


state 282

   34 additive_expression: additive_expression . '+' multiplicative_expression
   35                    | additive_expression . '-' multiplicative_expression
   38 shift_expression: shift_expression RIGHT_OP additive_expression .

    '+'  shift, and go to state 210
    '-'  shift, and go to state 211

    $default  reduce using rule 38 (shift_expression)


state 283

   37 shift_expression: shift_expression . LEFT_OP additive_expression
   38                 | shift_expression . RIGHT_OP additive_expression
   42 relational_expression: relational_expression LE_OP shift_expression .

    LEFT_OP   shift, and go to state 212
    RIGHT_OP  shift, and go to state 213

    $default  reduce using rule 42 (relational_expression)


state 284

   37 shift_expression: shift_expression . LEFT_OP additive_expression
   38                 | shift_expression . RIGHT_OP additive_expression
   43 relational_expression: relational_expression GE_OP shift_expression .

    LEFT_OP   shift, and go to state 212
    RIGHT_OP  shift, and go to state 213

    $default  reduce using rule 43 (relational_expression)


state 285

   37 shift_expression: shift_expression . LEFT_OP additive_expression
   38                 | shift_expression . RIGHT_OP additive_expression
   40 relational_expression: relational_expression '<' shift_expression .

    LEFT_OP   shift, and go to state 212
    RIGHT_OP  shift, and go to state 213

    $default  reduce using rule 40 (relational_expression)


state 286

   37 shift_expression: shift_expression . LEFT_OP additive_expression
   38                 | shift_expression . RIGHT_OP additive_expression
   41 relational_expression: relational_expression '>' shift_expression .

    LEFT_OP   shift, and go to state 212
    RIGHT_OP  shift, and go to state 213

    $default  reduce using rule 41 (relational_expression)


state 287

   40 relational_expression: relational_expression . '<' shift_expression
   41                      | relational_expression . '>' shift_expression
   42                      | relational_expression . LE_OP shift_expression
   43                      | relational_expression . GE_OP shift_expression
   45 equality_expression: equality_expression EQ_OP relational_expression .

    LE_OP  shift, and go to state 214
    GE_OP  shift, and go to state 215
    '<'    shift, and go to state 216
    '>'    shift, and go to state 217

    $default  reduce using rule 45 (equality_expression)


state 288

   40 relational_expression: relational_expression . '<' shift_expression
   41                      | relational_expression . '>' shift_expression
   42                      | relational_expression . LE_OP shift_expression
   43                      | relational_expression . GE_OP shift_expression
   46 equality_expression: equality_expression NE_OP relational_expression .

    LE_OP  shift, and go to state 214
    GE_OP  shift, and go to state 215
    '<'    shift, and go to state 216
    '>'    shift, and go to state 217

    $default  reduce using rule 46 (equality_expression)


state 289

   45 equality_expression: equality_expression . EQ_OP relational_expression
   46                    | equality_expression . NE_OP relational_expression
   48 and_expression: and_expression '&' equality_expression .

    EQ_OP  shift, and go to state 218
    NE_OP  shift, and go to state 219

    $default  reduce using rule 48 (and_expression)


state 290

   48 and_expression: and_expression . '&' equality_expression
   50 exclusive_or_expression: exclusive_or_expression '^' and_expression .

    '&'  shift, and go to state 220

    $default  reduce using rule 50 (exclusive_or_expression)


state 291

   50 exclusive_or_expression: exclusive_or_expression . '^' and_expression
   52 inclusive_or_expression: inclusive_or_expression '|' exclusive_or_expression .

    '^'  shift, and go to state 221

    $default  reduce using rule 52 (inclusive_or_expression)


state 292

   52 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression
   54 logical_and_expression: logical_and_expression AND_OP inclusive_or_expression .

    '|'  shift, and go to state 222

    $default  reduce using rule 54 (logical_and_expression)


state 293

   54 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression
   56 logical_or_expression: logical_or_expression OR_OP logical_and_expression .

    AND_OP  shift, and go to state 223

    $default  reduce using rule 56 (logical_or_expression)


state 294

   58 conditional_expression: logical_or_expression '?' expression . ':' conditional_expression
   73 expression: expression . ',' assignment_expression

    ','  shift, and go to state 226
    ':'  shift, and go to state 323


state 295

   73 expression: expression ',' assignment_expression .

    $default  reduce using rule 73 (expression)


state 296

  185 compound_statement: '{' declaration_list statement_list '}' .

    $default  reduce using rule 185 (compound_statement)


state 297

  164 direct_abstract_declarator: '(' ')' .

    $default  reduce using rule 164 (direct_abstract_declarator)


state 298

  165 direct_abstract_declarator: '(' parameter_type_list . ')'

    ')'  shift, and go to state 324


state 299

  159 direct_abstract_declarator: '(' abstract_declarator . ')'

    ')'  shift, and go to state 325


state 300

  160 direct_abstract_declarator: '[' ']' .

    $default  reduce using rule 160 (direct_abstract_declarator)


state 301

  161 direct_abstract_declarator: '[' constant_expression . ']'

    ']'  shift, and go to state 326


state 302

  158 abstract_declarator: pointer direct_abstract_declarator .
  162 direct_abstract_declarator: direct_abstract_declarator . '[' ']'
  163                           | direct_abstract_declarator . '[' constant_expression ']'
  166                           | direct_abstract_declarator . '(' ')'
  167                           | direct_abstract_declarator . '(' parameter_type_list ')'

    '('  shift, and go to state 303
    '['  shift, and go to state 304

    $default  reduce using rule 158 (abstract_declarator)


state 303

  166 direct_abstract_declarator: direct_abstract_declarator '(' . ')'
  167                           | direct_abstract_declarator '(' . parameter_type_list ')'

    TYPE_NAME  shift, and go to state 2
    TYPEDEF    shift, and go to state 3
    EXTERN     shift, and go to state 4
    STATIC     shift, and go to state 5
    AUTO       shift, and go to state 6
    REGISTER   shift, and go to state 7
    CHAR       shift, and go to state 8
    SHORT      shift, and go to state 9
    INT        shift, and go to state 10
    LONG       shift, and go to state 11
    SIGNED     shift, and go to state 12
    UNSIGNED   shift, and go to state 13
    FLOAT      shift, and go to state 14
    DOUBLE     shift, and go to state 15
    CONST      shift, and go to state 16
    VOLATILE   shift, and go to state 17
    VOID       shift, and go to state 18
    STRUCT     shift, and go to state 19
    UNION      shift, and go to state 20
    ENUM       shift, and go to state 21
    ')'        shift, and go to state 327

    declaration_specifiers     go to state 139
    storage_class_specifier    go to state 26
    type_specifier             go to state 27
    struct_or_union_specifier  go to state 28
    struct_or_union            go to state 29
    enum_specifier             go to state 30
    type_qualifier             go to state 31
    parameter_type_list        go to state 328
    parameter_list             go to state 141
    parameter_declaration      go to state 142


state 304

  162 direct_abstract_declarator: direct_abstract_declarator '[' . ']'
  163                           | direct_abstract_declarator '[' . constant_expression ']'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    ']'             shift, and go to state 329
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 147
    constant_expression        go to state 330


state 305

  146 parameter_type_list: parameter_list ',' ELLIPSIS .

    $default  reduce using rule 146 (parameter_type_list)


state 306

  148 parameter_list: parameter_list ',' parameter_declaration .

    $default  reduce using rule 148 (parameter_list)


state 307

  153 identifier_list: identifier_list ',' IDENTIFIER .

    $default  reduce using rule 153 (identifier_list)


state 308

  170 initializer: '{' initializer_list ',' . '}'
  172 initializer_list: initializer_list ',' . initializer

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    '{'             shift, and go to state 154
    '}'             shift, and go to state 331

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 155
    initializer                go to state 332


state 309

  169 initializer: '{' initializer_list '}' .

    $default  reduce using rule 169 (initializer)


state 310

  117 struct_declarator_list: struct_declarator_list ',' struct_declarator .

    $default  reduce using rule 117 (struct_declarator_list)


state 311

  120 struct_declarator: declarator ':' constant_expression .

    $default  reduce using rule 120 (struct_declarator)


state 312

   20 unary_expression: SIZEOF '(' type_name ')' .

    $default  reduce using rule 20 (unary_expression)


state 313

  180 labeled_statement: CASE constant_expression ':' statement .

    $default  reduce using rule 180 (labeled_statement)


state 314

  192 selection_statement: IF '(' expression ')' . statement
  193                    | IF '(' expression ')' . statement ELSE statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 333
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 315

  194 selection_statement: SWITCH '(' expression ')' . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 334
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 316

  195 iteration_statement: WHILE '(' expression ')' . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 335
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 317

  196 iteration_statement: DO statement WHILE '(' . expression ')' ';'

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 336


state 318

  197 iteration_statement: FOR '(' expression_statement expression_statement . ')' statement
  198                    | FOR '(' expression_statement expression_statement . expression ')' statement

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    ')'             shift, and go to state 337
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 338


state 319

   28 cast_expression: '(' type_name ')' cast_expression .

    $default  reduce using rule 28 (cast_expression)


state 320

    8 postfix_expression: postfix_expression '(' argument_expression_list ')' .

    $default  reduce using rule 8 (postfix_expression)


state 321

   14 argument_expression_list: argument_expression_list ',' . assignment_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 339


state 322

    6 postfix_expression: postfix_expression '[' expression ']' .

    $default  reduce using rule 6 (postfix_expression)


state 323

   58 conditional_expression: logical_or_expression '?' expression ':' . conditional_expression

    IDENTIFIER      shift, and go to state 144
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 146
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 340


state 324

  165 direct_abstract_declarator: '(' parameter_type_list ')' .

    $default  reduce using rule 165 (direct_abstract_declarator)


state 325

  159 direct_abstract_declarator: '(' abstract_declarator ')' .

    $default  reduce using rule 159 (direct_abstract_declarator)


state 326

  161 direct_abstract_declarator: '[' constant_expression ']' .

    $default  reduce using rule 161 (direct_abstract_declarator)


state 327

  166 direct_abstract_declarator: direct_abstract_declarator '(' ')' .

    $default  reduce using rule 166 (direct_abstract_declarator)


state 328

  167 direct_abstract_declarator: direct_abstract_declarator '(' parameter_type_list . ')'

    ')'  shift, and go to state 341


state 329

  162 direct_abstract_declarator: direct_abstract_declarator '[' ']' .

    $default  reduce using rule 162 (direct_abstract_declarator)


state 330

  163 direct_abstract_declarator: direct_abstract_declarator '[' constant_expression . ']'

    ']'  shift, and go to state 342


state 331

  170 initializer: '{' initializer_list ',' '}' .

    $default  reduce using rule 170 (initializer)


state 332

  172 initializer_list: initializer_list ',' initializer .

    $default  reduce using rule 172 (initializer_list)


state 333

  192 selection_statement: IF '(' expression ')' statement .
  193                    | IF '(' expression ')' statement . ELSE statement

    ELSE  shift, and go to state 343

    ELSE      [reduce using rule 192 (selection_statement)]
    $default  reduce using rule 192 (selection_statement)


state 334

  194 selection_statement: SWITCH '(' expression ')' statement .

    $default  reduce using rule 194 (selection_statement)


state 335

  195 iteration_statement: WHILE '(' expression ')' statement .

    $default  reduce using rule 195 (iteration_statement)


state 336

   73 expression: expression . ',' assignment_expression
  196 iteration_statement: DO statement WHILE '(' expression . ')' ';'

    ')'  shift, and go to state 344
    ','  shift, and go to state 226


state 337

  197 iteration_statement: FOR '(' expression_statement expression_statement ')' . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 345
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 338

   73 expression: expression . ',' assignment_expression
  198 iteration_statement: FOR '(' expression_statement expression_statement expression . ')' statement

    ')'  shift, and go to state 346
    ','  shift, and go to state 226


state 339

   14 argument_expression_list: argument_expression_list ',' assignment_expression .

    $default  reduce using rule 14 (argument_expression_list)


state 340

   58 conditional_expression: logical_or_expression '?' expression ':' conditional_expression .

    $default  reduce using rule 58 (conditional_expression)


state 341

  167 direct_abstract_declarator: direct_abstract_declarator '(' parameter_type_list ')' .

    $default  reduce using rule 167 (direct_abstract_declarator)


state 342

  163 direct_abstract_declarator: direct_abstract_declarator '[' constant_expression ']' .

    $default  reduce using rule 163 (direct_abstract_declarator)


state 343

  193 selection_statement: IF '(' expression ')' statement ELSE . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 347
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 344

  196 iteration_statement: DO statement WHILE '(' expression ')' . ';'

    ';'  shift, and go to state 348


state 345

  197 iteration_statement: FOR '(' expression_statement expression_statement ')' statement .

    $default  reduce using rule 197 (iteration_statement)


state 346

  198 iteration_statement: FOR '(' expression_statement expression_statement expression ')' . statement

    IDENTIFIER      shift, and go to state 81
    CONSTANT        shift, and go to state 82
    STRING_LITERAL  shift, and go to state 83
    SIZEOF          shift, and go to state 84
    INC_OP          shift, and go to state 85
    DEC_OP          shift, and go to state 86
    CASE            shift, and go to state 87
    DEFAULT         shift, and go to state 88
    IF              shift, and go to state 89
    SWITCH          shift, and go to state 90
    WHILE           shift, and go to state 91
    DO              shift, and go to state 92
    FOR             shift, and go to state 93
    GOTO            shift, and go to state 94
    CONTINUE        shift, and go to state 95
    BREAK           shift, and go to state 96
    RETURN          shift, and go to state 97
    '('             shift, and go to state 98
    '&'             shift, and go to state 99
    '*'             shift, and go to state 100
    '+'             shift, and go to state 101
    '-'             shift, and go to state 102
    '~'             shift, and go to state 103
    '!'             shift, and go to state 104
    ';'             shift, and go to state 105
    '{'             shift, and go to state 53

    primary_expression         go to state 107
    postfix_expression         go to state 108
    unary_expression           go to state 109
    unary_operator             go to state 110
    cast_expression            go to state 111
    multiplicative_expression  go to state 112
    additive_expression        go to state 113
    shift_expression           go to state 114
    relational_expression      go to state 115
    equality_expression        go to state 116
    and_expression             go to state 117
    exclusive_or_expression    go to state 118
    inclusive_or_expression    go to state 119
    logical_and_expression     go to state 120
    logical_or_expression      go to state 121
    conditional_expression     go to state 122
    assignment_expression      go to state 123
    expression                 go to state 124
    statement                  go to state 349
    labeled_statement          go to state 126
    compound_statement         go to state 127
    expression_statement       go to state 130
    selection_statement        go to state 131
    iteration_statement        go to state 132
    jump_statement             go to state 133


state 347

  193 selection_statement: IF '(' expression ')' statement ELSE statement .

    $default  reduce using rule 193 (selection_statement)


state 348

  196 iteration_statement: DO statement WHILE '(' expression ')' ';' .

    $default  reduce using rule 196 (iteration_statement)


state 349

  198 iteration_statement: FOR '(' expression_statement expression_statement expression ')' statement .

    $default  reduce using rule 198 (iteration_statement)
