Terminals which are not used

   AT_THROW


State 164 conflicts: 4 shift/reduce
State 168 conflicts: 1 shift/reduce
State 169 conflicts: 2 shift/reduce
State 173 conflicts: 1 shift/reduce
State 383 conflicts: 1 shift/reduce
State 392 conflicts: 1 shift/reduce
State 404 conflicts: 1 shift/reduce
State 405 conflicts: 1 shift/reduce
State 406 conflicts: 2 shift/reduce
State 407 conflicts: 2 shift/reduce
State 415 conflicts: 1 shift/reduce
State 479 conflicts: 1 shift/reduce
State 485 conflicts: 1 shift/reduce
State 495 conflicts: 1 shift/reduce
State 498 conflicts: 1 shift/reduce


Grammar

    0 $accept: translation_unit $end

    1 selector_component: IDENTIFIER ':'
    2                   | ':'

    3 selector_with_arguments: IDENTIFIER
    4                        | IDENTIFIER ':' expression
    5                        | selector_with_arguments selector_component expression
    6                        | selector_with_arguments ',' ELLIPSIS

    7 struct_component_expression: conditional_expression
    8                            | struct_component_expression conditional_expression

    9 selector: IDENTIFIER
   10         | ':'
   11         | IDENTIFIER ':'
   12         | selector ':'

   13 primary_expression: IDENTIFIER
   14                   | CONSTANT
   15                   | STRING_LITERAL
   16                   | '(' expression ')'
   17                   | AT_STRING_LITERAL
   18                   | '[' expression selector_with_arguments ']'
   19                   | AT_SELECTOR '(' selector ')'
   20                   | AT_ENCODE '(' type_name ')'

   21 postfix_expression: primary_expression
   22                   | postfix_expression '[' expression ']'
   23                   | postfix_expression '(' ')'
   24                   | postfix_expression '(' argument_expression_list ')'
   25                   | postfix_expression '.' IDENTIFIER
   26                   | postfix_expression PTR_OP IDENTIFIER
   27                   | postfix_expression INC_OP
   28                   | postfix_expression DEC_OP

   29 argument_expression_list: assignment_expression
   30                         | argument_expression_list ',' assignment_expression

   31 unary_expression: postfix_expression
   32                 | INC_OP unary_expression
   33                 | DEC_OP unary_expression
   34                 | unary_operator cast_expression
   35                 | SIZEOF unary_expression
   36                 | SIZEOF '(' type_name ')'

   37 unary_operator: '&'
   38               | '*'
   39               | '+'
   40               | '-'
   41               | '~'
   42               | '!'

   43 cast_expression: unary_expression
   44                | '(' type_name ')' cast_expression
   45                | '(' type_name ')' '{' struct_component_expression '}'

   46 multiplicative_expression: cast_expression
   47                          | multiplicative_expression '*' cast_expression
   48                          | multiplicative_expression '/' cast_expression
   49                          | multiplicative_expression '%' cast_expression

   50 additive_expression: multiplicative_expression
   51                    | additive_expression '+' multiplicative_expression
   52                    | additive_expression '-' multiplicative_expression

   53 shift_expression: additive_expression
   54                 | shift_expression LEFT_OP additive_expression
   55                 | shift_expression RIGHT_OP additive_expression

   56 relational_expression: shift_expression
   57                      | relational_expression '<' shift_expression
   58                      | relational_expression '>' shift_expression
   59                      | relational_expression LE_OP shift_expression
   60                      | relational_expression GE_OP shift_expression

   61 equality_expression: relational_expression
   62                    | equality_expression EQ_OP relational_expression
   63                    | equality_expression NE_OP relational_expression

   64 and_expression: equality_expression
   65               | and_expression '&' equality_expression

   66 exclusive_or_expression: and_expression
   67                        | exclusive_or_expression '^' and_expression

   68 inclusive_or_expression: exclusive_or_expression
   69                        | inclusive_or_expression '|' exclusive_or_expression

   70 logical_and_expression: inclusive_or_expression
   71                       | logical_and_expression AND_OP inclusive_or_expression

   72 logical_or_expression: logical_and_expression
   73                      | logical_or_expression OR_OP logical_and_expression

   74 conditional_expression: logical_or_expression
   75                       | logical_or_expression '?' expression ':' conditional_expression

   76 assignment_expression: conditional_expression
   77                      | unary_expression assignment_operator assignment_expression

   78 assignment_operator: '='
   79                    | MUL_ASSIGN
   80                    | DIV_ASSIGN
   81                    | MOD_ASSIGN
   82                    | ADD_ASSIGN
   83                    | SUB_ASSIGN
   84                    | LEFT_ASSIGN
   85                    | RIGHT_ASSIGN
   86                    | AND_ASSIGN
   87                    | XOR_ASSIGN
   88                    | OR_ASSIGN

   89 expression: assignment_expression
   90           | expression ',' assignment_expression

   91 constant_expression: conditional_expression

   92 class_name_list: IDENTIFIER
   93                | class_name_list ',' IDENTIFIER

   94 class_with_superclass: IDENTIFIER
   95                      | IDENTIFIER ':' IDENTIFIER

   96 category_name: IDENTIFIER

   97 inherited_protocols: protocol_list

   98 class_name_declaration: class_with_superclass
   99                       | class_with_superclass '<' inherited_protocols '>'
  100                       | class_with_superclass '(' category_name ')'
  101                       | class_with_superclass '<' inherited_protocols '>' '(' category_name ')'

  102 class_or_instance_method_specifier: '+'
  103                                   | '-'

  104 do_atribute_specifier: ONEWAY
  105                      | IN
  106                      | OUT
  107                      | INOUT
  108                      | BYREF
  109                      | BYCOPY

  110 objc_declaration_specifiers: do_atribute_specifier objc_declaration_specifiers
  111                            | type_name

  112 selector_argument_declaration: '(' objc_declaration_specifiers ')' IDENTIFIER

  113 selector_with_argument_declaration: IDENTIFIER
  114                                   | IDENTIFIER ':' selector_argument_declaration
  115                                   | selector_with_argument_declaration selector_component selector_argument_declaration
  116                                   | selector_with_argument_declaration ',' ELLIPSIS

  117 method_declaration: class_or_instance_method_specifier '(' objc_declaration_specifiers ')' selector_with_argument_declaration

  118 method_declaration_list: method_declaration ';'
  119                        | AT_OPTIONAL method_declaration ';'
  120                        | AT_REQUIRED method_declaration ';'
  121                        | method_declaration_list method_declaration ';'

  122 ivar_declaration_list: '{' struct_declaration_list '}'

  123 class_implementation: IDENTIFIER
  124                     | IDENTIFIER '(' category_name ')'

  125 method_implementation: method_declaration compound_statement
  126                      | method_declaration ';' compound_statement

  127 method_implementation_list: method_implementation
  128                           | method_implementation_list method_implementation

  129 objc_declaration: AT_CLASS class_name_list ';'
  130                 | AT_PROTOCOL class_name_declaration AT_END
  131                 | AT_PROTOCOL class_name_declaration method_declaration_list AT_END
  132                 | AT_INTERFACE class_name_declaration AT_END
  133                 | AT_INTERFACE class_name_declaration ivar_declaration_list method_declaration_list AT_END
  134                 | AT_INTERFACE class_name_declaration ivar_declaration_list AT_END
  135                 | AT_IMPLEMENTATION class_implementation AT_END
  136                 | AT_IMPLEMENTATION class_implementation ivar_declaration_list AT_END
  137                 | AT_IMPLEMENTATION class_implementation method_implementation_list AT_END
  138                 | AT_IMPLEMENTATION class_implementation ivar_declaration_list method_implementation_list AT_END

  139 declaration: declaration_specifiers ';'
  140            | declaration_specifiers init_declarator_list ';'
  141            | objc_declaration

  142 declaration_specifiers: storage_class_specifier
  143                       | storage_class_specifier declaration_specifiers
  144                       | type_specifier
  145                       | type_specifier declaration_specifiers
  146                       | type_qualifier
  147                       | type_qualifier declaration_specifiers

  148 init_declarator_list: init_declarator
  149                     | init_declarator_list ',' init_declarator

  150 init_declarator: declarator
  151                | declarator '=' initializer

  152 storage_class_specifier: TYPEDEF
  153                        | EXTERN
  154                        | STATIC
  155                        | AUTO
  156                        | REGISTER

  157 protocol_list: IDENTIFIER
  158              | protocol_list ',' IDENTIFIER

  159 type_specifier: VOID
  160               | CHAR
  161               | SHORT
  162               | INT
  163               | LONG
  164               | FLOAT
  165               | DOUBLE
  166               | SIGNED
  167               | UNSIGNED
  168               | struct_or_union_specifier
  169               | enum_specifier
  170               | TYPE_NAME
  171               | ID
  172               | ID '<' protocol_list '>'
  173               | SEL
  174               | BOOL
  175               | UNICHAR
  176               | CLASS

  177 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}'
  178                          | struct_or_union '{' struct_declaration_list '}'
  179                          | struct_or_union IDENTIFIER

  180 struct_or_union: STRUCT
  181                | UNION

  182 struct_declaration_list: struct_declaration
  183                        | struct_declaration_list struct_declaration

  184 property_attributes_list: IDENTIFIER
  185                         | IDENTIFIER ',' property_attributes_list

  186 struct_declaration: specifier_qualifier_list struct_declarator_list ';'
  187                   | AT_PRIVATE specifier_qualifier_list struct_declarator_list ';'
  188                   | AT_PUBLIC specifier_qualifier_list struct_declarator_list ';'
  189                   | AT_PROTECTED specifier_qualifier_list struct_declarator_list ';'
  190                   | AT_PROPERTY '(' property_attributes_list ')' specifier_qualifier_list struct_declarator_list ';'
  191                   | AT_PROPERTY specifier_qualifier_list struct_declarator_list ';'
  192                   | AT_SYNTHESIZE ivar_list ';'

  193 ivar_list: ivar_list IDENTIFIER
  194          | IDENTIFIER

  195 specifier_qualifier_list: type_specifier specifier_qualifier_list
  196                         | type_specifier
  197                         | type_qualifier specifier_qualifier_list
  198                         | type_qualifier

  199 struct_declarator_list: struct_declarator
  200                       | struct_declarator_list ',' struct_declarator

  201 struct_declarator: declarator
  202                  | ':' constant_expression
  203                  | declarator ':' constant_expression

  204 enum_specifier: ENUM '{' enumerator_list '}'
  205               | ENUM IDENTIFIER '{' enumerator_list '}'
  206               | ENUM IDENTIFIER

  207 enumerator_list: enumerator
  208                | enumerator_list ',' enumerator

  209 enumerator: IDENTIFIER
  210           | IDENTIFIER '=' constant_expression

  211 type_qualifier: CONST
  212               | VOLATILE
  213               | WEAK
  214               | STRONG

  215 declarator: pointer direct_declarator
  216           | direct_declarator

  217 direct_declarator: IDENTIFIER
  218                  | '(' declarator ')'
  219                  | direct_declarator '[' constant_expression ']'
  220                  | direct_declarator '[' ']'
  221                  | direct_declarator '(' parameter_type_list ')'
  222                  | direct_declarator '(' identifier_list ')'
  223                  | direct_declarator '(' ')'

  224 pointer: '*'
  225        | '*' type_qualifier_list
  226        | '*' pointer
  227        | '*' type_qualifier_list pointer

  228 type_qualifier_list: type_qualifier
  229                    | type_qualifier_list type_qualifier

  230 parameter_type_list: parameter_list
  231                    | parameter_list ',' ELLIPSIS

  232 parameter_list: parameter_declaration
  233               | parameter_list ',' parameter_declaration

  234 parameter_declaration: declaration_specifiers declarator
  235                      | declaration_specifiers abstract_declarator
  236                      | declaration_specifiers

  237 identifier_list: IDENTIFIER
  238                | identifier_list ',' IDENTIFIER

  239 type_name: specifier_qualifier_list
  240          | specifier_qualifier_list abstract_declarator

  241 abstract_declarator: pointer
  242                    | direct_abstract_declarator
  243                    | pointer direct_abstract_declarator

  244 direct_abstract_declarator: '(' abstract_declarator ')'
  245                           | '[' ']'
  246                           | '[' constant_expression ']'
  247                           | direct_abstract_declarator '[' ']'
  248                           | direct_abstract_declarator '[' constant_expression ']'
  249                           | '(' ')'
  250                           | '(' parameter_type_list ')'
  251                           | direct_abstract_declarator '(' ')'
  252                           | direct_abstract_declarator '(' parameter_type_list ')'

  253 initializer: assignment_expression
  254            | '{' initializer_list '}'
  255            | '{' initializer_list ',' '}'

  256 initializer_list: initializer
  257                 | initializer_list ',' initializer

  258 statement: labeled_statement
  259          | compound_statement
  260          | expression_statement
  261          | selection_statement
  262          | iteration_statement
  263          | jump_statement
  264          | AT_CATCH
  265          | AT_TRY

  266 labeled_statement: IDENTIFIER ':' statement
  267                  | CASE constant_expression ':' statement
  268                  | DEFAULT ':' statement

  269 compound_statement: '{' '}'
  270                   | '{' statement_list '}'
  271                   | '{' declaration_list '}'
  272                   | '{' declaration_list statement_list '}'

  273 declaration_list: declaration
  274                 | declaration_list declaration

  275 statement_list: statement
  276               | statement_list statement

  277 expression_statement: ';'
  278                     | expression ';'

  279 selection_statement: IF '(' expression ')' statement
  280                    | IF '(' expression ')' statement ELSE statement
  281                    | SWITCH '(' expression ')' statement

  282 iteration_statement: WHILE '(' expression ')' statement
  283                    | DO statement WHILE '(' expression ')' ';'
  284                    | FOR '(' expression_statement expression_statement ')' statement
  285                    | FOR '(' expression_statement expression_statement expression ')' statement
  286                    | FOR '(' declaration expression_statement expression ')' statement
  287                    | FOR '(' declaration IN expression ')' statement

  288 jump_statement: GOTO IDENTIFIER ';'
  289               | CONTINUE ';'
  290               | BREAK ';'
  291               | RETURN ';'
  292               | RETURN expression ';'

  293 translation_unit: external_declaration
  294                 | translation_unit external_declaration

  295 external_declaration: function_definition
  296                     | declaration

  297 function_definition: declaration_specifiers declarator declaration_list compound_statement
  298                    | declaration_specifiers declarator compound_statement
  299                    | declarator declaration_list compound_statement
  300                    | declarator compound_statement


Terminals, with rules where they appear

$end (0) 0
'!' (33) 42
'%' (37) 49
'&' (38) 37 65
'(' (40) 16 19 20 23 24 36 44 45 100 101 112 117 124 190 218 221 222
    223 244 249 250 251 252 279 280 281 282 283 284 285 286 287
')' (41) 16 19 20 23 24 36 44 45 100 101 112 117 124 190 218 221 222
    223 244 249 250 251 252 279 280 281 282 283 284 285 286 287
'*' (42) 38 47 224 225 226 227
'+' (43) 39 51 102
',' (44) 6 30 90 93 116 149 158 185 200 208 231 233 238 255 257
'-' (45) 40 52 103
'.' (46) 25
'/' (47) 48
':' (58) 1 2 4 10 11 12 75 95 114 202 203 266 267 268
';' (59) 118 119 120 121 126 129 139 140 186 187 188 189 190 191 192
    277 278 283 288 289 290 291 292
'<' (60) 57 99 101 172
'=' (61) 78 151 210
'>' (62) 58 99 101 172
'?' (63) 75
'[' (91) 18 22 219 220 245 246 247 248
']' (93) 18 22 219 220 245 246 247 248
'^' (94) 67
'{' (123) 45 122 177 178 204 205 254 255 269 270 271 272
'|' (124) 69
'}' (125) 45 122 177 178 204 205 254 255 269 270 271 272
'~' (126) 41
error (256)
IDENTIFIER (258) 1 3 4 9 11 13 25 26 92 93 94 95 96 112 113 114 123
    124 157 158 177 179 184 185 193 194 205 206 209 210 217 237 238
    266 288
CONSTANT (259) 14
STRING_LITERAL (260) 15
SIZEOF (261) 35 36
PTR_OP (262) 26
INC_OP (263) 27 32
DEC_OP (264) 28 33
LEFT_OP (265) 54
RIGHT_OP (266) 55
LE_OP (267) 59
GE_OP (268) 60
EQ_OP (269) 62
NE_OP (270) 63
AND_OP (271) 71
OR_OP (272) 73
MUL_ASSIGN (273) 79
DIV_ASSIGN (274) 80
MOD_ASSIGN (275) 81
ADD_ASSIGN (276) 82
SUB_ASSIGN (277) 83
LEFT_ASSIGN (278) 84
RIGHT_ASSIGN (279) 85
AND_ASSIGN (280) 86
XOR_ASSIGN (281) 87
OR_ASSIGN (282) 88
TYPE_NAME (283) 170
TYPEDEF (284) 152
EXTERN (285) 153
STATIC (286) 154
AUTO (287) 155
REGISTER (288) 156
CHAR (289) 160
SHORT (290) 161
INT (291) 162
LONG (292) 163
SIGNED (293) 166
UNSIGNED (294) 167
FLOAT (295) 164
DOUBLE (296) 165
CONST (297) 211
VOLATILE (298) 212
VOID (299) 159
STRUCT (300) 180
UNION (301) 181
ENUM (302) 204 205 206
ELLIPSIS (303) 6 116 231
CASE (304) 267
DEFAULT (305) 268
IF (306) 279 280
ELSE (307) 280
SWITCH (308) 281
WHILE (309) 282 283
DO (310) 283
FOR (311) 284 285 286 287
GOTO (312) 288
CONTINUE (313) 289
BREAK (314) 290
RETURN (315) 291 292
AT_STRING_LITERAL (316) 17
ID (317) 171 172
SEL (318) 173
BOOL (319) 174
UNICHAR (320) 175
CLASS (321) 176
AT_CLASS (322) 129
AT_PROTOCOL (323) 130 131
AT_INTERFACE (324) 132 133 134
AT_IMPLEMENTATION (325) 135 136 137 138
AT_END (326) 130 131 132 133 134 135 136 137 138
AT_PRIVATE (327) 187
AT_PUBLIC (328) 188
AT_PROTECTED (329) 189
AT_SELECTOR (330) 19
AT_ENCODE (331) 20
AT_CATCH (332) 264
AT_THROW (333)
AT_TRY (334) 265
IN (335) 105 287
OUT (336) 106
INOUT (337) 107
BYREF (338) 108
BYCOPY (339) 109
ONEWAY (340) 104
AT_PROPERTY (341) 190 191
AT_SYNTHESIZE (342) 192
AT_OPTIONAL (343) 119
AT_REQUIRED (344) 120
WEAK (345) 213
STRONG (346) 214


Nonterminals, with rules where they appear

$accept (116)
    on left: 0
selector_component (117)
    on left: 1 2, on right: 5 115
selector_with_arguments (118)
    on left: 3 4 5 6, on right: 5 6 18
struct_component_expression (119)
    on left: 7 8, on right: 8 45
selector (120)
    on left: 9 10 11 12, on right: 12 19
primary_expression (121)
    on left: 13 14 15 16 17 18 19 20, on right: 21
postfix_expression (122)
    on left: 21 22 23 24 25 26 27 28, on right: 22 23 24 25 26 27 28
    31
argument_expression_list (123)
    on left: 29 30, on right: 24 30
unary_expression (124)
    on left: 31 32 33 34 35 36, on right: 32 33 35 43 77
unary_operator (125)
    on left: 37 38 39 40 41 42, on right: 34
cast_expression (126)
    on left: 43 44 45, on right: 34 44 46 47 48 49
multiplicative_expression (127)
    on left: 46 47 48 49, on right: 47 48 49 50 51 52
additive_expression (128)
    on left: 50 51 52, on right: 51 52 53 54 55
shift_expression (129)
    on left: 53 54 55, on right: 54 55 56 57 58 59 60
relational_expression (130)
    on left: 56 57 58 59 60, on right: 57 58 59 60 61 62 63
equality_expression (131)
    on left: 61 62 63, on right: 62 63 64 65
and_expression (132)
    on left: 64 65, on right: 65 66 67
exclusive_or_expression (133)
    on left: 66 67, on right: 67 68 69
inclusive_or_expression (134)
    on left: 68 69, on right: 69 70 71
logical_and_expression (135)
    on left: 70 71, on right: 71 72 73
logical_or_expression (136)
    on left: 72 73, on right: 73 74 75
conditional_expression (137)
    on left: 74 75, on right: 7 8 75 76 91
assignment_expression (138)
    on left: 76 77, on right: 29 30 77 89 90 253
assignment_operator (139)
    on left: 78 79 80 81 82 83 84 85 86 87 88, on right: 77
expression (140)
    on left: 89 90, on right: 4 5 16 18 22 75 90 278 279 280 281 282
    283 285 286 287 292
constant_expression (141)
    on left: 91, on right: 202 203 210 219 246 248 267
class_name_list (142)
    on left: 92 93, on right: 93 129
class_with_superclass (143)
    on left: 94 95, on right: 98 99 100 101
category_name (144)
    on left: 96, on right: 100 101 124
inherited_protocols (145)
    on left: 97, on right: 99 101
class_name_declaration (146)
    on left: 98 99 100 101, on right: 130 131 132 133 134
class_or_instance_method_specifier (147)
    on left: 102 103, on right: 117
do_atribute_specifier (148)
    on left: 104 105 106 107 108 109, on right: 110
objc_declaration_specifiers (149)
    on left: 110 111, on right: 110 112 117
selector_argument_declaration (150)
    on left: 112, on right: 114 115
selector_with_argument_declaration (151)
    on left: 113 114 115 116, on right: 115 116 117
method_declaration (152)
    on left: 117, on right: 118 119 120 121 125 126
method_declaration_list (153)
    on left: 118 119 120 121, on right: 121 131 133
ivar_declaration_list (154)
    on left: 122, on right: 133 134 136 138
class_implementation (155)
    on left: 123 124, on right: 135 136 137 138
method_implementation (156)
    on left: 125 126, on right: 127 128
method_implementation_list (157)
    on left: 127 128, on right: 128 137 138
objc_declaration (158)
    on left: 129 130 131 132 133 134 135 136 137 138,
    on right: 141
declaration (159)
    on left: 139 140 141, on right: 273 274 286 287 296
declaration_specifiers (160)
    on left: 142 143 144 145 146 147, on right: 139 140 143 145 147
    234 235 236 297 298
init_declarator_list (161)
    on left: 148 149, on right: 140 149
init_declarator (162)
    on left: 150 151, on right: 148 149
storage_class_specifier (163)
    on left: 152 153 154 155 156, on right: 142 143
protocol_list (164)
    on left: 157 158, on right: 97 158 172
type_specifier (165)
    on left: 159 160 161 162 163 164 165 166 167 168 169 170 171 172
    173 174 175 176, on right: 144 145 195 196
struct_or_union_specifier (166)
    on left: 177 178 179, on right: 168
struct_or_union (167)
    on left: 180 181, on right: 177 178 179
struct_declaration_list (168)
    on left: 182 183, on right: 122 177 178 183
property_attributes_list (169)
    on left: 184 185, on right: 185 190
struct_declaration (170)
    on left: 186 187 188 189 190 191 192, on right: 182 183
ivar_list (171)
    on left: 193 194, on right: 192 193
specifier_qualifier_list (172)
    on left: 195 196 197 198, on right: 186 187 188 189 190 191 195
    197 239 240
struct_declarator_list (173)
    on left: 199 200, on right: 186 187 188 189 190 191 200
struct_declarator (174)
    on left: 201 202 203, on right: 199 200
enum_specifier (175)
    on left: 204 205 206, on right: 169
enumerator_list (176)
    on left: 207 208, on right: 204 205 208
enumerator (177)
    on left: 209 210, on right: 207 208
type_qualifier (178)
    on left: 211 212 213 214, on right: 146 147 197 198 228 229
declarator (179)
    on left: 215 216, on right: 150 151 201 203 218 234 297 298 299
    300
direct_declarator (180)
    on left: 217 218 219 220 221 222 223, on right: 215 216 219 220
    221 222 223
pointer (181)
    on left: 224 225 226 227, on right: 215 226 227 241 243
type_qualifier_list (182)
    on left: 228 229, on right: 225 227 229
parameter_type_list (183)
    on left: 230 231, on right: 221 250 252
parameter_list (184)
    on left: 232 233, on right: 230 231 233
parameter_declaration (185)
    on left: 234 235 236, on right: 232 233
identifier_list (186)
    on left: 237 238, on right: 222 238
type_name (187)
    on left: 239 240, on right: 20 36 44 45 111
abstract_declarator (188)
    on left: 241 242 243, on right: 235 240 244
direct_abstract_declarator (189)
    on left: 244 245 246 247 248 249 250 251 252, on right: 242 243
    247 248 251 252
initializer (190)
    on left: 253 254 255, on right: 151 256 257
initializer_list (191)
    on left: 256 257, on right: 254 255 257
statement (192)
    on left: 258 259 260 261 262 263 264 265, on right: 266 267 268
    275 276 279 280 281 282 283 284 285 286 287
labeled_statement (193)
    on left: 266 267 268, on right: 258
compound_statement (194)
    on left: 269 270 271 272, on right: 125 126 259 297 298 299 300
declaration_list (195)
    on left: 273 274, on right: 271 272 274 297 299
statement_list (196)
    on left: 275 276, on right: 270 272 276
expression_statement (197)
    on left: 277 278, on right: 260 284 285 286
selection_statement (198)
    on left: 279 280 281, on right: 261
iteration_statement (199)
    on left: 282 283 284 285 286 287, on right: 262
jump_statement (200)
    on left: 288 289 290 291 292, on right: 263
translation_unit (201)
    on left: 293 294, on right: 0 294
external_declaration (202)
    on left: 295 296, on right: 293 294
function_definition (203)
    on left: 297 298 299 300, on right: 295


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
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '('                shift, and go to state 33
    '*'                shift, and go to state 34

    objc_declaration           go to state 35
    declaration                go to state 36
    declaration_specifiers     go to state 37
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    declarator                 go to state 44
    direct_declarator          go to state 45
    pointer                    go to state 46
    translation_unit           go to state 47
    external_declaration       go to state 48
    function_definition        go to state 49


state 1

  217 direct_declarator: IDENTIFIER .

    $default  reduce using rule 217 (direct_declarator)


state 2

  170 type_specifier: TYPE_NAME .

    $default  reduce using rule 170 (type_specifier)


state 3

  152 storage_class_specifier: TYPEDEF .

    $default  reduce using rule 152 (storage_class_specifier)


state 4

  153 storage_class_specifier: EXTERN .

    $default  reduce using rule 153 (storage_class_specifier)


state 5

  154 storage_class_specifier: STATIC .

    $default  reduce using rule 154 (storage_class_specifier)


state 6

  155 storage_class_specifier: AUTO .

    $default  reduce using rule 155 (storage_class_specifier)


state 7

  156 storage_class_specifier: REGISTER .

    $default  reduce using rule 156 (storage_class_specifier)


state 8

  160 type_specifier: CHAR .

    $default  reduce using rule 160 (type_specifier)


state 9

  161 type_specifier: SHORT .

    $default  reduce using rule 161 (type_specifier)


state 10

  162 type_specifier: INT .

    $default  reduce using rule 162 (type_specifier)


state 11

  163 type_specifier: LONG .

    $default  reduce using rule 163 (type_specifier)


state 12

  166 type_specifier: SIGNED .

    $default  reduce using rule 166 (type_specifier)


state 13

  167 type_specifier: UNSIGNED .

    $default  reduce using rule 167 (type_specifier)


state 14

  164 type_specifier: FLOAT .

    $default  reduce using rule 164 (type_specifier)


state 15

  165 type_specifier: DOUBLE .

    $default  reduce using rule 165 (type_specifier)


state 16

  211 type_qualifier: CONST .

    $default  reduce using rule 211 (type_qualifier)


state 17

  212 type_qualifier: VOLATILE .

    $default  reduce using rule 212 (type_qualifier)


state 18

  159 type_specifier: VOID .

    $default  reduce using rule 159 (type_specifier)


state 19

  180 struct_or_union: STRUCT .

    $default  reduce using rule 180 (struct_or_union)


state 20

  181 struct_or_union: UNION .

    $default  reduce using rule 181 (struct_or_union)


state 21

  204 enum_specifier: ENUM . '{' enumerator_list '}'
  205               | ENUM . IDENTIFIER '{' enumerator_list '}'
  206               | ENUM . IDENTIFIER

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


state 22

  171 type_specifier: ID .
  172               | ID . '<' protocol_list '>'

    '<'  shift, and go to state 52

    $default  reduce using rule 171 (type_specifier)


state 23

  173 type_specifier: SEL .

    $default  reduce using rule 173 (type_specifier)


state 24

  174 type_specifier: BOOL .

    $default  reduce using rule 174 (type_specifier)


state 25

  175 type_specifier: UNICHAR .

    $default  reduce using rule 175 (type_specifier)


state 26

  176 type_specifier: CLASS .

    $default  reduce using rule 176 (type_specifier)


state 27

  129 objc_declaration: AT_CLASS . class_name_list ';'

    IDENTIFIER  shift, and go to state 53

    class_name_list  go to state 54


state 28

  130 objc_declaration: AT_PROTOCOL . class_name_declaration AT_END
  131                 | AT_PROTOCOL . class_name_declaration method_declaration_list AT_END

    IDENTIFIER  shift, and go to state 55

    class_with_superclass   go to state 56
    class_name_declaration  go to state 57


state 29

  132 objc_declaration: AT_INTERFACE . class_name_declaration AT_END
  133                 | AT_INTERFACE . class_name_declaration ivar_declaration_list method_declaration_list AT_END
  134                 | AT_INTERFACE . class_name_declaration ivar_declaration_list AT_END

    IDENTIFIER  shift, and go to state 55

    class_with_superclass   go to state 56
    class_name_declaration  go to state 58


state 30

  135 objc_declaration: AT_IMPLEMENTATION . class_implementation AT_END
  136                 | AT_IMPLEMENTATION . class_implementation ivar_declaration_list AT_END
  137                 | AT_IMPLEMENTATION . class_implementation method_implementation_list AT_END
  138                 | AT_IMPLEMENTATION . class_implementation ivar_declaration_list method_implementation_list AT_END

    IDENTIFIER  shift, and go to state 59

    class_implementation  go to state 60


state 31

  213 type_qualifier: WEAK .

    $default  reduce using rule 213 (type_qualifier)


state 32

  214 type_qualifier: STRONG .

    $default  reduce using rule 214 (type_qualifier)


state 33

  218 direct_declarator: '(' . declarator ')'

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    declarator         go to state 61
    direct_declarator  go to state 45
    pointer            go to state 46


state 34

  224 pointer: '*' .
  225        | '*' . type_qualifier_list
  226        | '*' . pointer
  227        | '*' . type_qualifier_list pointer

    CONST     shift, and go to state 16
    VOLATILE  shift, and go to state 17
    WEAK      shift, and go to state 31
    STRONG    shift, and go to state 32
    '*'       shift, and go to state 34

    $default  reduce using rule 224 (pointer)

    type_qualifier       go to state 62
    pointer              go to state 63
    type_qualifier_list  go to state 64


state 35

  141 declaration: objc_declaration .

    $default  reduce using rule 141 (declaration)


state 36

  296 external_declaration: declaration .

    $default  reduce using rule 296 (external_declaration)


state 37

  139 declaration: declaration_specifiers . ';'
  140            | declaration_specifiers . init_declarator_list ';'
  297 function_definition: declaration_specifiers . declarator declaration_list compound_statement
  298                    | declaration_specifiers . declarator compound_statement

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 33
    '*'         shift, and go to state 34
    ';'         shift, and go to state 65

    init_declarator_list  go to state 66
    init_declarator       go to state 67
    declarator            go to state 68
    direct_declarator     go to state 45
    pointer               go to state 46


state 38

  142 declaration_specifiers: storage_class_specifier .
  143                       | 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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    $default  reduce using rule 142 (declaration_specifiers)

    declaration_specifiers     go to state 69
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43


state 39

  144 declaration_specifiers: type_specifier .
  145                       | 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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    $default  reduce using rule 144 (declaration_specifiers)

    declaration_specifiers     go to state 70
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43


state 40

  168 type_specifier: struct_or_union_specifier .

    $default  reduce using rule 168 (type_specifier)


state 41

  177 struct_or_union_specifier: struct_or_union . IDENTIFIER '{' struct_declaration_list '}'
  178                          | struct_or_union . '{' struct_declaration_list '}'
  179                          | struct_or_union . IDENTIFIER

    IDENTIFIER  shift, and go to state 71
    '{'         shift, and go to state 72


state 42

  169 type_specifier: enum_specifier .

    $default  reduce using rule 169 (type_specifier)


state 43

  146 declaration_specifiers: type_qualifier .
  147                       | 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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    $default  reduce using rule 146 (declaration_specifiers)

    declaration_specifiers     go to state 73
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43


state 44

  299 function_definition: declarator . declaration_list compound_statement
  300                    | 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
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '{'                shift, and go to state 74

    objc_declaration           go to state 35
    declaration                go to state 75
    declaration_specifiers     go to state 76
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    compound_statement         go to state 77
    declaration_list           go to state 78


state 45

  216 declarator: direct_declarator .
  219 direct_declarator: direct_declarator . '[' constant_expression ']'
  220                  | direct_declarator . '[' ']'
  221                  | direct_declarator . '(' parameter_type_list ')'
  222                  | direct_declarator . '(' identifier_list ')'
  223                  | direct_declarator . '(' ')'

    '('  shift, and go to state 79
    '['  shift, and go to state 80

    $default  reduce using rule 216 (declarator)


state 46

  215 declarator: pointer . direct_declarator

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

    direct_declarator  go to state 81


state 47

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

    $end               shift, and go to state 82
    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
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '('                shift, and go to state 33
    '*'                shift, and go to state 34

    objc_declaration           go to state 35
    declaration                go to state 36
    declaration_specifiers     go to state 37
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    declarator                 go to state 44
    direct_declarator          go to state 45
    pointer                    go to state 46
    external_declaration       go to state 83
    function_definition        go to state 49


state 48

  293 translation_unit: external_declaration .

    $default  reduce using rule 293 (translation_unit)


state 49

  295 external_declaration: function_definition .

    $default  reduce using rule 295 (external_declaration)


state 50

  205 enum_specifier: ENUM IDENTIFIER . '{' enumerator_list '}'
  206               | ENUM IDENTIFIER .

    '{'  shift, and go to state 84

    $default  reduce using rule 206 (enum_specifier)


state 51

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

    IDENTIFIER  shift, and go to state 85

    enumerator_list  go to state 86
    enumerator       go to state 87


state 52

  172 type_specifier: ID '<' . protocol_list '>'

    IDENTIFIER  shift, and go to state 88

    protocol_list  go to state 89


state 53

   92 class_name_list: IDENTIFIER .

    $default  reduce using rule 92 (class_name_list)


state 54

   93 class_name_list: class_name_list . ',' IDENTIFIER
  129 objc_declaration: AT_CLASS class_name_list . ';'

    ','  shift, and go to state 90
    ';'  shift, and go to state 91


state 55

   94 class_with_superclass: IDENTIFIER .
   95                      | IDENTIFIER . ':' IDENTIFIER

    ':'  shift, and go to state 92

    $default  reduce using rule 94 (class_with_superclass)


state 56

   98 class_name_declaration: class_with_superclass .
   99                       | class_with_superclass . '<' inherited_protocols '>'
  100                       | class_with_superclass . '(' category_name ')'
  101                       | class_with_superclass . '<' inherited_protocols '>' '(' category_name ')'

    '('  shift, and go to state 93
    '<'  shift, and go to state 94

    $default  reduce using rule 98 (class_name_declaration)


state 57

  130 objc_declaration: AT_PROTOCOL class_name_declaration . AT_END
  131                 | AT_PROTOCOL class_name_declaration . method_declaration_list AT_END

    AT_END       shift, and go to state 95
    AT_OPTIONAL  shift, and go to state 96
    AT_REQUIRED  shift, and go to state 97
    '+'          shift, and go to state 98
    '-'          shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 101
    method_declaration_list             go to state 102


state 58

  132 objc_declaration: AT_INTERFACE class_name_declaration . AT_END
  133                 | AT_INTERFACE class_name_declaration . ivar_declaration_list method_declaration_list AT_END
  134                 | AT_INTERFACE class_name_declaration . ivar_declaration_list AT_END

    AT_END  shift, and go to state 103
    '{'     shift, and go to state 104

    ivar_declaration_list  go to state 105


state 59

  123 class_implementation: IDENTIFIER .
  124                     | IDENTIFIER . '(' category_name ')'

    '('  shift, and go to state 106

    $default  reduce using rule 123 (class_implementation)


state 60

  135 objc_declaration: AT_IMPLEMENTATION class_implementation . AT_END
  136                 | AT_IMPLEMENTATION class_implementation . ivar_declaration_list AT_END
  137                 | AT_IMPLEMENTATION class_implementation . method_implementation_list AT_END
  138                 | AT_IMPLEMENTATION class_implementation . ivar_declaration_list method_implementation_list AT_END

    AT_END  shift, and go to state 107
    '+'     shift, and go to state 98
    '-'     shift, and go to state 99
    '{'     shift, and go to state 104

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 108
    ivar_declaration_list               go to state 109
    method_implementation               go to state 110
    method_implementation_list          go to state 111


state 61

  218 direct_declarator: '(' declarator . ')'

    ')'  shift, and go to state 112


state 62

  228 type_qualifier_list: type_qualifier .

    $default  reduce using rule 228 (type_qualifier_list)


state 63

  226 pointer: '*' pointer .

    $default  reduce using rule 226 (pointer)


state 64

  225 pointer: '*' type_qualifier_list .
  227        | '*' type_qualifier_list . pointer
  229 type_qualifier_list: type_qualifier_list . type_qualifier

    CONST     shift, and go to state 16
    VOLATILE  shift, and go to state 17
    WEAK      shift, and go to state 31
    STRONG    shift, and go to state 32
    '*'       shift, and go to state 34

    $default  reduce using rule 225 (pointer)

    type_qualifier  go to state 113
    pointer         go to state 114


state 65

  139 declaration: declaration_specifiers ';' .

    $default  reduce using rule 139 (declaration)


state 66

  140 declaration: declaration_specifiers init_declarator_list . ';'
  149 init_declarator_list: init_declarator_list . ',' init_declarator

    ','  shift, and go to state 115
    ';'  shift, and go to state 116


state 67

  148 init_declarator_list: init_declarator .

    $default  reduce using rule 148 (init_declarator_list)


state 68

  150 init_declarator: declarator .
  151                | declarator . '=' initializer
  297 function_definition: declaration_specifiers declarator . declaration_list compound_statement
  298                    | 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
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '{'                shift, and go to state 74
    '='                shift, and go to state 117

    $default  reduce using rule 150 (init_declarator)

    objc_declaration           go to state 35
    declaration                go to state 75
    declaration_specifiers     go to state 76
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    compound_statement         go to state 118
    declaration_list           go to state 119


state 69

  143 declaration_specifiers: storage_class_specifier declaration_specifiers .

    $default  reduce using rule 143 (declaration_specifiers)


state 70

  145 declaration_specifiers: type_specifier declaration_specifiers .

    $default  reduce using rule 145 (declaration_specifiers)


state 71

  177 struct_or_union_specifier: struct_or_union IDENTIFIER . '{' struct_declaration_list '}'
  179                          | struct_or_union IDENTIFIER .

    '{'  shift, and go to state 120

    $default  reduce using rule 179 (struct_or_union_specifier)


state 72

  178 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
    ID             shift, and go to state 22
    SEL            shift, and go to state 23
    BOOL           shift, and go to state 24
    UNICHAR        shift, and go to state 25
    CLASS          shift, and go to state 26
    AT_PRIVATE     shift, and go to state 121
    AT_PUBLIC      shift, and go to state 122
    AT_PROTECTED   shift, and go to state 123
    AT_PROPERTY    shift, and go to state 124
    AT_SYNTHESIZE  shift, and go to state 125
    WEAK           shift, and go to state 31
    STRONG         shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    struct_declaration_list    go to state 127
    struct_declaration         go to state 128
    specifier_qualifier_list   go to state 129
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 73

  147 declaration_specifiers: type_qualifier declaration_specifiers .

    $default  reduce using rule 147 (declaration_specifiers)


state 74

  269 compound_statement: '{' . '}'
  270                   | '{' . statement_list '}'
  271                   | '{' . declaration_list '}'
  272                   | '{' . declaration_list statement_list '}'

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    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 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    '}'                shift, and go to state 161
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    objc_declaration           go to state 35
    declaration                go to state 75
    declaration_specifiers     go to state 76
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    statement                  go to state 181
    labeled_statement          go to state 182
    compound_statement         go to state 183
    declaration_list           go to state 184
    statement_list             go to state 185
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 75

  273 declaration_list: declaration .

    $default  reduce using rule 273 (declaration_list)


state 76

  139 declaration: declaration_specifiers . ';'
  140            | declaration_specifiers . init_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 33
    '*'         shift, and go to state 34
    ';'         shift, and go to state 65

    init_declarator_list  go to state 66
    init_declarator       go to state 67
    declarator            go to state 190
    direct_declarator     go to state 45
    pointer               go to state 46


state 77

  300 function_definition: declarator compound_statement .

    $default  reduce using rule 300 (function_definition)


state 78

  274 declaration_list: declaration_list . declaration
  299 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
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '{'                shift, and go to state 74

    objc_declaration           go to state 35
    declaration                go to state 191
    declaration_specifiers     go to state 76
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    compound_statement         go to state 192


state 79

  221 direct_declarator: direct_declarator '(' . parameter_type_list ')'
  222                  | direct_declarator '(' . identifier_list ')'
  223                  | direct_declarator '(' . ')'

    IDENTIFIER  shift, and go to state 193
    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
    ID          shift, and go to state 22
    SEL         shift, and go to state 23
    BOOL        shift, and go to state 24
    UNICHAR     shift, and go to state 25
    CLASS       shift, and go to state 26
    WEAK        shift, and go to state 31
    STRONG      shift, and go to state 32
    ')'         shift, and go to state 194

    declaration_specifiers     go to state 195
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    parameter_type_list        go to state 196
    parameter_list             go to state 197
    parameter_declaration      go to state 198
    identifier_list            go to state 199


state 80

  219 direct_declarator: direct_declarator '[' . constant_expression ']'
  220                  | direct_declarator '[' . ']'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    ']'                shift, and go to state 201
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 203
    constant_expression        go to state 204


state 81

  215 declarator: pointer direct_declarator .
  219 direct_declarator: direct_declarator . '[' constant_expression ']'
  220                  | direct_declarator . '[' ']'
  221                  | direct_declarator . '(' parameter_type_list ')'
  222                  | direct_declarator . '(' identifier_list ')'
  223                  | direct_declarator . '(' ')'

    '('  shift, and go to state 79
    '['  shift, and go to state 80

    $default  reduce using rule 215 (declarator)


state 82

    0 $accept: translation_unit $end .

    $default  accept


state 83

  294 translation_unit: translation_unit external_declaration .

    $default  reduce using rule 294 (translation_unit)


state 84

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

    IDENTIFIER  shift, and go to state 85

    enumerator_list  go to state 205
    enumerator       go to state 87


state 85

  209 enumerator: IDENTIFIER .
  210           | IDENTIFIER . '=' constant_expression

    '='  shift, and go to state 206

    $default  reduce using rule 209 (enumerator)


state 86

  204 enum_specifier: ENUM '{' enumerator_list . '}'
  208 enumerator_list: enumerator_list . ',' enumerator

    ','  shift, and go to state 207
    '}'  shift, and go to state 208


state 87

  207 enumerator_list: enumerator .

    $default  reduce using rule 207 (enumerator_list)


state 88

  157 protocol_list: IDENTIFIER .

    $default  reduce using rule 157 (protocol_list)


state 89

  158 protocol_list: protocol_list . ',' IDENTIFIER
  172 type_specifier: ID '<' protocol_list . '>'

    ','  shift, and go to state 209
    '>'  shift, and go to state 210


state 90

   93 class_name_list: class_name_list ',' . IDENTIFIER

    IDENTIFIER  shift, and go to state 211


state 91

  129 objc_declaration: AT_CLASS class_name_list ';' .

    $default  reduce using rule 129 (objc_declaration)


state 92

   95 class_with_superclass: IDENTIFIER ':' . IDENTIFIER

    IDENTIFIER  shift, and go to state 212


state 93

  100 class_name_declaration: class_with_superclass '(' . category_name ')'

    IDENTIFIER  shift, and go to state 213

    category_name  go to state 214


state 94

   99 class_name_declaration: class_with_superclass '<' . inherited_protocols '>'
  101                       | class_with_superclass '<' . inherited_protocols '>' '(' category_name ')'

    IDENTIFIER  shift, and go to state 88

    inherited_protocols  go to state 215
    protocol_list        go to state 216


state 95

  130 objc_declaration: AT_PROTOCOL class_name_declaration AT_END .

    $default  reduce using rule 130 (objc_declaration)


state 96

  119 method_declaration_list: AT_OPTIONAL . method_declaration ';'

    '+'  shift, and go to state 98
    '-'  shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 217


state 97

  120 method_declaration_list: AT_REQUIRED . method_declaration ';'

    '+'  shift, and go to state 98
    '-'  shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 218


state 98

  102 class_or_instance_method_specifier: '+' .

    $default  reduce using rule 102 (class_or_instance_method_specifier)


state 99

  103 class_or_instance_method_specifier: '-' .

    $default  reduce using rule 103 (class_or_instance_method_specifier)


state 100

  117 method_declaration: class_or_instance_method_specifier . '(' objc_declaration_specifiers ')' selector_with_argument_declaration

    '('  shift, and go to state 219


state 101

  118 method_declaration_list: method_declaration . ';'

    ';'  shift, and go to state 220


state 102

  121 method_declaration_list: method_declaration_list . method_declaration ';'
  131 objc_declaration: AT_PROTOCOL class_name_declaration method_declaration_list . AT_END

    AT_END  shift, and go to state 221
    '+'     shift, and go to state 98
    '-'     shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 222


state 103

  132 objc_declaration: AT_INTERFACE class_name_declaration AT_END .

    $default  reduce using rule 132 (objc_declaration)


state 104

  122 ivar_declaration_list: '{' . 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
    ID             shift, and go to state 22
    SEL            shift, and go to state 23
    BOOL           shift, and go to state 24
    UNICHAR        shift, and go to state 25
    CLASS          shift, and go to state 26
    AT_PRIVATE     shift, and go to state 121
    AT_PUBLIC      shift, and go to state 122
    AT_PROTECTED   shift, and go to state 123
    AT_PROPERTY    shift, and go to state 124
    AT_SYNTHESIZE  shift, and go to state 125
    WEAK           shift, and go to state 31
    STRONG         shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    struct_declaration_list    go to state 223
    struct_declaration         go to state 128
    specifier_qualifier_list   go to state 129
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 105

  133 objc_declaration: AT_INTERFACE class_name_declaration ivar_declaration_list . method_declaration_list AT_END
  134                 | AT_INTERFACE class_name_declaration ivar_declaration_list . AT_END

    AT_END       shift, and go to state 224
    AT_OPTIONAL  shift, and go to state 96
    AT_REQUIRED  shift, and go to state 97
    '+'          shift, and go to state 98
    '-'          shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 101
    method_declaration_list             go to state 225


state 106

  124 class_implementation: IDENTIFIER '(' . category_name ')'

    IDENTIFIER  shift, and go to state 213

    category_name  go to state 226


state 107

  135 objc_declaration: AT_IMPLEMENTATION class_implementation AT_END .

    $default  reduce using rule 135 (objc_declaration)


state 108

  125 method_implementation: method_declaration . compound_statement
  126                      | method_declaration . ';' compound_statement

    '{'  shift, and go to state 74
    ';'  shift, and go to state 227

    compound_statement  go to state 228


state 109

  136 objc_declaration: AT_IMPLEMENTATION class_implementation ivar_declaration_list . AT_END
  138                 | AT_IMPLEMENTATION class_implementation ivar_declaration_list . method_implementation_list AT_END

    AT_END  shift, and go to state 229
    '+'     shift, and go to state 98
    '-'     shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 108
    method_implementation               go to state 110
    method_implementation_list          go to state 230


state 110

  127 method_implementation_list: method_implementation .

    $default  reduce using rule 127 (method_implementation_list)


state 111

  128 method_implementation_list: method_implementation_list . method_implementation
  137 objc_declaration: AT_IMPLEMENTATION class_implementation method_implementation_list . AT_END

    AT_END  shift, and go to state 231
    '+'     shift, and go to state 98
    '-'     shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 108
    method_implementation               go to state 232


state 112

  218 direct_declarator: '(' declarator ')' .

    $default  reduce using rule 218 (direct_declarator)


state 113

  229 type_qualifier_list: type_qualifier_list type_qualifier .

    $default  reduce using rule 229 (type_qualifier_list)


state 114

  227 pointer: '*' type_qualifier_list pointer .

    $default  reduce using rule 227 (pointer)


state 115

  149 init_declarator_list: init_declarator_list ',' . init_declarator

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    init_declarator    go to state 233
    declarator         go to state 190
    direct_declarator  go to state 45
    pointer            go to state 46


state 116

  140 declaration: declaration_specifiers init_declarator_list ';' .

    $default  reduce using rule 140 (declaration)


state 117

  151 init_declarator: declarator '=' . initializer

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 234

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 235
    initializer                go to state 236


state 118

  298 function_definition: declaration_specifiers declarator compound_statement .

    $default  reduce using rule 298 (function_definition)


state 119

  274 declaration_list: declaration_list . declaration
  297 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
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '{'                shift, and go to state 74

    objc_declaration           go to state 35
    declaration                go to state 191
    declaration_specifiers     go to state 76
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    compound_statement         go to state 237


state 120

  177 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
    ID             shift, and go to state 22
    SEL            shift, and go to state 23
    BOOL           shift, and go to state 24
    UNICHAR        shift, and go to state 25
    CLASS          shift, and go to state 26
    AT_PRIVATE     shift, and go to state 121
    AT_PUBLIC      shift, and go to state 122
    AT_PROTECTED   shift, and go to state 123
    AT_PROPERTY    shift, and go to state 124
    AT_SYNTHESIZE  shift, and go to state 125
    WEAK           shift, and go to state 31
    STRONG         shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    struct_declaration_list    go to state 238
    struct_declaration         go to state 128
    specifier_qualifier_list   go to state 129
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 121

  187 struct_declaration: AT_PRIVATE . specifier_qualifier_list struct_declarator_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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 239
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 122

  188 struct_declaration: AT_PUBLIC . specifier_qualifier_list struct_declarator_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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 240
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 123

  189 struct_declaration: AT_PROTECTED . specifier_qualifier_list struct_declarator_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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 241
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 124

  190 struct_declaration: AT_PROPERTY . '(' property_attributes_list ')' specifier_qualifier_list struct_declarator_list ';'
  191                   | AT_PROPERTY . specifier_qualifier_list struct_declarator_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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32
    '('        shift, and go to state 242

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 243
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 125

  192 struct_declaration: AT_SYNTHESIZE . ivar_list ';'

    IDENTIFIER  shift, and go to state 244

    ivar_list  go to state 245


state 126

  195 specifier_qualifier_list: type_specifier . specifier_qualifier_list
  196                         | 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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    $default  reduce using rule 196 (specifier_qualifier_list)

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 246
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 127

  178 struct_or_union_specifier: struct_or_union '{' struct_declaration_list . '}'
  183 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
    ID             shift, and go to state 22
    SEL            shift, and go to state 23
    BOOL           shift, and go to state 24
    UNICHAR        shift, and go to state 25
    CLASS          shift, and go to state 26
    AT_PRIVATE     shift, and go to state 121
    AT_PUBLIC      shift, and go to state 122
    AT_PROTECTED   shift, and go to state 123
    AT_PROPERTY    shift, and go to state 124
    AT_SYNTHESIZE  shift, and go to state 125
    WEAK           shift, and go to state 31
    STRONG         shift, and go to state 32
    '}'            shift, and go to state 247

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    struct_declaration         go to state 248
    specifier_qualifier_list   go to state 129
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 128

  182 struct_declaration_list: struct_declaration .

    $default  reduce using rule 182 (struct_declaration_list)


state 129

  186 struct_declaration: specifier_qualifier_list . struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    ':'         shift, and go to state 249
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    struct_declarator_list  go to state 250
    struct_declarator       go to state 251
    declarator              go to state 252
    direct_declarator       go to state 45
    pointer                 go to state 46


state 130

  197 specifier_qualifier_list: type_qualifier . specifier_qualifier_list
  198                         | 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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    $default  reduce using rule 198 (specifier_qualifier_list)

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 253
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 131

   13 primary_expression: IDENTIFIER .
  266 labeled_statement: IDENTIFIER . ':' statement

    ':'  shift, and go to state 254

    $default  reduce using rule 13 (primary_expression)


state 132

   14 primary_expression: CONSTANT .

    $default  reduce using rule 14 (primary_expression)


state 133

   15 primary_expression: STRING_LITERAL .

    $default  reduce using rule 15 (primary_expression)


state 134

   35 unary_expression: SIZEOF . unary_expression
   36                 | SIZEOF . '(' type_name ')'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 255
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 256
    unary_operator      go to state 166


state 135

   32 unary_expression: INC_OP . unary_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 257
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 258
    unary_operator      go to state 166


state 136

   33 unary_expression: DEC_OP . unary_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 257
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 259
    unary_operator      go to state 166


state 137

  267 labeled_statement: CASE . constant_expression ':' statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 203
    constant_expression        go to state 260


state 138

  268 labeled_statement: DEFAULT . ':' statement

    ':'  shift, and go to state 261


state 139

  279 selection_statement: IF . '(' expression ')' statement
  280                    | IF . '(' expression ')' statement ELSE statement

    '('  shift, and go to state 262


state 140

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

    '('  shift, and go to state 263


state 141

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

    '('  shift, and go to state 264


state 142

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

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 265
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 143

  284 iteration_statement: FOR . '(' expression_statement expression_statement ')' statement
  285                    | FOR . '(' expression_statement expression_statement expression ')' statement
  286                    | FOR . '(' declaration expression_statement expression ')' statement
  287                    | FOR . '(' declaration IN expression ')' statement

    '('  shift, and go to state 266


state 144

  288 jump_statement: GOTO . IDENTIFIER ';'

    IDENTIFIER  shift, and go to state 267


state 145

  289 jump_statement: CONTINUE . ';'

    ';'  shift, and go to state 268


state 146

  290 jump_statement: BREAK . ';'

    ';'  shift, and go to state 269


state 147

  291 jump_statement: RETURN . ';'
  292               | RETURN . expression ';'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    ';'                shift, and go to state 270

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 271


state 148

   17 primary_expression: AT_STRING_LITERAL .

    $default  reduce using rule 17 (primary_expression)


state 149

   19 primary_expression: AT_SELECTOR . '(' selector ')'

    '('  shift, and go to state 272


state 150

   20 primary_expression: AT_ENCODE . '(' type_name ')'

    '('  shift, and go to state 273


state 151

  264 statement: AT_CATCH .

    $default  reduce using rule 264 (statement)


state 152

  265 statement: AT_TRY .

    $default  reduce using rule 265 (statement)


state 153

   16 primary_expression: '(' . expression ')'
   44 cast_expression: '(' . type_name ')' cast_expression
   45                | '(' . type_name ')' '{' struct_component_expression '}'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    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
    AT_STRING_LITERAL  shift, and go to state 148
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 274
    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 275
    enum_specifier             go to state 42
    type_qualifier             go to state 130
    type_name                  go to state 276


state 154

   18 primary_expression: '[' . expression selector_with_arguments ']'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 277


state 155

   37 unary_operator: '&' .

    $default  reduce using rule 37 (unary_operator)


state 156

   38 unary_operator: '*' .

    $default  reduce using rule 38 (unary_operator)


state 157

   39 unary_operator: '+' .

    $default  reduce using rule 39 (unary_operator)


state 158

   40 unary_operator: '-' .

    $default  reduce using rule 40 (unary_operator)


state 159

   41 unary_operator: '~' .

    $default  reduce using rule 41 (unary_operator)


state 160

   42 unary_operator: '!' .

    $default  reduce using rule 42 (unary_operator)


state 161

  269 compound_statement: '{' '}' .

    $default  reduce using rule 269 (compound_statement)


state 162

  277 expression_statement: ';' .

    $default  reduce using rule 277 (expression_statement)


state 163

   21 postfix_expression: primary_expression .

    $default  reduce using rule 21 (postfix_expression)


state 164

   22 postfix_expression: postfix_expression . '[' expression ']'
   23                   | postfix_expression . '(' ')'
   24                   | postfix_expression . '(' argument_expression_list ')'
   25                   | postfix_expression . '.' IDENTIFIER
   26                   | postfix_expression . PTR_OP IDENTIFIER
   27                   | postfix_expression . INC_OP
   28                   | postfix_expression . DEC_OP
   31 unary_expression: postfix_expression .

    PTR_OP  shift, and go to state 278
    INC_OP  shift, and go to state 279
    DEC_OP  shift, and go to state 280
    '('     shift, and go to state 281
    '['     shift, and go to state 282
    '.'     shift, and go to state 283

    INC_OP    [reduce using rule 31 (unary_expression)]
    DEC_OP    [reduce using rule 31 (unary_expression)]
    '('       [reduce using rule 31 (unary_expression)]
    '['       [reduce using rule 31 (unary_expression)]
    $default  reduce using rule 31 (unary_expression)


state 165

   43 cast_expression: unary_expression .
   77 assignment_expression: unary_expression . assignment_operator assignment_expression

    MUL_ASSIGN    shift, and go to state 284
    DIV_ASSIGN    shift, and go to state 285
    MOD_ASSIGN    shift, and go to state 286
    ADD_ASSIGN    shift, and go to state 287
    SUB_ASSIGN    shift, and go to state 288
    LEFT_ASSIGN   shift, and go to state 289
    RIGHT_ASSIGN  shift, and go to state 290
    AND_ASSIGN    shift, and go to state 291
    XOR_ASSIGN    shift, and go to state 292
    OR_ASSIGN     shift, and go to state 293
    '='           shift, and go to state 294

    $default  reduce using rule 43 (cast_expression)

    assignment_operator  go to state 295


state 166

   34 unary_expression: unary_operator . cast_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 202
    unary_operator      go to state 166
    cast_expression     go to state 296


state 167

   46 multiplicative_expression: cast_expression .

    $default  reduce using rule 46 (multiplicative_expression)


state 168

   47 multiplicative_expression: multiplicative_expression . '*' cast_expression
   48                          | multiplicative_expression . '/' cast_expression
   49                          | multiplicative_expression . '%' cast_expression
   50 additive_expression: multiplicative_expression .

    '*'  shift, and go to state 297
    '/'  shift, and go to state 298
    '%'  shift, and go to state 299

    '*'       [reduce using rule 50 (additive_expression)]
    $default  reduce using rule 50 (additive_expression)


state 169

   51 additive_expression: additive_expression . '+' multiplicative_expression
   52                    | additive_expression . '-' multiplicative_expression
   53 shift_expression: additive_expression .

    '+'  shift, and go to state 300
    '-'  shift, and go to state 301

    '+'       [reduce using rule 53 (shift_expression)]
    '-'       [reduce using rule 53 (shift_expression)]
    $default  reduce using rule 53 (shift_expression)


state 170

   54 shift_expression: shift_expression . LEFT_OP additive_expression
   55                 | shift_expression . RIGHT_OP additive_expression
   56 relational_expression: shift_expression .

    LEFT_OP   shift, and go to state 302
    RIGHT_OP  shift, and go to state 303

    $default  reduce using rule 56 (relational_expression)


state 171

   57 relational_expression: relational_expression . '<' shift_expression
   58                      | relational_expression . '>' shift_expression
   59                      | relational_expression . LE_OP shift_expression
   60                      | relational_expression . GE_OP shift_expression
   61 equality_expression: relational_expression .

    LE_OP  shift, and go to state 304
    GE_OP  shift, and go to state 305
    '<'    shift, and go to state 306
    '>'    shift, and go to state 307

    $default  reduce using rule 61 (equality_expression)


state 172

   62 equality_expression: equality_expression . EQ_OP relational_expression
   63                    | equality_expression . NE_OP relational_expression
   64 and_expression: equality_expression .

    EQ_OP  shift, and go to state 308
    NE_OP  shift, and go to state 309

    $default  reduce using rule 64 (and_expression)


state 173

   65 and_expression: and_expression . '&' equality_expression
   66 exclusive_or_expression: and_expression .

    '&'  shift, and go to state 310

    '&'       [reduce using rule 66 (exclusive_or_expression)]
    $default  reduce using rule 66 (exclusive_or_expression)


state 174

   67 exclusive_or_expression: exclusive_or_expression . '^' and_expression
   68 inclusive_or_expression: exclusive_or_expression .

    '^'  shift, and go to state 311

    $default  reduce using rule 68 (inclusive_or_expression)


state 175

   69 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression
   70 logical_and_expression: inclusive_or_expression .

    '|'  shift, and go to state 312

    $default  reduce using rule 70 (logical_and_expression)


state 176

   71 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression
   72 logical_or_expression: logical_and_expression .

    AND_OP  shift, and go to state 313

    $default  reduce using rule 72 (logical_or_expression)


state 177

   73 logical_or_expression: logical_or_expression . OR_OP logical_and_expression
   74 conditional_expression: logical_or_expression .
   75                       | logical_or_expression . '?' expression ':' conditional_expression

    OR_OP  shift, and go to state 314
    '?'    shift, and go to state 315

    $default  reduce using rule 74 (conditional_expression)


state 178

   76 assignment_expression: conditional_expression .

    $default  reduce using rule 76 (assignment_expression)


state 179

   89 expression: assignment_expression .

    $default  reduce using rule 89 (expression)


state 180

   90 expression: expression . ',' assignment_expression
  278 expression_statement: expression . ';'

    ','  shift, and go to state 316
    ';'  shift, and go to state 317


state 181

  275 statement_list: statement .

    $default  reduce using rule 275 (statement_list)


state 182

  258 statement: labeled_statement .

    $default  reduce using rule 258 (statement)


state 183

  259 statement: compound_statement .

    $default  reduce using rule 259 (statement)


state 184

  271 compound_statement: '{' declaration_list . '}'
  272                   | '{' declaration_list . statement_list '}'
  274 declaration_list: declaration_list . declaration

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    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 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    '}'                shift, and go to state 318
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    objc_declaration           go to state 35
    declaration                go to state 191
    declaration_specifiers     go to state 76
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    statement                  go to state 181
    labeled_statement          go to state 182
    compound_statement         go to state 183
    statement_list             go to state 319
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 185

  270 compound_statement: '{' statement_list . '}'
  276 statement_list: statement_list . statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    '}'                shift, and go to state 320
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 321
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 186

  260 statement: expression_statement .

    $default  reduce using rule 260 (statement)


state 187

  261 statement: selection_statement .

    $default  reduce using rule 261 (statement)


state 188

  262 statement: iteration_statement .

    $default  reduce using rule 262 (statement)


state 189

  263 statement: jump_statement .

    $default  reduce using rule 263 (statement)


state 190

  150 init_declarator: declarator .
  151                | declarator . '=' initializer

    '='  shift, and go to state 117

    $default  reduce using rule 150 (init_declarator)


state 191

  274 declaration_list: declaration_list declaration .

    $default  reduce using rule 274 (declaration_list)


state 192

  299 function_definition: declarator declaration_list compound_statement .

    $default  reduce using rule 299 (function_definition)


state 193

  237 identifier_list: IDENTIFIER .

    $default  reduce using rule 237 (identifier_list)


state 194

  223 direct_declarator: direct_declarator '(' ')' .

    $default  reduce using rule 223 (direct_declarator)


state 195

  234 parameter_declaration: declaration_specifiers . declarator
  235                      | declaration_specifiers . abstract_declarator
  236                      | declaration_specifiers .

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 322
    '['         shift, and go to state 323
    '*'         shift, and go to state 34

    $default  reduce using rule 236 (parameter_declaration)

    declarator                  go to state 324
    direct_declarator           go to state 45
    pointer                     go to state 325
    abstract_declarator         go to state 326
    direct_abstract_declarator  go to state 327


state 196

  221 direct_declarator: direct_declarator '(' parameter_type_list . ')'

    ')'  shift, and go to state 328


state 197

  230 parameter_type_list: parameter_list .
  231                    | parameter_list . ',' ELLIPSIS
  233 parameter_list: parameter_list . ',' parameter_declaration

    ','  shift, and go to state 329

    $default  reduce using rule 230 (parameter_type_list)


state 198

  232 parameter_list: parameter_declaration .

    $default  reduce using rule 232 (parameter_list)


state 199

  222 direct_declarator: direct_declarator '(' identifier_list . ')'
  238 identifier_list: identifier_list . ',' IDENTIFIER

    ','  shift, and go to state 330
    ')'  shift, and go to state 331


state 200

   13 primary_expression: IDENTIFIER .

    $default  reduce using rule 13 (primary_expression)


state 201

  220 direct_declarator: direct_declarator '[' ']' .

    $default  reduce using rule 220 (direct_declarator)


state 202

   43 cast_expression: unary_expression .

    $default  reduce using rule 43 (cast_expression)


state 203

   91 constant_expression: conditional_expression .

    $default  reduce using rule 91 (constant_expression)


state 204

  219 direct_declarator: direct_declarator '[' constant_expression . ']'

    ']'  shift, and go to state 332


state 205

  205 enum_specifier: ENUM IDENTIFIER '{' enumerator_list . '}'
  208 enumerator_list: enumerator_list . ',' enumerator

    ','  shift, and go to state 207
    '}'  shift, and go to state 333


state 206

  210 enumerator: IDENTIFIER '=' . constant_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 203
    constant_expression        go to state 334


state 207

  208 enumerator_list: enumerator_list ',' . enumerator

    IDENTIFIER  shift, and go to state 85

    enumerator  go to state 335


state 208

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

    $default  reduce using rule 204 (enum_specifier)


state 209

  158 protocol_list: protocol_list ',' . IDENTIFIER

    IDENTIFIER  shift, and go to state 336


state 210

  172 type_specifier: ID '<' protocol_list '>' .

    $default  reduce using rule 172 (type_specifier)


state 211

   93 class_name_list: class_name_list ',' IDENTIFIER .

    $default  reduce using rule 93 (class_name_list)


state 212

   95 class_with_superclass: IDENTIFIER ':' IDENTIFIER .

    $default  reduce using rule 95 (class_with_superclass)


state 213

   96 category_name: IDENTIFIER .

    $default  reduce using rule 96 (category_name)


state 214

  100 class_name_declaration: class_with_superclass '(' category_name . ')'

    ')'  shift, and go to state 337


state 215

   99 class_name_declaration: class_with_superclass '<' inherited_protocols . '>'
  101                       | class_with_superclass '<' inherited_protocols . '>' '(' category_name ')'

    '>'  shift, and go to state 338


state 216

   97 inherited_protocols: protocol_list .
  158 protocol_list: protocol_list . ',' IDENTIFIER

    ','  shift, and go to state 209

    $default  reduce using rule 97 (inherited_protocols)


state 217

  119 method_declaration_list: AT_OPTIONAL method_declaration . ';'

    ';'  shift, and go to state 339


state 218

  120 method_declaration_list: AT_REQUIRED method_declaration . ';'

    ';'  shift, and go to state 340


state 219

  117 method_declaration: class_or_instance_method_specifier '(' . objc_declaration_specifiers ')' selector_with_argument_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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    IN         shift, and go to state 341
    OUT        shift, and go to state 342
    INOUT      shift, and go to state 343
    BYREF      shift, and go to state 344
    BYCOPY     shift, and go to state 345
    ONEWAY     shift, and go to state 346
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    do_atribute_specifier        go to state 347
    objc_declaration_specifiers  go to state 348
    type_specifier               go to state 126
    struct_or_union_specifier    go to state 40
    struct_or_union              go to state 41
    specifier_qualifier_list     go to state 275
    enum_specifier               go to state 42
    type_qualifier               go to state 130
    type_name                    go to state 349


state 220

  118 method_declaration_list: method_declaration ';' .

    $default  reduce using rule 118 (method_declaration_list)


state 221

  131 objc_declaration: AT_PROTOCOL class_name_declaration method_declaration_list AT_END .

    $default  reduce using rule 131 (objc_declaration)


state 222

  121 method_declaration_list: method_declaration_list method_declaration . ';'

    ';'  shift, and go to state 350


state 223

  122 ivar_declaration_list: '{' struct_declaration_list . '}'
  183 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
    ID             shift, and go to state 22
    SEL            shift, and go to state 23
    BOOL           shift, and go to state 24
    UNICHAR        shift, and go to state 25
    CLASS          shift, and go to state 26
    AT_PRIVATE     shift, and go to state 121
    AT_PUBLIC      shift, and go to state 122
    AT_PROTECTED   shift, and go to state 123
    AT_PROPERTY    shift, and go to state 124
    AT_SYNTHESIZE  shift, and go to state 125
    WEAK           shift, and go to state 31
    STRONG         shift, and go to state 32
    '}'            shift, and go to state 351

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    struct_declaration         go to state 248
    specifier_qualifier_list   go to state 129
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 224

  134 objc_declaration: AT_INTERFACE class_name_declaration ivar_declaration_list AT_END .

    $default  reduce using rule 134 (objc_declaration)


state 225

  121 method_declaration_list: method_declaration_list . method_declaration ';'
  133 objc_declaration: AT_INTERFACE class_name_declaration ivar_declaration_list method_declaration_list . AT_END

    AT_END  shift, and go to state 352
    '+'     shift, and go to state 98
    '-'     shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 222


state 226

  124 class_implementation: IDENTIFIER '(' category_name . ')'

    ')'  shift, and go to state 353


state 227

  126 method_implementation: method_declaration ';' . compound_statement

    '{'  shift, and go to state 74

    compound_statement  go to state 354


state 228

  125 method_implementation: method_declaration compound_statement .

    $default  reduce using rule 125 (method_implementation)


state 229

  136 objc_declaration: AT_IMPLEMENTATION class_implementation ivar_declaration_list AT_END .

    $default  reduce using rule 136 (objc_declaration)


state 230

  128 method_implementation_list: method_implementation_list . method_implementation
  138 objc_declaration: AT_IMPLEMENTATION class_implementation ivar_declaration_list method_implementation_list . AT_END

    AT_END  shift, and go to state 355
    '+'     shift, and go to state 98
    '-'     shift, and go to state 99

    class_or_instance_method_specifier  go to state 100
    method_declaration                  go to state 108
    method_implementation               go to state 232


state 231

  137 objc_declaration: AT_IMPLEMENTATION class_implementation method_implementation_list AT_END .

    $default  reduce using rule 137 (objc_declaration)


state 232

  128 method_implementation_list: method_implementation_list method_implementation .

    $default  reduce using rule 128 (method_implementation_list)


state 233

  149 init_declarator_list: init_declarator_list ',' init_declarator .

    $default  reduce using rule 149 (init_declarator_list)


state 234

  254 initializer: '{' . initializer_list '}'
  255            | '{' . initializer_list ',' '}'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 234

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 235
    initializer                go to state 356
    initializer_list           go to state 357


state 235

  253 initializer: assignment_expression .

    $default  reduce using rule 253 (initializer)


state 236

  151 init_declarator: declarator '=' initializer .

    $default  reduce using rule 151 (init_declarator)


state 237

  297 function_definition: declaration_specifiers declarator declaration_list compound_statement .

    $default  reduce using rule 297 (function_definition)


state 238

  177 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list . '}'
  183 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
    ID             shift, and go to state 22
    SEL            shift, and go to state 23
    BOOL           shift, and go to state 24
    UNICHAR        shift, and go to state 25
    CLASS          shift, and go to state 26
    AT_PRIVATE     shift, and go to state 121
    AT_PUBLIC      shift, and go to state 122
    AT_PROTECTED   shift, and go to state 123
    AT_PROPERTY    shift, and go to state 124
    AT_SYNTHESIZE  shift, and go to state 125
    WEAK           shift, and go to state 31
    STRONG         shift, and go to state 32
    '}'            shift, and go to state 358

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    struct_declaration         go to state 248
    specifier_qualifier_list   go to state 129
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 239

  187 struct_declaration: AT_PRIVATE specifier_qualifier_list . struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    ':'         shift, and go to state 249
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    struct_declarator_list  go to state 359
    struct_declarator       go to state 251
    declarator              go to state 252
    direct_declarator       go to state 45
    pointer                 go to state 46


state 240

  188 struct_declaration: AT_PUBLIC specifier_qualifier_list . struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    ':'         shift, and go to state 249
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    struct_declarator_list  go to state 360
    struct_declarator       go to state 251
    declarator              go to state 252
    direct_declarator       go to state 45
    pointer                 go to state 46


state 241

  189 struct_declaration: AT_PROTECTED specifier_qualifier_list . struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    ':'         shift, and go to state 249
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    struct_declarator_list  go to state 361
    struct_declarator       go to state 251
    declarator              go to state 252
    direct_declarator       go to state 45
    pointer                 go to state 46


state 242

  190 struct_declaration: AT_PROPERTY '(' . property_attributes_list ')' specifier_qualifier_list struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 362

    property_attributes_list  go to state 363


state 243

  191 struct_declaration: AT_PROPERTY specifier_qualifier_list . struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    ':'         shift, and go to state 249
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    struct_declarator_list  go to state 364
    struct_declarator       go to state 251
    declarator              go to state 252
    direct_declarator       go to state 45
    pointer                 go to state 46


state 244

  194 ivar_list: IDENTIFIER .

    $default  reduce using rule 194 (ivar_list)


state 245

  192 struct_declaration: AT_SYNTHESIZE ivar_list . ';'
  193 ivar_list: ivar_list . IDENTIFIER

    IDENTIFIER  shift, and go to state 365
    ';'         shift, and go to state 366


state 246

  195 specifier_qualifier_list: type_specifier specifier_qualifier_list .

    $default  reduce using rule 195 (specifier_qualifier_list)


state 247

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

    $default  reduce using rule 178 (struct_or_union_specifier)


state 248

  183 struct_declaration_list: struct_declaration_list struct_declaration .

    $default  reduce using rule 183 (struct_declaration_list)


state 249

  202 struct_declarator: ':' . constant_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 203
    constant_expression        go to state 367


state 250

  186 struct_declaration: specifier_qualifier_list struct_declarator_list . ';'
  200 struct_declarator_list: struct_declarator_list . ',' struct_declarator

    ','  shift, and go to state 368
    ';'  shift, and go to state 369


state 251

  199 struct_declarator_list: struct_declarator .

    $default  reduce using rule 199 (struct_declarator_list)


state 252

  201 struct_declarator: declarator .
  203                  | declarator . ':' constant_expression

    ':'  shift, and go to state 370

    $default  reduce using rule 201 (struct_declarator)


state 253

  197 specifier_qualifier_list: type_qualifier specifier_qualifier_list .

    $default  reduce using rule 197 (specifier_qualifier_list)


state 254

  266 labeled_statement: IDENTIFIER ':' . statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 371
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 255

   16 primary_expression: '(' . expression ')'
   36 unary_expression: SIZEOF '(' . type_name ')'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    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
    AT_STRING_LITERAL  shift, and go to state 148
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 274
    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 275
    enum_specifier             go to state 42
    type_qualifier             go to state 130
    type_name                  go to state 372


state 256

   35 unary_expression: SIZEOF unary_expression .

    $default  reduce using rule 35 (unary_expression)


state 257

   16 primary_expression: '(' . expression ')'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 274


state 258

   32 unary_expression: INC_OP unary_expression .

    $default  reduce using rule 32 (unary_expression)


state 259

   33 unary_expression: DEC_OP unary_expression .

    $default  reduce using rule 33 (unary_expression)


state 260

  267 labeled_statement: CASE constant_expression . ':' statement

    ':'  shift, and go to state 373


state 261

  268 labeled_statement: DEFAULT ':' . statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 374
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 262

  279 selection_statement: IF '(' . expression ')' statement
  280                    | IF '(' . expression ')' statement ELSE statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 375


state 263

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

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 376


state 264

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

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 377


state 265

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

    WHILE  shift, and go to state 378


state 266

  284 iteration_statement: FOR '(' . expression_statement expression_statement ')' statement
  285                    | FOR '(' . expression_statement expression_statement expression ')' statement
  286                    | FOR '(' . declaration expression_statement expression ')' statement
  287                    | FOR '(' . declaration IN expression ')' statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    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
    AT_STRING_LITERAL  shift, and go to state 148
    ID                 shift, and go to state 22
    SEL                shift, and go to state 23
    BOOL               shift, and go to state 24
    UNICHAR            shift, and go to state 25
    CLASS              shift, and go to state 26
    AT_CLASS           shift, and go to state 27
    AT_PROTOCOL        shift, and go to state 28
    AT_INTERFACE       shift, and go to state 29
    AT_IMPLEMENTATION  shift, and go to state 30
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    WEAK               shift, and go to state 31
    STRONG             shift, and go to state 32
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    objc_declaration           go to state 35
    declaration                go to state 379
    declaration_specifiers     go to state 76
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    expression_statement       go to state 380


state 267

  288 jump_statement: GOTO IDENTIFIER . ';'

    ';'  shift, and go to state 381


state 268

  289 jump_statement: CONTINUE ';' .

    $default  reduce using rule 289 (jump_statement)


state 269

  290 jump_statement: BREAK ';' .

    $default  reduce using rule 290 (jump_statement)


state 270

  291 jump_statement: RETURN ';' .

    $default  reduce using rule 291 (jump_statement)


state 271

   90 expression: expression . ',' assignment_expression
  292 jump_statement: RETURN expression . ';'

    ','  shift, and go to state 316
    ';'  shift, and go to state 382


state 272

   19 primary_expression: AT_SELECTOR '(' . selector ')'

    IDENTIFIER  shift, and go to state 383
    ':'         shift, and go to state 384

    selector  go to state 385


state 273

   20 primary_expression: AT_ENCODE '(' . type_name ')'

    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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 275
    enum_specifier             go to state 42
    type_qualifier             go to state 130
    type_name                  go to state 386


state 274

   16 primary_expression: '(' expression . ')'
   90 expression: expression . ',' assignment_expression

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


state 275

  239 type_name: specifier_qualifier_list .
  240          | specifier_qualifier_list . abstract_declarator

    '('  shift, and go to state 388
    '['  shift, and go to state 323
    '*'  shift, and go to state 34

    $default  reduce using rule 239 (type_name)

    pointer                     go to state 389
    abstract_declarator         go to state 390
    direct_abstract_declarator  go to state 327


state 276

   44 cast_expression: '(' type_name . ')' cast_expression
   45                | '(' type_name . ')' '{' struct_component_expression '}'

    ')'  shift, and go to state 391


state 277

   18 primary_expression: '[' expression . selector_with_arguments ']'
   90 expression: expression . ',' assignment_expression

    IDENTIFIER  shift, and go to state 392
    ','         shift, and go to state 316

    selector_with_arguments  go to state 393


state 278

   26 postfix_expression: postfix_expression PTR_OP . IDENTIFIER

    IDENTIFIER  shift, and go to state 394


state 279

   27 postfix_expression: postfix_expression INC_OP .

    $default  reduce using rule 27 (postfix_expression)


state 280

   28 postfix_expression: postfix_expression DEC_OP .

    $default  reduce using rule 28 (postfix_expression)


state 281

   23 postfix_expression: postfix_expression '(' . ')'
   24                   | postfix_expression '(' . argument_expression_list ')'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    ')'                shift, and go to state 395
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    argument_expression_list   go to state 396
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 397


state 282

   22 postfix_expression: postfix_expression '[' . expression ']'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 398


state 283

   25 postfix_expression: postfix_expression '.' . IDENTIFIER

    IDENTIFIER  shift, and go to state 399


state 284

   79 assignment_operator: MUL_ASSIGN .

    $default  reduce using rule 79 (assignment_operator)


state 285

   80 assignment_operator: DIV_ASSIGN .

    $default  reduce using rule 80 (assignment_operator)


state 286

   81 assignment_operator: MOD_ASSIGN .

    $default  reduce using rule 81 (assignment_operator)


state 287

   82 assignment_operator: ADD_ASSIGN .

    $default  reduce using rule 82 (assignment_operator)


state 288

   83 assignment_operator: SUB_ASSIGN .

    $default  reduce using rule 83 (assignment_operator)


state 289

   84 assignment_operator: LEFT_ASSIGN .

    $default  reduce using rule 84 (assignment_operator)


state 290

   85 assignment_operator: RIGHT_ASSIGN .

    $default  reduce using rule 85 (assignment_operator)


state 291

   86 assignment_operator: AND_ASSIGN .

    $default  reduce using rule 86 (assignment_operator)


state 292

   87 assignment_operator: XOR_ASSIGN .

    $default  reduce using rule 87 (assignment_operator)


state 293

   88 assignment_operator: OR_ASSIGN .

    $default  reduce using rule 88 (assignment_operator)


state 294

   78 assignment_operator: '=' .

    $default  reduce using rule 78 (assignment_operator)


state 295

   77 assignment_expression: unary_expression assignment_operator . assignment_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 400


state 296

   34 unary_expression: unary_operator cast_expression .

    $default  reduce using rule 34 (unary_expression)


state 297

   47 multiplicative_expression: multiplicative_expression '*' . cast_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 202
    unary_operator      go to state 166
    cast_expression     go to state 401


state 298

   48 multiplicative_expression: multiplicative_expression '/' . cast_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 202
    unary_operator      go to state 166
    cast_expression     go to state 402


state 299

   49 multiplicative_expression: multiplicative_expression '%' . cast_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 202
    unary_operator      go to state 166
    cast_expression     go to state 403


state 300

   51 additive_expression: additive_expression '+' . multiplicative_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 404


state 301

   52 additive_expression: additive_expression '-' . multiplicative_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 405


state 302

   54 shift_expression: shift_expression LEFT_OP . additive_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 406


state 303

   55 shift_expression: shift_expression RIGHT_OP . additive_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 407


state 304

   59 relational_expression: relational_expression LE_OP . shift_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 408


state 305

   60 relational_expression: relational_expression GE_OP . shift_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 409


state 306

   57 relational_expression: relational_expression '<' . shift_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 410


state 307

   58 relational_expression: relational_expression '>' . shift_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 411


state 308

   62 equality_expression: equality_expression EQ_OP . relational_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 412


state 309

   63 equality_expression: equality_expression NE_OP . relational_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 413


state 310

   65 and_expression: and_expression '&' . equality_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 414


state 311

   67 exclusive_or_expression: exclusive_or_expression '^' . and_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 415


state 312

   69 inclusive_or_expression: inclusive_or_expression '|' . exclusive_or_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 416


state 313

   71 logical_and_expression: logical_and_expression AND_OP . inclusive_or_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 417


state 314

   73 logical_or_expression: logical_or_expression OR_OP . logical_and_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 418


state 315

   75 conditional_expression: logical_or_expression '?' . expression ':' conditional_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 419


state 316

   90 expression: expression ',' . assignment_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 420


state 317

  278 expression_statement: expression ';' .

    $default  reduce using rule 278 (expression_statement)


state 318

  271 compound_statement: '{' declaration_list '}' .

    $default  reduce using rule 271 (compound_statement)


state 319

  272 compound_statement: '{' declaration_list statement_list . '}'
  276 statement_list: statement_list . statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    '}'                shift, and go to state 421
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 321
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 320

  270 compound_statement: '{' statement_list '}' .

    $default  reduce using rule 270 (compound_statement)


state 321

  276 statement_list: statement_list statement .

    $default  reduce using rule 276 (statement_list)


state 322

  218 direct_declarator: '(' . declarator ')'
  244 direct_abstract_declarator: '(' . abstract_declarator ')'
  249                           | '(' . ')'
  250                           | '(' . 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
    ID          shift, and go to state 22
    SEL         shift, and go to state 23
    BOOL        shift, and go to state 24
    UNICHAR     shift, and go to state 25
    CLASS       shift, and go to state 26
    WEAK        shift, and go to state 31
    STRONG      shift, and go to state 32
    '('         shift, and go to state 322
    ')'         shift, and go to state 422
    '['         shift, and go to state 323
    '*'         shift, and go to state 34

    declaration_specifiers      go to state 195
    storage_class_specifier     go to state 38
    type_specifier              go to state 39
    struct_or_union_specifier   go to state 40
    struct_or_union             go to state 41
    enum_specifier              go to state 42
    type_qualifier              go to state 43
    declarator                  go to state 61
    direct_declarator           go to state 45
    pointer                     go to state 325
    parameter_type_list         go to state 423
    parameter_list              go to state 197
    parameter_declaration       go to state 198
    abstract_declarator         go to state 424
    direct_abstract_declarator  go to state 327


state 323

  245 direct_abstract_declarator: '[' . ']'
  246                           | '[' . constant_expression ']'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    ']'                shift, and go to state 425
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 203
    constant_expression        go to state 426


state 324

  234 parameter_declaration: declaration_specifiers declarator .

    $default  reduce using rule 234 (parameter_declaration)


state 325

  215 declarator: pointer . direct_declarator
  241 abstract_declarator: pointer .
  243                    | pointer . direct_abstract_declarator

    IDENTIFIER  shift, and go to state 1
    '('         shift, and go to state 322
    '['         shift, and go to state 323

    $default  reduce using rule 241 (abstract_declarator)

    direct_declarator           go to state 81
    direct_abstract_declarator  go to state 427


state 326

  235 parameter_declaration: declaration_specifiers abstract_declarator .

    $default  reduce using rule 235 (parameter_declaration)


state 327

  242 abstract_declarator: direct_abstract_declarator .
  247 direct_abstract_declarator: direct_abstract_declarator . '[' ']'
  248                           | direct_abstract_declarator . '[' constant_expression ']'
  251                           | direct_abstract_declarator . '(' ')'
  252                           | direct_abstract_declarator . '(' parameter_type_list ')'

    '('  shift, and go to state 428
    '['  shift, and go to state 429

    $default  reduce using rule 242 (abstract_declarator)


state 328

  221 direct_declarator: direct_declarator '(' parameter_type_list ')' .

    $default  reduce using rule 221 (direct_declarator)


state 329

  231 parameter_type_list: parameter_list ',' . ELLIPSIS
  233 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 430
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    declaration_specifiers     go to state 195
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    parameter_declaration      go to state 431


state 330

  238 identifier_list: identifier_list ',' . IDENTIFIER

    IDENTIFIER  shift, and go to state 432


state 331

  222 direct_declarator: direct_declarator '(' identifier_list ')' .

    $default  reduce using rule 222 (direct_declarator)


state 332

  219 direct_declarator: direct_declarator '[' constant_expression ']' .

    $default  reduce using rule 219 (direct_declarator)


state 333

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

    $default  reduce using rule 205 (enum_specifier)


state 334

  210 enumerator: IDENTIFIER '=' constant_expression .

    $default  reduce using rule 210 (enumerator)


state 335

  208 enumerator_list: enumerator_list ',' enumerator .

    $default  reduce using rule 208 (enumerator_list)


state 336

  158 protocol_list: protocol_list ',' IDENTIFIER .

    $default  reduce using rule 158 (protocol_list)


state 337

  100 class_name_declaration: class_with_superclass '(' category_name ')' .

    $default  reduce using rule 100 (class_name_declaration)


state 338

   99 class_name_declaration: class_with_superclass '<' inherited_protocols '>' .
  101                       | class_with_superclass '<' inherited_protocols '>' . '(' category_name ')'

    '('  shift, and go to state 433

    $default  reduce using rule 99 (class_name_declaration)


state 339

  119 method_declaration_list: AT_OPTIONAL method_declaration ';' .

    $default  reduce using rule 119 (method_declaration_list)


state 340

  120 method_declaration_list: AT_REQUIRED method_declaration ';' .

    $default  reduce using rule 120 (method_declaration_list)


state 341

  105 do_atribute_specifier: IN .

    $default  reduce using rule 105 (do_atribute_specifier)


state 342

  106 do_atribute_specifier: OUT .

    $default  reduce using rule 106 (do_atribute_specifier)


state 343

  107 do_atribute_specifier: INOUT .

    $default  reduce using rule 107 (do_atribute_specifier)


state 344

  108 do_atribute_specifier: BYREF .

    $default  reduce using rule 108 (do_atribute_specifier)


state 345

  109 do_atribute_specifier: BYCOPY .

    $default  reduce using rule 109 (do_atribute_specifier)


state 346

  104 do_atribute_specifier: ONEWAY .

    $default  reduce using rule 104 (do_atribute_specifier)


state 347

  110 objc_declaration_specifiers: do_atribute_specifier . objc_declaration_specifiers

    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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    IN         shift, and go to state 341
    OUT        shift, and go to state 342
    INOUT      shift, and go to state 343
    BYREF      shift, and go to state 344
    BYCOPY     shift, and go to state 345
    ONEWAY     shift, and go to state 346
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    do_atribute_specifier        go to state 347
    objc_declaration_specifiers  go to state 434
    type_specifier               go to state 126
    struct_or_union_specifier    go to state 40
    struct_or_union              go to state 41
    specifier_qualifier_list     go to state 275
    enum_specifier               go to state 42
    type_qualifier               go to state 130
    type_name                    go to state 349


state 348

  117 method_declaration: class_or_instance_method_specifier '(' objc_declaration_specifiers . ')' selector_with_argument_declaration

    ')'  shift, and go to state 435


state 349

  111 objc_declaration_specifiers: type_name .

    $default  reduce using rule 111 (objc_declaration_specifiers)


state 350

  121 method_declaration_list: method_declaration_list method_declaration ';' .

    $default  reduce using rule 121 (method_declaration_list)


state 351

  122 ivar_declaration_list: '{' struct_declaration_list '}' .

    $default  reduce using rule 122 (ivar_declaration_list)


state 352

  133 objc_declaration: AT_INTERFACE class_name_declaration ivar_declaration_list method_declaration_list AT_END .

    $default  reduce using rule 133 (objc_declaration)


state 353

  124 class_implementation: IDENTIFIER '(' category_name ')' .

    $default  reduce using rule 124 (class_implementation)


state 354

  126 method_implementation: method_declaration ';' compound_statement .

    $default  reduce using rule 126 (method_implementation)


state 355

  138 objc_declaration: AT_IMPLEMENTATION class_implementation ivar_declaration_list method_implementation_list AT_END .

    $default  reduce using rule 138 (objc_declaration)


state 356

  256 initializer_list: initializer .

    $default  reduce using rule 256 (initializer_list)


state 357

  254 initializer: '{' initializer_list . '}'
  255            | '{' initializer_list . ',' '}'
  257 initializer_list: initializer_list . ',' initializer

    ','  shift, and go to state 436
    '}'  shift, and go to state 437


state 358

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

    $default  reduce using rule 177 (struct_or_union_specifier)


state 359

  187 struct_declaration: AT_PRIVATE specifier_qualifier_list struct_declarator_list . ';'
  200 struct_declarator_list: struct_declarator_list . ',' struct_declarator

    ','  shift, and go to state 368
    ';'  shift, and go to state 438


state 360

  188 struct_declaration: AT_PUBLIC specifier_qualifier_list struct_declarator_list . ';'
  200 struct_declarator_list: struct_declarator_list . ',' struct_declarator

    ','  shift, and go to state 368
    ';'  shift, and go to state 439


state 361

  189 struct_declaration: AT_PROTECTED specifier_qualifier_list struct_declarator_list . ';'
  200 struct_declarator_list: struct_declarator_list . ',' struct_declarator

    ','  shift, and go to state 368
    ';'  shift, and go to state 440


state 362

  184 property_attributes_list: IDENTIFIER .
  185                         | IDENTIFIER . ',' property_attributes_list

    ','  shift, and go to state 441

    $default  reduce using rule 184 (property_attributes_list)


state 363

  190 struct_declaration: AT_PROPERTY '(' property_attributes_list . ')' specifier_qualifier_list struct_declarator_list ';'

    ')'  shift, and go to state 442


state 364

  191 struct_declaration: AT_PROPERTY specifier_qualifier_list struct_declarator_list . ';'
  200 struct_declarator_list: struct_declarator_list . ',' struct_declarator

    ','  shift, and go to state 368
    ';'  shift, and go to state 443


state 365

  193 ivar_list: ivar_list IDENTIFIER .

    $default  reduce using rule 193 (ivar_list)


state 366

  192 struct_declaration: AT_SYNTHESIZE ivar_list ';' .

    $default  reduce using rule 192 (struct_declaration)


state 367

  202 struct_declarator: ':' constant_expression .

    $default  reduce using rule 202 (struct_declarator)


state 368

  200 struct_declarator_list: struct_declarator_list ',' . struct_declarator

    IDENTIFIER  shift, and go to state 1
    ':'         shift, and go to state 249
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    struct_declarator  go to state 444
    declarator         go to state 252
    direct_declarator  go to state 45
    pointer            go to state 46


state 369

  186 struct_declaration: specifier_qualifier_list struct_declarator_list ';' .

    $default  reduce using rule 186 (struct_declaration)


state 370

  203 struct_declarator: declarator ':' . constant_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 203
    constant_expression        go to state 445


state 371

  266 labeled_statement: IDENTIFIER ':' statement .

    $default  reduce using rule 266 (labeled_statement)


state 372

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

    ')'  shift, and go to state 446


state 373

  267 labeled_statement: CASE constant_expression ':' . statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 447
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 374

  268 labeled_statement: DEFAULT ':' statement .

    $default  reduce using rule 268 (labeled_statement)


state 375

   90 expression: expression . ',' assignment_expression
  279 selection_statement: IF '(' expression . ')' statement
  280                    | IF '(' expression . ')' statement ELSE statement

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


state 376

   90 expression: expression . ',' assignment_expression
  281 selection_statement: SWITCH '(' expression . ')' statement

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


state 377

   90 expression: expression . ',' assignment_expression
  282 iteration_statement: WHILE '(' expression . ')' statement

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


state 378

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

    '('  shift, and go to state 451


state 379

  286 iteration_statement: FOR '(' declaration . expression_statement expression ')' statement
  287                    | FOR '(' declaration . IN expression ')' statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    IN                 shift, and go to state 452
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    expression_statement       go to state 453


state 380

  284 iteration_statement: FOR '(' expression_statement . expression_statement ')' statement
  285                    | FOR '(' expression_statement . expression_statement expression ')' statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    expression_statement       go to state 454


state 381

  288 jump_statement: GOTO IDENTIFIER ';' .

    $default  reduce using rule 288 (jump_statement)


state 382

  292 jump_statement: RETURN expression ';' .

    $default  reduce using rule 292 (jump_statement)


state 383

    9 selector: IDENTIFIER .
   11         | IDENTIFIER . ':'

    ':'  shift, and go to state 455

    ':'       [reduce using rule 9 (selector)]
    $default  reduce using rule 9 (selector)


state 384

   10 selector: ':' .

    $default  reduce using rule 10 (selector)


state 385

   12 selector: selector . ':'
   19 primary_expression: AT_SELECTOR '(' selector . ')'

    ':'  shift, and go to state 456
    ')'  shift, and go to state 457


state 386

   20 primary_expression: AT_ENCODE '(' type_name . ')'

    ')'  shift, and go to state 458


state 387

   16 primary_expression: '(' expression ')' .

    $default  reduce using rule 16 (primary_expression)


state 388

  244 direct_abstract_declarator: '(' . abstract_declarator ')'
  249                           | '(' . ')'
  250                           | '(' . 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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32
    '('        shift, and go to state 388
    ')'        shift, and go to state 422
    '['        shift, and go to state 323
    '*'        shift, and go to state 34

    declaration_specifiers      go to state 195
    storage_class_specifier     go to state 38
    type_specifier              go to state 39
    struct_or_union_specifier   go to state 40
    struct_or_union             go to state 41
    enum_specifier              go to state 42
    type_qualifier              go to state 43
    pointer                     go to state 389
    parameter_type_list         go to state 423
    parameter_list              go to state 197
    parameter_declaration       go to state 198
    abstract_declarator         go to state 424
    direct_abstract_declarator  go to state 327


state 389

  241 abstract_declarator: pointer .
  243                    | pointer . direct_abstract_declarator

    '('  shift, and go to state 388
    '['  shift, and go to state 323

    $default  reduce using rule 241 (abstract_declarator)

    direct_abstract_declarator  go to state 427


state 390

  240 type_name: specifier_qualifier_list abstract_declarator .

    $default  reduce using rule 240 (type_name)


state 391

   44 cast_expression: '(' type_name ')' . cast_expression
   45                | '(' type_name ')' . '{' struct_component_expression '}'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 459

    primary_expression  go to state 163
    postfix_expression  go to state 164
    unary_expression    go to state 202
    unary_operator      go to state 166
    cast_expression     go to state 460


state 392

    3 selector_with_arguments: IDENTIFIER .
    4                        | IDENTIFIER . ':' expression

    ':'  shift, and go to state 461

    ':'       [reduce using rule 3 (selector_with_arguments)]
    $default  reduce using rule 3 (selector_with_arguments)


state 393

    5 selector_with_arguments: selector_with_arguments . selector_component expression
    6                        | selector_with_arguments . ',' ELLIPSIS
   18 primary_expression: '[' expression selector_with_arguments . ']'

    IDENTIFIER  shift, and go to state 462
    ':'         shift, and go to state 463
    ','         shift, and go to state 464
    ']'         shift, and go to state 465

    selector_component  go to state 466


state 394

   26 postfix_expression: postfix_expression PTR_OP IDENTIFIER .

    $default  reduce using rule 26 (postfix_expression)


state 395

   23 postfix_expression: postfix_expression '(' ')' .

    $default  reduce using rule 23 (postfix_expression)


state 396

   24 postfix_expression: postfix_expression '(' argument_expression_list . ')'
   30 argument_expression_list: argument_expression_list . ',' assignment_expression

    ','  shift, and go to state 467
    ')'  shift, and go to state 468


state 397

   29 argument_expression_list: assignment_expression .

    $default  reduce using rule 29 (argument_expression_list)


state 398

   22 postfix_expression: postfix_expression '[' expression . ']'
   90 expression: expression . ',' assignment_expression

    ','  shift, and go to state 316
    ']'  shift, and go to state 469


state 399

   25 postfix_expression: postfix_expression '.' IDENTIFIER .

    $default  reduce using rule 25 (postfix_expression)


state 400

   77 assignment_expression: unary_expression assignment_operator assignment_expression .

    $default  reduce using rule 77 (assignment_expression)


state 401

   47 multiplicative_expression: multiplicative_expression '*' cast_expression .

    $default  reduce using rule 47 (multiplicative_expression)


state 402

   48 multiplicative_expression: multiplicative_expression '/' cast_expression .

    $default  reduce using rule 48 (multiplicative_expression)


state 403

   49 multiplicative_expression: multiplicative_expression '%' cast_expression .

    $default  reduce using rule 49 (multiplicative_expression)


state 404

   47 multiplicative_expression: multiplicative_expression . '*' cast_expression
   48                          | multiplicative_expression . '/' cast_expression
   49                          | multiplicative_expression . '%' cast_expression
   51 additive_expression: additive_expression '+' multiplicative_expression .

    '*'  shift, and go to state 297
    '/'  shift, and go to state 298
    '%'  shift, and go to state 299

    '*'       [reduce using rule 51 (additive_expression)]
    $default  reduce using rule 51 (additive_expression)


state 405

   47 multiplicative_expression: multiplicative_expression . '*' cast_expression
   48                          | multiplicative_expression . '/' cast_expression
   49                          | multiplicative_expression . '%' cast_expression
   52 additive_expression: additive_expression '-' multiplicative_expression .

    '*'  shift, and go to state 297
    '/'  shift, and go to state 298
    '%'  shift, and go to state 299

    '*'       [reduce using rule 52 (additive_expression)]
    $default  reduce using rule 52 (additive_expression)


state 406

   51 additive_expression: additive_expression . '+' multiplicative_expression
   52                    | additive_expression . '-' multiplicative_expression
   54 shift_expression: shift_expression LEFT_OP additive_expression .

    '+'  shift, and go to state 300
    '-'  shift, and go to state 301

    '+'       [reduce using rule 54 (shift_expression)]
    '-'       [reduce using rule 54 (shift_expression)]
    $default  reduce using rule 54 (shift_expression)


state 407

   51 additive_expression: additive_expression . '+' multiplicative_expression
   52                    | additive_expression . '-' multiplicative_expression
   55 shift_expression: shift_expression RIGHT_OP additive_expression .

    '+'  shift, and go to state 300
    '-'  shift, and go to state 301

    '+'       [reduce using rule 55 (shift_expression)]
    '-'       [reduce using rule 55 (shift_expression)]
    $default  reduce using rule 55 (shift_expression)


state 408

   54 shift_expression: shift_expression . LEFT_OP additive_expression
   55                 | shift_expression . RIGHT_OP additive_expression
   59 relational_expression: relational_expression LE_OP shift_expression .

    LEFT_OP   shift, and go to state 302
    RIGHT_OP  shift, and go to state 303

    $default  reduce using rule 59 (relational_expression)


state 409

   54 shift_expression: shift_expression . LEFT_OP additive_expression
   55                 | shift_expression . RIGHT_OP additive_expression
   60 relational_expression: relational_expression GE_OP shift_expression .

    LEFT_OP   shift, and go to state 302
    RIGHT_OP  shift, and go to state 303

    $default  reduce using rule 60 (relational_expression)


state 410

   54 shift_expression: shift_expression . LEFT_OP additive_expression
   55                 | shift_expression . RIGHT_OP additive_expression
   57 relational_expression: relational_expression '<' shift_expression .

    LEFT_OP   shift, and go to state 302
    RIGHT_OP  shift, and go to state 303

    $default  reduce using rule 57 (relational_expression)


state 411

   54 shift_expression: shift_expression . LEFT_OP additive_expression
   55                 | shift_expression . RIGHT_OP additive_expression
   58 relational_expression: relational_expression '>' shift_expression .

    LEFT_OP   shift, and go to state 302
    RIGHT_OP  shift, and go to state 303

    $default  reduce using rule 58 (relational_expression)


state 412

   57 relational_expression: relational_expression . '<' shift_expression
   58                      | relational_expression . '>' shift_expression
   59                      | relational_expression . LE_OP shift_expression
   60                      | relational_expression . GE_OP shift_expression
   62 equality_expression: equality_expression EQ_OP relational_expression .

    LE_OP  shift, and go to state 304
    GE_OP  shift, and go to state 305
    '<'    shift, and go to state 306
    '>'    shift, and go to state 307

    $default  reduce using rule 62 (equality_expression)


state 413

   57 relational_expression: relational_expression . '<' shift_expression
   58                      | relational_expression . '>' shift_expression
   59                      | relational_expression . LE_OP shift_expression
   60                      | relational_expression . GE_OP shift_expression
   63 equality_expression: equality_expression NE_OP relational_expression .

    LE_OP  shift, and go to state 304
    GE_OP  shift, and go to state 305
    '<'    shift, and go to state 306
    '>'    shift, and go to state 307

    $default  reduce using rule 63 (equality_expression)


state 414

   62 equality_expression: equality_expression . EQ_OP relational_expression
   63                    | equality_expression . NE_OP relational_expression
   65 and_expression: and_expression '&' equality_expression .

    EQ_OP  shift, and go to state 308
    NE_OP  shift, and go to state 309

    $default  reduce using rule 65 (and_expression)


state 415

   65 and_expression: and_expression . '&' equality_expression
   67 exclusive_or_expression: exclusive_or_expression '^' and_expression .

    '&'  shift, and go to state 310

    '&'       [reduce using rule 67 (exclusive_or_expression)]
    $default  reduce using rule 67 (exclusive_or_expression)


state 416

   67 exclusive_or_expression: exclusive_or_expression . '^' and_expression
   69 inclusive_or_expression: inclusive_or_expression '|' exclusive_or_expression .

    '^'  shift, and go to state 311

    $default  reduce using rule 69 (inclusive_or_expression)


state 417

   69 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression
   71 logical_and_expression: logical_and_expression AND_OP inclusive_or_expression .

    '|'  shift, and go to state 312

    $default  reduce using rule 71 (logical_and_expression)


state 418

   71 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression
   73 logical_or_expression: logical_or_expression OR_OP logical_and_expression .

    AND_OP  shift, and go to state 313

    $default  reduce using rule 73 (logical_or_expression)


state 419

   75 conditional_expression: logical_or_expression '?' expression . ':' conditional_expression
   90 expression: expression . ',' assignment_expression

    ':'  shift, and go to state 470
    ','  shift, and go to state 316


state 420

   90 expression: expression ',' assignment_expression .

    $default  reduce using rule 90 (expression)


state 421

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

    $default  reduce using rule 272 (compound_statement)


state 422

  249 direct_abstract_declarator: '(' ')' .

    $default  reduce using rule 249 (direct_abstract_declarator)


state 423

  250 direct_abstract_declarator: '(' parameter_type_list . ')'

    ')'  shift, and go to state 471


state 424

  244 direct_abstract_declarator: '(' abstract_declarator . ')'

    ')'  shift, and go to state 472


state 425

  245 direct_abstract_declarator: '[' ']' .

    $default  reduce using rule 245 (direct_abstract_declarator)


state 426

  246 direct_abstract_declarator: '[' constant_expression . ']'

    ']'  shift, and go to state 473


state 427

  243 abstract_declarator: pointer direct_abstract_declarator .
  247 direct_abstract_declarator: direct_abstract_declarator . '[' ']'
  248                           | direct_abstract_declarator . '[' constant_expression ']'
  251                           | direct_abstract_declarator . '(' ')'
  252                           | direct_abstract_declarator . '(' parameter_type_list ')'

    '('  shift, and go to state 428
    '['  shift, and go to state 429

    $default  reduce using rule 243 (abstract_declarator)


state 428

  251 direct_abstract_declarator: direct_abstract_declarator '(' . ')'
  252                           | 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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32
    ')'        shift, and go to state 474

    declaration_specifiers     go to state 195
    storage_class_specifier    go to state 38
    type_specifier             go to state 39
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    enum_specifier             go to state 42
    type_qualifier             go to state 43
    parameter_type_list        go to state 475
    parameter_list             go to state 197
    parameter_declaration      go to state 198


state 429

  247 direct_abstract_declarator: direct_abstract_declarator '[' . ']'
  248                           | direct_abstract_declarator '[' . constant_expression ']'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    ']'                shift, and go to state 476
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 203
    constant_expression        go to state 477


state 430

  231 parameter_type_list: parameter_list ',' ELLIPSIS .

    $default  reduce using rule 231 (parameter_type_list)


state 431

  233 parameter_list: parameter_list ',' parameter_declaration .

    $default  reduce using rule 233 (parameter_list)


state 432

  238 identifier_list: identifier_list ',' IDENTIFIER .

    $default  reduce using rule 238 (identifier_list)


state 433

  101 class_name_declaration: class_with_superclass '<' inherited_protocols '>' '(' . category_name ')'

    IDENTIFIER  shift, and go to state 213

    category_name  go to state 478


state 434

  110 objc_declaration_specifiers: do_atribute_specifier objc_declaration_specifiers .

    $default  reduce using rule 110 (objc_declaration_specifiers)


state 435

  117 method_declaration: class_or_instance_method_specifier '(' objc_declaration_specifiers ')' . selector_with_argument_declaration

    IDENTIFIER  shift, and go to state 479

    selector_with_argument_declaration  go to state 480


state 436

  255 initializer: '{' initializer_list ',' . '}'
  257 initializer_list: initializer_list ',' . initializer

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 234
    '}'                shift, and go to state 481

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 235
    initializer                go to state 482


state 437

  254 initializer: '{' initializer_list '}' .

    $default  reduce using rule 254 (initializer)


state 438

  187 struct_declaration: AT_PRIVATE specifier_qualifier_list struct_declarator_list ';' .

    $default  reduce using rule 187 (struct_declaration)


state 439

  188 struct_declaration: AT_PUBLIC specifier_qualifier_list struct_declarator_list ';' .

    $default  reduce using rule 188 (struct_declaration)


state 440

  189 struct_declaration: AT_PROTECTED specifier_qualifier_list struct_declarator_list ';' .

    $default  reduce using rule 189 (struct_declaration)


state 441

  185 property_attributes_list: IDENTIFIER ',' . property_attributes_list

    IDENTIFIER  shift, and go to state 362

    property_attributes_list  go to state 483


state 442

  190 struct_declaration: AT_PROPERTY '(' property_attributes_list ')' . specifier_qualifier_list struct_declarator_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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    type_specifier             go to state 126
    struct_or_union_specifier  go to state 40
    struct_or_union            go to state 41
    specifier_qualifier_list   go to state 484
    enum_specifier             go to state 42
    type_qualifier             go to state 130


state 443

  191 struct_declaration: AT_PROPERTY specifier_qualifier_list struct_declarator_list ';' .

    $default  reduce using rule 191 (struct_declaration)


state 444

  200 struct_declarator_list: struct_declarator_list ',' struct_declarator .

    $default  reduce using rule 200 (struct_declarator_list)


state 445

  203 struct_declarator: declarator ':' constant_expression .

    $default  reduce using rule 203 (struct_declarator)


state 446

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

    $default  reduce using rule 36 (unary_expression)


state 447

  267 labeled_statement: CASE constant_expression ':' statement .

    $default  reduce using rule 267 (labeled_statement)


state 448

  279 selection_statement: IF '(' expression ')' . statement
  280                    | IF '(' expression ')' . statement ELSE statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 485
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 449

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

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 486
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 450

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

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 487
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 451

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

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 488


state 452

  287 iteration_statement: FOR '(' declaration IN . expression ')' statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 489


state 453

  286 iteration_statement: FOR '(' declaration expression_statement . expression ')' statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 490


state 454

  284 iteration_statement: FOR '(' expression_statement expression_statement . ')' statement
  285                    | FOR '(' expression_statement expression_statement . expression ')' statement

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    ')'                shift, and go to state 491
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 492


state 455

   11 selector: IDENTIFIER ':' .

    $default  reduce using rule 11 (selector)


state 456

   12 selector: selector ':' .

    $default  reduce using rule 12 (selector)


state 457

   19 primary_expression: AT_SELECTOR '(' selector ')' .

    $default  reduce using rule 19 (primary_expression)


state 458

   20 primary_expression: AT_ENCODE '(' type_name ')' .

    $default  reduce using rule 20 (primary_expression)


state 459

   45 cast_expression: '(' type_name ')' '{' . struct_component_expression '}'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    struct_component_expression  go to state 493
    primary_expression           go to state 163
    postfix_expression           go to state 164
    unary_expression             go to state 202
    unary_operator               go to state 166
    cast_expression              go to state 167
    multiplicative_expression    go to state 168
    additive_expression          go to state 169
    shift_expression             go to state 170
    relational_expression        go to state 171
    equality_expression          go to state 172
    and_expression               go to state 173
    exclusive_or_expression      go to state 174
    inclusive_or_expression      go to state 175
    logical_and_expression       go to state 176
    logical_or_expression        go to state 177
    conditional_expression       go to state 494


state 460

   44 cast_expression: '(' type_name ')' cast_expression .

    $default  reduce using rule 44 (cast_expression)


state 461

    4 selector_with_arguments: IDENTIFIER ':' . expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 495


state 462

    1 selector_component: IDENTIFIER . ':'

    ':'  shift, and go to state 496


state 463

    2 selector_component: ':' .

    $default  reduce using rule 2 (selector_component)


state 464

    6 selector_with_arguments: selector_with_arguments ',' . ELLIPSIS

    ELLIPSIS  shift, and go to state 497


state 465

   18 primary_expression: '[' expression selector_with_arguments ']' .

    $default  reduce using rule 18 (primary_expression)


state 466

    5 selector_with_arguments: selector_with_arguments selector_component . expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 498


state 467

   30 argument_expression_list: argument_expression_list ',' . assignment_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 499


state 468

   24 postfix_expression: postfix_expression '(' argument_expression_list ')' .

    $default  reduce using rule 24 (postfix_expression)


state 469

   22 postfix_expression: postfix_expression '[' expression ']' .

    $default  reduce using rule 22 (postfix_expression)


state 470

   75 conditional_expression: logical_or_expression '?' expression ':' . conditional_expression

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 500


state 471

  250 direct_abstract_declarator: '(' parameter_type_list ')' .

    $default  reduce using rule 250 (direct_abstract_declarator)


state 472

  244 direct_abstract_declarator: '(' abstract_declarator ')' .

    $default  reduce using rule 244 (direct_abstract_declarator)


state 473

  246 direct_abstract_declarator: '[' constant_expression ']' .

    $default  reduce using rule 246 (direct_abstract_declarator)


state 474

  251 direct_abstract_declarator: direct_abstract_declarator '(' ')' .

    $default  reduce using rule 251 (direct_abstract_declarator)


state 475

  252 direct_abstract_declarator: direct_abstract_declarator '(' parameter_type_list . ')'

    ')'  shift, and go to state 501


state 476

  247 direct_abstract_declarator: direct_abstract_declarator '[' ']' .

    $default  reduce using rule 247 (direct_abstract_declarator)


state 477

  248 direct_abstract_declarator: direct_abstract_declarator '[' constant_expression . ']'

    ']'  shift, and go to state 502


state 478

  101 class_name_declaration: class_with_superclass '<' inherited_protocols '>' '(' category_name . ')'

    ')'  shift, and go to state 503


state 479

  113 selector_with_argument_declaration: IDENTIFIER .
  114                                   | IDENTIFIER . ':' selector_argument_declaration

    ':'  shift, and go to state 504

    ':'       [reduce using rule 113 (selector_with_argument_declaration)]
    $default  reduce using rule 113 (selector_with_argument_declaration)


state 480

  115 selector_with_argument_declaration: selector_with_argument_declaration . selector_component selector_argument_declaration
  116                                   | selector_with_argument_declaration . ',' ELLIPSIS
  117 method_declaration: class_or_instance_method_specifier '(' objc_declaration_specifiers ')' selector_with_argument_declaration .

    IDENTIFIER  shift, and go to state 462
    ':'         shift, and go to state 463
    ','         shift, and go to state 505

    $default  reduce using rule 117 (method_declaration)

    selector_component  go to state 506


state 481

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

    $default  reduce using rule 255 (initializer)


state 482

  257 initializer_list: initializer_list ',' initializer .

    $default  reduce using rule 257 (initializer_list)


state 483

  185 property_attributes_list: IDENTIFIER ',' property_attributes_list .

    $default  reduce using rule 185 (property_attributes_list)


state 484

  190 struct_declaration: AT_PROPERTY '(' property_attributes_list ')' specifier_qualifier_list . struct_declarator_list ';'

    IDENTIFIER  shift, and go to state 1
    ':'         shift, and go to state 249
    '('         shift, and go to state 33
    '*'         shift, and go to state 34

    struct_declarator_list  go to state 507
    struct_declarator       go to state 251
    declarator              go to state 252
    direct_declarator       go to state 45
    pointer                 go to state 46


state 485

  279 selection_statement: IF '(' expression ')' statement .
  280                    | IF '(' expression ')' statement . ELSE statement

    ELSE  shift, and go to state 508

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


state 486

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

    $default  reduce using rule 281 (selection_statement)


state 487

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

    $default  reduce using rule 282 (iteration_statement)


state 488

   90 expression: expression . ',' assignment_expression
  283 iteration_statement: DO statement WHILE '(' expression . ')' ';'

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


state 489

   90 expression: expression . ',' assignment_expression
  287 iteration_statement: FOR '(' declaration IN expression . ')' statement

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


state 490

   90 expression: expression . ',' assignment_expression
  286 iteration_statement: FOR '(' declaration expression_statement expression . ')' statement

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


state 491

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

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 512
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 492

   90 expression: expression . ',' assignment_expression
  285 iteration_statement: FOR '(' expression_statement expression_statement expression . ')' statement

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


state 493

    8 struct_component_expression: struct_component_expression . conditional_expression
   45 cast_expression: '(' type_name ')' '{' struct_component_expression . '}'

    IDENTIFIER         shift, and go to state 200
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '}'                shift, and go to state 514

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 202
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 515


state 494

    7 struct_component_expression: conditional_expression .

    $default  reduce using rule 7 (struct_component_expression)


state 495

    4 selector_with_arguments: IDENTIFIER ':' expression .
   90 expression: expression . ',' assignment_expression

    ','  shift, and go to state 316

    ','       [reduce using rule 4 (selector_with_arguments)]
    $default  reduce using rule 4 (selector_with_arguments)


state 496

    1 selector_component: IDENTIFIER ':' .

    $default  reduce using rule 1 (selector_component)


state 497

    6 selector_with_arguments: selector_with_arguments ',' ELLIPSIS .

    $default  reduce using rule 6 (selector_with_arguments)


state 498

    5 selector_with_arguments: selector_with_arguments selector_component expression .
   90 expression: expression . ',' assignment_expression

    ','  shift, and go to state 316

    ','       [reduce using rule 5 (selector_with_arguments)]
    $default  reduce using rule 5 (selector_with_arguments)


state 499

   30 argument_expression_list: argument_expression_list ',' assignment_expression .

    $default  reduce using rule 30 (argument_expression_list)


state 500

   75 conditional_expression: logical_or_expression '?' expression ':' conditional_expression .

    $default  reduce using rule 75 (conditional_expression)


state 501

  252 direct_abstract_declarator: direct_abstract_declarator '(' parameter_type_list ')' .

    $default  reduce using rule 252 (direct_abstract_declarator)


state 502

  248 direct_abstract_declarator: direct_abstract_declarator '[' constant_expression ']' .

    $default  reduce using rule 248 (direct_abstract_declarator)


state 503

  101 class_name_declaration: class_with_superclass '<' inherited_protocols '>' '(' category_name ')' .

    $default  reduce using rule 101 (class_name_declaration)


state 504

  114 selector_with_argument_declaration: IDENTIFIER ':' . selector_argument_declaration

    '('  shift, and go to state 516

    selector_argument_declaration  go to state 517


state 505

  116 selector_with_argument_declaration: selector_with_argument_declaration ',' . ELLIPSIS

    ELLIPSIS  shift, and go to state 518


state 506

  115 selector_with_argument_declaration: selector_with_argument_declaration selector_component . selector_argument_declaration

    '('  shift, and go to state 516

    selector_argument_declaration  go to state 519


state 507

  190 struct_declaration: AT_PROPERTY '(' property_attributes_list ')' specifier_qualifier_list struct_declarator_list . ';'
  200 struct_declarator_list: struct_declarator_list . ',' struct_declarator

    ','  shift, and go to state 368
    ';'  shift, and go to state 520


state 508

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

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 521
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 509

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

    ';'  shift, and go to state 522


state 510

  287 iteration_statement: FOR '(' declaration IN expression ')' . statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 523
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 511

  286 iteration_statement: FOR '(' declaration expression_statement expression ')' . statement

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 524
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 512

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

    $default  reduce using rule 284 (iteration_statement)


state 513

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

    IDENTIFIER         shift, and go to state 131
    CONSTANT           shift, and go to state 132
    STRING_LITERAL     shift, and go to state 133
    SIZEOF             shift, and go to state 134
    INC_OP             shift, and go to state 135
    DEC_OP             shift, and go to state 136
    CASE               shift, and go to state 137
    DEFAULT            shift, and go to state 138
    IF                 shift, and go to state 139
    SWITCH             shift, and go to state 140
    WHILE              shift, and go to state 141
    DO                 shift, and go to state 142
    FOR                shift, and go to state 143
    GOTO               shift, and go to state 144
    CONTINUE           shift, and go to state 145
    BREAK              shift, and go to state 146
    RETURN             shift, and go to state 147
    AT_STRING_LITERAL  shift, and go to state 148
    AT_SELECTOR        shift, and go to state 149
    AT_ENCODE          shift, and go to state 150
    AT_CATCH           shift, and go to state 151
    AT_TRY             shift, and go to state 152
    '('                shift, and go to state 153
    '['                shift, and go to state 154
    '&'                shift, and go to state 155
    '*'                shift, and go to state 156
    '+'                shift, and go to state 157
    '-'                shift, and go to state 158
    '~'                shift, and go to state 159
    '!'                shift, and go to state 160
    '{'                shift, and go to state 74
    ';'                shift, and go to state 162

    primary_expression         go to state 163
    postfix_expression         go to state 164
    unary_expression           go to state 165
    unary_operator             go to state 166
    cast_expression            go to state 167
    multiplicative_expression  go to state 168
    additive_expression        go to state 169
    shift_expression           go to state 170
    relational_expression      go to state 171
    equality_expression        go to state 172
    and_expression             go to state 173
    exclusive_or_expression    go to state 174
    inclusive_or_expression    go to state 175
    logical_and_expression     go to state 176
    logical_or_expression      go to state 177
    conditional_expression     go to state 178
    assignment_expression      go to state 179
    expression                 go to state 180
    statement                  go to state 525
    labeled_statement          go to state 182
    compound_statement         go to state 183
    expression_statement       go to state 186
    selection_statement        go to state 187
    iteration_statement        go to state 188
    jump_statement             go to state 189


state 514

   45 cast_expression: '(' type_name ')' '{' struct_component_expression '}' .

    $default  reduce using rule 45 (cast_expression)


state 515

    8 struct_component_expression: struct_component_expression conditional_expression .

    $default  reduce using rule 8 (struct_component_expression)


state 516

  112 selector_argument_declaration: '(' . objc_declaration_specifiers ')' IDENTIFIER

    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
    ID         shift, and go to state 22
    SEL        shift, and go to state 23
    BOOL       shift, and go to state 24
    UNICHAR    shift, and go to state 25
    CLASS      shift, and go to state 26
    IN         shift, and go to state 341
    OUT        shift, and go to state 342
    INOUT      shift, and go to state 343
    BYREF      shift, and go to state 344
    BYCOPY     shift, and go to state 345
    ONEWAY     shift, and go to state 346
    WEAK       shift, and go to state 31
    STRONG     shift, and go to state 32

    do_atribute_specifier        go to state 347
    objc_declaration_specifiers  go to state 526
    type_specifier               go to state 126
    struct_or_union_specifier    go to state 40
    struct_or_union              go to state 41
    specifier_qualifier_list     go to state 275
    enum_specifier               go to state 42
    type_qualifier               go to state 130
    type_name                    go to state 349


state 517

  114 selector_with_argument_declaration: IDENTIFIER ':' selector_argument_declaration .

    $default  reduce using rule 114 (selector_with_argument_declaration)


state 518

  116 selector_with_argument_declaration: selector_with_argument_declaration ',' ELLIPSIS .

    $default  reduce using rule 116 (selector_with_argument_declaration)


state 519

  115 selector_with_argument_declaration: selector_with_argument_declaration selector_component selector_argument_declaration .

    $default  reduce using rule 115 (selector_with_argument_declaration)


state 520

  190 struct_declaration: AT_PROPERTY '(' property_attributes_list ')' specifier_qualifier_list struct_declarator_list ';' .

    $default  reduce using rule 190 (struct_declaration)


state 521

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

    $default  reduce using rule 280 (selection_statement)


state 522

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

    $default  reduce using rule 283 (iteration_statement)


state 523

  287 iteration_statement: FOR '(' declaration IN expression ')' statement .

    $default  reduce using rule 287 (iteration_statement)


state 524

  286 iteration_statement: FOR '(' declaration expression_statement expression ')' statement .

    $default  reduce using rule 286 (iteration_statement)


state 525

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

    $default  reduce using rule 285 (iteration_statement)


state 526

  112 selector_argument_declaration: '(' objc_declaration_specifiers . ')' IDENTIFIER

    ')'  shift, and go to state 527


state 527

  112 selector_argument_declaration: '(' objc_declaration_specifiers ')' . IDENTIFIER

    IDENTIFIER  shift, and go to state 528


state 528

  112 selector_argument_declaration: '(' objc_declaration_specifiers ')' IDENTIFIER .

    $default  reduce using rule 112 (selector_argument_declaration)
