PageRenderTime 121ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/y.output

https://bitbucket.org/mprateek/occ
Unknown | 13623 lines | 10501 code | 3122 blank | 0 comment | 0 complexity | 16ae33ba1644d2da752b42f55c8173ab MD5 | raw file
  1. Terminals which are not used
  2. TYPE_NAME
  3. SYNCHRONIZED
  4. CLASSNAME
  5. TRY
  6. CATCH
  7. FINALLY
  8. THROW
  9. ALLOC
  10. RETAIN
  11. RELEASE
  12. AUTORELEASE
  13. INCLUDE
  14. IMPORT
  15. IFX
  16. State 169 conflicts: 1 shift/reduce
  17. State 297 conflicts: 1 shift/reduce
  18. State 833 conflicts: 1 shift/reduce
  19. Grammar
  20. 0 $accept: start_prog $end
  21. 1 class_interface: INTERFACE IDENTIFIER END
  22. 2 | INTERFACE IDENTIFIER ':' IDENTIFIER END
  23. 3 | INTERFACE IDENTIFIER protocol_reference_list END
  24. 4 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list END
  25. 5 | INTERFACE IDENTIFIER instance_variables END
  26. 6 | INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables END
  27. 7 | INTERFACE IDENTIFIER protocol_reference_list instance_variables END
  28. 8 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables END
  29. 9 | INTERFACE IDENTIFIER interface_declaration_list END
  30. 10 | INTERFACE IDENTIFIER ':' IDENTIFIER interface_declaration_list END
  31. 11 | INTERFACE IDENTIFIER protocol_reference_list interface_declaration_list END
  32. 12 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list interface_declaration_list END
  33. 13 | INTERFACE IDENTIFIER instance_variables interface_declaration_list END
  34. 14 | INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables interface_declaration_list END
  35. 15 | INTERFACE IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
  36. 16 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
  37. 17 | INTERFACE error END
  38. 18 | INTERFACE error ':' IDENTIFIER END
  39. 19 | INTERFACE error ':' IDENTIFIER protocol_reference_list END
  40. 20 | INTERFACE error instance_variables END
  41. 21 | INTERFACE error ':' IDENTIFIER instance_variables END
  42. 22 | INTERFACE IDENTIFIER error IDENTIFIER instance_variables interface_declaration_list END
  43. 23 class_implementation: IMPLEMENTATION IDENTIFIER END
  44. 24 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER END
  45. 25 | IMPLEMENTATION IDENTIFIER instance_variables END
  46. 26 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables END
  47. 27 | IMPLEMENTATION IDENTIFIER implementation_definition_list END
  48. 28 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER implementation_definition_list END
  49. 29 | IMPLEMENTATION IDENTIFIER instance_variables implementation_definition_list END
  50. 30 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables implementation_definition_list END
  51. 31 | IMPLEMENTATION error
  52. 32 | IMPLEMENTATION IDENTIFIER error
  53. 33 | IMPLEMENTATION IDENTIFIER ':' error
  54. 34 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER ')' END
  55. 35 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list END
  56. 36 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' interface_declaration_list END
  57. 37 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list END
  58. 38 | INTERFACE IDENTIFIER error IDENTIFIER ')' END
  59. 39 | INTERFACE IDENTIFIER error IDENTIFIER ')' protocol_reference_list END
  60. 40 | INTERFACE IDENTIFIER '(' IDENTIFIER error
  61. 41 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' error
  62. 42 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list error
  63. 43 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' END
  64. 44 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' implementation_definition_list END
  65. 45 | IMPLEMENTATION IDENTIFIER '(' error ')' implementation_definition_list END
  66. 46 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER error implementation_definition_list END
  67. 47 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' error
  68. 48 protocol_declaration: PROTOCOL protocol_name END
  69. 49 | PROTOCOL protocol_name protocol_reference_list END
  70. 50 | PROTOCOL protocol_name interface_declaration_list END
  71. 51 | PROTOCOL protocol_name protocol_reference_list interface_declaration_list END
  72. 52 | PROTOCOL error protocol_reference_list interface_declaration_list END
  73. 53 class_declaration_list: CLASS class_list ';'
  74. 54 | CLASS class_list error
  75. 55 class_list: IDENTIFIER
  76. 56 | class_list ',' IDENTIFIER
  77. 57 | class_list error
  78. 58 protocol_reference_list: '<' protocol_list '>'
  79. 59 | '<' protocol_list error
  80. 60 protocol_list: protocol_name
  81. 61 | protocol_list ',' protocol_name
  82. 62 protocol_name: IDENTIFIER
  83. 63 instance_variables: '{' objc_declaration_list '}'
  84. 64 | '{' objc_declaration_list instance_variables_list '}'
  85. 65 | '{' struct_declaration_list '}'
  86. 66 | '{' visibility_specification struct_declaration_list '}'
  87. 67 | '{' struct_declaration_list instance_variables_list '}'
  88. 68 | '{' visibility_specification struct_declaration_list instance_variables_list '}'
  89. 69 | '{' error struct_declaration_list instance_variables_list '}'
  90. 70 | '{' visibility_specification struct_declaration_list error
  91. 71 | '{' struct_declaration_list instance_variables_list error
  92. 72 | '{' visibility_specification struct_declaration_list instance_variables_list error
  93. 73 instance_variables_list: visibility_specification struct_declaration_list
  94. 74 | visibility_specification struct_declaration_list instance_variables_list
  95. 75 visibility_specification: PRIVATE
  96. 76 | PROTECTED
  97. 77 | PUBLIC
  98. 78 interface_declaration_list: declaration
  99. 79 | method_declaration
  100. 80 | interface_declaration_list declaration
  101. 81 | interface_declaration_list method_declaration
  102. 82 objc_declaration_list: IDENTIFIER '*' IDENTIFIER ';'
  103. 83 | IDENTIFIER '*' IDENTIFIER ';' objc_declaration_list
  104. 84 | IDENTIFIER error IDENTIFIER ';'
  105. 85 | IDENTIFIER error IDENTIFIER error
  106. 86 | IDENTIFIER '*' IDENTIFIER error
  107. 87 | IDENTIFIER error IDENTIFIER ';' objc_declaration_list
  108. 88 | IDENTIFIER error IDENTIFIER error objc_declaration_list
  109. 89 | IDENTIFIER '*' IDENTIFIER error objc_declaration_list
  110. 90 method_declaration: class_method_declaration
  111. 91 | instance_method_declaration
  112. 92 class_method_declaration: '+' method_selector ';'
  113. 93 | '+' method_type method_selector ';'
  114. 94 | '+' method_type method_selector error
  115. 95 | '+' method_selector error
  116. 96 instance_method_declaration: '-' method_selector ';'
  117. 97 | '-' method_type method_selector ';'
  118. 98 | '-' method_type method_selector error
  119. 99 | '-' method_selector error
  120. 100 implementation_definition_list: function_definition
  121. 101 | declaration
  122. 102 | method_definition
  123. 103 | implementation_definition_list function_definition
  124. 104 | implementation_definition_list declaration
  125. 105 | implementation_definition_list method_definition
  126. 106 method_definition: class_method_definition
  127. 107 | instance_method_definition
  128. 108 class_method_definition: '+' method_selector compound_statement
  129. 109 | '+' method_type method_selector compound_statement
  130. 110 | '+' method_selector declaration_list compound_statement
  131. 111 | '+' method_type method_selector declaration_list compound_statement
  132. 112 instance_method_definition: '-' method_selector compound_statement
  133. 113 | '-' method_type method_selector compound_statement
  134. 114 | '-' method_selector declaration_list compound_statement
  135. 115 | '-' method_type method_selector declaration_list compound_statement
  136. 116 method_selector: unary_selector
  137. 117 | keyword_selector
  138. 118 | keyword_selector ',' ELLIPSIS
  139. 119 unary_selector: selector
  140. 120 keyword_selector: keyword_declarator
  141. 121 | keyword_selector keyword_declarator
  142. 122 keyword_declarator: selector ':' IDENTIFIER
  143. 123 | selector ':' method_type IDENTIFIER
  144. 124 selector: IDENTIFIER
  145. 125 method_type: '(' type_name ')'
  146. 126 | '(' IDENTIFIER '*' ')'
  147. 127 | '(' IDENTIFIER '*' error
  148. 128 | '(' IDENTIFIER error ')'
  149. 129 message_expression: '[' receiver message_selector ']'
  150. 130 | '[' receiver message_selector error
  151. 131 receiver: expression
  152. 132 | SUPER
  153. 133 message_selector: selector
  154. 134 | keyword_argument_list
  155. 135 keyword_argument_list: keyword_argument
  156. 136 | keyword_argument_list keyword_argument
  157. 137 keyword_argument: selector ':' expression
  158. 138 selector_expression: SELECTOR '(' selector_name ')'
  159. 139 | SELECTOR '(' selector_name error
  160. 140 | SELECTOR error selector_name ')'
  161. 141 selector_name: selector
  162. 142 | keyword_name_list
  163. 143 keyword_name_list: keyword_name
  164. 144 | keyword_name_list keyword_name
  165. 145 keyword_name: selector ':'
  166. 146 | ':'
  167. 147 protocol_expression: PROTOCOL '(' protocol_name ')'
  168. 148 | PROTOCOL '(' protocol_name error
  169. 149 | PROTOCOL error protocol_name ')'
  170. 150 encode_expression: ENCODE '(' type_name ')'
  171. 151 | ENCODE error type_name ')'
  172. 152 method_instantation_statement: IDENTIFIER '*' IDENTIFIER '=' expression ';'
  173. 153 | IDENTIFIER '*' IDENTIFIER error expression ';'
  174. 154 | IDENTIFIER '*' IDENTIFIER error expression error
  175. 155 primary_expression: IDENTIFIER
  176. 156 | INTEGER
  177. 157 | DECIMAL
  178. 158 | STRING
  179. 159 | CHARACTER
  180. 160 | '(' expression ')'
  181. 161 | SELF
  182. 162 | message_expression
  183. 163 | selector_expression
  184. 164 | protocol_expression
  185. 165 | encode_expression
  186. 166 postfix_expression: primary_expression
  187. 167 | postfix_expression '[' expression ']'
  188. 168 | postfix_expression '(' ')'
  189. 169 | postfix_expression '(' argument_expression_list ')'
  190. 170 | postfix_expression '.' IDENTIFIER
  191. 171 | postfix_expression PTR_OP IDENTIFIER
  192. 172 | postfix_expression INC_OP
  193. 173 | postfix_expression DEC_OP
  194. 174 | postfix_expression '[' expression error
  195. 175 | postfix_expression '(' error
  196. 176 | postfix_expression '(' argument_expression_list error
  197. 177 | postfix_expression '.' error
  198. 178 | postfix_expression PTR_OP error
  199. 179 argument_expression_list: assignment_expression
  200. 180 | argument_expression_list ',' assignment_expression
  201. 181 unary_expression: postfix_expression
  202. 182 | INC_OP unary_expression
  203. 183 | DEC_OP unary_expression
  204. 184 | unary_operator cast_expression
  205. 185 | SIZEOF unary_expression
  206. 186 | SIZEOF '(' type_name ')'
  207. 187 | SIZEOF error type_name ')'
  208. 188 unary_operator: '&'
  209. 189 | '*'
  210. 190 | '+'
  211. 191 | '-'
  212. 192 | '~'
  213. 193 | '!'
  214. 194 cast_expression: unary_expression
  215. 195 | '(' type_name ')' cast_expression
  216. 196 multiplicative_expression: cast_expression
  217. 197 | multiplicative_expression '*' cast_expression
  218. 198 | multiplicative_expression '/' cast_expression
  219. 199 | multiplicative_expression '%' cast_expression
  220. 200 additive_expression: multiplicative_expression
  221. 201 | additive_expression '+' multiplicative_expression
  222. 202 | additive_expression '-' multiplicative_expression
  223. 203 shift_expression: additive_expression
  224. 204 | shift_expression LEFT_OP additive_expression
  225. 205 | shift_expression RIGHT_OP additive_expression
  226. 206 relational_expression: shift_expression
  227. 207 | relational_expression '<' shift_expression
  228. 208 | relational_expression '>' shift_expression
  229. 209 | relational_expression LE_OP shift_expression
  230. 210 | relational_expression GE_OP shift_expression
  231. 211 equality_expression: relational_expression
  232. 212 | equality_expression EQ_OP relational_expression
  233. 213 | equality_expression NE_OP relational_expression
  234. 214 and_expression: equality_expression
  235. 215 | and_expression '&' equality_expression
  236. 216 exclusive_or_expression: and_expression
  237. 217 | exclusive_or_expression '^' and_expression
  238. 218 inclusive_or_expression: exclusive_or_expression
  239. 219 | inclusive_or_expression '|' exclusive_or_expression
  240. 220 logical_and_expression: inclusive_or_expression
  241. 221 | logical_and_expression AND_OP inclusive_or_expression
  242. 222 logical_or_expression: logical_and_expression
  243. 223 | logical_or_expression OR_OP logical_and_expression
  244. 224 conditional_expression: logical_or_expression
  245. 225 | logical_or_expression '?' expression ':' conditional_expression
  246. 226 | logical_or_expression '?' expression error conditional_expression
  247. 227 assignment_expression: conditional_expression
  248. 228 | unary_expression assignment_operator assignment_expression
  249. 229 assignment_operator: '='
  250. 230 | MUL_ASSIGN
  251. 231 | DIV_ASSIGN
  252. 232 | MOD_ASSIGN
  253. 233 | ADD_ASSIGN
  254. 234 | SUB_ASSIGN
  255. 235 | LEFT_ASSIGN
  256. 236 | RIGHT_ASSIGN
  257. 237 | AND_ASSIGN
  258. 238 | XOR_ASSIGN
  259. 239 | OR_ASSIGN
  260. 240 expression: assignment_expression
  261. 241 | expression ',' assignment_expression
  262. 242 constant_expression: conditional_expression
  263. 243 declaration: declaration_specifiers ';'
  264. 244 | declaration_specifiers init_declarator_list ';'
  265. 245 declaration_specifiers: type_qualifier
  266. 246 | type_specifier
  267. 247 | storage_class_specifier
  268. 248 | type_qualifier type_specifier
  269. 249 | type_specifier type_qualifier
  270. 250 | type_specifier storage_class_specifier
  271. 251 | storage_class_specifier type_specifier
  272. 252 | storage_class_specifier type_qualifier
  273. 253 | type_qualifier storage_class_specifier
  274. 254 | type_qualifier type_specifier storage_class_specifier
  275. 255 | type_qualifier storage_class_specifier type_specifier
  276. 256 | storage_class_specifier type_specifier type_qualifier
  277. 257 | storage_class_specifier type_qualifier type_specifier
  278. 258 | type_specifier type_qualifier storage_class_specifier
  279. 259 | type_specifier storage_class_specifier type_qualifier
  280. 260 init_declarator_list: init_declarator
  281. 261 | init_declarator_list ',' init_declarator
  282. 262 | init_declarator_list error init_declarator
  283. 263 init_declarator: declarator
  284. 264 | declarator '=' initializer
  285. 265 storage_class_specifier: TYPEDEF
  286. 266 | EXTERN
  287. 267 | STATIC
  288. 268 | AUTO
  289. 269 | REGISTER
  290. 270 type_specifier: VOID
  291. 271 | CHAR
  292. 272 | SHORT
  293. 273 | INT
  294. 274 | LONG
  295. 275 | FLOAT
  296. 276 | DOUBLE
  297. 277 | SIGNED
  298. 278 | UNSIGNED
  299. 279 | struct_or_union_specifier
  300. 280 | enum_specifier
  301. 281 | ID protocol_reference_list
  302. 282 | ID
  303. 283 | BOOL
  304. 284 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}'
  305. 285 | struct_or_union '{' struct_declaration_list '}'
  306. 286 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER ')' '}'
  307. 287 | struct_or_union '{' DEFS '(' IDENTIFIER ')' '}'
  308. 288 | struct_or_union IDENTIFIER
  309. 289 | struct_or_union error
  310. 290 | struct_or_union IDENTIFIER '{' struct_declaration_list error
  311. 291 | struct_or_union error '{' struct_declaration_list '}'
  312. 292 | struct_or_union '{' struct_declaration_list error
  313. 293 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER ')' error
  314. 294 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER error '}'
  315. 295 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER ')' '}'
  316. 296 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER ')' '}'
  317. 297 | struct_or_union error '{' DEFS '(' IDENTIFIER ')' '}'
  318. 298 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER error error
  319. 299 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER ')' error
  320. 300 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER ')' error
  321. 301 | struct_or_union error '{' DEFS '(' IDENTIFIER ')' error
  322. 302 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER error '}'
  323. 303 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER error '}'
  324. 304 | struct_or_union error '{' DEFS '(' IDENTIFIER error '}'
  325. 305 | struct_or_union IDENTIFIER '{' error error IDENTIFIER ')' '}'
  326. 306 | struct_or_union error '{' DEFS error IDENTIFIER ')' '}'
  327. 307 | struct_or_union error '{' error '(' IDENTIFIER ')' '}'
  328. 308 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER error error
  329. 309 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER error error
  330. 310 | struct_or_union error '{' DEFS '(' IDENTIFIER error error
  331. 311 | struct_or_union IDENTIFIER '{' error error IDENTIFIER ')' error
  332. 312 | struct_or_union error '{' DEFS error IDENTIFIER ')' error
  333. 313 | struct_or_union error '{' error '(' IDENTIFIER ')' error
  334. 314 | struct_or_union IDENTIFIER '{' error error IDENTIFIER error '}'
  335. 315 | struct_or_union error '{' DEFS error IDENTIFIER error '}'
  336. 316 | struct_or_union error '{' error '(' IDENTIFIER error '}'
  337. 317 | struct_or_union error '{' error error IDENTIFIER ')' '}'
  338. 318 | struct_or_union IDENTIFIER '{' error error IDENTIFIER error error
  339. 319 | struct_or_union error '{' DEFS error IDENTIFIER error error
  340. 320 | struct_or_union error '{' error '(' IDENTIFIER error error
  341. 321 | struct_or_union error '{' error error IDENTIFIER ')' error
  342. 322 | struct_or_union error '{' error error IDENTIFIER error '}'
  343. 323 | struct_or_union error '{' error error IDENTIFIER error error
  344. 324 | struct_or_union '{' DEFS '(' IDENTIFIER ')' error
  345. 325 | struct_or_union '{' DEFS '(' IDENTIFIER error '}'
  346. 326 | struct_or_union '{' DEFS error IDENTIFIER ')' '}'
  347. 327 | struct_or_union '{' error '(' IDENTIFIER ')' '}'
  348. 328 | struct_or_union error DEFS '(' IDENTIFIER ')' '}'
  349. 329 | struct_or_union '{' DEFS '(' IDENTIFIER error error
  350. 330 | struct_or_union '{' DEFS error IDENTIFIER ')' error
  351. 331 | struct_or_union '{' error '(' IDENTIFIER ')' error
  352. 332 | struct_or_union error DEFS '(' IDENTIFIER ')' error
  353. 333 | struct_or_union '{' DEFS error IDENTIFIER error '}'
  354. 334 | struct_or_union '{' error '(' IDENTIFIER error '}'
  355. 335 | struct_or_union error DEFS '(' IDENTIFIER error '}'
  356. 336 | struct_or_union '{' error error IDENTIFIER ')' '}'
  357. 337 | struct_or_union error DEFS error IDENTIFIER ')' '}'
  358. 338 | struct_or_union '{' DEFS error IDENTIFIER error error
  359. 339 | struct_or_union '{' error '(' IDENTIFIER error error
  360. 340 | struct_or_union error DEFS '(' IDENTIFIER error error
  361. 341 | struct_or_union '{' error error IDENTIFIER ')' error
  362. 342 | struct_or_union error DEFS error IDENTIFIER ')' error
  363. 343 | struct_or_union '{' error error IDENTIFIER error '}'
  364. 344 | struct_or_union error DEFS error IDENTIFIER error '}'
  365. 345 | struct_or_union error DEFS error IDENTIFIER error error
  366. 346 | struct_or_union '{' error error IDENTIFIER error error
  367. 347 struct_or_union: STRUCT
  368. 348 | UNION
  369. 349 struct_declaration_list: struct_declaration
  370. 350 | struct_declaration_list struct_declaration
  371. 351 struct_declaration: specifier_qualifier_list struct_declarator_list ';'
  372. 352 | specifier_qualifier_list struct_declarator_list error
  373. 353 specifier_qualifier_list: type_specifier
  374. 354 | type_qualifier
  375. 355 | type_specifier type_qualifier
  376. 356 | type_qualifier type_specifier
  377. 357 struct_declarator_list: struct_declarator
  378. 358 | struct_declarator_list ',' struct_declarator
  379. 359 | struct_declarator_list error struct_declarator
  380. 360 struct_declarator: declarator
  381. 361 | ':' constant_expression
  382. 362 | declarator ':' constant_expression
  383. 363 enum_specifier: ENUM '{' enumerator_list '}'
  384. 364 | ENUM IDENTIFIER '{' enumerator_list '}'
  385. 365 | ENUM IDENTIFIER
  386. 366 | ENUM error
  387. 367 | ENUM '{' enumerator_list error
  388. 368 | ENUM IDENTIFIER '{' enumerator_list error
  389. 369 | ENUM error '{' enumerator_list '}'
  390. 370 | ENUM error '{' enumerator_list error
  391. 371 enumerator_list: enumerator
  392. 372 | enumerator_list ',' enumerator
  393. 373 enumerator: IDENTIFIER
  394. 374 | IDENTIFIER '=' constant_expression
  395. 375 | error
  396. 376 type_qualifier: CONST
  397. 377 | VOLATILE
  398. 378 | protocol_qualifier
  399. 379 protocol_qualifier: IN
  400. 380 | OUT
  401. 381 | INOUT
  402. 382 | BYCOPY
  403. 383 | BYREF
  404. 384 | ONEWAY
  405. 385 declarator: pointer direct_declarator
  406. 386 | direct_declarator
  407. 387 direct_declarator: IDENTIFIER
  408. 388 | '(' declarator ')'
  409. 389 | direct_declarator '[' constant_expression ']'
  410. 390 | direct_declarator '[' ']'
  411. 391 | direct_declarator '(' parameter_list ')'
  412. 392 | direct_declarator '(' identifier_list ')'
  413. 393 | direct_declarator '(' ')'
  414. 394 | direct_declarator '[' constant_expression error
  415. 395 | direct_declarator '[' error
  416. 396 | direct_declarator '(' identifier_list error
  417. 397 | direct_declarator '(' error
  418. 398 pointer: '*'
  419. 399 | '*' type_qualifier_list
  420. 400 | '*' pointer
  421. 401 | '*' type_qualifier_list pointer
  422. 402 type_qualifier_list: type_qualifier
  423. 403 | type_qualifier_list type_qualifier
  424. 404 parameter_list: parameter_declaration
  425. 405 | parameter_list ',' parameter_declaration
  426. 406 parameter_declaration: declaration_specifiers declarator
  427. 407 | declaration_specifiers abstract_declarator
  428. 408 | declaration_specifiers
  429. 409 identifier_list: IDENTIFIER
  430. 410 | identifier_list ',' IDENTIFIER
  431. 411 | identifier_list error IDENTIFIER
  432. 412 type_name: specifier_qualifier_list
  433. 413 | specifier_qualifier_list abstract_declarator
  434. 414 abstract_declarator: pointer
  435. 415 | direct_abstract_declarator
  436. 416 | pointer direct_abstract_declarator
  437. 417 direct_abstract_declarator: '(' abstract_declarator ')'
  438. 418 | '[' ']'
  439. 419 | '[' constant_expression ']'
  440. 420 | direct_abstract_declarator '[' ']'
  441. 421 | direct_abstract_declarator '[' constant_expression ']'
  442. 422 | '(' ')'
  443. 423 | '(' parameter_list ')'
  444. 424 | direct_abstract_declarator '(' ')'
  445. 425 | direct_abstract_declarator '(' parameter_list ')'
  446. 426 | '[' error
  447. 427 | error ']'
  448. 428 | error constant_expression ']'
  449. 429 | '[' constant_expression error
  450. 430 | error constant_expression error
  451. 431 | direct_abstract_declarator error ']'
  452. 432 | direct_abstract_declarator '[' error
  453. 433 | direct_abstract_declarator error constant_expression error
  454. 434 | direct_abstract_declarator '[' constant_expression error
  455. 435 | direct_abstract_declarator error constant_expression ']'
  456. 436 | error parameter_list ')'
  457. 437 | direct_abstract_declarator error error
  458. 438 | direct_abstract_declarator error ')'
  459. 439 | direct_abstract_declarator '(' error
  460. 440 | direct_abstract_declarator error parameter_list ')'
  461. 441 initializer: assignment_expression
  462. 442 | '{' initializer_list '}'
  463. 443 | '{' initializer_list ',' '}'
  464. 444 | '{' initializer_list error
  465. 445 | '{' initializer_list ',' error
  466. 446 initializer_list: initializer
  467. 447 | initializer_list ',' initializer
  468. 448 | initializer_list error initializer
  469. 449 statement: method_instantation_statement
  470. 450 | labeled_statement
  471. 451 | compound_statement
  472. 452 | expression_statement
  473. 453 | selection_statement
  474. 454 | iteration_statement
  475. 455 | jump_statement
  476. 456 | print_statement_int
  477. 457 | print_statement_float
  478. 458 | error ';'
  479. 459 print_statement_int: PRINTI '(' IDENTIFIER ')' ';'
  480. 460 print_statement_float: PRINTF '(' IDENTIFIER ')' ';'
  481. 461 labeled_statement: IDENTIFIER ':' statement
  482. 462 | CASE constant_expression ':' statement
  483. 463 | DEFAULT ':' statement
  484. 464 | CASE constant_expression error statement
  485. 465 | DEFAULT error statement
  486. 466 compound_statement: '{' '}'
  487. 467 | '{' compound_statement_list '}'
  488. 468 | '{' compound_declaration_list '}'
  489. 469 declaration_list: declaration
  490. 470 | declaration declaration_list
  491. 471 statement_list: statement
  492. 472 | statement statement_list
  493. 473 compound_statement_list: declaration_list
  494. 474 | declaration_list compound_declaration_list
  495. 475 compound_declaration_list: statement_list
  496. 476 | statement_list compound_statement_list
  497. 477 expression_statement: ';'
  498. 478 | expression ';'
  499. 479 | expression error
  500. 480 selection_statement: IF '(' expression ')' statement
  501. 481 | IF '(' expression ')' statement ELSE statement
  502. 482 | SWITCH '(' expression ')' statement
  503. 483 | IF error expression ')' statement
  504. 484 | IF error expression error statement
  505. 485 | IF '(' expression error statement
  506. 486 | IF ')' expression error statement ELSE statement
  507. 487 | SWITCH error expression ')' statement
  508. 488 | SWITCH error expression error statement
  509. 489 | SWITCH '(' expression error statement
  510. 490 iteration_statement: WHILE '(' expression ')' statement
  511. 491 | DO statement WHILE '(' expression ')' ';'
  512. 492 | FOR '(' expression_statement expression_statement ')' statement
  513. 493 | FOR '(' expression_statement expression_statement expression ')' statement
  514. 494 | WHILE error expression ')' statement
  515. 495 | WHILE error expression error statement
  516. 496 | WHILE '(' expression error statement
  517. 497 | DO statement WHILE error expression ')' ';'
  518. 498 | DO statement WHILE error expression error ';'
  519. 499 | DO statement WHILE '(' expression error ';'
  520. 500 | DO statement WHILE error expression ')' error
  521. 501 | DO statement WHILE '(' expression ')' error
  522. 502 | DO statement error '(' expression ')' ';'
  523. 503 | DO statement error '(' expression ')' error
  524. 504 | FOR error expression_statement expression_statement ')' statement
  525. 505 | FOR '(' expression_statement expression_statement error statement
  526. 506 | FOR error expression_statement expression_statement error statement
  527. 507 | FOR error expression_statement expression_statement expression ')' statement
  528. 508 | FOR '(' expression_statement expression_statement expression error statement
  529. 509 | FOR error expression_statement expression_statement expression error statement
  530. 510 jump_statement: jump_statement_intermediate ';'
  531. 511 | jump_statement_intermediate error
  532. 512 jump_statement_intermediate: GOTO IDENTIFIER
  533. 513 | CONTINUE
  534. 514 | BREAK
  535. 515 | RETURN
  536. 516 | RETURN expression
  537. 517 external_declaration: function_definition
  538. 518 | declaration
  539. 519 | class_interface
  540. 520 | class_implementation
  541. 521 | category_interface
  542. 522 | category_implementation
  543. 523 | protocol_declaration
  544. 524 | class_declaration_list
  545. 525 function_definition: declaration_specifiers declarator declaration_list compound_statement
  546. 526 | declaration_specifiers declarator compound_statement
  547. 527 | declarator declaration_list compound_statement
  548. 528 | declarator compound_statement
  549. 529 translation_unit: external_declaration
  550. 530 | translation_unit external_declaration
  551. 531 start_prog: translation_unit
  552. Terminals, with rules where they appear
  553. $end (0) 0
  554. '!' (33) 193
  555. '%' (37) 199
  556. '&' (38) 188 215
  557. '(' (40) 34 35 36 37 40 41 42 43 44 45 46 47 125 126 127 128 138 139
  558. 147 148 150 160 168 169 175 176 186 195 286 287 293 294 296 297
  559. 298 300 301 303 304 307 309 310 313 316 320 324 325 327 328 329
  560. 331 332 334 335 339 340 388 391 392 393 396 397 417 422 423 424
  561. 425 439 459 460 480 481 482 485 489 490 491 492 493 496 499 501
  562. 502 503 505 508
  563. ')' (41) 34 35 36 37 38 39 41 42 43 44 45 47 125 126 128 138 140 147
  564. 149 150 151 160 168 169 186 187 195 286 287 293 295 296 297 299
  565. 300 301 305 306 307 311 312 313 317 321 324 326 327 328 330 331
  566. 332 336 337 341 342 388 391 392 393 417 422 423 424 425 436 438
  567. 440 459 460 480 481 482 483 486 487 490 491 492 493 494 497 500
  568. 501 502 503 504 507
  569. '*' (42) 82 83 86 89 126 127 152 153 154 189 197 398 399 400 401
  570. '+' (43) 92 93 94 95 108 109 110 111 190 201
  571. ',' (44) 56 61 118 180 241 261 358 372 405 410 443 445 447
  572. '-' (45) 96 97 98 99 112 113 114 115 191 202
  573. '.' (46) 170 177
  574. '/' (47) 198
  575. ':' (58) 2 4 6 8 10 12 14 16 18 19 21 24 26 28 30 33 122 123 137 145
  576. 146 225 361 362 461 462 463
  577. ';' (59) 53 82 83 84 87 92 93 96 97 152 153 243 244 351 458 459 460
  578. 477 478 491 497 498 499 502 510
  579. '<' (60) 58 59 207
  580. '=' (61) 152 229 264 374
  581. '>' (62) 58 208
  582. '?' (63) 225 226
  583. '[' (91) 129 130 167 174 389 390 394 395 418 419 420 421 426 429 432
  584. 434
  585. ']' (93) 129 167 389 390 418 419 420 421 427 428 431 435
  586. '^' (94) 217
  587. '{' (123) 63 64 65 66 67 68 69 70 71 72 284 285 286 287 290 291 292
  588. 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
  589. 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
  590. 325 326 327 329 330 331 333 334 336 338 339 341 343 346 363 364
  591. 367 368 369 370 442 443 444 445 466 467 468
  592. '|' (124) 219
  593. '}' (125) 63 64 65 66 67 68 69 284 285 286 287 291 294 295 296 297
  594. 302 303 304 305 306 307 314 315 316 317 322 325 326 327 328 333
  595. 334 335 336 337 343 344 363 364 369 442 443 466 467 468
  596. '~' (126) 192
  597. error (256) 17 18 19 20 21 22 31 32 33 38 39 40 41 42 45 46 47 52 54
  598. 57 59 69 70 71 72 84 85 86 87 88 89 94 95 98 99 127 128 130 139
  599. 140 148 149 151 153 154 174 175 176 177 178 187 226 262 289 290
  600. 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306
  601. 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322
  602. 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338
  603. 339 340 341 342 343 344 345 346 352 359 366 367 368 369 370 375
  604. 394 395 396 397 411 426 427 428 429 430 431 432 433 434 435 436
  605. 437 438 439 440 444 445 448 458 464 465 479 483 484 485 486 487
  606. 488 489 494 495 496 497 498 499 500 501 502 503 504 505 506 507
  607. 508 509 511
  608. IDENTIFIER (258) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 21 22
  609. 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44
  610. 45 46 47 55 56 62 82 83 84 85 86 87 88 89 122 123 124 126 127 128
  611. 152 153 154 155 170 171 284 286 287 288 290 293 294 295 296 297
  612. 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
  613. 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
  614. 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
  615. 346 364 365 368 373 374 387 409 410 411 459 460 461 512
  616. STRING (259) 158
  617. CHARACTER (260) 159
  618. INTEGER (261) 156
  619. DECIMAL (262) 157
  620. SIZEOF (263) 185 186 187
  621. PTR_OP (264) 171 178
  622. INC_OP (265) 172 182
  623. DEC_OP (266) 173 183
  624. LEFT_OP (267) 204
  625. RIGHT_OP (268) 205
  626. LE_OP (269) 209
  627. GE_OP (270) 210
  628. EQ_OP (271) 212
  629. NE_OP (272) 213
  630. PRINTI (273) 459
  631. PRINTF (274) 460
  632. AND_OP (275) 221
  633. OR_OP (276) 223
  634. MUL_ASSIGN (277) 230
  635. DIV_ASSIGN (278) 231
  636. MOD_ASSIGN (279) 232
  637. ADD_ASSIGN (280) 233
  638. SUB_ASSIGN (281) 234
  639. LEFT_ASSIGN (282) 235
  640. RIGHT_ASSIGN (283) 236
  641. AND_ASSIGN (284) 237
  642. XOR_ASSIGN (285) 238
  643. OR_ASSIGN (286) 239
  644. TYPE_NAME (287)
  645. TYPEDEF (288) 265
  646. EXTERN (289) 266
  647. STATIC (290) 267
  648. AUTO (291) 268
  649. REGISTER (292) 269
  650. CHAR (293) 271
  651. SHORT (294) 272
  652. INT (295) 273
  653. LONG (296) 274
  654. SIGNED (297) 277
  655. UNSIGNED (298) 278
  656. FLOAT (299) 275
  657. DOUBLE (300) 276
  658. CONST (301) 376
  659. VOLATILE (302) 377
  660. VOID (303) 270
  661. STRUCT (304) 347
  662. UNION (305) 348
  663. ENUM (306) 363 364 365 366 367 368 369 370
  664. ELLIPSIS (307) 118
  665. CASE (308) 462 464
  666. DEFAULT (309) 463 465
  667. IF (310) 480 481 483 484 485 486
  668. ELSE (311) 481 486
  669. SWITCH (312) 482 487 488 489
  670. WHILE (313) 490 491 494 495 496 497 498 499 500 501
  671. DO (314) 491 497 498 499 500 501 502 503
  672. FOR (315) 492 493 504 505 506 507 508 509
  673. GOTO (316) 512
  674. CONTINUE (317) 513
  675. BREAK (318) 514
  676. RETURN (319) 515 516
  677. INTERFACE (320) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  678. 21 22 34 35 36 37 38 39 40 41 42
  679. IMPLEMENTATION (321) 23 24 25 26 27 28 29 30 31 32 33 43 44 45 46 47
  680. END (322) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
  681. 23 24 25 26 27 28 29 30 34 35 36 37 38 39 43 44 45 46 48 49 50
  682. 51 52
  683. PROTOCOL (323) 48 49 50 51 52 147 148 149
  684. CLASS (324) 53 54
  685. PRIVATE (325) 75
  686. PUBLIC (326) 77
  687. PROTECTED (327) 76
  688. SELECTOR (328) 138 139 140
  689. ENCODE (329) 150 151
  690. SYNCHRONIZED (330)
  691. CLASSNAME (331)
  692. SUPER (332) 132
  693. SELF (333) 161
  694. ID (334) 281 282
  695. DEFS (335) 286 287 293 294 295 297 298 299 301 302 304 306 308 310
  696. 312 315 319 324 325 326 328 329 330 332 333 335 337 338 340 342
  697. 344 345
  698. IN (336) 379
  699. OUT (337) 380
  700. INOUT (338) 381
  701. BYCOPY (339) 382
  702. BYREF (340) 383
  703. ONEWAY (341) 384
  704. BOOL (342) 283
  705. TRY (343)
  706. CATCH (344)
  707. FINALLY (345)
  708. THROW (346)
  709. ALLOC (347)
  710. RETAIN (348)
  711. RELEASE (349)
  712. AUTORELEASE (350)
  713. INCLUDE (351)
  714. IMPORT (352)
  715. IFX (353)
  716. Nonterminals, with rules where they appear
  717. $accept (123)
  718. on left: 0
  719. class_interface (124)
  720. on left: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
  721. 22, on right: 519
  722. class_implementation (125)
  723. on left: 23 24 25 26 27 28 29 30 31 32 33, on right: 520
  724. category_interface (126)
  725. on left: 34 35 36 37 38 39 40 41 42, on right: 521
  726. category_implementation (127)
  727. on left: 43 44 45 46 47, on right: 522
  728. protocol_declaration (128)
  729. on left: 48 49 50 51 52, on right: 523
  730. class_declaration_list (129)
  731. on left: 53 54, on right: 524
  732. class_list (130)
  733. on left: 55 56 57, on right: 53 54 56 57
  734. protocol_reference_list (131)
  735. on left: 58 59, on right: 3 4 7 8 11 12 15 16 19 35 37 39 42 49
  736. 51 52 281
  737. protocol_list (132)
  738. on left: 60 61, on right: 58 59 61
  739. protocol_name (133)
  740. on left: 62, on right: 48 49 50 51 60 61 147 148 149
  741. instance_variables (134)
  742. on left: 63 64 65 66 67 68 69 70 71 72, on right: 5 6 7 8 13 14
  743. 15 16 20 21 22 25 26 29 30
  744. instance_variables_list (135)
  745. on left: 73 74, on right: 64 67 68 69 71 72 74
  746. visibility_specification (136)
  747. on left: 75 76 77, on right: 66 68 70 72 73 74
  748. interface_declaration_list (137)
  749. on left: 78 79 80 81, on right: 9 10 11 12 13 14 15 16 22 36 37
  750. 42 50 51 52 80 81
  751. objc_declaration_list (138)
  752. on left: 82 83 84 85 86 87 88 89, on right: 63 64 83 87 88 89
  753. method_declaration (139)
  754. on left: 90 91, on right: 79 81
  755. class_method_declaration (140)
  756. on left: 92 93 94 95, on right: 90
  757. instance_method_declaration (141)
  758. on left: 96 97 98 99, on right: 91
  759. implementation_definition_list (142)
  760. on left: 100 101 102 103 104 105, on right: 27 28 29 30 44 45 46
  761. 103 104 105
  762. method_definition (143)
  763. on left: 106 107, on right: 102 105
  764. class_method_definition (144)
  765. on left: 108 109 110 111, on right: 106
  766. instance_method_definition (145)
  767. on left: 112 113 114 115, on right: 107
  768. method_selector (146)
  769. on left: 116 117 118, on right: 92 93 94 95 96 97 98 99 108 109
  770. 110 111 112 113 114 115
  771. unary_selector (147)
  772. on left: 119, on right: 116
  773. keyword_selector (148)
  774. on left: 120 121, on right: 117 118 121
  775. keyword_declarator (149)
  776. on left: 122 123, on right: 120 121
  777. selector (150)
  778. on left: 124, on right: 119 122 123 133 137 141 145
  779. method_type (151)
  780. on left: 125 126 127 128, on right: 93 94 97 98 109 111 113 115
  781. 123
  782. message_expression (152)
  783. on left: 129 130, on right: 162
  784. receiver (153)
  785. on left: 131 132, on right: 129 130
  786. message_selector (154)
  787. on left: 133 134, on right: 129 130
  788. keyword_argument_list (155)
  789. on left: 135 136, on right: 134 136
  790. keyword_argument (156)
  791. on left: 137, on right: 135 136
  792. selector_expression (157)
  793. on left: 138 139 140, on right: 163
  794. selector_name (158)
  795. on left: 141 142, on right: 138 139 140
  796. keyword_name_list (159)
  797. on left: 143 144, on right: 142 144
  798. keyword_name (160)
  799. on left: 145 146, on right: 143 144
  800. protocol_expression (161)
  801. on left: 147 148 149, on right: 164
  802. encode_expression (162)
  803. on left: 150 151, on right: 165
  804. method_instantation_statement (163)
  805. on left: 152 153 154, on right: 449
  806. primary_expression (164)
  807. on left: 155 156 157 158 159 160 161 162 163 164 165,
  808. on right: 166
  809. postfix_expression (165)
  810. on left: 166 167 168 169 170 171 172 173 174 175 176 177 178,
  811. on right: 167 168 169 170 171 172 173 174 175 176 177 178 181
  812. argument_expression_list (166)
  813. on left: 179 180, on right: 169 176 180
  814. unary_expression (167)
  815. on left: 181 182 183 184 185 186 187, on right: 182 183 185 194
  816. 228
  817. unary_operator (168)
  818. on left: 188 189 190 191 192 193, on right: 184
  819. cast_expression (169)
  820. on left: 194 195, on right: 184 195 196 197 198 199
  821. multiplicative_expression (170)
  822. on left: 196 197 198 199, on right: 197 198 199 200 201 202
  823. additive_expression (171)
  824. on left: 200 201 202, on right: 201 202 203 204 205
  825. shift_expression (172)
  826. on left: 203 204 205, on right: 204 205 206 207 208 209 210
  827. relational_expression (173)
  828. on left: 206 207 208 209 210, on right: 207 208 209 210 211 212
  829. 213
  830. equality_expression (174)
  831. on left: 211 212 213, on right: 212 213 214 215
  832. and_expression (175)
  833. on left: 214 215, on right: 215 216 217
  834. exclusive_or_expression (176)
  835. on left: 216 217, on right: 217 218 219
  836. inclusive_or_expression (177)
  837. on left: 218 219, on right: 219 220 221
  838. logical_and_expression (178)
  839. on left: 220 221, on right: 221 222 223
  840. logical_or_expression (179)
  841. on left: 222 223, on right: 223 224 225 226
  842. conditional_expression (180)
  843. on left: 224 225 226, on right: 225 226 227 242
  844. assignment_expression (181)
  845. on left: 227 228, on right: 179 180 228 240 241 441
  846. assignment_operator (182)
  847. on left: 229 230 231 232 233 234 235 236 237 238 239,
  848. on right: 228
  849. expression (183)
  850. on left: 240 241, on right: 131 137 152 153 154 160 167 174 225
  851. 226 241 478 479 480 481 482 483 484 485 486 487 488 489 490 491
  852. 493 494 495 496 497 498 499 500 501 502 503 507 508 509 516
  853. constant_expression (184)
  854. on left: 242, on right: 361 362 374 389 394 419 421 428 429 430
  855. 433 434 435 462 464
  856. declaration (185)
  857. on left: 243 244, on right: 78 80 101 104 469 470 518
  858. declaration_specifiers (186)
  859. on left: 245 246 247 248 249 250 251 252 253 254 255 256 257 258
  860. 259, on right: 243 244 406 407 408 525 526
  861. init_declarator_list (187)
  862. on left: 260 261 262, on right: 244 261 262
  863. init_declarator (188)
  864. on left: 263 264, on right: 260 261 262
  865. storage_class_specifier (189)
  866. on left: 265 266 267 268 269, on right: 247 250 251 252 253 254
  867. 255 256 257 258 259
  868. type_specifier (190)
  869. on left: 270 271 272 273 274 275 276 277 278 279 280 281 282 283
  870. , on right: 246 248 249 250 251 254 255 256 257 258 259 353 355
  871. 356
  872. struct_or_union_specifier (191)
  873. on left: 284 285 286 287 288 289 290 291 292 293 294 295 296 297
  874. 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
  875. 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
  876. 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
  877. 346, on right: 279
  878. struct_or_union (192)
  879. on left: 347 348, on right: 284 285 286 287 288 289 290 291 292
  880. 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
  881. 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
  882. 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
  883. 341 342 343 344 345 346
  884. struct_declaration_list (193)
  885. on left: 349 350, on right: 65 66 67 68 69 70 71 72 73 74 284 285
  886. 290 291 292 350
  887. struct_declaration (194)
  888. on left: 351 352, on right: 349 350
  889. specifier_qualifier_list (195)
  890. on left: 353 354 355 356, on right: 351 352 412 413
  891. struct_declarator_list (196)
  892. on left: 357 358 359, on right: 351 352 358 359
  893. struct_declarator (197)
  894. on left: 360 361 362, on right: 357 358 359
  895. enum_specifier (198)
  896. on left: 363 364 365 366 367 368 369 370, on right: 280
  897. enumerator_list (199)
  898. on left: 371 372, on right: 363 364 367 368 369 370 372
  899. enumerator (200)
  900. on left: 373 374 375, on right: 371 372
  901. type_qualifier (201)
  902. on left: 376 377 378, on right: 245 248 249 252 253 254 255 256
  903. 257 258 259 354 355 356 402 403
  904. protocol_qualifier (202)
  905. on left: 379 380 381 382 383 384, on right: 378
  906. declarator (203)
  907. on left: 385 386, on right: 263 264 360 362 388 406 525 526 527
  908. 528
  909. direct_declarator (204)
  910. on left: 387 388 389 390 391 392 393 394 395 396 397,
  911. on right: 385 386 389 390 391 392 393 394 395 396 397
  912. pointer (205)
  913. on left: 398 399 400 401, on right: 385 400 401 414 416
  914. type_qualifier_list (206)
  915. on left: 402 403, on right: 399 401 403
  916. parameter_list (207)
  917. on left: 404 405, on right: 391 405 423 425 436 440
  918. parameter_declaration (208)
  919. on left: 406 407 408, on right: 404 405
  920. identifier_list (209)
  921. on left: 409 410 411, on right: 392 396 410 411
  922. type_name (210)
  923. on left: 412 413, on right: 125 150 151 186 187 195
  924. abstract_declarator (211)
  925. on left: 414 415 416, on right: 407 413 417
  926. direct_abstract_declarator (212)
  927. on left: 417 418 419 420 421 422 423 424 425 426 427 428 429 430
  928. 431 432 433 434 435 436 437 438 439 440, on right: 415 416 420
  929. 421 424 425 431 432 433 434 435 437 438 439 440
  930. initializer (213)
  931. on left: 441 442 443 444 445, on right: 264 446 447 448
  932. initializer_list (214)
  933. on left: 446 447 448, on right: 442 443 444 445 447 448
  934. statement (215)
  935. on left: 449 450 451 452 453 454 455 456 457 458,
  936. on right: 461 462 463 464 465 471 472 480 481 482 483 484 485 486
  937. 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502
  938. 503 504 505 506 507 508 509
  939. print_statement_int (216)
  940. on left: 459, on right: 456
  941. print_statement_float (217)
  942. on left: 460, on right: 457
  943. labeled_statement (218)
  944. on left: 461 462 463 464 465, on right: 450
  945. compound_statement (219)
  946. on left: 466 467 468, on right: 108 109 110 111 112 113 114 115
  947. 451 525 526 527 528
  948. declaration_list (220)
  949. on left: 469 470, on right: 110 111 114 115 470 473 474 525 527
  950. statement_list (221)
  951. on left: 471 472, on right: 472 475 476
  952. compound_statement_list (222)
  953. on left: 473 474, on right: 467 476
  954. compound_declaration_list (223)
  955. on left: 475 476, on right: 468 474
  956. expression_statement (224)
  957. on left: 477 478 479, on right: 452 492 493 504 505 506 507 508
  958. 509
  959. selection_statement (225)
  960. on left: 480 481 482 483 484 485 486 487 488 489,
  961. on right: 453
  962. iteration_statement (226)
  963. on left: 490 491 492 493 494 495 496 497 498 499 500 501 502 503
  964. 504 505 506 507 508 509, on right: 454
  965. jump_statement (227)
  966. on left: 510 511, on right: 455
  967. jump_statement_intermediate (228)
  968. on left: 512 513 514 515 516, on right: 510 511
  969. external_declaration (229)
  970. on left: 517 518 519 520 521 522 523 524, on right: 529 530
  971. function_definition (230)
  972. on left: 525 526 527 528, on right: 100 103 517
  973. translation_unit (231)
  974. on left: 529 530, on right: 530 531
  975. start_prog (232)
  976. on left: 531, on right: 0
  977. state 0
  978. 0 $accept: . start_prog $end
  979. IDENTIFIER shift, and go to state 1
  980. TYPEDEF shift, and go to state 2
  981. EXTERN shift, and go to state 3
  982. STATIC shift, and go to state 4
  983. AUTO shift, and go to state 5
  984. REGISTER shift, and go to state 6
  985. CHAR shift, and go to state 7
  986. SHORT shift, and go to state 8
  987. INT shift, and go to state 9
  988. LONG shift, and go to state 10
  989. SIGNED shift, and go to state 11
  990. UNSIGNED shift, and go to state 12
  991. FLOAT shift, and go to state 13
  992. DOUBLE shift, and go to state 14
  993. CONST shift, and go to state 15
  994. VOLATILE shift, and go to state 16
  995. VOID shift, and go to state 17
  996. STRUCT shift, and go to state 18
  997. UNION shift, and go to state 19
  998. ENUM shift, and go to state 20
  999. INTERFACE shift, and go to state 21
  1000. IMPLEMENTATION shift, and go to state 22
  1001. PROTOCOL shift, and go to state 23
  1002. CLASS shift, and go to state 24
  1003. ID shift, and go to state 25
  1004. IN shift, and go to state 26
  1005. OUT shift, and go to state 27
  1006. INOUT shift, and go to state 28
  1007. BYCOPY shift, and go to state 29
  1008. BYREF shift, and go to state 30
  1009. ONEWAY shift, and go to state 31
  1010. BOOL shift, and go to state 32
  1011. '(' shift, and go to state 33
  1012. '*' shift, and go to state 34
  1013. class_interface go to state 35
  1014. class_implementation go to state 36
  1015. category_interface go to state 37
  1016. category_implementation go to state 38
  1017. protocol_declaration go to state 39
  1018. class_declaration_list go to state 40
  1019. declaration go to state 41
  1020. declaration_specifiers go to state 42
  1021. storage_class_specifier go to state 43
  1022. type_specifier go to state 44
  1023. struct_or_union_specifier go to state 45
  1024. struct_or_union go to state 46
  1025. enum_specifier go to state 47
  1026. type_qualifier go to state 48
  1027. protocol_qualifier go to state 49
  1028. declarator go to state 50
  1029. direct_declarator go to state 51
  1030. pointer go to state 52
  1031. external_declaration go to state 53
  1032. function_definition go to state 54
  1033. translation_unit go to state 55
  1034. start_prog go to state 56
  1035. state 1
  1036. 387 direct_declarator: IDENTIFIER .
  1037. $default reduce using rule 387 (direct_declarator)
  1038. state 2
  1039. 265 storage_class_specifier: TYPEDEF .
  1040. $default reduce using rule 265 (storage_class_specifier)
  1041. state 3
  1042. 266 storage_class_specifier: EXTERN .
  1043. $default reduce using rule 266 (storage_class_specifier)
  1044. state 4
  1045. 267 storage_class_specifier: STATIC .
  1046. $default reduce using rule 267 (storage_class_specifier)
  1047. state 5
  1048. 268 storage_class_specifier: AUTO .
  1049. $default reduce using rule 268 (storage_class_specifier)
  1050. state 6
  1051. 269 storage_class_specifier: REGISTER .
  1052. $default reduce using rule 269 (storage_class_specifier)
  1053. state 7
  1054. 271 type_specifier: CHAR .
  1055. $default reduce using rule 271 (type_specifier)
  1056. state 8
  1057. 272 type_specifier: SHORT .
  1058. $default reduce using rule 272 (type_specifier)
  1059. state 9
  1060. 273 type_specifier: INT .
  1061. $default reduce using rule 273 (type_specifier)
  1062. state 10
  1063. 274 type_specifier: LONG .
  1064. $default reduce using rule 274 (type_specifier)
  1065. state 11
  1066. 277 type_specifier: SIGNED .
  1067. $default reduce using rule 277 (type_specifier)
  1068. state 12
  1069. 278 type_specifier: UNSIGNED .
  1070. $default reduce using rule 278 (type_specifier)
  1071. state 13
  1072. 275 type_specifier: FLOAT .
  1073. $default reduce using rule 275 (type_specifier)
  1074. state 14
  1075. 276 type_specifier: DOUBLE .
  1076. $default reduce using rule 276 (type_specifier)
  1077. state 15
  1078. 376 type_qualifier: CONST .
  1079. $default reduce using rule 376 (type_qualifier)
  1080. state 16
  1081. 377 type_qualifier: VOLATILE .
  1082. $default reduce using rule 377 (type_qualifier)
  1083. state 17
  1084. 270 type_specifier: VOID .
  1085. $default reduce using rule 270 (type_specifier)
  1086. state 18
  1087. 347 struct_or_union: STRUCT .
  1088. $default reduce using rule 347 (struct_or_union)
  1089. state 19
  1090. 348 struct_or_union: UNION .
  1091. $default reduce using rule 348 (struct_or_union)
  1092. state 20
  1093. 363 enum_specifier: ENUM . '{' enumerator_list '}'
  1094. 364 | ENUM . IDENTIFIER '{' enumerator_list '}'
  1095. 365 | ENUM . IDENTIFIER
  1096. 366 | ENUM . error
  1097. 367 | ENUM . '{' enumerator_list error
  1098. 368 | ENUM . IDENTIFIER '{' enumerator_list error
  1099. 369 | ENUM . error '{' enumerator_list '}'
  1100. 370 | ENUM . error '{' enumerator_list error
  1101. error shift, and go to state 57
  1102. IDENTIFIER shift, and go to state 58
  1103. '{' shift, and go to state 59
  1104. state 21
  1105. 1 class_interface: INTERFACE . IDENTIFIER END
  1106. 2 | INTERFACE . IDENTIFIER ':' IDENTIFIER END
  1107. 3 | INTERFACE . IDENTIFIER protocol_reference_list END
  1108. 4 | INTERFACE . IDENTIFIER ':' IDENTIFIER protocol_reference_list END
  1109. 5 | INTERFACE . IDENTIFIER instance_variables END
  1110. 6 | INTERFACE . IDENTIFIER ':' IDENTIFIER instance_variables END
  1111. 7 | INTERFACE . IDENTIFIER protocol_reference_list instance_variables END
  1112. 8 | INTERFACE . IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables END
  1113. 9 | INTERFACE . IDENTIFIER interface_declaration_list END
  1114. 10 | INTERFACE . IDENTIFIER ':' IDENTIFIER interface_declaration_list END
  1115. 11 | INTERFACE . IDENTIFIER protocol_reference_list interface_declaration_list END
  1116. 12 | INTERFACE . IDENTIFIER ':' IDENTIFIER protocol_reference_list interface_declaration_list END
  1117. 13 | INTERFACE . IDENTIFIER instance_variables interface_declaration_list END
  1118. 14 | INTERFACE . IDENTIFIER ':' IDENTIFIER instance_variables interface_declaration_list END
  1119. 15 | INTERFACE . IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
  1120. 16 | INTERFACE . IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
  1121. 17 | INTERFACE . error END
  1122. 18 | INTERFACE . error ':' IDENTIFIER END
  1123. 19 | INTERFACE . error ':' IDENTIFIER protocol_reference_list END
  1124. 20 | INTERFACE . error instance_variables END
  1125. 21 | INTERFACE . error ':' IDENTIFIER instance_variables END
  1126. 22 | INTERFACE . IDENTIFIER error IDENTIFIER instance_variables interface_declaration_list END
  1127. 34 category_interface: INTERFACE . IDENTIFIER '(' IDENTIFIER ')' END
  1128. 35 | INTERFACE . IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list END
  1129. 36 | INTERFACE . IDENTIFIER '(' IDENTIFIER ')' interface_declaration_list END
  1130. 37 | INTERFACE . IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list END
  1131. 38 | INTERFACE . IDENTIFIER error IDENTIFIER ')' END
  1132. 39 | INTERFACE . IDENTIFIER error IDENTIFIER ')' protocol_reference_list END
  1133. 40 | INTERFACE . IDENTIFIER '(' IDENTIFIER error
  1134. 41 | INTERFACE . IDENTIFIER '(' IDENTIFIER ')' error
  1135. 42 | INTERFACE . IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list error
  1136. error shift, and go to state 60
  1137. IDENTIFIER shift, and go to state 61
  1138. state 22
  1139. 23 class_implementation: IMPLEMENTATION . IDENTIFIER END
  1140. 24 | IMPLEMENTATION . IDENTIFIER ':' IDENTIFIER END
  1141. 25 | IMPLEMENTATION . IDENTIFIER instance_variables END
  1142. 26 | IMPLEMENTATION . IDENTIFIER ':' IDENTIFIER instance_variables END
  1143. 27 | IMPLEMENTATION . IDENTIFIER implementation_definition_list END
  1144. 28 | IMPLEMENTATION . IDENTIFIER ':' IDENTIFIER implementation_definition_list END
  1145. 29 | IMPLEMENTATION . IDENTIFIER instance_variables implementation_definition_list END
  1146. 30 | IMPLEMENTATION . IDENTIFIER ':' IDENTIFIER instance_variables implementation_definition_list END
  1147. 31 | IMPLEMENTATION . error
  1148. 32 | IMPLEMENTATION . IDENTIFIER error
  1149. 33 | IMPLEMENTATION . IDENTIFIER ':' error
  1150. 43 category_implementation: IMPLEMENTATION . IDENTIFIER '(' IDENTIFIER ')' END
  1151. 44 | IMPLEMENTATION . IDENTIFIER '(' IDENTIFIER ')' implementation_definition_list END
  1152. 45 | IMPLEMENTATION . IDENTIFIER '(' error ')' implementation_definition_list END
  1153. 46 | IMPLEMENTATION . IDENTIFIER '(' IDENTIFIER error implementation_definition_list END
  1154. 47 | IMPLEMENTATION . IDENTIFIER '(' IDENTIFIER ')' error
  1155. error shift, and go to state 62
  1156. IDENTIFIER shift, and go to state 63
  1157. state 23
  1158. 48 protocol_declaration: PROTOCOL . protocol_name END
  1159. 49 | PROTOCOL . protocol_name protocol_reference_list END
  1160. 50 | PROTOCOL . protocol_name interface_declaration_list END
  1161. 51 | PROTOCOL . protocol_name protocol_reference_list interface_declaration_list END
  1162. 52 | PROTOCOL . error protocol_reference_list interface_declaration_list END
  1163. error shift, and go to state 64
  1164. IDENTIFIER shift, and go to state 65
  1165. protocol_name go to state 66
  1166. state 24
  1167. 53 class_declaration_list: CLASS . class_list ';'
  1168. 54 | CLASS . class_list error
  1169. IDENTIFIER shift, and go to state 67
  1170. class_list go to state 68
  1171. state 25
  1172. 281 type_specifier: ID . protocol_reference_list
  1173. 282 | ID .
  1174. '<' shift, and go to state 69
  1175. $default reduce using rule 282 (type_specifier)
  1176. protocol_reference_list go to state 70
  1177. state 26
  1178. 379 protocol_qualifier: IN .
  1179. $default reduce using rule 379 (protocol_qualifier)
  1180. state 27
  1181. 380 protocol_qualifier: OUT .
  1182. $default reduce using rule 380 (protocol_qualifier)
  1183. state 28
  1184. 381 protocol_qualifier: INOUT .
  1185. $default reduce using rule 381 (protocol_qualifier)
  1186. state 29
  1187. 382 protocol_qualifier: BYCOPY .
  1188. $default reduce using rule 382 (protocol_qualifier)
  1189. state 30
  1190. 383 protocol_qualifier: BYREF .
  1191. $default reduce using rule 383 (protocol_qualifier)
  1192. state 31
  1193. 384 protocol_qualifier: ONEWAY .
  1194. $default reduce using rule 384 (protocol_qualifier)
  1195. state 32
  1196. 283 type_specifier: BOOL .
  1197. $default reduce using rule 283 (type_specifier)
  1198. state 33
  1199. 388 direct_declarator: '(' . declarator ')'
  1200. IDENTIFIER shift, and go to state 1
  1201. '(' shift, and go to state 33
  1202. '*' shift, and go to state 34
  1203. declarator go to state 71
  1204. direct_declarator go to state 51
  1205. pointer go to state 52
  1206. state 34
  1207. 398 pointer: '*' .
  1208. 399 | '*' . type_qualifier_list
  1209. 400 | '*' . pointer
  1210. 401 | '*' . type_qualifier_list pointer
  1211. CONST shift, and go to state 15
  1212. VOLATILE shift, and go to state 16
  1213. IN shift, and go to state 26
  1214. OUT shift, and go to state 27
  1215. INOUT shift, and go to state 28
  1216. BYCOPY shift, and go to state 29
  1217. BYREF shift, and go to state 30
  1218. ONEWAY shift, and go to state 31
  1219. '*' shift, and go to state 34
  1220. $default reduce using rule 398 (pointer)
  1221. type_qualifier go to state 72
  1222. protocol_qualifier go to state 49
  1223. pointer go to state 73
  1224. type_qualifier_list go to state 74
  1225. state 35
  1226. 519 external_declaration: class_interface .
  1227. $default reduce using rule 519 (external_declaration)
  1228. state 36
  1229. 520 external_declaration: class_implementation .
  1230. $default reduce using rule 520 (external_declaration)
  1231. state 37
  1232. 521 external_declaration: category_interface .
  1233. $default reduce using rule 521 (external_declaration)
  1234. state 38
  1235. 522 external_declaration: category_implementation .
  1236. $default reduce using rule 522 (external_declaration)
  1237. state 39
  1238. 523 external_declaration: protocol_declaration .
  1239. $default reduce using rule 523 (external_declaration)
  1240. state 40
  1241. 524 external_declaration: class_declaration_list .
  1242. $default reduce using rule 524 (external_declaration)
  1243. state 41
  1244. 518 external_declaration: declaration .
  1245. $default reduce using rule 518 (external_declaration)
  1246. state 42
  1247. 243 declaration: declaration_specifiers . ';'
  1248. 244 | declaration_specifiers . init_declarator_list ';'
  1249. 525 function_definition: declaration_specifiers . declarator declaration_list compound_statement
  1250. 526 | declaration_specifiers . declarator compound_statement
  1251. IDENTIFIER shift, and go to state 1
  1252. '(' shift, and go to state 33
  1253. ';' shift, and go to state 75
  1254. '*' shift, and go to state 34
  1255. init_declarator_list go to state 76
  1256. init_declarator go to state 77
  1257. declarator go to state 78
  1258. direct_declarator go to state 51
  1259. pointer go to state 52
  1260. state 43
  1261. 247 declaration_specifiers: storage_class_specifier .
  1262. 251 | storage_class_specifier . type_specifier
  1263. 252 | storage_class_specifier . type_qualifier
  1264. 256 | storage_class_specifier . type_specifier type_qualifier
  1265. 257 | storage_class_specifier . type_qualifier type_specifier
  1266. CHAR shift, and go to state 7
  1267. SHORT shift, and go to state 8
  1268. INT shift, and go to state 9
  1269. LONG shift, and go to state 10
  1270. SIGNED shift, and go to state 11
  1271. UNSIGNED shift, and go to state 12
  1272. FLOAT shift, and go to state 13
  1273. DOUBLE shift, and go to state 14
  1274. CONST shift, and go to state 15
  1275. VOLATILE shift, and go to state 16
  1276. VOID shift, and go to state 17
  1277. STRUCT shift, and go to state 18
  1278. UNION shift, and go to state 19
  1279. ENUM shift, and go to state 20
  1280. ID shift, and go to state 25
  1281. IN shift, and go to state 26
  1282. OUT shift, and go to state 27
  1283. INOUT shift, and go to state 28
  1284. BYCOPY shift, and go to state 29
  1285. BYREF shift, and go to state 30
  1286. ONEWAY shift, and go to state 31
  1287. BOOL shift, and go to state 32
  1288. $default reduce using rule 247 (declaration_specifiers)
  1289. type_specifier go to state 79
  1290. struct_or_union_specifier go to state 45
  1291. struct_or_union go to state 46
  1292. enum_specifier go to state 47
  1293. type_qualifier go to state 80
  1294. protocol_qualifier go to state 49
  1295. state 44
  1296. 246 declaration_specifiers: type_specifier .
  1297. 249 | type_specifier . type_qualifier
  1298. 250 | type_specifier . storage_class_specifier
  1299. 258 | type_specifier . type_qualifier storage_class_specifier
  1300. 259 | type_specifier . storage_class_specifier type_qualifier
  1301. TYPEDEF shift, and go to state 2
  1302. EXTERN shift, and go to state 3
  1303. STATIC shift, and go to state 4
  1304. AUTO shift, and go to state 5
  1305. REGISTER shift, and go to state 6
  1306. CONST shift, and go to state 15
  1307. VOLATILE shift, and go to state 16
  1308. IN shift, and go to state 26
  1309. OUT shift, and go to state 27
  1310. INOUT shift, and go to state 28
  1311. BYCOPY shift, and go to state 29
  1312. BYREF shift, and go to state 30
  1313. ONEWAY shift, and go to state 31
  1314. $default reduce using rule 246 (declaration_specifiers)
  1315. storage_class_specifier go to state 81
  1316. type_qualifier go to state 82
  1317. protocol_qualifier go to state 49
  1318. state 45
  1319. 279 type_specifier: struct_or_union_specifier .
  1320. $default reduce using rule 279 (type_specifier)
  1321. state 46
  1322. 284 struct_or_union_specifier: struct_or_union . IDENTIFIER '{' struct_declaration_list '}'
  1323. 285 | struct_or_union . '{' struct_declaration_list '}'
  1324. 286 | struct_or_union . IDENTIFIER '{' DEFS '(' IDENTIFIER ')' '}'
  1325. 287 | struct_or_union . '{' DEFS '(' IDENTIFIER ')' '}'
  1326. 288 | struct_or_union . IDENTIFIER
  1327. 289 | struct_or_union . error
  1328. 290 | struct_or_union . IDENTIFIER '{' struct_declaration_list error
  1329. 291 | struct_or_union . error '{' struct_declaration_list '}'
  1330. 292 | struct_or_union . '{' struct_declaration_list error
  1331. 293 | struct_or_union . IDENTIFIER '{' DEFS '(' IDENTIFIER ')' error
  1332. 294 | struct_or_union . IDENTIFIER '{' DEFS '(' IDENTIFIER error '}'
  1333. 295 | struct_or_union . IDENTIFIER '{' DEFS error IDENTIFIER ')' '}'
  1334. 296 | struct_or_union . IDENTIFIER '{' error '(' IDENTIFIER ')' '}'
  1335. 297 | struct_or_union . error '{' DEFS '(' IDENTIFIER ')' '}'
  1336. 298 | struct_or_union . IDENTIFIER '{' DEFS '(' IDENTIFIER error error
  1337. 299 | struct_or_union . IDENTIFIER '{' DEFS error IDENTIFIER ')' error
  1338. 300 | struct_or_union . IDENTIFIER '{' error '(' IDENTIFIER ')' error
  1339. 301 | struct_or_union . error '{' DEFS '(' IDENTIFIER ')' error
  1340. 302 | struct_or_union . IDENTIFIER '{' DEFS error IDENTIFIER error '}'
  1341. 303 | struct_or_union . IDENTIFIER '{' error '(' IDENTIFIER error '}'
  1342. 304 | struct_or_union . error '{' DEFS '(' IDENTIFIER error '}'
  1343. 305 | struct_or_union . IDENTIFIER '{' error error IDENTIFIER ')' '}'
  1344. 306 | struct_or_union . error '{' DEFS error IDENTIFIER ')' '}'
  1345. 307 | struct_or_union . error '{' error '(' IDENTIFIER ')' '}'
  1346. 308 | struct_or_union . IDENTIFIER '{' DEFS error IDENTIFIER error error
  1347. 309 | struct_or_union . IDENTIFIER '{' error '(' IDENTIFIER error error
  1348. 310 | struct_or_union . error '{' DEFS '(' IDENTIFIER error error
  1349. 311 | struct_or_union . IDENTIFIER '{' error error IDENTIFIER ')' error
  1350. 312 | struct_or_union . error '{' DEFS error IDENTIFIER ')' error
  1351. 313 | struct_or_union . error '{' error '(' IDENTIFIER ')' error
  1352. 314 | struct_or_union . IDENTIFIER '{' error error IDENTIFIER error '}'
  1353. 315 | struct_or_union . error '{' DEFS error IDENTIFIER error '}'
  1354. 316 | struct_or_union . error '{' error '(' IDENTIFIER error '}'
  1355. 317 | struct_or_union . error '{' error error IDENTIFIER ')' '}'
  1356. 318 | struct_or_union . IDENTIFIER '{' error error IDENTIFIER error error
  1357. 319 | struct_or_union . error '{' DEFS error IDENTIFIER error error
  1358. 320 | struct_or_union . error '{' error '(' IDENTIFIER error error
  1359. 321 | struct_or_union . error '{' error error IDENTIFIER ')' error
  1360. 322 | struct_or_union . error '{' error error IDENTIFIER error '}'
  1361. 323 | struct_or_union . error '{' error error IDENTIFIER error error
  1362. 324 | struct_or_union . '{' DEFS '(' IDENTIFIER ')' error
  1363. 325 | struct_or_union . '{' DEFS '(' IDENTIFIER error '}'
  1364. 326 | struct_or_union . '{' DEFS error IDENTIFIER ')' '}'
  1365. 327 | struct_or_union . '{' error '(' IDENTIFIER ')' '}'
  1366. 328 | struct_or_union . error DEFS '(' IDENTIFIER ')' '}'
  1367. 329 | struct_or_union . '{' DEFS '(' IDENTIFIER error error
  1368. 330 | struct_or_union . '{' DEFS error IDENTIFIER ')' error
  1369. 331 | struct_or_union . '{' error '(' IDENTIFIER ')' error
  1370. 332 | struct_or_union . error DEFS '(' IDENTIFIER ')' error
  1371. 333 | struct_or_union . '{' DEFS error IDENTIFIER error '}'
  1372. 334 | struct_or_union . '{' error '(' IDENTIFIER error '}'
  1373. 335 | struct_or_union . error DEFS '(' IDENTIFIER error '}'
  1374. 336 | struct_or_union . '{' error error IDENTIFIER ')' '}'
  1375. 337 | struct_or_union . error DEFS error IDENTIFIER ')' '}'
  1376. 338 | struct_or_union . '{' DEFS error IDENTIFIER error error
  1377. 339 | struct_or_union . '{' error '(' IDENTIFIER error error
  1378. 340 | struct_or_union . error DEFS '(' IDENTIFIER error error
  1379. 341 | struct_or_union . '{' error error IDENTIFIER ')' error
  1380. 342 | struct_or_union . error DEFS error IDENTIFIER ')' error
  1381. 343 | struct_or_union . '{' error error IDENTIFIER error '}'
  1382. 344 | struct_or_union . error DEFS error IDENTIFIER error '}'
  1383. 345 | struct_or_union . error DEFS error IDENTIFIER error error
  1384. 346 | struct_or_union . '{' error error IDENTIFIER error error
  1385. error shift, and go to state 83
  1386. IDENTIFIER shift, and go to state 84
  1387. '{' shift, and go to state 85
  1388. state 47
  1389. 280 type_specifier: enum_specifier .
  1390. $default reduce using rule 280 (type_specifier)
  1391. state 48
  1392. 245 declaration_specifiers: type_qualifier .
  1393. 248 | type_qualifier . type_specifier
  1394. 253 | type_qualifier . storage_class_specifier
  1395. 254 | type_qualifier . type_specifier storage_class_specifier
  1396. 255 | type_qualifier . storage_class_specifier type_specifier
  1397. TYPEDEF shift, and go to state 2
  1398. EXTERN shift, and go to state 3
  1399. STATIC shift, and go to state 4
  1400. AUTO shift, and go to state 5
  1401. REGISTER shift, and go to state 6
  1402. CHAR shift, and go to state 7
  1403. SHORT shift, and go to state 8
  1404. INT shift, and go to state 9
  1405. LONG shift, and go to state 10
  1406. SIGNED shift, and go to state 11
  1407. UNSIGNED shift, and go to state 12
  1408. FLOAT shift, and go to state 13
  1409. DOUBLE shift, and go to state 14
  1410. VOID shift, and go to state 17
  1411. STRUCT shift, and go to state 18
  1412. UNION shift, and go to state 19
  1413. ENUM shift, and go to state 20
  1414. ID shift, and go to state 25
  1415. BOOL shift, and go to state 32
  1416. $default reduce using rule 245 (declaration_specifiers)
  1417. storage_class_specifier go to state 86
  1418. type_specifier go to state 87
  1419. struct_or_union_specifier go to state 45
  1420. struct_or_union go to state 46
  1421. enum_specifier go to state 47
  1422. state 49
  1423. 378 type_qualifier: protocol_qualifier .
  1424. $default reduce using rule 378 (type_qualifier)
  1425. state 50
  1426. 527 function_definition: declarator . declaration_list compound_statement
  1427. 528 | declarator . compound_statement
  1428. TYPEDEF shift, and go to state 2
  1429. EXTERN shift, and go to state 3
  1430. STATIC shift, and go to state 4
  1431. AUTO shift, and go to state 5
  1432. REGISTER shift, and go to state 6
  1433. CHAR shift, and go to state 7
  1434. SHORT shift, and go to state 8
  1435. INT shift, and go to state 9
  1436. LONG shift, and go to state 10
  1437. SIGNED shift, and go to state 11
  1438. UNSIGNED shift, and go to state 12
  1439. FLOAT shift, and go to state 13
  1440. DOUBLE shift, and go to state 14
  1441. CONST shift, and go to state 15
  1442. VOLATILE shift, and go to state 16
  1443. VOID shift, and go to state 17
  1444. STRUCT shift, and go to state 18
  1445. UNION shift, and go to state 19
  1446. ENUM shift, and go to state 20
  1447. ID shift, and go to state 25
  1448. IN shift, and go to state 26
  1449. OUT shift, and go to state 27
  1450. INOUT shift, and go to state 28
  1451. BYCOPY shift, and go to state 29
  1452. BYREF shift, and go to state 30
  1453. ONEWAY shift, and go to state 31
  1454. BOOL shift, and go to state 32
  1455. '{' shift, and go to state 88
  1456. declaration go to state 89
  1457. declaration_specifiers go to state 90
  1458. storage_class_specifier go to state 43
  1459. type_specifier go to state 44
  1460. struct_or_union_specifier go to state 45
  1461. struct_or_union go to state 46
  1462. enum_specifier go to state 47
  1463. type_qualifier go to state 48
  1464. protocol_qualifier go to state 49
  1465. compound_statement go to state 91
  1466. declaration_list go to state 92
  1467. state 51
  1468. 386 declarator: direct_declarator .
  1469. 389 direct_declarator: direct_declarator . '[' constant_expression ']'
  1470. 390 | direct_declarator . '[' ']'
  1471. 391 | direct_declarator . '(' parameter_list ')'
  1472. 392 | direct_declarator . '(' identifier_list ')'
  1473. 393 | direct_declarator . '(' ')'
  1474. 394 | direct_declarator . '[' constant_expression error
  1475. 395 | direct_declarator . '[' error
  1476. 396 | direct_declarator . '(' identifier_list error
  1477. 397 | direct_declarator . '(' error
  1478. '(' shift, and go to state 93
  1479. '[' shift, and go to state 94
  1480. $default reduce using rule 386 (declarator)
  1481. state 52
  1482. 385 declarator: pointer . direct_declarator
  1483. IDENTIFIER shift, and go to state 1
  1484. '(' shift, and go to state 33
  1485. direct_declarator go to state 95
  1486. state 53
  1487. 529 translation_unit: external_declaration .
  1488. $default reduce using rule 529 (translation_unit)
  1489. state 54
  1490. 517 external_declaration: function_definition .
  1491. $default reduce using rule 517 (external_declaration)
  1492. state 55
  1493. 530 translation_unit: translation_unit . external_declaration
  1494. 531 start_prog: translation_unit .
  1495. IDENTIFIER shift, and go to state 1
  1496. TYPEDEF shift, and go to state 2
  1497. EXTERN shift, and go to state 3
  1498. STATIC shift, and go to state 4
  1499. AUTO shift, and go to state 5
  1500. REGISTER shift, and go to state 6
  1501. CHAR shift, and go to state 7
  1502. SHORT shift, and go to state 8
  1503. INT shift, and go to state 9
  1504. LONG shift, and go to state 10
  1505. SIGNED shift, and go to state 11
  1506. UNSIGNED shift, and go to state 12
  1507. FLOAT shift, and go to state 13
  1508. DOUBLE shift, and go to state 14
  1509. CONST shift, and go to state 15
  1510. VOLATILE shift, and go to state 16
  1511. VOID shift, and go to state 17
  1512. STRUCT shift, and go to state 18
  1513. UNION shift, and go to state 19
  1514. ENUM shift, and go to state 20
  1515. INTERFACE shift, and go to state 21
  1516. IMPLEMENTATION shift, and go to state 22
  1517. PROTOCOL shift, and go to state 23
  1518. CLASS shift, and go to state 24
  1519. ID shift, and go to state 25
  1520. IN shift, and go to state 26
  1521. OUT shift, and go to state 27
  1522. INOUT shift, and go to state 28
  1523. BYCOPY shift, and go to state 29
  1524. BYREF shift, and go to state 30
  1525. ONEWAY shift, and go to state 31
  1526. BOOL shift, and go to state 32
  1527. '(' shift, and go to state 33
  1528. '*' shift, and go to state 34
  1529. $default reduce using rule 531 (start_prog)
  1530. class_interface go to state 35
  1531. class_implementation go to state 36
  1532. category_interface go to state 37
  1533. category_implementation go to state 38
  1534. protocol_declaration go to state 39
  1535. class_declaration_list go to state 40
  1536. declaration go to state 41
  1537. declaration_specifiers go to state 42
  1538. storage_class_specifier go to state 43
  1539. type_specifier go to state 44
  1540. struct_or_union_specifier go to state 45
  1541. struct_or_union go to state 46
  1542. enum_specifier go to state 47
  1543. type_qualifier go to state 48
  1544. protocol_qualifier go to state 49
  1545. declarator go to state 50
  1546. direct_declarator go to state 51
  1547. pointer go to state 52
  1548. external_declaration go to state 96
  1549. function_definition go to state 54
  1550. state 56
  1551. 0 $accept: start_prog . $end
  1552. $end shift, and go to state 97
  1553. state 57
  1554. 366 enum_specifier: ENUM error .
  1555. 369 | ENUM error . '{' enumerator_list '}'
  1556. 370 | ENUM error . '{' enumerator_list error
  1557. '{' shift, and go to state 98
  1558. $default reduce using rule 366 (enum_specifier)
  1559. state 58
  1560. 364 enum_specifier: ENUM IDENTIFIER . '{' enumerator_list '}'
  1561. 365 | ENUM IDENTIFIER .
  1562. 368 | ENUM IDENTIFIER . '{' enumerator_list error
  1563. '{' shift, and go to state 99
  1564. $default reduce using rule 365 (enum_specifier)
  1565. state 59
  1566. 363 enum_specifier: ENUM '{' . enumerator_list '}'
  1567. 367 | ENUM '{' . enumerator_list error
  1568. error shift, and go to state 100
  1569. IDENTIFIER shift, and go to state 101
  1570. enumerator_list go to state 102
  1571. enumerator go to state 103
  1572. state 60
  1573. 17 class_interface: INTERFACE error . END
  1574. 18 | INTERFACE error . ':' IDENTIFIER END
  1575. 19 | INTERFACE error . ':' IDENTIFIER protocol_reference_list END
  1576. 20 | INTERFACE error . instance_variables END
  1577. 21 | INTERFACE error . ':' IDENTIFIER instance_variables END
  1578. END shift, and go to state 104
  1579. ':' shift, and go to state 105
  1580. '{' shift, and go to state 106
  1581. instance_variables go to state 107
  1582. state 61
  1583. 1 class_interface: INTERFACE IDENTIFIER . END
  1584. 2 | INTERFACE IDENTIFIER . ':' IDENTIFIER END
  1585. 3 | INTERFACE IDENTIFIER . protocol_reference_list END
  1586. 4 | INTERFACE IDENTIFIER . ':' IDENTIFIER protocol_reference_list END
  1587. 5 | INTERFACE IDENTIFIER . instance_variables END
  1588. 6 | INTERFACE IDENTIFIER . ':' IDENTIFIER instance_variables END
  1589. 7 | INTERFACE IDENTIFIER . protocol_reference_list instance_variables END
  1590. 8 | INTERFACE IDENTIFIER . ':' IDENTIFIER protocol_reference_list instance_variables END
  1591. 9 | INTERFACE IDENTIFIER . interface_declaration_list END
  1592. 10 | INTERFACE IDENTIFIER . ':' IDENTIFIER interface_declaration_list END
  1593. 11 | INTERFACE IDENTIFIER . protocol_reference_list interface_declaration_list END
  1594. 12 | INTERFACE IDENTIFIER . ':' IDENTIFIER protocol_reference_list interface_declaration_list END
  1595. 13 | INTERFACE IDENTIFIER . instance_variables interface_declaration_list END
  1596. 14 | INTERFACE IDENTIFIER . ':' IDENTIFIER instance_variables interface_declaration_list END
  1597. 15 | INTERFACE IDENTIFIER . protocol_reference_list instance_variables interface_declaration_list END
  1598. 16 | INTERFACE IDENTIFIER . ':' IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
  1599. 22 | INTERFACE IDENTIFIER . error IDENTIFIER instance_variables interface_declaration_list END
  1600. 34 category_interface: INTERFACE IDENTIFIER . '(' IDENTIFIER ')' END
  1601. 35 | INTERFACE IDENTIFIER . '(' IDENTIFIER ')' protocol_reference_list END
  1602. 36 | INTERFACE IDENTIFIER . '(' IDENTIFIER ')' interface_declaration_list END
  1603. 37 | INTERFACE IDENTIFIER . '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list END
  1604. 38 | INTERFACE IDENTIFIER . error IDENTIFIER ')' END
  1605. 39 | INTERFACE IDENTIFIER . error IDENTIFIER ')' protocol_reference_list END
  1606. 40 | INTERFACE IDENTIFIER . '(' IDENTIFIER error
  1607. 41 | INTERFACE IDENTIFIER . '(' IDENTIFIER ')' error
  1608. 42 | INTERFACE IDENTIFIER . '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list error
  1609. error shift, and go to state 108
  1610. TYPEDEF shift, and go to state 2
  1611. EXTERN shift, and go to state 3
  1612. STATIC shift, and go to state 4
  1613. AUTO shift, and go to state 5
  1614. REGISTER shift, and go to state 6
  1615. CHAR shift, and go to state 7
  1616. SHORT shift, and go to state 8
  1617. INT shift, and go to state 9
  1618. LONG shift, and go to state 10
  1619. SIGNED shift, and go to state 11
  1620. UNSIGNED shift, and go to state 12
  1621. FLOAT shift, and go to state 13
  1622. DOUBLE shift, and go to state 14
  1623. CONST shift, and go to state 15
  1624. VOLATILE shift, and go to state 16
  1625. VOID shift, and go to state 17
  1626. STRUCT shift, and go to state 18
  1627. UNION shift, and go to state 19
  1628. ENUM shift, and go to state 20
  1629. END shift, and go to state 109
  1630. ID shift, and go to state 25
  1631. IN shift, and go to state 26
  1632. OUT shift, and go to state 27
  1633. INOUT shift, and go to state 28
  1634. BYCOPY shift, and go to state 29
  1635. BYREF shift, and go to state 30
  1636. ONEWAY shift, and go to state 31
  1637. BOOL shift, and go to state 32
  1638. ':' shift, and go to state 110
  1639. '(' shift, and go to state 111
  1640. '<' shift, and go to state 69
  1641. '{' shift, and go to state 106
  1642. '+' shift, and go to state 112
  1643. '-' shift, and go to state 113
  1644. protocol_reference_list go to state 114
  1645. instance_variables go to state 115
  1646. interface_declaration_list go to state 116
  1647. method_declaration go to state 117
  1648. class_method_declaration go to state 118
  1649. instance_method_declaration go to state 119
  1650. declaration go to state 120
  1651. declaration_specifiers go to state 90
  1652. storage_class_specifier go to state 43
  1653. type_specifier go to state 44
  1654. struct_or_union_specifier go to state 45
  1655. struct_or_union go to state 46
  1656. enum_specifier go to state 47
  1657. type_qualifier go to state 48
  1658. protocol_qualifier go to state 49
  1659. state 62
  1660. 31 class_implementation: IMPLEMENTATION error .
  1661. $default reduce using rule 31 (class_implementation)
  1662. state 63
  1663. 23 class_implementation: IMPLEMENTATION IDENTIFIER . END
  1664. 24 | IMPLEMENTATION IDENTIFIER . ':' IDENTIFIER END
  1665. 25 | IMPLEMENTATION IDENTIFIER . instance_variables END
  1666. 26 | IMPLEMENTATION IDENTIFIER . ':' IDENTIFIER instance_variables END
  1667. 27 | IMPLEMENTATION IDENTIFIER . implementation_definition_list END
  1668. 28 | IMPLEMENTATION IDENTIFIER . ':' IDENTIFIER implementation_definition_list END
  1669. 29 | IMPLEMENTATION IDENTIFIER . instance_variables implementation_definition_list END
  1670. 30 | IMPLEMENTATION IDENTIFIER . ':' IDENTIFIER instance_variables implementation_definition_list END
  1671. 32 | IMPLEMENTATION IDENTIFIER . error
  1672. 33 | IMPLEMENTATION IDENTIFIER . ':' error
  1673. 43 category_implementation: IMPLEMENTATION IDENTIFIER . '(' IDENTIFIER ')' END
  1674. 44 | IMPLEMENTATION IDENTIFIER . '(' IDENTIFIER ')' implementation_definition_list END
  1675. 45 | IMPLEMENTATION IDENTIFIER . '(' error ')' implementation_definition_list END
  1676. 46 | IMPLEMENTATION IDENTIFIER . '(' IDENTIFIER error implementation_definition_list END
  1677. 47 | IMPLEMENTATION IDENTIFIER . '(' IDENTIFIER ')' error
  1678. error shift, and go to state 121
  1679. IDENTIFIER shift, and go to state 1
  1680. TYPEDEF shift, and go to state 2
  1681. EXTERN shift, and go to state 3
  1682. STATIC shift, and go to state 4
  1683. AUTO shift, and go to state 5
  1684. REGISTER shift, and go to state 6
  1685. CHAR shift, and go to state 7
  1686. SHORT shift, and go to state 8
  1687. INT shift, and go to state 9
  1688. LONG shift, and go to state 10
  1689. SIGNED shift, and go to state 11
  1690. UNSIGNED shift, and go to state 12
  1691. FLOAT shift, and go to state 13
  1692. DOUBLE shift, and go to state 14
  1693. CONST shift, and go to state 15
  1694. VOLATILE shift, and go to state 16
  1695. VOID shift, and go to state 17
  1696. STRUCT shift, and go to state 18
  1697. UNION shift, and go to state 19
  1698. ENUM shift, and go to state 20
  1699. END shift, and go to state 122
  1700. ID shift, and go to state 25
  1701. IN shift, and go to state 26
  1702. OUT shift, and go to state 27
  1703. INOUT shift, and go to state 28
  1704. BYCOPY shift, and go to state 29
  1705. BYREF shift, and go to state 30
  1706. ONEWAY shift, and go to state 31
  1707. BOOL shift, and go to state 32
  1708. ':' shift, and go to state 123
  1709. '(' shift, and go to state 124
  1710. '{' shift, and go to state 106
  1711. '*' shift, and go to state 34
  1712. '+' shift, and go to state 125
  1713. '-' shift, and go to state 126
  1714. instance_variables go to state 127
  1715. implementation_definition_list go to state 128
  1716. method_definition go to state 129
  1717. class_method_definition go to state 130
  1718. instance_method_definition go to state 131
  1719. declaration go to state 132
  1720. declaration_specifiers go to state 42
  1721. storage_class_specifier go to state 43
  1722. type_specifier go to state 44
  1723. struct_or_union_specifier go to state 45
  1724. struct_or_union go to state 46
  1725. enum_specifier go to state 47
  1726. type_qualifier go to state 48
  1727. protocol_qualifier go to state 49
  1728. declarator go to state 50
  1729. direct_declarator go to state 51
  1730. pointer go to state 52
  1731. function_definition go to state 133
  1732. state 64
  1733. 52 protocol_declaration: PROTOCOL error . protocol_reference_list interface_declaration_list END
  1734. '<' shift, and go to state 69
  1735. protocol_reference_list go to state 134
  1736. state 65
  1737. 62 protocol_name: IDENTIFIER .
  1738. $default reduce using rule 62 (protocol_name)
  1739. state 66
  1740. 48 protocol_declaration: PROTOCOL protocol_name . END
  1741. 49 | PROTOCOL protocol_name . protocol_reference_list END
  1742. 50 | PROTOCOL protocol_name . interface_declaration_list END
  1743. 51 | PROTOCOL protocol_name . protocol_reference_list interface_declaration_list END
  1744. TYPEDEF shift, and go to state 2
  1745. EXTERN shift, and go to state 3
  1746. STATIC shift, and go to state 4
  1747. AUTO shift, and go to state 5
  1748. REGISTER shift, and go to state 6
  1749. CHAR shift, and go to state 7
  1750. SHORT shift, and go to state 8
  1751. INT shift, and go to state 9
  1752. LONG shift, and go to state 10
  1753. SIGNED shift, and go to state 11
  1754. UNSIGNED shift, and go to state 12
  1755. FLOAT shift, and go to state 13
  1756. DOUBLE shift, and go to state 14
  1757. CONST shift, and go to state 15
  1758. VOLATILE shift, and go to state 16
  1759. VOID shift, and go to state 17
  1760. STRUCT shift, and go to state 18
  1761. UNION shift, and go to state 19
  1762. ENUM shift, and go to state 20
  1763. END shift, and go to state 135
  1764. ID shift, and go to state 25
  1765. IN shift, and go to state 26
  1766. OUT shift, and go to state 27
  1767. INOUT shift, and go to state 28
  1768. BYCOPY shift, and go to state 29
  1769. BYREF shift, and go to state 30
  1770. ONEWAY shift, and go to state 31
  1771. BOOL shift, and go to state 32
  1772. '<' shift, and go to state 69
  1773. '+' shift, and go to state 112
  1774. '-' shift, and go to state 113
  1775. protocol_reference_list go to state 136
  1776. interface_declaration_list go to state 137
  1777. method_declaration go to state 117
  1778. class_method_declaration go to state 118
  1779. instance_method_declaration go to state 119
  1780. declaration go to state 120
  1781. declaration_specifiers go to state 90
  1782. storage_class_specifier go to state 43
  1783. type_specifier go to state 44
  1784. struct_or_union_specifier go to state 45
  1785. struct_or_union go to state 46
  1786. enum_specifier go to state 47
  1787. type_qualifier go to state 48
  1788. protocol_qualifier go to state 49
  1789. state 67
  1790. 55 class_list: IDENTIFIER .
  1791. $default reduce using rule 55 (class_list)
  1792. state 68
  1793. 53 class_declaration_list: CLASS class_list . ';'
  1794. 54 | CLASS class_list . error
  1795. 56 class_list: class_list . ',' IDENTIFIER
  1796. 57 | class_list . error
  1797. error shift, and go to state 138
  1798. ';' shift, and go to state 139
  1799. ',' shift, and go to state 140
  1800. state 69
  1801. 58 protocol_reference_list: '<' . protocol_list '>'
  1802. 59 | '<' . protocol_list error
  1803. IDENTIFIER shift, and go to state 65
  1804. protocol_list go to state 141
  1805. protocol_name go to state 142
  1806. state 70
  1807. 281 type_specifier: ID protocol_reference_list .
  1808. $default reduce using rule 281 (type_specifier)
  1809. state 71
  1810. 388 direct_declarator: '(' declarator . ')'
  1811. ')' shift, and go to state 143
  1812. state 72
  1813. 402 type_qualifier_list: type_qualifier .
  1814. $default reduce using rule 402 (type_qualifier_list)
  1815. state 73
  1816. 400 pointer: '*' pointer .
  1817. $default reduce using rule 400 (pointer)
  1818. state 74
  1819. 399 pointer: '*' type_qualifier_list .
  1820. 401 | '*' type_qualifier_list . pointer
  1821. 403 type_qualifier_list: type_qualifier_list . type_qualifier
  1822. CONST shift, and go to state 15
  1823. VOLATILE shift, and go to state 16
  1824. IN shift, and go to state 26
  1825. OUT shift, and go to state 27
  1826. INOUT shift, and go to state 28
  1827. BYCOPY shift, and go to state 29
  1828. BYREF shift, and go to state 30
  1829. ONEWAY shift, and go to state 31
  1830. '*' shift, and go to state 34
  1831. $default reduce using rule 399 (pointer)
  1832. type_qualifier go to state 144
  1833. protocol_qualifier go to state 49
  1834. pointer go to state 145
  1835. state 75
  1836. 243 declaration: declaration_specifiers ';' .
  1837. $default reduce using rule 243 (declaration)
  1838. state 76
  1839. 244 declaration: declaration_specifiers init_declarator_list . ';'
  1840. 261 init_declarator_list: init_declarator_list . ',' init_declarator
  1841. 262 | init_declarator_list . error init_declarator
  1842. error shift, and go to state 146
  1843. ';' shift, and go to state 147
  1844. ',' shift, and go to state 148
  1845. state 77
  1846. 260 init_declarator_list: init_declarator .
  1847. $default reduce using rule 260 (init_declarator_list)
  1848. state 78
  1849. 263 init_declarator: declarator .
  1850. 264 | declarator . '=' initializer
  1851. 525 function_definition: declaration_specifiers declarator . declaration_list compound_statement
  1852. 526 | declaration_specifiers declarator . compound_statement
  1853. TYPEDEF shift, and go to state 2
  1854. EXTERN shift, and go to state 3
  1855. STATIC shift, and go to state 4
  1856. AUTO shift, and go to state 5
  1857. REGISTER shift, and go to state 6
  1858. CHAR shift, and go to state 7
  1859. SHORT shift, and go to state 8
  1860. INT shift, and go to state 9
  1861. LONG shift, and go to state 10
  1862. SIGNED shift, and go to state 11
  1863. UNSIGNED shift, and go to state 12
  1864. FLOAT shift, and go to state 13
  1865. DOUBLE shift, and go to state 14
  1866. CONST shift, and go to state 15
  1867. VOLATILE shift, and go to state 16
  1868. VOID shift, and go to state 17
  1869. STRUCT shift, and go to state 18
  1870. UNION shift, and go to state 19
  1871. ENUM shift, and go to state 20
  1872. ID shift, and go to state 25
  1873. IN shift, and go to state 26
  1874. OUT shift, and go to state 27
  1875. INOUT shift, and go to state 28
  1876. BYCOPY shift, and go to state 29
  1877. BYREF shift, and go to state 30
  1878. ONEWAY shift, and go to state 31
  1879. BOOL shift, and go to state 32
  1880. '{' shift, and go to state 88
  1881. '=' shift, and go to state 149
  1882. $default reduce using rule 263 (init_declarator)
  1883. declaration go to state 89
  1884. declaration_specifiers go to state 90
  1885. storage_class_specifier go to state 43
  1886. type_specifier go to state 44
  1887. struct_or_union_specifier go to state 45
  1888. struct_or_union go to state 46
  1889. enum_specifier go to state 47
  1890. type_qualifier go to state 48
  1891. protocol_qualifier go to state 49
  1892. compound_statement go to state 150
  1893. declaration_list go to state 151
  1894. state 79
  1895. 251 declaration_specifiers: storage_class_specifier type_specifier .
  1896. 256 | storage_class_specifier type_specifier . type_qualifier
  1897. CONST shift, and go to state 15
  1898. VOLATILE shift, and go to state 16
  1899. IN shift, and go to state 26
  1900. OUT shift, and go to state 27
  1901. INOUT shift, and go to state 28
  1902. BYCOPY shift, and go to state 29
  1903. BYREF shift, and go to state 30
  1904. ONEWAY shift, and go to state 31
  1905. $default reduce using rule 251 (declaration_specifiers)
  1906. type_qualifier go to state 152
  1907. protocol_qualifier go to state 49
  1908. state 80
  1909. 252 declaration_specifiers: storage_class_specifier type_qualifier .
  1910. 257 | storage_class_specifier type_qualifier . type_specifier
  1911. CHAR shift, and go to state 7
  1912. SHORT shift, and go to state 8
  1913. INT shift, and go to state 9
  1914. LONG shift, and go to state 10
  1915. SIGNED shift, and go to state 11
  1916. UNSIGNED shift, and go to state 12
  1917. FLOAT shift, and go to state 13
  1918. DOUBLE shift, and go to state 14
  1919. VOID shift, and go to state 17
  1920. STRUCT shift, and go to state 18
  1921. UNION shift, and go to state 19
  1922. ENUM shift, and go to state 20
  1923. ID shift, and go to state 25
  1924. BOOL shift, and go to state 32
  1925. $default reduce using rule 252 (declaration_specifiers)
  1926. type_specifier go to state 153
  1927. struct_or_union_specifier go to state 45
  1928. struct_or_union go to state 46
  1929. enum_specifier go to state 47
  1930. state 81
  1931. 250 declaration_specifiers: type_specifier storage_class_specifier .
  1932. 259 | type_specifier storage_class_specifier . type_qualifier
  1933. CONST shift, and go to state 15
  1934. VOLATILE shift, and go to state 16
  1935. IN shift, and go to state 26
  1936. OUT shift, and go to state 27
  1937. INOUT shift, and go to state 28
  1938. BYCOPY shift, and go to state 29
  1939. BYREF shift, and go to state 30
  1940. ONEWAY shift, and go to state 31
  1941. $default reduce using rule 250 (declaration_specifiers)
  1942. type_qualifier go to state 154
  1943. protocol_qualifier go to state 49
  1944. state 82
  1945. 249 declaration_specifiers: type_specifier type_qualifier .
  1946. 258 | type_specifier type_qualifier . storage_class_specifier
  1947. TYPEDEF shift, and go to state 2
  1948. EXTERN shift, and go to state 3
  1949. STATIC shift, and go to state 4
  1950. AUTO shift, and go to state 5
  1951. REGISTER shift, and go to state 6
  1952. $default reduce using rule 249 (declaration_specifiers)
  1953. storage_class_specifier go to state 155
  1954. state 83
  1955. 289 struct_or_union_specifier: struct_or_union error .
  1956. 291 | struct_or_union error . '{' struct_declaration_list '}'
  1957. 297 | struct_or_union error . '{' DEFS '(' IDENTIFIER ')' '}'
  1958. 301 | struct_or_union error . '{' DEFS '(' IDENTIFIER ')' error
  1959. 304 | struct_or_union error . '{' DEFS '(' IDENTIFIER error '}'
  1960. 306 | struct_or_union error . '{' DEFS error IDENTIFIER ')' '}'
  1961. 307 | struct_or_union error . '{' error '(' IDENTIFIER ')' '}'
  1962. 310 | struct_or_union error . '{' DEFS '(' IDENTIFIER error error
  1963. 312 | struct_or_union error . '{' DEFS error IDENTIFIER ')' error
  1964. 313 | struct_or_union error . '{' error '(' IDENTIFIER ')' error
  1965. 315 | struct_or_union error . '{' DEFS error IDENTIFIER error '}'
  1966. 316 | struct_or_union error . '{' error '(' IDENTIFIER error '}'
  1967. 317 | struct_or_union error . '{' error error IDENTIFIER ')' '}'
  1968. 319 | struct_or_union error . '{' DEFS error IDENTIFIER error error
  1969. 320 | struct_or_union error . '{' error '(' IDENTIFIER error error
  1970. 321 | struct_or_union error . '{' error error IDENTIFIER ')' error
  1971. 322 | struct_or_union error . '{' error error IDENTIFIER error '}'
  1972. 323 | struct_or_union error . '{' error error IDENTIFIER error error
  1973. 328 | struct_or_union error . DEFS '(' IDENTIFIER ')' '}'
  1974. 332 | struct_or_union error . DEFS '(' IDENTIFIER ')' error
  1975. 335 | struct_or_union error . DEFS '(' IDENTIFIER error '}'
  1976. 337 | struct_or_union error . DEFS error IDENTIFIER ')' '}'
  1977. 340 | struct_or_union error . DEFS '(' IDENTIFIER error error
  1978. 342 | struct_or_union error . DEFS error IDENTIFIER ')' error
  1979. 344 | struct_or_union error . DEFS error IDENTIFIER error '}'
  1980. 345 | struct_or_union error . DEFS error IDENTIFIER error error
  1981. DEFS shift, and go to state 156
  1982. '{' shift, and go to state 157
  1983. $default reduce using rule 289 (struct_or_union_specifier)
  1984. state 84
  1985. 284 struct_or_union_specifier: struct_or_union IDENTIFIER . '{' struct_declaration_list '}'
  1986. 286 | struct_or_union IDENTIFIER . '{' DEFS '(' IDENTIFIER ')' '}'
  1987. 288 | struct_or_union IDENTIFIER .
  1988. 290 | struct_or_union IDENTIFIER . '{' struct_declaration_list error
  1989. 293 | struct_or_union IDENTIFIER . '{' DEFS '(' IDENTIFIER ')' error
  1990. 294 | struct_or_union IDENTIFIER . '{' DEFS '(' IDENTIFIER error '}'
  1991. 295 | struct_or_union IDENTIFIER . '{' DEFS error IDENTIFIER ')' '}'
  1992. 296 | struct_or_union IDENTIFIER . '{' error '(' IDENTIFIER ')' '}'
  1993. 298 | struct_or_union IDENTIFIER . '{' DEFS '(' IDENTIFIER error error
  1994. 299 | struct_or_union IDENTIFIER . '{' DEFS error IDENTIFIER ')' error
  1995. 300 | struct_or_union IDENTIFIER . '{' error '(' IDENTIFIER ')' error
  1996. 302 | struct_or_union IDENTIFIER . '{' DEFS error IDENTIFIER error '}'
  1997. 303 | struct_or_union IDENTIFIER . '{' error '(' IDENTIFIER error '}'
  1998. 305 | struct_or_union IDENTIFIER . '{' error error IDENTIFIER ')' '}'
  1999. 308 | struct_or_union IDENTIFIER . '{' DEFS error IDENTIFIER error error
  2000. 309 | struct_or_union IDENTIFIER . '{' error '(' IDENTIFIER error error
  2001. 311 | struct_or_union IDENTIFIER . '{' error error IDENTIFIER ')' error
  2002. 314 | struct_or_union IDENTIFIER . '{' error error IDENTIFIER error '}'
  2003. 318 | struct_or_union IDENTIFIER . '{' error error IDENTIFIER error error
  2004. '{' shift, and go to state 158
  2005. $default reduce using rule 288 (struct_or_union_specifier)
  2006. state 85
  2007. 285 struct_or_union_specifier: struct_or_union '{' . struct_declaration_list '}'
  2008. 287 | struct_or_union '{' . DEFS '(' IDENTIFIER ')' '}'
  2009. 292 | struct_or_union '{' . struct_declaration_list error
  2010. 324 | struct_or_union '{' . DEFS '(' IDENTIFIER ')' error
  2011. 325 | struct_or_union '{' . DEFS '(' IDENTIFIER error '}'
  2012. 326 | struct_or_union '{' . DEFS error IDENTIFIER ')' '}'
  2013. 327 | struct_or_union '{' . error '(' IDENTIFIER ')' '}'
  2014. 329 | struct_or_union '{' . DEFS '(' IDENTIFIER error error
  2015. 330 | struct_or_union '{' . DEFS error IDENTIFIER ')' error
  2016. 331 | struct_or_union '{' . error '(' IDENTIFIER ')' error
  2017. 333 | struct_or_union '{' . DEFS error IDENTIFIER error '}'
  2018. 334 | struct_or_union '{' . error '(' IDENTIFIER error '}'
  2019. 336 | struct_or_union '{' . error error IDENTIFIER ')' '}'
  2020. 338 | struct_or_union '{' . DEFS error IDENTIFIER error error
  2021. 339 | struct_or_union '{' . error '(' IDENTIFIER error error
  2022. 341 | struct_or_union '{' . error error IDENTIFIER ')' error
  2023. 343 | struct_or_union '{' . error error IDENTIFIER error '}'
  2024. 346 | struct_or_union '{' . error error IDENTIFIER error error
  2025. error shift, and go to state 159
  2026. CHAR shift, and go to state 7
  2027. SHORT shift, and go to state 8
  2028. INT shift, and go to state 9
  2029. LONG shift, and go to state 10
  2030. SIGNED shift, and go to state 11
  2031. UNSIGNED shift, and go to state 12
  2032. FLOAT shift, and go to state 13
  2033. DOUBLE shift, and go to state 14
  2034. CONST shift, and go to state 15
  2035. VOLATILE shift, and go to state 16
  2036. VOID shift, and go to state 17
  2037. STRUCT shift, and go to state 18
  2038. UNION shift, and go to state 19
  2039. ENUM shift, and go to state 20
  2040. ID shift, and go to state 25
  2041. DEFS shift, and go to state 160
  2042. IN shift, and go to state 26
  2043. OUT shift, and go to state 27
  2044. INOUT shift, and go to state 28
  2045. BYCOPY shift, and go to state 29
  2046. BYREF shift, and go to state 30
  2047. ONEWAY shift, and go to state 31
  2048. BOOL shift, and go to state 32
  2049. type_specifier go to state 161
  2050. struct_or_union_specifier go to state 45
  2051. struct_or_union go to state 46
  2052. struct_declaration_list go to state 162
  2053. struct_declaration go to state 163
  2054. specifier_qualifier_list go to state 164
  2055. enum_specifier go to state 47
  2056. type_qualifier go to state 165
  2057. protocol_qualifier go to state 49
  2058. state 86
  2059. 253 declaration_specifiers: type_qualifier storage_class_specifier .
  2060. 255 | type_qualifier storage_class_specifier . type_specifier
  2061. CHAR shift, and go to state 7
  2062. SHORT shift, and go to state 8
  2063. INT shift, and go to state 9
  2064. LONG shift, and go to state 10
  2065. SIGNED shift, and go to state 11
  2066. UNSIGNED shift, and go to state 12
  2067. FLOAT shift, and go to state 13
  2068. DOUBLE shift, and go to state 14
  2069. VOID shift, and go to state 17
  2070. STRUCT shift, and go to state 18
  2071. UNION shift, and go to state 19
  2072. ENUM shift, and go to state 20
  2073. ID shift, and go to state 25
  2074. BOOL shift, and go to state 32
  2075. $default reduce using rule 253 (declaration_specifiers)
  2076. type_specifier go to state 166
  2077. struct_or_union_specifier go to state 45
  2078. struct_or_union go to state 46
  2079. enum_specifier go to state 47
  2080. state 87
  2081. 248 declaration_specifiers: type_qualifier type_specifier .
  2082. 254 | type_qualifier type_specifier . storage_class_specifier
  2083. TYPEDEF shift, and go to state 2
  2084. EXTERN shift, and go to state 3
  2085. STATIC shift, and go to state 4
  2086. AUTO shift, and go to state 5
  2087. REGISTER shift, and go to state 6
  2088. $default reduce using rule 248 (declaration_specifiers)
  2089. storage_class_specifier go to state 167
  2090. state 88
  2091. 466 compound_statement: '{' . '}'
  2092. 467 | '{' . compound_statement_list '}'
  2093. 468 | '{' . compound_declaration_list '}'
  2094. error shift, and go to state 168
  2095. IDENTIFIER shift, and go to state 169
  2096. STRING shift, and go to state 170
  2097. CHARACTER shift, and go to state 171
  2098. INTEGER shift, and go to state 172
  2099. DECIMAL shift, and go to state 173
  2100. SIZEOF shift, and go to state 174
  2101. INC_OP shift, and go to state 175
  2102. DEC_OP shift, and go to state 176
  2103. PRINTI shift, and go to state 177
  2104. PRINTF shift, and go to state 178
  2105. TYPEDEF shift, and go to state 2
  2106. EXTERN shift, and go to state 3
  2107. STATIC shift, and go to state 4
  2108. AUTO shift, and go to state 5
  2109. REGISTER shift, and go to state 6
  2110. CHAR shift, and go to state 7
  2111. SHORT shift, and go to state 8
  2112. INT shift, and go to state 9
  2113. LONG shift, and go to state 10
  2114. SIGNED shift, and go to state 11
  2115. UNSIGNED shift, and go to state 12
  2116. FLOAT shift, and go to state 13
  2117. DOUBLE shift, and go to state 14
  2118. CONST shift, and go to state 15
  2119. VOLATILE shift, and go to state 16
  2120. VOID shift, and go to state 17
  2121. STRUCT shift, and go to state 18
  2122. UNION shift, and go to state 19
  2123. ENUM shift, and go to state 20
  2124. CASE shift, and go to state 179
  2125. DEFAULT shift, and go to state 180
  2126. IF shift, and go to state 181
  2127. SWITCH shift, and go to state 182
  2128. WHILE shift, and go to state 183
  2129. DO shift, and go to state 184
  2130. FOR shift, and go to state 185
  2131. GOTO shift, and go to state 186
  2132. CONTINUE shift, and go to state 187
  2133. BREAK shift, and go to state 188
  2134. RETURN shift, and go to state 189
  2135. PROTOCOL shift, and go to state 190
  2136. SELECTOR shift, and go to state 191
  2137. ENCODE shift, and go to state 192
  2138. SELF shift, and go to state 193
  2139. ID shift, and go to state 25
  2140. IN shift, and go to state 26
  2141. OUT shift, and go to state 27
  2142. INOUT shift, and go to state 28
  2143. BYCOPY shift, and go to state 29
  2144. BYREF shift, and go to state 30
  2145. ONEWAY shift, and go to state 31
  2146. BOOL shift, and go to state 32
  2147. '(' shift, and go to state 194
  2148. ';' shift, and go to state 195
  2149. '{' shift, and go to state 88
  2150. '}' shift, and go to state 196
  2151. '*' shift, and go to state 197
  2152. '+' shift, and go to state 198
  2153. '-' shift, and go to state 199
  2154. '[' shift, and go to state 200
  2155. '&' shift, and go to state 201
  2156. '~' shift, and go to state 202
  2157. '!' shift, and go to state 203
  2158. message_expression go to state 204
  2159. selector_expression go to state 205
  2160. protocol_expression go to state 206
  2161. encode_expression go to state 207
  2162. method_instantation_statement go to state 208
  2163. primary_expression go to state 209
  2164. postfix_expression go to state 210
  2165. unary_expression go to state 211
  2166. unary_operator go to state 212
  2167. cast_expression go to state 213
  2168. multiplicative_expression go to state 214
  2169. additive_expression go to state 215
  2170. shift_expression go to state 216
  2171. relational_expression go to state 217
  2172. equality_expression go to state 218
  2173. and_expression go to state 219
  2174. exclusive_or_expression go to state 220
  2175. inclusive_or_expression go to state 221
  2176. logical_and_expression go to state 222
  2177. logical_or_expression go to state 223
  2178. conditional_expression go to state 224
  2179. assignment_expression go to state 225
  2180. expression go to state 226
  2181. declaration go to state 89
  2182. declaration_specifiers go to state 90
  2183. storage_class_specifier go to state 43
  2184. type_specifier go to state 44
  2185. struct_or_union_specifier go to state 45
  2186. struct_or_union go to state 46
  2187. enum_specifier go to state 47
  2188. type_qualifier go to state 48
  2189. protocol_qualifier go to state 49
  2190. statement go to state 227
  2191. print_statement_int go to state 228
  2192. print_statement_float go to state 229
  2193. labeled_statement go to state 230
  2194. compound_statement go to state 231
  2195. declaration_list go to state 232
  2196. statement_list go to state 233
  2197. compound_statement_list go to state 234
  2198. compound_declaration_list go to state 235
  2199. expression_statement go to state 236
  2200. selection_statement go to state 237
  2201. iteration_statement go to state 238
  2202. jump_statement go to state 239
  2203. jump_statement_intermediate go to state 240
  2204. state 89
  2205. 469 declaration_list: declaration .
  2206. 470 | declaration . declaration_list
  2207. TYPEDEF shift, and go to state 2
  2208. EXTERN shift, and go to state 3
  2209. STATIC shift, and go to state 4
  2210. AUTO shift, and go to state 5
  2211. REGISTER shift, and go to state 6
  2212. CHAR shift, and go to state 7
  2213. SHORT shift, and go to state 8
  2214. INT shift, and go to state 9
  2215. LONG shift, and go to state 10
  2216. SIGNED shift, and go to state 11
  2217. UNSIGNED shift, and go to state 12
  2218. FLOAT shift, and go to state 13
  2219. DOUBLE shift, and go to state 14
  2220. CONST shift, and go to state 15
  2221. VOLATILE shift, and go to state 16
  2222. VOID shift, and go to state 17
  2223. STRUCT shift, and go to state 18
  2224. UNION shift, and go to state 19
  2225. ENUM shift, and go to state 20
  2226. ID shift, and go to state 25
  2227. IN shift, and go to state 26
  2228. OUT shift, and go to state 27
  2229. INOUT shift, and go to state 28
  2230. BYCOPY shift, and go to state 29
  2231. BYREF shift, and go to state 30
  2232. ONEWAY shift, and go to state 31
  2233. BOOL shift, and go to state 32
  2234. $default reduce using rule 469 (declaration_list)
  2235. declaration go to state 89
  2236. declaration_specifiers go to state 90
  2237. storage_class_specifier go to state 43
  2238. type_specifier go to state 44
  2239. struct_or_union_specifier go to state 45
  2240. struct_or_union go to state 46
  2241. enum_specifier go to state 47
  2242. type_qualifier go to state 48
  2243. protocol_qualifier go to state 49
  2244. declaration_list go to state 241
  2245. state 90
  2246. 243 declaration: declaration_specifiers . ';'
  2247. 244 | declaration_specifiers . init_declarator_list ';'
  2248. IDENTIFIER shift, and go to state 1
  2249. '(' shift, and go to state 33
  2250. ';' shift, and go to state 75
  2251. '*' shift, and go to state 34
  2252. init_declarator_list go to state 76
  2253. init_declarator go to state 77
  2254. declarator go to state 242
  2255. direct_declarator go to state 51
  2256. pointer go to state 52
  2257. state 91
  2258. 528 function_definition: declarator compound_statement .
  2259. $default reduce using rule 528 (function_definition)
  2260. state 92
  2261. 527 function_definition: declarator declaration_list . compound_statement
  2262. '{' shift, and go to state 88
  2263. compound_statement go to state 243
  2264. state 93
  2265. 391 direct_declarator: direct_declarator '(' . parameter_list ')'
  2266. 392 | direct_declarator '(' . identifier_list ')'
  2267. 393 | direct_declarator '(' . ')'
  2268. 396 | direct_declarator '(' . identifier_list error
  2269. 397 | direct_declarator '(' . error
  2270. error shift, and go to state 244
  2271. IDENTIFIER shift, and go to state 245
  2272. TYPEDEF shift, and go to state 2
  2273. EXTERN shift, and go to state 3
  2274. STATIC shift, and go to state 4
  2275. AUTO shift, and go to state 5
  2276. REGISTER shift, and go to state 6
  2277. CHAR shift, and go to state 7
  2278. SHORT shift, and go to state 8
  2279. INT shift, and go to state 9
  2280. LONG shift, and go to state 10
  2281. SIGNED shift, and go to state 11
  2282. UNSIGNED shift, and go to state 12
  2283. FLOAT shift, and go to state 13
  2284. DOUBLE shift, and go to state 14
  2285. CONST shift, and go to state 15
  2286. VOLATILE shift, and go to state 16
  2287. VOID shift, and go to state 17
  2288. STRUCT shift, and go to state 18
  2289. UNION shift, and go to state 19
  2290. ENUM shift, and go to state 20
  2291. ID shift, and go to state 25
  2292. IN shift, and go to state 26
  2293. OUT shift, and go to state 27
  2294. INOUT shift, and go to state 28
  2295. BYCOPY shift, and go to state 29
  2296. BYREF shift, and go to state 30
  2297. ONEWAY shift, and go to state 31
  2298. BOOL shift, and go to state 32
  2299. ')' shift, and go to state 246
  2300. declaration_specifiers go to state 247
  2301. storage_class_specifier go to state 43
  2302. type_specifier go to state 44
  2303. struct_or_union_specifier go to state 45
  2304. struct_or_union go to state 46
  2305. enum_specifier go to state 47
  2306. type_qualifier go to state 48
  2307. protocol_qualifier go to state 49
  2308. parameter_list go to state 248
  2309. parameter_declaration go to state 249
  2310. identifier_list go to state 250
  2311. state 94
  2312. 389 direct_declarator: direct_declarator '[' . constant_expression ']'
  2313. 390 | direct_declarator '[' . ']'
  2314. 394 | direct_declarator '[' . constant_expression error
  2315. 395 | direct_declarator '[' . error
  2316. error shift, and go to state 251
  2317. IDENTIFIER shift, and go to state 252
  2318. STRING shift, and go to state 170
  2319. CHARACTER shift, and go to state 171
  2320. INTEGER shift, and go to state 172
  2321. DECIMAL shift, and go to state 173
  2322. SIZEOF shift, and go to state 174
  2323. INC_OP shift, and go to state 175
  2324. DEC_OP shift, and go to state 176
  2325. PROTOCOL shift, and go to state 190
  2326. SELECTOR shift, and go to state 191
  2327. ENCODE shift, and go to state 192
  2328. SELF shift, and go to state 193
  2329. '(' shift, and go to state 194
  2330. '*' shift, and go to state 197
  2331. '+' shift, and go to state 198
  2332. '-' shift, and go to state 199
  2333. '[' shift, and go to state 200
  2334. ']' shift, and go to state 253
  2335. '&' shift, and go to state 201
  2336. '~' shift, and go to state 202
  2337. '!' shift, and go to state 203
  2338. message_expression go to state 204
  2339. selector_expression go to state 205
  2340. protocol_expression go to state 206
  2341. encode_expression go to state 207
  2342. primary_expression go to state 209
  2343. postfix_expression go to state 210
  2344. unary_expression go to state 254
  2345. unary_operator go to state 212
  2346. cast_expression go to state 213
  2347. multiplicative_expression go to state 214
  2348. additive_expression go to state 215
  2349. shift_expression go to state 216
  2350. relational_expression go to state 217
  2351. equality_expression go to state 218
  2352. and_expression go to state 219
  2353. exclusive_or_expression go to state 220
  2354. inclusive_or_expression go to state 221
  2355. logical_and_expression go to state 222
  2356. logical_or_expression go to state 223
  2357. conditional_expression go to state 255
  2358. constant_expression go to state 256
  2359. state 95
  2360. 385 declarator: pointer direct_declarator .
  2361. 389 direct_declarator: direct_declarator . '[' constant_expression ']'
  2362. 390 | direct_declarator . '[' ']'
  2363. 391 | direct_declarator . '(' parameter_list ')'
  2364. 392 | direct_declarator . '(' identifier_list ')'
  2365. 393 | direct_declarator . '(' ')'
  2366. 394 | direct_declarator . '[' constant_expression error
  2367. 395 | direct_declarator . '[' error
  2368. 396 | direct_declarator . '(' identifier_list error
  2369. 397 | direct_declarator . '(' error
  2370. '(' shift, and go to state 93
  2371. '[' shift, and go to state 94
  2372. $default reduce using rule 385 (declarator)
  2373. state 96
  2374. 530 translation_unit: translation_unit external_declaration .
  2375. $default reduce using rule 530 (translation_unit)
  2376. state 97
  2377. 0 $accept: start_prog $end .
  2378. $default accept
  2379. state 98
  2380. 369 enum_specifier: ENUM error '{' . enumerator_list '}'
  2381. 370 | ENUM error '{' . enumerator_list error
  2382. error shift, and go to state 100
  2383. IDENTIFIER shift, and go to state 101
  2384. enumerator_list go to state 257
  2385. enumerator go to state 103
  2386. state 99
  2387. 364 enum_specifier: ENUM IDENTIFIER '{' . enumerator_list '}'
  2388. 368 | ENUM IDENTIFIER '{' . enumerator_list error
  2389. error shift, and go to state 100
  2390. IDENTIFIER shift, and go to state 101
  2391. enumerator_list go to state 258
  2392. enumerator go to state 103
  2393. state 100
  2394. 375 enumerator: error .
  2395. $default reduce using rule 375 (enumerator)
  2396. state 101
  2397. 373 enumerator: IDENTIFIER .
  2398. 374 | IDENTIFIER . '=' constant_expression
  2399. '=' shift, and go to state 259
  2400. $default reduce using rule 373 (enumerator)
  2401. state 102
  2402. 363 enum_specifier: ENUM '{' enumerator_list . '}'
  2403. 367 | ENUM '{' enumerator_list . error
  2404. 372 enumerator_list: enumerator_list . ',' enumerator
  2405. error shift, and go to state 260
  2406. ',' shift, and go to state 261
  2407. '}' shift, and go to state 262
  2408. state 103
  2409. 371 enumerator_list: enumerator .
  2410. $default reduce using rule 371 (enumerator_list)
  2411. state 104
  2412. 17 class_interface: INTERFACE error END .
  2413. $default reduce using rule 17 (class_interface)
  2414. state 105
  2415. 18 class_interface: INTERFACE error ':' . IDENTIFIER END
  2416. 19 | INTERFACE error ':' . IDENTIFIER protocol_reference_list END
  2417. 21 | INTERFACE error ':' . IDENTIFIER instance_variables END
  2418. IDENTIFIER shift, and go to state 263
  2419. state 106
  2420. 63 instance_variables: '{' . objc_declaration_list '}'
  2421. 64 | '{' . objc_declaration_list instance_variables_list '}'
  2422. 65 | '{' . struct_declaration_list '}'
  2423. 66 | '{' . visibility_specification struct_declaration_list '}'
  2424. 67 | '{' . struct_declaration_list instance_variables_list '}'
  2425. 68 | '{' . visibility_specification struct_declaration_list instance_variables_list '}'
  2426. 69 | '{' . error struct_declaration_list instance_variables_list '}'
  2427. 70 | '{' . visibility_specification struct_declaration_list error
  2428. 71 | '{' . struct_declaration_list instance_variables_list error
  2429. 72 | '{' . visibility_specification struct_declaration_list instance_variables_list error
  2430. error shift, and go to state 264
  2431. IDENTIFIER shift, and go to state 265
  2432. CHAR shift, and go to state 7
  2433. SHORT shift, and go to state 8
  2434. INT shift, and go to state 9
  2435. LONG shift, and go to state 10
  2436. SIGNED shift, and go to state 11
  2437. UNSIGNED shift, and go to state 12
  2438. FLOAT shift, and go to state 13
  2439. DOUBLE shift, and go to state 14
  2440. CONST shift, and go to state 15
  2441. VOLATILE shift, and go to state 16
  2442. VOID shift, and go to state 17
  2443. STRUCT shift, and go to state 18
  2444. UNION shift, and go to state 19
  2445. ENUM shift, and go to state 20
  2446. PRIVATE shift, and go to state 266
  2447. PUBLIC shift, and go to state 267
  2448. PROTECTED shift, and go to state 268
  2449. ID shift, and go to state 25
  2450. IN shift, and go to state 26
  2451. OUT shift, and go to state 27
  2452. INOUT shift, and go to state 28
  2453. BYCOPY shift, and go to state 29
  2454. BYREF shift, and go to state 30
  2455. ONEWAY shift, and go to state 31
  2456. BOOL shift, and go to state 32
  2457. visibility_specification go to state 269
  2458. objc_declaration_list go to state 270
  2459. type_specifier go to state 161
  2460. struct_or_union_specifier go to state 45
  2461. struct_or_union go to state 46
  2462. struct_declaration_list go to state 271
  2463. struct_declaration go to state 163
  2464. specifier_qualifier_list go to state 164
  2465. enum_specifier go to state 47
  2466. type_qualifier go to state 165
  2467. protocol_qualifier go to state 49
  2468. state 107
  2469. 20 class_interface: INTERFACE error instance_variables . END
  2470. END shift, and go to state 272
  2471. state 108
  2472. 22 class_interface: INTERFACE IDENTIFIER error . IDENTIFIER instance_variables interface_declaration_list END
  2473. 38 category_interface: INTERFACE IDENTIFIER error . IDENTIFIER ')' END
  2474. 39 | INTERFACE IDENTIFIER error . IDENTIFIER ')' protocol_reference_list END
  2475. IDENTIFIER shift, and go to state 273
  2476. state 109
  2477. 1 class_interface: INTERFACE IDENTIFIER END .
  2478. $default reduce using rule 1 (class_interface)
  2479. state 110
  2480. 2 class_interface: INTERFACE IDENTIFIER ':' . IDENTIFIER END
  2481. 4 | INTERFACE IDENTIFIER ':' . IDENTIFIER protocol_reference_list END
  2482. 6 | INTERFACE IDENTIFIER ':' . IDENTIFIER instance_variables END
  2483. 8 | INTERFACE IDENTIFIER ':' . IDENTIFIER protocol_reference_list instance_variables END
  2484. 10 | INTERFACE IDENTIFIER ':' . IDENTIFIER interface_declaration_list END
  2485. 12 | INTERFACE IDENTIFIER ':' . IDENTIFIER protocol_reference_list interface_declaration_list END
  2486. 14 | INTERFACE IDENTIFIER ':' . IDENTIFIER instance_variables interface_declaration_list END
  2487. 16 | INTERFACE IDENTIFIER ':' . IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
  2488. IDENTIFIER shift, and go to state 274
  2489. state 111
  2490. 34 category_interface: INTERFACE IDENTIFIER '(' . IDENTIFIER ')' END
  2491. 35 | INTERFACE IDENTIFIER '(' . IDENTIFIER ')' protocol_reference_list END
  2492. 36 | INTERFACE IDENTIFIER '(' . IDENTIFIER ')' interface_declaration_list END
  2493. 37 | INTERFACE IDENTIFIER '(' . IDENTIFIER ')' protocol_reference_list interface_declaration_list END
  2494. 40 | INTERFACE IDENTIFIER '(' . IDENTIFIER error
  2495. 41 | INTERFACE IDENTIFIER '(' . IDENTIFIER ')' error
  2496. 42 | INTERFACE IDENTIFIER '(' . IDENTIFIER ')' protocol_reference_list interface_declaration_list error
  2497. IDENTIFIER shift, and go to state 275
  2498. state 112
  2499. 92 class_method_declaration: '+' . method_selector ';'
  2500. 93 | '+' . method_type method_selector ';'
  2501. 94 | '+' . method_type method_selector error
  2502. 95 | '+' . method_selector error
  2503. IDENTIFIER shift, and go to state 276
  2504. '(' shift, and go to state 277
  2505. method_selector go to state 278
  2506. unary_selector go to state 279
  2507. keyword_selector go to state 280
  2508. keyword_declarator go to state 281
  2509. selector go to state 282
  2510. method_type go to state 283
  2511. state 113
  2512. 96 instance_method_declaration: '-' . method_selector ';'
  2513. 97 | '-' . method_type method_selector ';'
  2514. 98 | '-' . method_type method_selector error
  2515. 99 | '-' . method_selector error
  2516. IDENTIFIER shift, and go to state 276
  2517. '(' shift, and go to state 277
  2518. method_selector go to state 284
  2519. unary_selector go to state 279
  2520. keyword_selector go to state 280
  2521. keyword_declarator go to state 281
  2522. selector go to state 282
  2523. method_type go to state 285
  2524. state 114
  2525. 3 class_interface: INTERFACE IDENTIFIER protocol_reference_list . END
  2526. 7 | INTERFACE IDENTIFIER protocol_reference_list . instance_variables END
  2527. 11 | INTERFACE IDENTIFIER protocol_reference_list . interface_declaration_list END
  2528. 15 | INTERFACE IDENTIFIER protocol_reference_list . instance_variables interface_declaration_list END
  2529. TYPEDEF shift, and go to state 2
  2530. EXTERN shift, and go to state 3
  2531. STATIC shift, and go to state 4
  2532. AUTO shift, and go to state 5
  2533. REGISTER shift, and go to state 6
  2534. CHAR shift, and go to state 7
  2535. SHORT shift, and go to state 8
  2536. INT shift, and go to state 9
  2537. LONG shift, and go to state 10
  2538. SIGNED shift, and go to state 11
  2539. UNSIGNED shift, and go to state 12
  2540. FLOAT shift, and go to state 13
  2541. DOUBLE shift, and go to state 14
  2542. CONST shift, and go to state 15
  2543. VOLATILE shift, and go to state 16
  2544. VOID shift, and go to state 17
  2545. STRUCT shift, and go to state 18
  2546. UNION shift, and go to state 19
  2547. ENUM shift, and go to state 20
  2548. END shift, and go to state 286
  2549. ID shift, and go to state 25
  2550. IN shift, and go to state 26
  2551. OUT shift, and go to state 27
  2552. INOUT shift, and go to state 28
  2553. BYCOPY shift, and go to state 29
  2554. BYREF shift, and go to state 30
  2555. ONEWAY shift, and go to state 31
  2556. BOOL shift, and go to state 32
  2557. '{' shift, and go to state 106
  2558. '+' shift, and go to state 112
  2559. '-' shift, and go to state 113
  2560. instance_variables go to state 287
  2561. interface_declaration_list go to state 288
  2562. method_declaration go to state 117
  2563. class_method_declaration go to state 118
  2564. instance_method_declaration go to state 119
  2565. declaration go to state 120
  2566. declaration_specifiers go to state 90
  2567. storage_class_specifier go to state 43
  2568. type_specifier go to state 44
  2569. struct_or_union_specifier go to state 45
  2570. struct_or_union go to state 46
  2571. enum_specifier go to state 47
  2572. type_qualifier go to state 48
  2573. protocol_qualifier go to state 49
  2574. state 115
  2575. 5 class_interface: INTERFACE IDENTIFIER instance_variables . END
  2576. 13 | INTERFACE IDENTIFIER instance_variables . interface_declaration_list END
  2577. TYPEDEF shift, and go to state 2
  2578. EXTERN shift, and go to state 3
  2579. STATIC shift, and go to state 4
  2580. AUTO shift, and go to state 5
  2581. REGISTER shift, and go to state 6
  2582. CHAR shift, and go to state 7
  2583. SHORT shift, and go to state 8
  2584. INT shift, and go to state 9
  2585. LONG shift, and go to state 10
  2586. SIGNED shift, and go to state 11
  2587. UNSIGNED shift, and go to state 12
  2588. FLOAT shift, and go to state 13
  2589. DOUBLE shift, and go to state 14
  2590. CONST shift, and go to state 15
  2591. VOLATILE shift, and go to state 16
  2592. VOID shift, and go to state 17
  2593. STRUCT shift, and go to state 18
  2594. UNION shift, and go to state 19
  2595. ENUM shift, and go to state 20
  2596. END shift, and go to state 289
  2597. ID shift, and go to state 25
  2598. IN shift, and go to state 26
  2599. OUT shift, and go to state 27
  2600. INOUT shift, and go to state 28
  2601. BYCOPY shift, and go to state 29
  2602. BYREF shift, and go to state 30
  2603. ONEWAY shift, and go to state 31
  2604. BOOL shift, and go to state 32
  2605. '+' shift, and go to state 112
  2606. '-' shift, and go to state 113
  2607. interface_declaration_list go to state 290
  2608. method_declaration go to state 117
  2609. class_method_declaration go to state 118
  2610. instance_method_declaration go to state 119
  2611. declaration go to state 120
  2612. declaration_specifiers go to state 90
  2613. storage_class_specifier go to state 43
  2614. type_specifier go to state 44
  2615. struct_or_union_specifier go to state 45
  2616. struct_or_union go to state 46
  2617. enum_specifier go to state 47
  2618. type_qualifier go to state 48
  2619. protocol_qualifier go to state 49
  2620. state 116
  2621. 9 class_interface: INTERFACE IDENTIFIER interface_declaration_list . END
  2622. 80 interface_declaration_list: interface_declaration_list . declaration
  2623. 81 | interface_declaration_list . method_declaration
  2624. TYPEDEF shift, and go to state 2
  2625. EXTERN shift, and go to state 3
  2626. STATIC shift, and go to state 4
  2627. AUTO shift, and go to state 5
  2628. REGISTER shift, and go to state 6
  2629. CHAR shift, and go to state 7
  2630. SHORT shift, and go to state 8
  2631. INT shift, and go to state 9
  2632. LONG shift, and go to state 10
  2633. SIGNED shift, and go to state 11
  2634. UNSIGNED shift, and go to state 12
  2635. FLOAT shift, and go to state 13
  2636. DOUBLE shift, and go to state 14
  2637. CONST shift, and go to state 15
  2638. VOLATILE shift, and go to state 16
  2639. VOID shift, and go to state 17
  2640. STRUCT shift, and go to state 18
  2641. UNION shift, and go to state 19
  2642. ENUM shift, and go to state 20
  2643. END shift, and go to state 291
  2644. ID shift, and go to state 25
  2645. IN shift, and go to state 26
  2646. OUT shift, and go to state 27
  2647. INOUT shift, and go to state 28
  2648. BYCOPY shift, and go to state 29
  2649. BYREF shift, and go to state 30
  2650. ONEWAY shift, and go to state 31
  2651. BOOL shift, and go to state 32
  2652. '+' shift, and go to state 112
  2653. '-' shift, and go to state 113
  2654. method_declaration go to state 292
  2655. class_method_declaration go to state 118
  2656. instance_method_declaration go to state 119
  2657. declaration go to state 293
  2658. declaration_specifiers go to state 90
  2659. storage_class_specifier go to state 43
  2660. type_specifier go to state 44
  2661. struct_or_union_specifier go to state 45
  2662. struct_or_union go to state 46
  2663. enum_specifier go to state 47
  2664. type_qualifier go to state 48
  2665. protocol_qualifier go to state 49
  2666. state 117
  2667. 79 interface_declaration_list: method_declaration .
  2668. $default reduce using rule 79 (interface_declaration_list)
  2669. state 118
  2670. 90 method_declaration: class_method_declaration .
  2671. $default reduce using rule 90 (method_declaration)
  2672. state 119
  2673. 91 method_declaration: instance_method_declaration .
  2674. $default reduce using rule 91 (method_declaration)
  2675. state 120
  2676. 78 interface_declaration_list: declaration .
  2677. $default reduce using rule 78 (interface_declaration_list)
  2678. state 121
  2679. 32 class_implementation: IMPLEMENTATION IDENTIFIER error .
  2680. $default reduce using rule 32 (class_implementation)
  2681. state 122
  2682. 23 class_implementation: IMPLEMENTATION IDENTIFIER END .
  2683. $default reduce using rule 23 (class_implementation)
  2684. state 123
  2685. 24 class_implementation: IMPLEMENTATION IDENTIFIER ':' . IDENTIFIER END
  2686. 26 | IMPLEMENTATION IDENTIFIER ':' . IDENTIFIER instance_variables END
  2687. 28 | IMPLEMENTATION IDENTIFIER ':' . IDENTIFIER implementation_definition_list END
  2688. 30 | IMPLEMENTATION IDENTIFIER ':' . IDENTIFIER instance_variables implementation_definition_list END
  2689. 33 | IMPLEMENTATION IDENTIFIER ':' . error
  2690. error shift, and go to state 294
  2691. IDENTIFIER shift, and go to state 295
  2692. state 124
  2693. 43 category_implementation: IMPLEMENTATION IDENTIFIER '(' . IDENTIFIER ')' END
  2694. 44 | IMPLEMENTATION IDENTIFIER '(' . IDENTIFIER ')' implementation_definition_list END
  2695. 45 | IMPLEMENTATION IDENTIFIER '(' . error ')' implementation_definition_list END
  2696. 46 | IMPLEMENTATION IDENTIFIER '(' . IDENTIFIER error implementation_definition_list END
  2697. 47 | IMPLEMENTATION IDENTIFIER '(' . IDENTIFIER ')' error
  2698. 388 direct_declarator: '(' . declarator ')'
  2699. error shift, and go to state 296
  2700. IDENTIFIER shift, and go to state 297
  2701. '(' shift, and go to state 33
  2702. '*' shift, and go to state 34
  2703. declarator go to state 71
  2704. direct_declarator go to state 51
  2705. pointer go to state 52
  2706. state 125
  2707. 108 class_method_definition: '+' . method_selector compound_statement
  2708. 109 | '+' . method_type method_selector compound_statement
  2709. 110 | '+' . method_selector declaration_list compound_statement
  2710. 111 | '+' . method_type method_selector declaration_list compound_statement
  2711. IDENTIFIER shift, and go to state 276
  2712. '(' shift, and go to state 277
  2713. method_selector go to state 298
  2714. unary_selector go to state 279
  2715. keyword_selector go to state 280
  2716. keyword_declarator go to state 281
  2717. selector go to state 282
  2718. method_type go to state 299
  2719. state 126
  2720. 112 instance_method_definition: '-' . method_selector compound_statement
  2721. 113 | '-' . method_type method_selector compound_statement
  2722. 114 | '-' . method_selector declaration_list compound_statement
  2723. 115 | '-' . method_type method_selector declaration_list compound_statement
  2724. IDENTIFIER shift, and go to state 276
  2725. '(' shift, and go to state 277
  2726. method_selector go to state 300
  2727. unary_selector go to state 279
  2728. keyword_selector go to state 280
  2729. keyword_declarator go to state 281
  2730. selector go to state 282
  2731. method_type go to state 301
  2732. state 127
  2733. 25 class_implementation: IMPLEMENTATION IDENTIFIER instance_variables . END
  2734. 29 | IMPLEMENTATION IDENTIFIER instance_variables . implementation_definition_list END
  2735. IDENTIFIER shift, and go to state 1
  2736. TYPEDEF shift, and go to state 2
  2737. EXTERN shift, and go to state 3
  2738. STATIC shift, and go to state 4
  2739. AUTO shift, and go to state 5
  2740. REGISTER shift, and go to state 6
  2741. CHAR shift, and go to state 7
  2742. SHORT shift, and go to state 8
  2743. INT shift, and go to state 9
  2744. LONG shift, and go to state 10
  2745. SIGNED shift, and go to state 11
  2746. UNSIGNED shift, and go to state 12
  2747. FLOAT shift, and go to state 13
  2748. DOUBLE shift, and go to state 14
  2749. CONST shift, and go to state 15
  2750. VOLATILE shift, and go to state 16
  2751. VOID shift, and go to state 17
  2752. STRUCT shift, and go to state 18
  2753. UNION shift, and go to state 19
  2754. ENUM shift, and go to state 20
  2755. END shift, and go to state 302
  2756. ID shift, and go to state 25
  2757. IN shift, and go to state 26
  2758. OUT shift, and go to state 27
  2759. INOUT shift, and go to state 28
  2760. BYCOPY shift, and go to state 29
  2761. BYREF shift, and go to state 30
  2762. ONEWAY shift, and go to state 31
  2763. BOOL shift, and go to state 32
  2764. '(' shift, and go to state 33
  2765. '*' shift, and go to state 34
  2766. '+' shift, and go to state 125
  2767. '-' shift, and go to state 126
  2768. implementation_definition_list go to state 303
  2769. method_definition go to state 129
  2770. class_method_definition go to state 130
  2771. instance_method_definition go to state 131
  2772. declaration go to state 132
  2773. declaration_specifiers go to state 42
  2774. storage_class_specifier go to state 43
  2775. type_specifier go to state 44
  2776. struct_or_union_specifier go to state 45
  2777. struct_or_union go to state 46
  2778. enum_specifier go to state 47
  2779. type_qualifier go to state 48
  2780. protocol_qualifier go to state 49
  2781. declarator go to state 50
  2782. direct_declarator go to state 51
  2783. pointer go to state 52
  2784. function_definition go to state 133
  2785. state 128
  2786. 27 class_implementation: IMPLEMENTATION IDENTIFIER implementation_definition_list . END
  2787. 103 implementation_definition_list: implementation_definition_list . function_definition
  2788. 104 | implementation_definition_list . declaration
  2789. 105 | implementation_definition_list . method_definition
  2790. IDENTIFIER shift, and go to state 1
  2791. TYPEDEF shift, and go to state 2
  2792. EXTERN shift, and go to state 3
  2793. STATIC shift, and go to state 4
  2794. AUTO shift, and go to state 5
  2795. REGISTER shift, and go to state 6
  2796. CHAR shift, and go to state 7
  2797. SHORT shift, and go to state 8
  2798. INT shift, and go to state 9
  2799. LONG shift, and go to state 10
  2800. SIGNED shift, and go to state 11
  2801. UNSIGNED shift, and go to state 12
  2802. FLOAT shift, and go to state 13
  2803. DOUBLE shift, and go to state 14
  2804. CONST shift, and go to state 15
  2805. VOLATILE shift, and go to state 16
  2806. VOID shift, and go to state 17
  2807. STRUCT shift, and go to state 18
  2808. UNION shift, and go to state 19
  2809. ENUM shift, and go to state 20
  2810. END shift, and go to state 304
  2811. ID shift, and go to state 25
  2812. IN shift, and go to state 26
  2813. OUT shift, and go to state 27
  2814. INOUT shift, and go to state 28
  2815. BYCOPY shift, and go to state 29
  2816. BYREF shift, and go to state 30
  2817. ONEWAY shift, and go to state 31
  2818. BOOL shift, and go to state 32
  2819. '(' shift, and go to state 33
  2820. '*' shift, and go to state 34
  2821. '+' shift, and go to state 125
  2822. '-' shift, and go to state 126
  2823. method_definition go to state 305
  2824. class_method_definition go to state 130
  2825. instance_method_definition go to state 131
  2826. declaration go to state 306
  2827. declaration_specifiers go to state 42
  2828. storage_class_specifier go to state 43
  2829. type_specifier go to state 44
  2830. struct_or_union_specifier go to state 45
  2831. struct_or_union go to state 46
  2832. enum_specifier go to state 47
  2833. type_qualifier go to state 48
  2834. protocol_qualifier go to state 49
  2835. declarator go to state 50
  2836. direct_declarator go to state 51
  2837. pointer go to state 52
  2838. function_definition go to state 307
  2839. state 129
  2840. 102 implementation_definition_list: method_definition .
  2841. $default reduce using rule 102 (implementation_definition_list)
  2842. state 130
  2843. 106 method_definition: class_method_definition .
  2844. $default reduce using rule 106 (method_definition)
  2845. state 131
  2846. 107 method_definition: instance_method_definition .
  2847. $default reduce using rule 107 (method_definition)
  2848. state 132
  2849. 101 implementation_definition_list: declaration .
  2850. $default reduce using rule 101 (implementation_definition_list)
  2851. state 133
  2852. 100 implementation_definition_list: function_definition .
  2853. $default reduce using rule 100 (implementation_definition_list)
  2854. state 134
  2855. 52 protocol_declaration: PROTOCOL error protocol_reference_list . interface_declaration_list END
  2856. TYPEDEF shift, and go to state 2
  2857. EXTERN shift, and go to state 3
  2858. STATIC shift, and go to state 4
  2859. AUTO shift, and go to state 5
  2860. REGISTER shift, and go to state 6
  2861. CHAR shift, and go to state 7
  2862. SHORT shift, and go to state 8
  2863. INT shift, and go to state 9
  2864. LONG shift, and go to state 10
  2865. SIGNED shift, and go to state 11
  2866. UNSIGNED shift, and go to state 12
  2867. FLOAT shift, and go to state 13
  2868. DOUBLE shift, and go to state 14
  2869. CONST shift, and go to state 15
  2870. VOLATILE shift, and go to state 16
  2871. VOID shift, and go to state 17
  2872. STRUCT shift, and go to state 18
  2873. UNION shift, and go to state 19
  2874. ENUM shift, and go to state 20
  2875. ID shift, and go to state 25
  2876. IN shift, and go to state 26
  2877. OUT shift, and go to state 27
  2878. INOUT shift, and go to state 28
  2879. BYCOPY shift, and go to state 29
  2880. BYREF shift, and go to state 30
  2881. ONEWAY shift, and go to state 31
  2882. BOOL shift, and go to state 32
  2883. '+' shift, and go to state 112
  2884. '-' shift, and go to state 113
  2885. interface_declaration_list go to state 308
  2886. method_declaration go to state 117
  2887. class_method_declaration go to state 118
  2888. instance_method_declaration go to state 119
  2889. declaration go to state 120
  2890. declaration_specifiers go to state 90
  2891. storage_class_specifier go to state 43
  2892. type_specifier go to state 44
  2893. struct_or_union_specifier go to state 45
  2894. struct_or_union go to state 46
  2895. enum_specifier go to state 47
  2896. type_qualifier go to state 48
  2897. protocol_qualifier go to state 49
  2898. state 135
  2899. 48 protocol_declaration: PROTOCOL protocol_name END .
  2900. $default reduce using rule 48 (protocol_declaration)
  2901. state 136
  2902. 49 protocol_declaration: PROTOCOL protocol_name protocol_reference_list . END
  2903. 51 | PROTOCOL protocol_name protocol_reference_list . interface_declaration_list END
  2904. TYPEDEF shift, and go to state 2
  2905. EXTERN shift, and go to state 3
  2906. STATIC shift, and go to state 4
  2907. AUTO shift, and go to state 5
  2908. REGISTER shift, and go to state 6
  2909. CHAR shift, and go to state 7
  2910. SHORT shift, and go to state 8
  2911. INT shift, and go to state 9
  2912. LONG shift, and go to state 10
  2913. SIGNED shift, and go to state 11
  2914. UNSIGNED shift, and go to state 12
  2915. FLOAT shift, and go to state 13
  2916. DOUBLE shift, and go to state 14
  2917. CONST shift, and go to state 15
  2918. VOLATILE shift, and go to state 16
  2919. VOID shift, and go to state 17
  2920. STRUCT shift, and go to state 18
  2921. UNION shift, and go to state 19
  2922. ENUM shift, and go to state 20
  2923. END shift, and go to state 309
  2924. ID shift, and go to state 25
  2925. IN shift, and go to state 26
  2926. OUT shift, and go to state 27
  2927. INOUT shift, and go to state 28
  2928. BYCOPY shift, and go to state 29
  2929. BYREF shift, and go to state 30
  2930. ONEWAY shift, and go to state 31
  2931. BOOL shift, and go to state 32
  2932. '+' shift, and go to state 112
  2933. '-' shift, and go to state 113
  2934. interface_declaration_list go to state 310
  2935. method_declaration go to state 117
  2936. class_method_declaration go to state 118
  2937. instance_method_declaration go to state 119
  2938. declaration go to state 120
  2939. declaration_specifiers go to state 90
  2940. storage_class_specifier go to state 43
  2941. type_specifier go to state 44
  2942. struct_or_union_specifier go to state 45
  2943. struct_or_union go to state 46
  2944. enum_specifier go to state 47
  2945. type_qualifier go to state 48
  2946. protocol_qualifier go to state 49
  2947. state 137
  2948. 50 protocol_declaration: PROTOCOL protocol_name interface_declaration_list . END
  2949. 80 interface_declaration_list: interface_declaration_list . declaration
  2950. 81 | interface_declaration_list . method_declaration
  2951. TYPEDEF shift, and go to state 2
  2952. EXTERN shift, and go to state 3
  2953. STATIC shift, and go to state 4
  2954. AUTO shift, and go to state 5
  2955. REGISTER shift, and go to state 6
  2956. CHAR shift, and go to state 7
  2957. SHORT shift, and go to state 8
  2958. INT shift, and go to state 9
  2959. LONG shift, and go to state 10
  2960. SIGNED shift, and go to state 11
  2961. UNSIGNED shift, and go to state 12
  2962. FLOAT shift, and go to state 13
  2963. DOUBLE shift, and go to state 14
  2964. CONST shift, and go to state 15
  2965. VOLATILE shift, and go to state 16
  2966. VOID shift, and go to state 17
  2967. STRUCT shift, and go to state 18
  2968. UNION shift, and go to state 19
  2969. ENUM shift, and go to state 20
  2970. END shift, and go to state 311
  2971. ID shift, and go to state 25
  2972. IN shift, and go to state 26
  2973. OUT shift, and go to state 27
  2974. INOUT shift, and go to state 28
  2975. BYCOPY shift, and go to state 29
  2976. BYREF shift, and go to state 30
  2977. ONEWAY shift, and go to state 31
  2978. BOOL shift, and go to state 32
  2979. '+' shift, and go to state 112
  2980. '-' shift, and go to state 113
  2981. method_declaration go to state 292
  2982. class_method_declaration go to state 118
  2983. instance_method_declaration go to state 119
  2984. declaration go to state 293
  2985. declaration_specifiers go to state 90
  2986. storage_class_specifier go to state 43
  2987. type_specifier go to state 44
  2988. struct_or_union_specifier go to state 45
  2989. struct_or_union go to state 46
  2990. enum_specifier go to state 47
  2991. type_qualifier go to state 48
  2992. protocol_qualifier go to state 49
  2993. state 138
  2994. 54 class_declaration_list: CLASS class_list error .
  2995. 57 class_list: class_list error .
  2996. error reduce using rule 57 (class_list)
  2997. ';' reduce using rule 57 (class_list)
  2998. ',' reduce using rule 57 (class_list)
  2999. $default reduce using rule 54 (class_declaration_list)
  3000. state 139
  3001. 53 class_declaration_list: CLASS class_list ';' .
  3002. $default reduce using rule 53 (class_declaration_list)
  3003. state 140
  3004. 56 class_list: class_list ',' . IDENTIFIER
  3005. IDENTIFIER shift, and go to state 312
  3006. state 141
  3007. 58 protocol_reference_list: '<' protocol_list . '>'
  3008. 59 | '<' protocol_list . error
  3009. 61 protocol_list: protocol_list . ',' protocol_name
  3010. error shift, and go to state 313
  3011. ',' shift, and go to state 314
  3012. '>' shift, and go to state 315
  3013. state 142
  3014. 60 protocol_list: protocol_name .
  3015. $default reduce using rule 60 (protocol_list)
  3016. state 143
  3017. 388 direct_declarator: '(' declarator ')' .
  3018. $default reduce using rule 388 (direct_declarator)
  3019. state 144
  3020. 403 type_qualifier_list: type_qualifier_list type_qualifier .
  3021. $default reduce using rule 403 (type_qualifier_list)
  3022. state 145
  3023. 401 pointer: '*' type_qualifier_list pointer .
  3024. $default reduce using rule 401 (pointer)
  3025. state 146
  3026. 262 init_declarator_list: init_declarator_list error . init_declarator
  3027. IDENTIFIER shift, and go to state 1
  3028. '(' shift, and go to state 33
  3029. '*' shift, and go to state 34
  3030. init_declarator go to state 316
  3031. declarator go to state 242
  3032. direct_declarator go to state 51
  3033. pointer go to state 52
  3034. state 147
  3035. 244 declaration: declaration_specifiers init_declarator_list ';' .
  3036. $default reduce using rule 244 (declaration)
  3037. state 148
  3038. 261 init_declarator_list: init_declarator_list ',' . init_declarator
  3039. IDENTIFIER shift, and go to state 1
  3040. '(' shift, and go to state 33
  3041. '*' shift, and go to state 34
  3042. init_declarator go to state 317
  3043. declarator go to state 242
  3044. direct_declarator go to state 51
  3045. pointer go to state 52
  3046. state 149
  3047. 264 init_declarator: declarator '=' . initializer
  3048. IDENTIFIER shift, and go to state 252
  3049. STRING shift, and go to state 170
  3050. CHARACTER shift, and go to state 171
  3051. INTEGER shift, and go to state 172
  3052. DECIMAL shift, and go to state 173
  3053. SIZEOF shift, and go to state 174
  3054. INC_OP shift, and go to state 175
  3055. DEC_OP shift, and go to state 176
  3056. PROTOCOL shift, and go to state 190
  3057. SELECTOR shift, and go to state 191
  3058. ENCODE shift, and go to state 192
  3059. SELF shift, and go to state 193
  3060. '(' shift, and go to state 194
  3061. '{' shift, and go to state 318
  3062. '*' shift, and go to state 197
  3063. '+' shift, and go to state 198
  3064. '-' shift, and go to state 199
  3065. '[' shift, and go to state 200
  3066. '&' shift, and go to state 201
  3067. '~' shift, and go to state 202
  3068. '!' shift, and go to state 203
  3069. message_expression go to state 204
  3070. selector_expression go to state 205
  3071. protocol_expression go to state 206
  3072. encode_expression go to state 207
  3073. primary_expression go to state 209
  3074. postfix_expression go to state 210
  3075. unary_expression go to state 211
  3076. unary_operator go to state 212
  3077. cast_expression go to state 213
  3078. multiplicative_expression go to state 214
  3079. additive_expression go to state 215
  3080. shift_expression go to state 216
  3081. relational_expression go to state 217
  3082. equality_expression go to state 218
  3083. and_expression go to state 219
  3084. exclusive_or_expression go to state 220
  3085. inclusive_or_expression go to state 221
  3086. logical_and_expression go to state 222
  3087. logical_or_expression go to state 223
  3088. conditional_expression go to state 224
  3089. assignment_expression go to state 319
  3090. initializer go to state 320
  3091. state 150
  3092. 526 function_definition: declaration_specifiers declarator compound_statement .
  3093. $default reduce using rule 526 (function_definition)
  3094. state 151
  3095. 525 function_definition: declaration_specifiers declarator declaration_list . compound_statement
  3096. '{' shift, and go to state 88
  3097. compound_statement go to state 321
  3098. state 152
  3099. 256 declaration_specifiers: storage_class_specifier type_specifier type_qualifier .
  3100. $default reduce using rule 256 (declaration_specifiers)
  3101. state 153
  3102. 257 declaration_specifiers: storage_class_specifier type_qualifier type_specifier .
  3103. $default reduce using rule 257 (declaration_specifiers)
  3104. state 154
  3105. 259 declaration_specifiers: type_specifier storage_class_specifier type_qualifier .
  3106. $default reduce using rule 259 (declaration_specifiers)
  3107. state 155
  3108. 258 declaration_specifiers: type_specifier type_qualifier storage_class_specifier .
  3109. $default reduce using rule 258 (declaration_specifiers)
  3110. state 156
  3111. 328 struct_or_union_specifier: struct_or_union error DEFS . '(' IDENTIFIER ')' '}'
  3112. 332 | struct_or_union error DEFS . '(' IDENTIFIER ')' error
  3113. 335 | struct_or_union error DEFS . '(' IDENTIFIER error '}'
  3114. 337 | struct_or_union error DEFS . error IDENTIFIER ')' '}'
  3115. 340 | struct_or_union error DEFS . '(' IDENTIFIER error error
  3116. 342 | struct_or_union error DEFS . error IDENTIFIER ')' error
  3117. 344 | struct_or_union error DEFS . error IDENTIFIER error '}'
  3118. 345 | struct_or_union error DEFS . error IDENTIFIER error error
  3119. error shift, and go to state 322
  3120. '(' shift, and go to state 323
  3121. state 157
  3122. 291 struct_or_union_specifier: struct_or_union error '{' . struct_declaration_list '}'
  3123. 297 | struct_or_union error '{' . DEFS '(' IDENTIFIER ')' '}'
  3124. 301 | struct_or_union error '{' . DEFS '(' IDENTIFIER ')' error
  3125. 304 | struct_or_union error '{' . DEFS '(' IDENTIFIER error '}'
  3126. 306 | struct_or_union error '{' . DEFS error IDENTIFIER ')' '}'
  3127. 307 | struct_or_union error '{' . error '(' IDENTIFIER ')' '}'
  3128. 310 | struct_or_union error '{' . DEFS '(' IDENTIFIER error error
  3129. 312 | struct_or_union error '{' . DEFS error IDENTIFIER ')' error
  3130. 313 | struct_or_union error '{' . error '(' IDENTIFIER ')' error
  3131. 315 | struct_or_union error '{' . DEFS error IDENTIFIER error '}'
  3132. 316 | struct_or_union error '{' . error '(' IDENTIFIER error '}'
  3133. 317 | struct_or_union error '{' . error error IDENTIFIER ')' '}'
  3134. 319 | struct_or_union error '{' . DEFS error IDENTIFIER error error
  3135. 320 | struct_or_union error '{' . error '(' IDENTIFIER error error
  3136. 321 | struct_or_union error '{' . error error IDENTIFIER ')' error
  3137. 322 | struct_or_union error '{' . error error IDENTIFIER error '}'
  3138. 323 | struct_or_union error '{' . error error IDENTIFIER error error
  3139. error shift, and go to state 324
  3140. CHAR shift, and go to state 7
  3141. SHORT shift, and go to state 8
  3142. INT shift, and go to state 9
  3143. LONG shift, and go to state 10
  3144. SIGNED shift, and go to state 11
  3145. UNSIGNED shift, and go to state 12
  3146. FLOAT shift, and go to state 13
  3147. DOUBLE shift, and go to state 14
  3148. CONST shift, and go to state 15
  3149. VOLATILE shift, and go to state 16
  3150. VOID shift, and go to state 17
  3151. STRUCT shift, and go to state 18
  3152. UNION shift, and go to state 19
  3153. ENUM shift, and go to state 20
  3154. ID shift, and go to state 25
  3155. DEFS shift, and go to state 325
  3156. IN shift, and go to state 26
  3157. OUT shift, and go to state 27
  3158. INOUT shift, and go to state 28
  3159. BYCOPY shift, and go to state 29
  3160. BYREF shift, and go to state 30
  3161. ONEWAY shift, and go to state 31
  3162. BOOL shift, and go to state 32
  3163. type_specifier go to state 161
  3164. struct_or_union_specifier go to state 45
  3165. struct_or_union go to state 46
  3166. struct_declaration_list go to state 326
  3167. struct_declaration go to state 163
  3168. specifier_qualifier_list go to state 164
  3169. enum_specifier go to state 47
  3170. type_qualifier go to state 165
  3171. protocol_qualifier go to state 49
  3172. state 158
  3173. 284 struct_or_union_specifier: struct_or_union IDENTIFIER '{' . struct_declaration_list '}'
  3174. 286 | struct_or_union IDENTIFIER '{' . DEFS '(' IDENTIFIER ')' '}'
  3175. 290 | struct_or_union IDENTIFIER '{' . struct_declaration_list error
  3176. 293 | struct_or_union IDENTIFIER '{' . DEFS '(' IDENTIFIER ')' error
  3177. 294 | struct_or_union IDENTIFIER '{' . DEFS '(' IDENTIFIER error '}'
  3178. 295 | struct_or_union IDENTIFIER '{' . DEFS error IDENTIFIER ')' '}'
  3179. 296 | struct_or_union IDENTIFIER '{' . error '(' IDENTIFIER ')' '}'
  3180. 298 | struct_or_union IDENTIFIER '{' . DEFS '(' IDENTIFIER error error
  3181. 299 | struct_or_union IDENTIFIER '{' . DEFS error IDENTIFIER ')' error
  3182. 300 | struct_or_union IDENTIFIER '{' . error '(' IDENTIFIER ')' error
  3183. 302 | struct_or_union IDENTIFIER '{' . DEFS error IDENTIFIER error '}'
  3184. 303 | struct_or_union IDENTIFIER '{' . error '(' IDENTIFIER error '}'
  3185. 305 | struct_or_union IDENTIFIER '{' . error error IDENTIFIER ')' '}'
  3186. 308 | struct_or_union IDENTIFIER '{' . DEFS error IDENTIFIER error error
  3187. 309 | struct_or_union IDENTIFIER '{' . error '(' IDENTIFIER error error
  3188. 311 | struct_or_union IDENTIFIER '{' . error error IDENTIFIER ')' error
  3189. 314 | struct_or_union IDENTIFIER '{' . error error IDENTIFIER error '}'
  3190. 318 | struct_or_union IDENTIFIER '{' . error error IDENTIFIER error error
  3191. error shift, and go to state 327
  3192. CHAR shift, and go to state 7
  3193. SHORT shift, and go to state 8
  3194. INT shift, and go to state 9
  3195. LONG shift, and go to state 10
  3196. SIGNED shift, and go to state 11
  3197. UNSIGNED shift, and go to state 12
  3198. FLOAT shift, and go to state 13
  3199. DOUBLE shift, and go to state 14
  3200. CONST shift, and go to state 15
  3201. VOLATILE shift, and go to state 16
  3202. VOID shift, and go to state 17
  3203. STRUCT shift, and go to state 18
  3204. UNION shift, and go to state 19
  3205. ENUM shift, and go to state 20
  3206. ID shift, and go to state 25
  3207. DEFS shift, and go to state 328
  3208. IN shift, and go to state 26
  3209. OUT shift, and go to state 27
  3210. INOUT shift, and go to state 28
  3211. BYCOPY shift, and go to state 29
  3212. BYREF shift, and go to state 30
  3213. ONEWAY shift, and go to state 31
  3214. BOOL shift, and go to state 32
  3215. type_specifier go to state 161
  3216. struct_or_union_specifier go to state 45
  3217. struct_or_union go to state 46
  3218. struct_declaration_list go to state 329
  3219. struct_declaration go to state 163
  3220. specifier_qualifier_list go to state 164
  3221. enum_specifier go to state 47
  3222. type_qualifier go to state 165
  3223. protocol_qualifier go to state 49
  3224. state 159
  3225. 327 struct_or_union_specifier: struct_or_union '{' error . '(' IDENTIFIER ')' '}'
  3226. 331 | struct_or_union '{' error . '(' IDENTIFIER ')' error
  3227. 334 | struct_or_union '{' error . '(' IDENTIFIER error '}'
  3228. 336 | struct_or_union '{' error . error IDENTIFIER ')' '}'
  3229. 339 | struct_or_union '{' error . '(' IDENTIFIER error error
  3230. 341 | struct_or_union '{' error . error IDENTIFIER ')' error
  3231. 343 | struct_or_union '{' error . error IDENTIFIER error '}'
  3232. 346 | struct_or_union '{' error . error IDENTIFIER error error
  3233. error shift, and go to state 330
  3234. '(' shift, and go to state 331
  3235. state 160
  3236. 287 struct_or_union_specifier: struct_or_union '{' DEFS . '(' IDENTIFIER ')' '}'
  3237. 324 | struct_or_union '{' DEFS . '(' IDENTIFIER ')' error
  3238. 325 | struct_or_union '{' DEFS . '(' IDENTIFIER error '}'
  3239. 326 | struct_or_union '{' DEFS . error IDENTIFIER ')' '}'
  3240. 329 | struct_or_union '{' DEFS . '(' IDENTIFIER error error
  3241. 330 | struct_or_union '{' DEFS . error IDENTIFIER ')' error
  3242. 333 | struct_or_union '{' DEFS . error IDENTIFIER error '}'
  3243. 338 | struct_or_union '{' DEFS . error IDENTIFIER error error
  3244. error shift, and go to state 332
  3245. '(' shift, and go to state 333
  3246. state 161
  3247. 353 specifier_qualifier_list: type_specifier .
  3248. 355 | type_specifier . type_qualifier
  3249. CONST shift, and go to state 15
  3250. VOLATILE shift, and go to state 16
  3251. IN shift, and go to state 26
  3252. OUT shift, and go to state 27
  3253. INOUT shift, and go to state 28
  3254. BYCOPY shift, and go to state 29
  3255. BYREF shift, and go to state 30
  3256. ONEWAY shift, and go to state 31
  3257. $default reduce using rule 353 (specifier_qualifier_list)
  3258. type_qualifier go to state 334
  3259. protocol_qualifier go to state 49
  3260. state 162
  3261. 285 struct_or_union_specifier: struct_or_union '{' struct_declaration_list . '}'
  3262. 292 | struct_or_union '{' struct_declaration_list . error
  3263. 350 struct_declaration_list: struct_declaration_list . struct_declaration
  3264. error shift, and go to state 335
  3265. CHAR shift, and go to state 7
  3266. SHORT shift, and go to state 8
  3267. INT shift, and go to state 9
  3268. LONG shift, and go to state 10
  3269. SIGNED shift, and go to state 11
  3270. UNSIGNED shift, and go to state 12
  3271. FLOAT shift, and go to state 13
  3272. DOUBLE shift, and go to state 14
  3273. CONST shift, and go to state 15
  3274. VOLATILE shift, and go to state 16
  3275. VOID shift, and go to state 17
  3276. STRUCT shift, and go to state 18
  3277. UNION shift, and go to state 19
  3278. ENUM shift, and go to state 20
  3279. ID shift, and go to state 25
  3280. IN shift, and go to state 26
  3281. OUT shift, and go to state 27
  3282. INOUT shift, and go to state 28
  3283. BYCOPY shift, and go to state 29
  3284. BYREF shift, and go to state 30
  3285. ONEWAY shift, and go to state 31
  3286. BOOL shift, and go to state 32
  3287. '}' shift, and go to state 336
  3288. type_specifier go to state 161
  3289. struct_or_union_specifier go to state 45
  3290. struct_or_union go to state 46
  3291. struct_declaration go to state 337
  3292. specifier_qualifier_list go to state 164
  3293. enum_specifier go to state 47
  3294. type_qualifier go to state 165
  3295. protocol_qualifier go to state 49
  3296. state 163
  3297. 349 struct_declaration_list: struct_declaration .
  3298. $default reduce using rule 349 (struct_declaration_list)
  3299. state 164
  3300. 351 struct_declaration: specifier_qualifier_list . struct_declarator_list ';'
  3301. 352 | specifier_qualifier_list . struct_declarator_list error
  3302. IDENTIFIER shift, and go to state 1
  3303. ':' shift, and go to state 338
  3304. '(' shift, and go to state 33
  3305. '*' shift, and go to state 34
  3306. struct_declarator_list go to state 339
  3307. struct_declarator go to state 340
  3308. declarator go to state 341
  3309. direct_declarator go to state 51
  3310. pointer go to state 52
  3311. state 165
  3312. 354 specifier_qualifier_list: type_qualifier .
  3313. 356 | type_qualifier . type_specifier
  3314. CHAR shift, and go to state 7
  3315. SHORT shift, and go to state 8
  3316. INT shift, and go to state 9
  3317. LONG shift, and go to state 10
  3318. SIGNED shift, and go to state 11
  3319. UNSIGNED shift, and go to state 12
  3320. FLOAT shift, and go to state 13
  3321. DOUBLE shift, and go to state 14
  3322. VOID shift, and go to state 17
  3323. STRUCT shift, and go to state 18
  3324. UNION shift, and go to state 19
  3325. ENUM shift, and go to state 20
  3326. ID shift, and go to state 25
  3327. BOOL shift, and go to state 32
  3328. $default reduce using rule 354 (specifier_qualifier_list)
  3329. type_specifier go to state 342
  3330. struct_or_union_specifier go to state 45
  3331. struct_or_union go to state 46
  3332. enum_specifier go to state 47
  3333. state 166
  3334. 255 declaration_specifiers: type_qualifier storage_class_specifier type_specifier .
  3335. $default reduce using rule 255 (declaration_specifiers)
  3336. state 167
  3337. 254 declaration_specifiers: type_qualifier type_specifier storage_class_specifier .
  3338. $default reduce using rule 254 (declaration_specifiers)
  3339. state 168
  3340. 458 statement: error . ';'
  3341. ';' shift, and go to state 343
  3342. state 169
  3343. 152 method_instantation_statement: IDENTIFIER . '*' IDENTIFIER '=' expression ';'
  3344. 153 | IDENTIFIER . '*' IDENTIFIER error expression ';'
  3345. 154 | IDENTIFIER . '*' IDENTIFIER error expression error
  3346. 155 primary_expression: IDENTIFIER .
  3347. 461 labeled_statement: IDENTIFIER . ':' statement
  3348. ':' shift, and go to state 344
  3349. '*' shift, and go to state 345
  3350. '*' [reduce using rule 155 (primary_expression)]
  3351. $default reduce using rule 155 (primary_expression)
  3352. state 170
  3353. 158 primary_expression: STRING .
  3354. $default reduce using rule 158 (primary_expression)
  3355. state 171
  3356. 159 primary_expression: CHARACTER .
  3357. $default reduce using rule 159 (primary_expression)
  3358. state 172
  3359. 156 primary_expression: INTEGER .
  3360. $default reduce using rule 156 (primary_expression)
  3361. state 173
  3362. 157 primary_expression: DECIMAL .
  3363. $default reduce using rule 157 (primary_expression)
  3364. state 174
  3365. 185 unary_expression: SIZEOF . unary_expression
  3366. 186 | SIZEOF . '(' type_name ')'
  3367. 187 | SIZEOF . error type_name ')'
  3368. error shift, and go to state 346
  3369. IDENTIFIER shift, and go to state 252
  3370. STRING shift, and go to state 170
  3371. CHARACTER shift, and go to state 171
  3372. INTEGER shift, and go to state 172
  3373. DECIMAL shift, and go to state 173
  3374. SIZEOF shift, and go to state 174
  3375. INC_OP shift, and go to state 175
  3376. DEC_OP shift, and go to state 176
  3377. PROTOCOL shift, and go to state 190
  3378. SELECTOR shift, and go to state 191
  3379. ENCODE shift, and go to state 192
  3380. SELF shift, and go to state 193
  3381. '(' shift, and go to state 347
  3382. '*' shift, and go to state 197
  3383. '+' shift, and go to state 198
  3384. '-' shift, and go to state 199
  3385. '[' shift, and go to state 200
  3386. '&' shift, and go to state 201
  3387. '~' shift, and go to state 202
  3388. '!' shift, and go to state 203
  3389. message_expression go to state 204
  3390. selector_expression go to state 205
  3391. protocol_expression go to state 206
  3392. encode_expression go to state 207
  3393. primary_expression go to state 209
  3394. postfix_expression go to state 210
  3395. unary_expression go to state 348
  3396. unary_operator go to state 212
  3397. state 175
  3398. 182 unary_expression: INC_OP . unary_expression
  3399. IDENTIFIER shift, and go to state 252
  3400. STRING shift, and go to state 170
  3401. CHARACTER shift, and go to state 171
  3402. INTEGER shift, and go to state 172
  3403. DECIMAL shift, and go to state 173
  3404. SIZEOF shift, and go to state 174
  3405. INC_OP shift, and go to state 175
  3406. DEC_OP shift, and go to state 176
  3407. PROTOCOL shift, and go to state 190
  3408. SELECTOR shift, and go to state 191
  3409. ENCODE shift, and go to state 192
  3410. SELF shift, and go to state 193
  3411. '(' shift, and go to state 349
  3412. '*' shift, and go to state 197
  3413. '+' shift, and go to state 198
  3414. '-' shift, and go to state 199
  3415. '[' shift, and go to state 200
  3416. '&' shift, and go to state 201
  3417. '~' shift, and go to state 202
  3418. '!' shift, and go to state 203
  3419. message_expression go to state 204
  3420. selector_expression go to state 205
  3421. protocol_expression go to state 206
  3422. encode_expression go to state 207
  3423. primary_expression go to state 209
  3424. postfix_expression go to state 210
  3425. unary_expression go to state 350
  3426. unary_operator go to state 212
  3427. state 176
  3428. 183 unary_expression: DEC_OP . unary_expression
  3429. IDENTIFIER shift, and go to state 252
  3430. STRING shift, and go to state 170
  3431. CHARACTER shift, and go to state 171
  3432. INTEGER shift, and go to state 172
  3433. DECIMAL shift, and go to state 173
  3434. SIZEOF shift, and go to state 174
  3435. INC_OP shift, and go to state 175
  3436. DEC_OP shift, and go to state 176
  3437. PROTOCOL shift, and go to state 190
  3438. SELECTOR shift, and go to state 191
  3439. ENCODE shift, and go to state 192
  3440. SELF shift, and go to state 193
  3441. '(' shift, and go to state 349
  3442. '*' shift, and go to state 197
  3443. '+' shift, and go to state 198
  3444. '-' shift, and go to state 199
  3445. '[' shift, and go to state 200
  3446. '&' shift, and go to state 201
  3447. '~' shift, and go to state 202
  3448. '!' shift, and go to state 203
  3449. message_expression go to state 204
  3450. selector_expression go to state 205
  3451. protocol_expression go to state 206
  3452. encode_expression go to state 207
  3453. primary_expression go to state 209
  3454. postfix_expression go to state 210
  3455. unary_expression go to state 351
  3456. unary_operator go to state 212
  3457. state 177
  3458. 459 print_statement_int: PRINTI . '(' IDENTIFIER ')' ';'
  3459. '(' shift, and go to state 352
  3460. state 178
  3461. 460 print_statement_float: PRINTF . '(' IDENTIFIER ')' ';'
  3462. '(' shift, and go to state 353
  3463. state 179
  3464. 462 labeled_statement: CASE . constant_expression ':' statement
  3465. 464 | CASE . constant_expression error statement
  3466. IDENTIFIER shift, and go to state 252
  3467. STRING shift, and go to state 170
  3468. CHARACTER shift, and go to state 171
  3469. INTEGER shift, and go to state 172
  3470. DECIMAL shift, and go to state 173
  3471. SIZEOF shift, and go to state 174
  3472. INC_OP shift, and go to state 175
  3473. DEC_OP shift, and go to state 176
  3474. PROTOCOL shift, and go to state 190
  3475. SELECTOR shift, and go to state 191
  3476. ENCODE shift, and go to state 192
  3477. SELF shift, and go to state 193
  3478. '(' shift, and go to state 194
  3479. '*' shift, and go to state 197
  3480. '+' shift, and go to state 198
  3481. '-' shift, and go to state 199
  3482. '[' shift, and go to state 200
  3483. '&' shift, and go to state 201
  3484. '~' shift, and go to state 202
  3485. '!' shift, and go to state 203
  3486. message_expression go to state 204
  3487. selector_expression go to state 205
  3488. protocol_expression go to state 206
  3489. encode_expression go to state 207
  3490. primary_expression go to state 209
  3491. postfix_expression go to state 210
  3492. unary_expression go to state 254
  3493. unary_operator go to state 212
  3494. cast_expression go to state 213
  3495. multiplicative_expression go to state 214
  3496. additive_expression go to state 215
  3497. shift_expression go to state 216
  3498. relational_expression go to state 217
  3499. equality_expression go to state 218
  3500. and_expression go to state 219
  3501. exclusive_or_expression go to state 220
  3502. inclusive_or_expression go to state 221
  3503. logical_and_expression go to state 222
  3504. logical_or_expression go to state 223
  3505. conditional_expression go to state 255
  3506. constant_expression go to state 354
  3507. state 180
  3508. 463 labeled_statement: DEFAULT . ':' statement
  3509. 465 | DEFAULT . error statement
  3510. error shift, and go to state 355
  3511. ':' shift, and go to state 356
  3512. state 181
  3513. 480 selection_statement: IF . '(' expression ')' statement
  3514. 481 | IF . '(' expression ')' statement ELSE statement
  3515. 483 | IF . error expression ')' statement
  3516. 484 | IF . error expression error statement
  3517. 485 | IF . '(' expression error statement
  3518. 486 | IF . ')' expression error statement ELSE statement
  3519. error shift, and go to state 357
  3520. '(' shift, and go to state 358
  3521. ')' shift, and go to state 359
  3522. state 182
  3523. 482 selection_statement: SWITCH . '(' expression ')' statement
  3524. 487 | SWITCH . error expression ')' statement
  3525. 488 | SWITCH . error expression error statement
  3526. 489 | SWITCH . '(' expression error statement
  3527. error shift, and go to state 360
  3528. '(' shift, and go to state 361
  3529. state 183
  3530. 490 iteration_statement: WHILE . '(' expression ')' statement
  3531. 494 | WHILE . error expression ')' statement
  3532. 495 | WHILE . error expression error statement
  3533. 496 | WHILE . '(' expression error statement
  3534. error shift, and go to state 362
  3535. '(' shift, and go to state 363
  3536. state 184
  3537. 491 iteration_statement: DO . statement WHILE '(' expression ')' ';'
  3538. 497 | DO . statement WHILE error expression ')' ';'
  3539. 498 | DO . statement WHILE error expression error ';'
  3540. 499 | DO . statement WHILE '(' expression error ';'
  3541. 500 | DO . statement WHILE error expression ')' error
  3542. 501 | DO . statement WHILE '(' expression ')' error
  3543. 502 | DO . statement error '(' expression ')' ';'
  3544. 503 | DO . statement error '(' expression ')' error
  3545. error shift, and go to state 168
  3546. IDENTIFIER shift, and go to state 169
  3547. STRING shift, and go to state 170
  3548. CHARACTER shift, and go to state 171
  3549. INTEGER shift, and go to state 172
  3550. DECIMAL shift, and go to state 173
  3551. SIZEOF shift, and go to state 174
  3552. INC_OP shift, and go to state 175
  3553. DEC_OP shift, and go to state 176
  3554. PRINTI shift, and go to state 177
  3555. PRINTF shift, and go to state 178
  3556. CASE shift, and go to state 179
  3557. DEFAULT shift, and go to state 180
  3558. IF shift, and go to state 181
  3559. SWITCH shift, and go to state 182
  3560. WHILE shift, and go to state 183
  3561. DO shift, and go to state 184
  3562. FOR shift, and go to state 185
  3563. GOTO shift, and go to state 186
  3564. CONTINUE shift, and go to state 187
  3565. BREAK shift, and go to state 188
  3566. RETURN shift, and go to state 189
  3567. PROTOCOL shift, and go to state 190
  3568. SELECTOR shift, and go to state 191
  3569. ENCODE shift, and go to state 192
  3570. SELF shift, and go to state 193
  3571. '(' shift, and go to state 194
  3572. ';' shift, and go to state 195
  3573. '{' shift, and go to state 88
  3574. '*' shift, and go to state 197
  3575. '+' shift, and go to state 198
  3576. '-' shift, and go to state 199
  3577. '[' shift, and go to state 200
  3578. '&' shift, and go to state 201
  3579. '~' shift, and go to state 202
  3580. '!' shift, and go to state 203
  3581. message_expression go to state 204
  3582. selector_expression go to state 205
  3583. protocol_expression go to state 206
  3584. encode_expression go to state 207
  3585. method_instantation_statement go to state 208
  3586. primary_expression go to state 209
  3587. postfix_expression go to state 210
  3588. unary_expression go to state 211
  3589. unary_operator go to state 212
  3590. cast_expression go to state 213
  3591. multiplicative_expression go to state 214
  3592. additive_expression go to state 215
  3593. shift_expression go to state 216
  3594. relational_expression go to state 217
  3595. equality_expression go to state 218
  3596. and_expression go to state 219
  3597. exclusive_or_expression go to state 220
  3598. inclusive_or_expression go to state 221
  3599. logical_and_expression go to state 222
  3600. logical_or_expression go to state 223
  3601. conditional_expression go to state 224
  3602. assignment_expression go to state 225
  3603. expression go to state 226
  3604. statement go to state 364
  3605. print_statement_int go to state 228
  3606. print_statement_float go to state 229
  3607. labeled_statement go to state 230
  3608. compound_statement go to state 231
  3609. expression_statement go to state 236
  3610. selection_statement go to state 237
  3611. iteration_statement go to state 238
  3612. jump_statement go to state 239
  3613. jump_statement_intermediate go to state 240
  3614. state 185
  3615. 492 iteration_statement: FOR . '(' expression_statement expression_statement ')' statement
  3616. 493 | FOR . '(' expression_statement expression_statement expression ')' statement
  3617. 504 | FOR . error expression_statement expression_statement ')' statement
  3618. 505 | FOR . '(' expression_statement expression_statement error statement
  3619. 506 | FOR . error expression_statement expression_statement error statement
  3620. 507 | FOR . error expression_statement expression_statement expression ')' statement
  3621. 508 | FOR . '(' expression_statement expression_statement expression error statement
  3622. 509 | FOR . error expression_statement expression_statement expression error statement
  3623. error shift, and go to state 365
  3624. '(' shift, and go to state 366
  3625. state 186
  3626. 512 jump_statement_intermediate: GOTO . IDENTIFIER
  3627. IDENTIFIER shift, and go to state 367
  3628. state 187
  3629. 513 jump_statement_intermediate: CONTINUE .
  3630. $default reduce using rule 513 (jump_statement_intermediate)
  3631. state 188
  3632. 514 jump_statement_intermediate: BREAK .
  3633. $default reduce using rule 514 (jump_statement_intermediate)
  3634. state 189
  3635. 515 jump_statement_intermediate: RETURN .
  3636. 516 | RETURN . expression
  3637. IDENTIFIER shift, and go to state 252
  3638. STRING shift, and go to state 170
  3639. CHARACTER shift, and go to state 171
  3640. INTEGER shift, and go to state 172
  3641. DECIMAL shift, and go to state 173
  3642. SIZEOF shift, and go to state 174
  3643. INC_OP shift, and go to state 175
  3644. DEC_OP shift, and go to state 176
  3645. PROTOCOL shift, and go to state 190
  3646. SELECTOR shift, and go to state 191
  3647. ENCODE shift, and go to state 192
  3648. SELF shift, and go to state 193
  3649. '(' shift, and go to state 194
  3650. '*' shift, and go to state 197
  3651. '+' shift, and go to state 198
  3652. '-' shift, and go to state 199
  3653. '[' shift, and go to state 200
  3654. '&' shift, and go to state 201
  3655. '~' shift, and go to state 202
  3656. '!' shift, and go to state 203
  3657. $default reduce using rule 515 (jump_statement_intermediate)
  3658. message_expression go to state 204
  3659. selector_expression go to state 205
  3660. protocol_expression go to state 206
  3661. encode_expression go to state 207
  3662. primary_expression go to state 209
  3663. postfix_expression go to state 210
  3664. unary_expression go to state 211
  3665. unary_operator go to state 212
  3666. cast_expression go to state 213
  3667. multiplicative_expression go to state 214
  3668. additive_expression go to state 215
  3669. shift_expression go to state 216
  3670. relational_expression go to state 217
  3671. equality_expression go to state 218
  3672. and_expression go to state 219
  3673. exclusive_or_expression go to state 220
  3674. inclusive_or_expression go to state 221
  3675. logical_and_expression go to state 222
  3676. logical_or_expression go to state 223
  3677. conditional_expression go to state 224
  3678. assignment_expression go to state 225
  3679. expression go to state 368
  3680. state 190
  3681. 147 protocol_expression: PROTOCOL . '(' protocol_name ')'
  3682. 148 | PROTOCOL . '(' protocol_name error
  3683. 149 | PROTOCOL . error protocol_name ')'
  3684. error shift, and go to state 369
  3685. '(' shift, and go to state 370
  3686. state 191
  3687. 138 selector_expression: SELECTOR . '(' selector_name ')'
  3688. 139 | SELECTOR . '(' selector_name error
  3689. 140 | SELECTOR . error selector_name ')'
  3690. error shift, and go to state 371
  3691. '(' shift, and go to state 372
  3692. state 192
  3693. 150 encode_expression: ENCODE . '(' type_name ')'
  3694. 151 | ENCODE . error type_name ')'
  3695. error shift, and go to state 373
  3696. '(' shift, and go to state 374
  3697. state 193
  3698. 161 primary_expression: SELF .
  3699. $default reduce using rule 161 (primary_expression)
  3700. state 194
  3701. 160 primary_expression: '(' . expression ')'
  3702. 195 cast_expression: '(' . type_name ')' cast_expression
  3703. IDENTIFIER shift, and go to state 252
  3704. STRING shift, and go to state 170
  3705. CHARACTER shift, and go to state 171
  3706. INTEGER shift, and go to state 172
  3707. DECIMAL shift, and go to state 173
  3708. SIZEOF shift, and go to state 174
  3709. INC_OP shift, and go to state 175
  3710. DEC_OP shift, and go to state 176
  3711. CHAR shift, and go to state 7
  3712. SHORT shift, and go to state 8
  3713. INT shift, and go to state 9
  3714. LONG shift, and go to state 10
  3715. SIGNED shift, and go to state 11
  3716. UNSIGNED shift, and go to state 12
  3717. FLOAT shift, and go to state 13
  3718. DOUBLE shift, and go to state 14
  3719. CONST shift, and go to state 15
  3720. VOLATILE shift, and go to state 16
  3721. VOID shift, and go to state 17
  3722. STRUCT shift, and go to state 18
  3723. UNION shift, and go to state 19
  3724. ENUM shift, and go to state 20
  3725. PROTOCOL shift, and go to state 190
  3726. SELECTOR shift, and go to state 191
  3727. ENCODE shift, and go to state 192
  3728. SELF shift, and go to state 193
  3729. ID shift, and go to state 25
  3730. IN shift, and go to state 26
  3731. OUT shift, and go to state 27
  3732. INOUT shift, and go to state 28
  3733. BYCOPY shift, and go to state 29
  3734. BYREF shift, and go to state 30
  3735. ONEWAY shift, and go to state 31
  3736. BOOL shift, and go to state 32
  3737. '(' shift, and go to state 194
  3738. '*' shift, and go to state 197
  3739. '+' shift, and go to state 198
  3740. '-' shift, and go to state 199
  3741. '[' shift, and go to state 200
  3742. '&' shift, and go to state 201
  3743. '~' shift, and go to state 202
  3744. '!' shift, and go to state 203
  3745. message_expression go to state 204
  3746. selector_expression go to state 205
  3747. protocol_expression go to state 206
  3748. encode_expression go to state 207
  3749. primary_expression go to state 209
  3750. postfix_expression go to state 210
  3751. unary_expression go to state 211
  3752. unary_operator go to state 212
  3753. cast_expression go to state 213
  3754. multiplicative_expression go to state 214
  3755. additive_expression go to state 215
  3756. shift_expression go to state 216
  3757. relational_expression go to state 217
  3758. equality_expression go to state 218
  3759. and_expression go to state 219
  3760. exclusive_or_expression go to state 220
  3761. inclusive_or_expression go to state 221
  3762. logical_and_expression go to state 222
  3763. logical_or_expression go to state 223
  3764. conditional_expression go to state 224
  3765. assignment_expression go to state 225
  3766. expression go to state 375
  3767. type_specifier go to state 161
  3768. struct_or_union_specifier go to state 45
  3769. struct_or_union go to state 46
  3770. specifier_qualifier_list go to state 376
  3771. enum_specifier go to state 47
  3772. type_qualifier go to state 165
  3773. protocol_qualifier go to state 49
  3774. type_name go to state 377
  3775. state 195
  3776. 477 expression_statement: ';' .
  3777. $default reduce using rule 477 (expression_statement)
  3778. state 196
  3779. 466 compound_statement: '{' '}' .
  3780. $default reduce using rule 466 (compound_statement)
  3781. state 197
  3782. 189 unary_operator: '*' .
  3783. $default reduce using rule 189 (unary_operator)
  3784. state 198
  3785. 190 unary_operator: '+' .
  3786. $default reduce using rule 190 (unary_operator)
  3787. state 199
  3788. 191 unary_operator: '-' .
  3789. $default reduce using rule 191 (unary_operator)
  3790. state 200
  3791. 129 message_expression: '[' . receiver message_selector ']'
  3792. 130 | '[' . receiver message_selector error
  3793. IDENTIFIER shift, and go to state 252
  3794. STRING shift, and go to state 170
  3795. CHARACTER shift, and go to state 171
  3796. INTEGER shift, and go to state 172
  3797. DECIMAL shift, and go to state 173
  3798. SIZEOF shift, and go to state 174
  3799. INC_OP shift, and go to state 175
  3800. DEC_OP shift, and go to state 176
  3801. PROTOCOL shift, and go to state 190
  3802. SELECTOR shift, and go to state 191
  3803. ENCODE shift, and go to state 192
  3804. SUPER shift, and go to state 378
  3805. SELF shift, and go to state 193
  3806. '(' shift, and go to state 194
  3807. '*' shift, and go to state 197
  3808. '+' shift, and go to state 198
  3809. '-' shift, and go to state 199
  3810. '[' shift, and go to state 200
  3811. '&' shift, and go to state 201
  3812. '~' shift, and go to state 202
  3813. '!' shift, and go to state 203
  3814. message_expression go to state 204
  3815. receiver go to state 379
  3816. selector_expression go to state 205
  3817. protocol_expression go to state 206
  3818. encode_expression go to state 207
  3819. primary_expression go to state 209
  3820. postfix_expression go to state 210
  3821. unary_expression go to state 211
  3822. unary_operator go to state 212
  3823. cast_expression go to state 213
  3824. multiplicative_expression go to state 214
  3825. additive_expression go to state 215
  3826. shift_expression go to state 216
  3827. relational_expression go to state 217
  3828. equality_expression go to state 218
  3829. and_expression go to state 219
  3830. exclusive_or_expression go to state 220
  3831. inclusive_or_expression go to state 221
  3832. logical_and_expression go to state 222
  3833. logical_or_expression go to state 223
  3834. conditional_expression go to state 224
  3835. assignment_expression go to state 225
  3836. expression go to state 380
  3837. state 201
  3838. 188 unary_operator: '&' .
  3839. $default reduce using rule 188 (unary_operator)
  3840. state 202
  3841. 192 unary_operator: '~' .
  3842. $default reduce using rule 192 (unary_operator)
  3843. state 203
  3844. 193 unary_operator: '!' .
  3845. $default reduce using rule 193 (unary_operator)
  3846. state 204
  3847. 162 primary_expression: message_expression .
  3848. $default reduce using rule 162 (primary_expression)
  3849. state 205
  3850. 163 primary_expression: selector_expression .
  3851. $default reduce using rule 163 (primary_expression)
  3852. state 206
  3853. 164 primary_expression: protocol_expression .
  3854. $default reduce using rule 164 (primary_expression)
  3855. state 207
  3856. 165 primary_expression: encode_expression .
  3857. $default reduce using rule 165 (primary_expression)
  3858. state 208
  3859. 449 statement: method_instantation_statement .
  3860. $default reduce using rule 449 (statement)
  3861. state 209
  3862. 166 postfix_expression: primary_expression .
  3863. $default reduce using rule 166 (postfix_expression)
  3864. state 210
  3865. 167 postfix_expression: postfix_expression . '[' expression ']'
  3866. 168 | postfix_expression . '(' ')'
  3867. 169 | postfix_expression . '(' argument_expression_list ')'
  3868. 170 | postfix_expression . '.' IDENTIFIER
  3869. 171 | postfix_expression . PTR_OP IDENTIFIER
  3870. 172 | postfix_expression . INC_OP
  3871. 173 | postfix_expression . DEC_OP
  3872. 174 | postfix_expression . '[' expression error
  3873. 175 | postfix_expression . '(' error
  3874. 176 | postfix_expression . '(' argument_expression_list error
  3875. 177 | postfix_expression . '.' error
  3876. 178 | postfix_expression . PTR_OP error
  3877. 181 unary_expression: postfix_expression .
  3878. PTR_OP shift, and go to state 381
  3879. INC_OP shift, and go to state 382
  3880. DEC_OP shift, and go to state 383
  3881. '(' shift, and go to state 384
  3882. '[' shift, and go to state 385
  3883. '.' shift, and go to state 386
  3884. $default reduce using rule 181 (unary_expression)
  3885. state 211
  3886. 194 cast_expression: unary_expression .
  3887. 228 assignment_expression: unary_expression . assignment_operator assignment_expression
  3888. MUL_ASSIGN shift, and go to state 387
  3889. DIV_ASSIGN shift, and go to state 388
  3890. MOD_ASSIGN shift, and go to state 389
  3891. ADD_ASSIGN shift, and go to state 390
  3892. SUB_ASSIGN shift, and go to state 391
  3893. LEFT_ASSIGN shift, and go to state 392
  3894. RIGHT_ASSIGN shift, and go to state 393
  3895. AND_ASSIGN shift, and go to state 394
  3896. XOR_ASSIGN shift, and go to state 395
  3897. OR_ASSIGN shift, and go to state 396
  3898. '=' shift, and go to state 397
  3899. $default reduce using rule 194 (cast_expression)
  3900. assignment_operator go to state 398
  3901. state 212
  3902. 184 unary_expression: unary_operator . cast_expression
  3903. IDENTIFIER shift, and go to state 252
  3904. STRING shift, and go to state 170
  3905. CHARACTER shift, and go to state 171
  3906. INTEGER shift, and go to state 172
  3907. DECIMAL shift, and go to state 173
  3908. SIZEOF shift, and go to state 174
  3909. INC_OP shift, and go to state 175
  3910. DEC_OP shift, and go to state 176
  3911. PROTOCOL shift, and go to state 190
  3912. SELECTOR shift, and go to state 191
  3913. ENCODE shift, and go to state 192
  3914. SELF shift, and go to state 193
  3915. '(' shift, and go to state 194
  3916. '*' shift, and go to state 197
  3917. '+' shift, and go to state 198
  3918. '-' shift, and go to state 199
  3919. '[' shift, and go to state 200
  3920. '&' shift, and go to state 201
  3921. '~' shift, and go to state 202
  3922. '!' shift, and go to state 203
  3923. message_expression go to state 204
  3924. selector_expression go to state 205
  3925. protocol_expression go to state 206
  3926. encode_expression go to state 207
  3927. primary_expression go to state 209
  3928. postfix_expression go to state 210
  3929. unary_expression go to state 254
  3930. unary_operator go to state 212
  3931. cast_expression go to state 399
  3932. state 213
  3933. 196 multiplicative_expression: cast_expression .
  3934. $default reduce using rule 196 (multiplicative_expression)
  3935. state 214
  3936. 197 multiplicative_expression: multiplicative_expression . '*' cast_expression
  3937. 198 | multiplicative_expression . '/' cast_expression
  3938. 199 | multiplicative_expression . '%' cast_expression
  3939. 200 additive_expression: multiplicative_expression .
  3940. '*' shift, and go to state 400
  3941. '/' shift, and go to state 401
  3942. '%' shift, and go to state 402
  3943. $default reduce using rule 200 (additive_expression)
  3944. state 215
  3945. 201 additive_expression: additive_expression . '+' multiplicative_expression
  3946. 202 | additive_expression . '-' multiplicative_expression
  3947. 203 shift_expression: additive_expression .
  3948. '+' shift, and go to state 403
  3949. '-' shift, and go to state 404
  3950. $default reduce using rule 203 (shift_expression)
  3951. state 216
  3952. 204 shift_expression: shift_expression . LEFT_OP additive_expression
  3953. 205 | shift_expression . RIGHT_OP additive_expression
  3954. 206 relational_expression: shift_expression .
  3955. LEFT_OP shift, and go to state 405
  3956. RIGHT_OP shift, and go to state 406
  3957. $default reduce using rule 206 (relational_expression)
  3958. state 217
  3959. 207 relational_expression: relational_expression . '<' shift_expression
  3960. 208 | relational_expression . '>' shift_expression
  3961. 209 | relational_expression . LE_OP shift_expression
  3962. 210 | relational_expression . GE_OP shift_expression
  3963. 211 equality_expression: relational_expression .
  3964. LE_OP shift, and go to state 407
  3965. GE_OP shift, and go to state 408
  3966. '<' shift, and go to state 409
  3967. '>' shift, and go to state 410
  3968. $default reduce using rule 211 (equality_expression)
  3969. state 218
  3970. 212 equality_expression: equality_expression . EQ_OP relational_expression
  3971. 213 | equality_expression . NE_OP relational_expression
  3972. 214 and_expression: equality_expression .
  3973. EQ_OP shift, and go to state 411
  3974. NE_OP shift, and go to state 412
  3975. $default reduce using rule 214 (and_expression)
  3976. state 219
  3977. 215 and_expression: and_expression . '&' equality_expression
  3978. 216 exclusive_or_expression: and_expression .
  3979. '&' shift, and go to state 413
  3980. $default reduce using rule 216 (exclusive_or_expression)
  3981. state 220
  3982. 217 exclusive_or_expression: exclusive_or_expression . '^' and_expression
  3983. 218 inclusive_or_expression: exclusive_or_expression .
  3984. '^' shift, and go to state 414
  3985. $default reduce using rule 218 (inclusive_or_expression)
  3986. state 221
  3987. 219 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression
  3988. 220 logical_and_expression: inclusive_or_expression .
  3989. '|' shift, and go to state 415
  3990. $default reduce using rule 220 (logical_and_expression)
  3991. state 222
  3992. 221 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression
  3993. 222 logical_or_expression: logical_and_expression .
  3994. AND_OP shift, and go to state 416
  3995. $default reduce using rule 222 (logical_or_expression)
  3996. state 223
  3997. 223 logical_or_expression: logical_or_expression . OR_OP logical_and_expression
  3998. 224 conditional_expression: logical_or_expression .
  3999. 225 | logical_or_expression . '?' expression ':' conditional_expression
  4000. 226 | logical_or_expression . '?' expression error conditional_expression
  4001. OR_OP shift, and go to state 417
  4002. '?' shift, and go to state 418
  4003. $default reduce using rule 224 (conditional_expression)
  4004. state 224
  4005. 227 assignment_expression: conditional_expression .
  4006. $default reduce using rule 227 (assignment_expression)
  4007. state 225
  4008. 240 expression: assignment_expression .
  4009. $default reduce using rule 240 (expression)
  4010. state 226
  4011. 241 expression: expression . ',' assignment_expression
  4012. 478 expression_statement: expression . ';'
  4013. 479 | expression . error
  4014. error shift, and go to state 419
  4015. ';' shift, and go to state 420
  4016. ',' shift, and go to state 421
  4017. state 227
  4018. 471 statement_list: statement .
  4019. 472 | statement . statement_list
  4020. error shift, and go to state 168
  4021. IDENTIFIER shift, and go to state 169
  4022. STRING shift, and go to state 170
  4023. CHARACTER shift, and go to state 171
  4024. INTEGER shift, and go to state 172
  4025. DECIMAL shift, and go to state 173
  4026. SIZEOF shift, and go to state 174
  4027. INC_OP shift, and go to state 175
  4028. DEC_OP shift, and go to state 176
  4029. PRINTI shift, and go to state 177
  4030. PRINTF shift, and go to state 178
  4031. CASE shift, and go to state 179
  4032. DEFAULT shift, and go to state 180
  4033. IF shift, and go to state 181
  4034. SWITCH shift, and go to state 182
  4035. WHILE shift, and go to state 183
  4036. DO shift, and go to state 184
  4037. FOR shift, and go to state 185
  4038. GOTO shift, and go to state 186
  4039. CONTINUE shift, and go to state 187
  4040. BREAK shift, and go to state 188
  4041. RETURN shift, and go to state 189
  4042. PROTOCOL shift, and go to state 190
  4043. SELECTOR shift, and go to state 191
  4044. ENCODE shift, and go to state 192
  4045. SELF shift, and go to state 193
  4046. '(' shift, and go to state 194
  4047. ';' shift, and go to state 195
  4048. '{' shift, and go to state 88
  4049. '*' shift, and go to state 197
  4050. '+' shift, and go to state 198
  4051. '-' shift, and go to state 199
  4052. '[' shift, and go to state 200
  4053. '&' shift, and go to state 201
  4054. '~' shift, and go to state 202
  4055. '!' shift, and go to state 203
  4056. TYPEDEF reduce using rule 471 (statement_list)
  4057. EXTERN reduce using rule 471 (statement_list)
  4058. STATIC reduce using rule 471 (statement_list)
  4059. AUTO reduce using rule 471 (statement_list)
  4060. REGISTER reduce using rule 471 (statement_list)
  4061. CHAR reduce using rule 471 (statement_list)
  4062. SHORT reduce using rule 471 (statement_list)
  4063. INT reduce using rule 471 (statement_list)
  4064. LONG reduce using rule 471 (statement_list)
  4065. SIGNED reduce using rule 471 (statement_list)
  4066. UNSIGNED reduce using rule 471 (statement_list)
  4067. FLOAT reduce using rule 471 (statement_list)
  4068. DOUBLE reduce using rule 471 (statement_list)
  4069. CONST reduce using rule 471 (statement_list)
  4070. VOLATILE reduce using rule 471 (statement_list)
  4071. VOID reduce using rule 471 (statement_list)
  4072. STRUCT reduce using rule 471 (statement_list)
  4073. UNION reduce using rule 471 (statement_list)
  4074. ENUM reduce using rule 471 (statement_list)
  4075. ID reduce using rule 471 (statement_list)
  4076. IN reduce using rule 471 (statement_list)
  4077. OUT reduce using rule 471 (statement_list)
  4078. INOUT reduce using rule 471 (statement_list)
  4079. BYCOPY reduce using rule 471 (statement_list)
  4080. BYREF reduce using rule 471 (statement_list)
  4081. ONEWAY reduce using rule 471 (statement_list)
  4082. BOOL reduce using rule 471 (statement_list)
  4083. '}' reduce using rule 471 (statement_list)
  4084. message_expression go to state 204
  4085. selector_expression go to state 205
  4086. protocol_expression go to state 206
  4087. encode_expression go to state 207
  4088. method_instantation_statement go to state 208
  4089. primary_expression go to state 209
  4090. postfix_expression go to state 210
  4091. unary_expression go to state 211
  4092. unary_operator go to state 212
  4093. cast_expression go to state 213
  4094. multiplicative_expression go to state 214
  4095. additive_expression go to state 215
  4096. shift_expression go to state 216
  4097. relational_expression go to state 217
  4098. equality_expression go to state 218
  4099. and_expression go to state 219
  4100. exclusive_or_expression go to state 220
  4101. inclusive_or_expression go to state 221
  4102. logical_and_expression go to state 222
  4103. logical_or_expression go to state 223
  4104. conditional_expression go to state 224
  4105. assignment_expression go to state 225
  4106. expression go to state 226
  4107. statement go to state 227
  4108. print_statement_int go to state 228
  4109. print_statement_float go to state 229
  4110. labeled_statement go to state 230
  4111. compound_statement go to state 231
  4112. statement_list go to state 422
  4113. expression_statement go to state 236
  4114. selection_statement go to state 237
  4115. iteration_statement go to state 238
  4116. jump_statement go to state 239
  4117. jump_statement_intermediate go to state 240
  4118. state 228
  4119. 456 statement: print_statement_int .
  4120. $default reduce using rule 456 (statement)
  4121. state 229
  4122. 457 statement: print_statement_float .
  4123. $default reduce using rule 457 (statement)
  4124. state 230
  4125. 450 statement: labeled_statement .
  4126. $default reduce using rule 450 (statement)
  4127. state 231
  4128. 451 statement: compound_statement .
  4129. $default reduce using rule 451 (statement)
  4130. state 232
  4131. 473 compound_statement_list: declaration_list .
  4132. 474 | declaration_list . compound_declaration_list
  4133. error shift, and go to state 168
  4134. IDENTIFIER shift, and go to state 169
  4135. STRING shift, and go to state 170
  4136. CHARACTER shift, and go to state 171
  4137. INTEGER shift, and go to state 172
  4138. DECIMAL shift, and go to state 173
  4139. SIZEOF shift, and go to state 174
  4140. INC_OP shift, and go to state 175
  4141. DEC_OP shift, and go to state 176
  4142. PRINTI shift, and go to state 177
  4143. PRINTF shift, and go to state 178
  4144. CASE shift, and go to state 179
  4145. DEFAULT shift, and go to state 180
  4146. IF shift, and go to state 181
  4147. SWITCH shift, and go to state 182
  4148. WHILE shift, and go to state 183
  4149. DO shift, and go to state 184
  4150. FOR shift, and go to state 185
  4151. GOTO shift, and go to state 186
  4152. CONTINUE shift, and go to state 187
  4153. BREAK shift, and go to state 188
  4154. RETURN shift, and go to state 189
  4155. PROTOCOL shift, and go to state 190
  4156. SELECTOR shift, and go to state 191
  4157. ENCODE shift, and go to state 192
  4158. SELF shift, and go to state 193
  4159. '(' shift, and go to state 194
  4160. ';' shift, and go to state 195
  4161. '{' shift, and go to state 88
  4162. '*' shift, and go to state 197
  4163. '+' shift, and go to state 198
  4164. '-' shift, and go to state 199
  4165. '[' shift, and go to state 200
  4166. '&' shift, and go to state 201
  4167. '~' shift, and go to state 202
  4168. '!' shift, and go to state 203
  4169. '}' reduce using rule 473 (compound_statement_list)
  4170. message_expression go to state 204
  4171. selector_expression go to state 205
  4172. protocol_expression go to state 206
  4173. encode_expression go to state 207
  4174. method_instantation_statement go to state 208
  4175. primary_expression go to state 209
  4176. postfix_expression go to state 210
  4177. unary_expression go to state 211
  4178. unary_operator go to state 212
  4179. cast_expression go to state 213
  4180. multiplicative_expression go to state 214
  4181. additive_expression go to state 215
  4182. shift_expression go to state 216
  4183. relational_expression go to state 217
  4184. equality_expression go to state 218
  4185. and_expression go to state 219
  4186. exclusive_or_expression go to state 220
  4187. inclusive_or_expression go to state 221
  4188. logical_and_expression go to state 222
  4189. logical_or_expression go to state 223
  4190. conditional_expression go to state 224
  4191. assignment_expression go to state 225
  4192. expression go to state 226
  4193. statement go to state 227
  4194. print_statement_int go to state 228
  4195. print_statement_float go to state 229
  4196. labeled_statement go to state 230
  4197. compound_statement go to state 231
  4198. statement_list go to state 233
  4199. compound_declaration_list go to state 423
  4200. expression_statement go to state 236
  4201. selection_statement go to state 237
  4202. iteration_statement go to state 238
  4203. jump_statement go to state 239
  4204. jump_statement_intermediate go to state 240
  4205. state 233
  4206. 475 compound_declaration_list: statement_list .
  4207. 476 | statement_list . compound_statement_list
  4208. TYPEDEF shift, and go to state 2
  4209. EXTERN shift, and go to state 3
  4210. STATIC shift, and go to state 4
  4211. AUTO shift, and go to state 5
  4212. REGISTER shift, and go to state 6
  4213. CHAR shift, and go to state 7
  4214. SHORT shift, and go to state 8
  4215. INT shift, and go to state 9
  4216. LONG shift, and go to state 10
  4217. SIGNED shift, and go to state 11
  4218. UNSIGNED shift, and go to state 12
  4219. FLOAT shift, and go to state 13
  4220. DOUBLE shift, and go to state 14
  4221. CONST shift, and go to state 15
  4222. VOLATILE shift, and go to state 16
  4223. VOID shift, and go to state 17
  4224. STRUCT shift, and go to state 18
  4225. UNION shift, and go to state 19
  4226. ENUM shift, and go to state 20
  4227. ID shift, and go to state 25
  4228. IN shift, and go to state 26
  4229. OUT shift, and go to state 27
  4230. INOUT shift, and go to state 28
  4231. BYCOPY shift, and go to state 29
  4232. BYREF shift, and go to state 30
  4233. ONEWAY shift, and go to state 31
  4234. BOOL shift, and go to state 32
  4235. $default reduce using rule 475 (compound_declaration_list)
  4236. declaration go to state 89
  4237. declaration_specifiers go to state 90
  4238. storage_class_specifier go to state 43
  4239. type_specifier go to state 44
  4240. struct_or_union_specifier go to state 45
  4241. struct_or_union go to state 46
  4242. enum_specifier go to state 47
  4243. type_qualifier go to state 48
  4244. protocol_qualifier go to state 49
  4245. declaration_list go to state 232
  4246. compound_statement_list go to state 424
  4247. state 234
  4248. 467 compound_statement: '{' compound_statement_list . '}'
  4249. '}' shift, and go to state 425
  4250. state 235
  4251. 468 compound_statement: '{' compound_declaration_list . '}'
  4252. '}' shift, and go to state 426
  4253. state 236
  4254. 452 statement: expression_statement .
  4255. $default reduce using rule 452 (statement)
  4256. state 237
  4257. 453 statement: selection_statement .
  4258. $default reduce using rule 453 (statement)
  4259. state 238
  4260. 454 statement: iteration_statement .
  4261. $default reduce using rule 454 (statement)
  4262. state 239
  4263. 455 statement: jump_statement .
  4264. $default reduce using rule 455 (statement)
  4265. state 240
  4266. 510 jump_statement: jump_statement_intermediate . ';'
  4267. 511 | jump_statement_intermediate . error
  4268. error shift, and go to state 427
  4269. ';' shift, and go to state 428
  4270. state 241
  4271. 470 declaration_list: declaration declaration_list .
  4272. $default reduce using rule 470 (declaration_list)
  4273. state 242
  4274. 263 init_declarator: declarator .
  4275. 264 | declarator . '=' initializer
  4276. '=' shift, and go to state 149
  4277. $default reduce using rule 263 (init_declarator)
  4278. state 243
  4279. 527 function_definition: declarator declaration_list compound_statement .
  4280. $default reduce using rule 527 (function_definition)
  4281. state 244
  4282. 397 direct_declarator: direct_declarator '(' error .
  4283. $default reduce using rule 397 (direct_declarator)
  4284. state 245
  4285. 409 identifier_list: IDENTIFIER .
  4286. $default reduce using rule 409 (identifier_list)
  4287. state 246
  4288. 393 direct_declarator: direct_declarator '(' ')' .
  4289. $default reduce using rule 393 (direct_declarator)
  4290. state 247
  4291. 406 parameter_declaration: declaration_specifiers . declarator
  4292. 407 | declaration_specifiers . abstract_declarator
  4293. 408 | declaration_specifiers .
  4294. error shift, and go to state 429
  4295. IDENTIFIER shift, and go to state 1
  4296. '(' shift, and go to state 430
  4297. '*' shift, and go to state 34
  4298. '[' shift, and go to state 431
  4299. ')' reduce using rule 408 (parameter_declaration)
  4300. ',' reduce using rule 408 (parameter_declaration)
  4301. declarator go to state 432
  4302. direct_declarator go to state 51
  4303. pointer go to state 433
  4304. abstract_declarator go to state 434
  4305. direct_abstract_declarator go to state 435
  4306. state 248
  4307. 391 direct_declarator: direct_declarator '(' parameter_list . ')'
  4308. 405 parameter_list: parameter_list . ',' parameter_declaration
  4309. ')' shift, and go to state 436
  4310. ',' shift, and go to state 437
  4311. state 249
  4312. 404 parameter_list: parameter_declaration .
  4313. $default reduce using rule 404 (parameter_list)
  4314. state 250
  4315. 392 direct_declarator: direct_declarator '(' identifier_list . ')'
  4316. 396 | direct_declarator '(' identifier_list . error
  4317. 410 identifier_list: identifier_list . ',' IDENTIFIER
  4318. 411 | identifier_list . error IDENTIFIER
  4319. error shift, and go to state 438
  4320. ')' shift, and go to state 439
  4321. ',' shift, and go to state 440
  4322. state 251
  4323. 395 direct_declarator: direct_declarator '[' error .
  4324. $default reduce using rule 395 (direct_declarator)
  4325. state 252
  4326. 155 primary_expression: IDENTIFIER .
  4327. $default reduce using rule 155 (primary_expression)
  4328. state 253
  4329. 390 direct_declarator: direct_declarator '[' ']' .
  4330. $default reduce using rule 390 (direct_declarator)
  4331. state 254
  4332. 194 cast_expression: unary_expression .
  4333. $default reduce using rule 194 (cast_expression)
  4334. state 255
  4335. 242 constant_expression: conditional_expression .
  4336. $default reduce using rule 242 (constant_expression)
  4337. state 256
  4338. 389 direct_declarator: direct_declarator '[' constant_expression . ']'
  4339. 394 | direct_declarator '[' constant_expression . error
  4340. error shift, and go to state 441
  4341. ']' shift, and go to state 442
  4342. state 257
  4343. 369 enum_specifier: ENUM error '{' enumerator_list . '}'
  4344. 370 | ENUM error '{' enumerator_list . error
  4345. 372 enumerator_list: enumerator_list . ',' enumerator
  4346. error shift, and go to state 443
  4347. ',' shift, and go to state 261
  4348. '}' shift, and go to state 444
  4349. state 258
  4350. 364 enum_specifier: ENUM IDENTIFIER '{' enumerator_list . '}'
  4351. 368 | ENUM IDENTIFIER '{' enumerator_list . error
  4352. 372 enumerator_list: enumerator_list . ',' enumerator
  4353. error shift, and go to state 445
  4354. ',' shift, and go to state 261
  4355. '}' shift, and go to state 446
  4356. state 259
  4357. 374 enumerator: IDENTIFIER '=' . constant_expression
  4358. IDENTIFIER shift, and go to state 252
  4359. STRING shift, and go to state 170
  4360. CHARACTER shift, and go to state 171
  4361. INTEGER shift, and go to state 172
  4362. DECIMAL shift, and go to state 173
  4363. SIZEOF shift, and go to state 174
  4364. INC_OP shift, and go to state 175
  4365. DEC_OP shift, and go to state 176
  4366. PROTOCOL shift, and go to state 190
  4367. SELECTOR shift, and go to state 191
  4368. ENCODE shift, and go to state 192
  4369. SELF shift, and go to state 193
  4370. '(' shift, and go to state 194
  4371. '*' shift, and go to state 197
  4372. '+' shift, and go to state 198
  4373. '-' shift, and go to state 199
  4374. '[' shift, and go to state 200
  4375. '&' shift, and go to state 201
  4376. '~' shift, and go to state 202
  4377. '!' shift, and go to state 203
  4378. message_expression go to state 204
  4379. selector_expression go to state 205
  4380. protocol_expression go to state 206
  4381. encode_expression go to state 207
  4382. primary_expression go to state 209
  4383. postfix_expression go to state 210
  4384. unary_expression go to state 254
  4385. unary_operator go to state 212
  4386. cast_expression go to state 213
  4387. multiplicative_expression go to state 214
  4388. additive_expression go to state 215
  4389. shift_expression go to state 216
  4390. relational_expression go to state 217
  4391. equality_expression go to state 218
  4392. and_expression go to state 219
  4393. exclusive_or_expression go to state 220
  4394. inclusive_or_expression go to state 221
  4395. logical_and_expression go to state 222
  4396. logical_or_expression go to state 223
  4397. conditional_expression go to state 255
  4398. constant_expression go to state 447
  4399. state 260
  4400. 367 enum_specifier: ENUM '{' enumerator_list error .
  4401. $default reduce using rule 367 (enum_specifier)
  4402. state 261
  4403. 372 enumerator_list: enumerator_list ',' . enumerator
  4404. error shift, and go to state 100
  4405. IDENTIFIER shift, and go to state 101
  4406. enumerator go to state 448
  4407. state 262
  4408. 363 enum_specifier: ENUM '{' enumerator_list '}' .
  4409. $default reduce using rule 363 (enum_specifier)
  4410. state 263
  4411. 18 class_interface: INTERFACE error ':' IDENTIFIER . END
  4412. 19 | INTERFACE error ':' IDENTIFIER . protocol_reference_list END
  4413. 21 | INTERFACE error ':' IDENTIFIER . instance_variables END
  4414. END shift, and go to state 449
  4415. '<' shift, and go to state 69
  4416. '{' shift, and go to state 106
  4417. protocol_reference_list go to state 450
  4418. instance_variables go to state 451
  4419. state 264
  4420. 69 instance_variables: '{' error . struct_declaration_list instance_variables_list '}'
  4421. CHAR shift, and go to state 7
  4422. SHORT shift, and go to state 8
  4423. INT shift, and go to state 9
  4424. LONG shift, and go to state 10
  4425. SIGNED shift, and go to state 11
  4426. UNSIGNED shift, and go to state 12
  4427. FLOAT shift, and go to state 13
  4428. DOUBLE shift, and go to state 14
  4429. CONST shift, and go to state 15
  4430. VOLATILE shift, and go to state 16
  4431. VOID shift, and go to state 17
  4432. STRUCT shift, and go to state 18
  4433. UNION shift, and go to state 19
  4434. ENUM shift, and go to state 20
  4435. ID shift, and go to state 25
  4436. IN shift, and go to state 26
  4437. OUT shift, and go to state 27
  4438. INOUT shift, and go to state 28
  4439. BYCOPY shift, and go to state 29
  4440. BYREF shift, and go to state 30
  4441. ONEWAY shift, and go to state 31
  4442. BOOL shift, and go to state 32
  4443. type_specifier go to state 161
  4444. struct_or_union_specifier go to state 45
  4445. struct_or_union go to state 46
  4446. struct_declaration_list go to state 452
  4447. struct_declaration go to state 163
  4448. specifier_qualifier_list go to state 164
  4449. enum_specifier go to state 47
  4450. type_qualifier go to state 165
  4451. protocol_qualifier go to state 49
  4452. state 265
  4453. 82 objc_declaration_list: IDENTIFIER . '*' IDENTIFIER ';'
  4454. 83 | IDENTIFIER . '*' IDENTIFIER ';' objc_declaration_list
  4455. 84 | IDENTIFIER . error IDENTIFIER ';'
  4456. 85 | IDENTIFIER . error IDENTIFIER error
  4457. 86 | IDENTIFIER . '*' IDENTIFIER error
  4458. 87 | IDENTIFIER . error IDENTIFIER ';' objc_declaration_list
  4459. 88 | IDENTIFIER . error IDENTIFIER error objc_declaration_list
  4460. 89 | IDENTIFIER . '*' IDENTIFIER error objc_declaration_list
  4461. error shift, and go to state 453
  4462. '*' shift, and go to state 454
  4463. state 266
  4464. 75 visibility_specification: PRIVATE .
  4465. $default reduce using rule 75 (visibility_specification)
  4466. state 267
  4467. 77 visibility_specification: PUBLIC .
  4468. $default reduce using rule 77 (visibility_specification)
  4469. state 268
  4470. 76 visibility_specification: PROTECTED .
  4471. $default reduce using rule 76 (visibility_specification)
  4472. state 269
  4473. 66 instance_variables: '{' visibility_specification . struct_declaration_list '}'
  4474. 68 | '{' visibility_specification . struct_declaration_list instance_variables_list '}'
  4475. 70 | '{' visibility_specification . struct_declaration_list error
  4476. 72 | '{' visibility_specification . struct_declaration_list instance_variables_list error
  4477. CHAR shift, and go to state 7
  4478. SHORT shift, and go to state 8
  4479. INT shift, and go to state 9
  4480. LONG shift, and go to state 10
  4481. SIGNED shift, and go to state 11
  4482. UNSIGNED shift, and go to state 12
  4483. FLOAT shift, and go to state 13
  4484. DOUBLE shift, and go to state 14
  4485. CONST shift, and go to state 15
  4486. VOLATILE shift, and go to state 16
  4487. VOID shift, and go to state 17
  4488. STRUCT shift, and go to state 18
  4489. UNION shift, and go to state 19
  4490. ENUM shift, and go to state 20
  4491. ID shift, and go to state 25
  4492. IN shift, and go to state 26
  4493. OUT shift, and go to state 27
  4494. INOUT shift, and go to state 28
  4495. BYCOPY shift, and go to state 29
  4496. BYREF shift, and go to state 30
  4497. ONEWAY shift, and go to state 31
  4498. BOOL shift, and go to state 32
  4499. type_specifier go to state 161
  4500. struct_or_union_specifier go to state 45
  4501. struct_or_union go to state 46
  4502. struct_declaration_list go to state 455
  4503. struct_declaration go to state 163
  4504. specifier_qualifier_list go to state 164
  4505. enum_specifier go to state 47
  4506. type_qualifier go to state 165
  4507. protocol_qualifier go to state 49
  4508. state 270
  4509. 63 instance_variables: '{' objc_declaration_list . '}'
  4510. 64 | '{' objc_declaration_list . instance_variables_list '}'
  4511. PRIVATE shift, and go to state 266
  4512. PUBLIC shift, and go to state 267
  4513. PROTECTED shift, and go to state 268
  4514. '}' shift, and go to state 456
  4515. instance_variables_list go to state 457
  4516. visibility_specification go to state 458
  4517. state 271
  4518. 65 instance_variables: '{' struct_declaration_list . '}'
  4519. 67 | '{' struct_declaration_list . instance_variables_list '}'
  4520. 71 | '{' struct_declaration_list . instance_variables_list error
  4521. 350 struct_declaration_list: struct_declaration_list . struct_declaration
  4522. CHAR shift, and go to state 7
  4523. SHORT shift, and go to state 8
  4524. INT shift, and go to state 9
  4525. LONG shift, and go to state 10
  4526. SIGNED shift, and go to state 11
  4527. UNSIGNED shift, and go to state 12
  4528. FLOAT shift, and go to state 13
  4529. DOUBLE shift, and go to state 14
  4530. CONST shift, and go to state 15
  4531. VOLATILE shift, and go to state 16
  4532. VOID shift, and go to state 17
  4533. STRUCT shift, and go to state 18
  4534. UNION shift, and go to state 19
  4535. ENUM shift, and go to state 20
  4536. PRIVATE shift, and go to state 266
  4537. PUBLIC shift, and go to state 267
  4538. PROTECTED shift, and go to state 268
  4539. ID shift, and go to state 25
  4540. IN shift, and go to state 26
  4541. OUT shift, and go to state 27
  4542. INOUT shift, and go to state 28
  4543. BYCOPY shift, and go to state 29
  4544. BYREF shift, and go to state 30
  4545. ONEWAY shift, and go to state 31
  4546. BOOL shift, and go to state 32
  4547. '}' shift, and go to state 459
  4548. instance_variables_list go to state 460
  4549. visibility_specification go to state 458
  4550. type_specifier go to state 161
  4551. struct_or_union_specifier go to state 45
  4552. struct_or_union go to state 46
  4553. struct_declaration go to state 337
  4554. specifier_qualifier_list go to state 164
  4555. enum_specifier go to state 47
  4556. type_qualifier go to state 165
  4557. protocol_qualifier go to state 49
  4558. state 272
  4559. 20 class_interface: INTERFACE error instance_variables END .
  4560. $default reduce using rule 20 (class_interface)
  4561. state 273
  4562. 22 class_interface: INTERFACE IDENTIFIER error IDENTIFIER . instance_variables interface_declaration_list END
  4563. 38 category_interface: INTERFACE IDENTIFIER error IDENTIFIER . ')' END
  4564. 39 | INTERFACE IDENTIFIER error IDENTIFIER . ')' protocol_reference_list END
  4565. ')' shift, and go to state 461
  4566. '{' shift, and go to state 106
  4567. instance_variables go to state 462
  4568. state 274
  4569. 2 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER . END
  4570. 4 | INTERFACE IDENTIFIER ':' IDENTIFIER . protocol_reference_list END
  4571. 6 | INTERFACE IDENTIFIER ':' IDENTIFIER . instance_variables END
  4572. 8 | INTERFACE IDENTIFIER ':' IDENTIFIER . protocol_reference_list instance_variables END
  4573. 10 | INTERFACE IDENTIFIER ':' IDENTIFIER . interface_declaration_list END
  4574. 12 | INTERFACE IDENTIFIER ':' IDENTIFIER . protocol_reference_list interface_declaration_list END
  4575. 14 | INTERFACE IDENTIFIER ':' IDENTIFIER . instance_variables interface_declaration_list END
  4576. 16 | INTERFACE IDENTIFIER ':' IDENTIFIER . protocol_reference_list instance_variables interface_declaration_list END
  4577. TYPEDEF shift, and go to state 2
  4578. EXTERN shift, and go to state 3
  4579. STATIC shift, and go to state 4
  4580. AUTO shift, and go to state 5
  4581. REGISTER shift, and go to state 6
  4582. CHAR shift, and go to state 7
  4583. SHORT shift, and go to state 8
  4584. INT shift, and go to state 9
  4585. LONG shift, and go to state 10
  4586. SIGNED shift, and go to state 11
  4587. UNSIGNED shift, and go to state 12
  4588. FLOAT shift, and go to state 13
  4589. DOUBLE shift, and go to state 14
  4590. CONST shift, and go to state 15
  4591. VOLATILE shift, and go to state 16
  4592. VOID shift, and go to state 17
  4593. STRUCT shift, and go to state 18
  4594. UNION shift, and go to state 19
  4595. ENUM shift, and go to state 20
  4596. END shift, and go to state 463
  4597. ID shift, and go to state 25
  4598. IN shift, and go to state 26
  4599. OUT shift, and go to state 27
  4600. INOUT shift, and go to state 28
  4601. BYCOPY shift, and go to state 29
  4602. BYREF shift, and go to state 30
  4603. ONEWAY shift, and go to state 31
  4604. BOOL shift, and go to state 32
  4605. '<' shift, and go to state 69
  4606. '{' shift, and go to state 106
  4607. '+' shift, and go to state 112
  4608. '-' shift, and go to state 113
  4609. protocol_reference_list go to state 464
  4610. instance_variables go to state 465
  4611. interface_declaration_list go to state 466
  4612. method_declaration go to state 117
  4613. class_method_declaration go to state 118
  4614. instance_method_declaration go to state 119
  4615. declaration go to state 120
  4616. declaration_specifiers go to state 90
  4617. storage_class_specifier go to state 43
  4618. type_specifier go to state 44
  4619. struct_or_union_specifier go to state 45
  4620. struct_or_union go to state 46
  4621. enum_specifier go to state 47
  4622. type_qualifier go to state 48
  4623. protocol_qualifier go to state 49
  4624. state 275
  4625. 34 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER . ')' END
  4626. 35 | INTERFACE IDENTIFIER '(' IDENTIFIER . ')' protocol_reference_list END
  4627. 36 | INTERFACE IDENTIFIER '(' IDENTIFIER . ')' interface_declaration_list END
  4628. 37 | INTERFACE IDENTIFIER '(' IDENTIFIER . ')' protocol_reference_list interface_declaration_list END
  4629. 40 | INTERFACE IDENTIFIER '(' IDENTIFIER . error
  4630. 41 | INTERFACE IDENTIFIER '(' IDENTIFIER . ')' error
  4631. 42 | INTERFACE IDENTIFIER '(' IDENTIFIER . ')' protocol_reference_list interface_declaration_list error
  4632. error shift, and go to state 467
  4633. ')' shift, and go to state 468
  4634. state 276
  4635. 124 selector: IDENTIFIER .
  4636. $default reduce using rule 124 (selector)
  4637. state 277
  4638. 125 method_type: '(' . type_name ')'
  4639. 126 | '(' . IDENTIFIER '*' ')'
  4640. 127 | '(' . IDENTIFIER '*' error
  4641. 128 | '(' . IDENTIFIER error ')'
  4642. IDENTIFIER shift, and go to state 469
  4643. CHAR shift, and go to state 7
  4644. SHORT shift, and go to state 8
  4645. INT shift, and go to state 9
  4646. LONG shift, and go to state 10
  4647. SIGNED shift, and go to state 11
  4648. UNSIGNED shift, and go to state 12
  4649. FLOAT shift, and go to state 13
  4650. DOUBLE shift, and go to state 14
  4651. CONST shift, and go to state 15
  4652. VOLATILE shift, and go to state 16
  4653. VOID shift, and go to state 17
  4654. STRUCT shift, and go to state 18
  4655. UNION shift, and go to state 19
  4656. ENUM shift, and go to state 20
  4657. ID shift, and go to state 25
  4658. IN shift, and go to state 26
  4659. OUT shift, and go to state 27
  4660. INOUT shift, and go to state 28
  4661. BYCOPY shift, and go to state 29
  4662. BYREF shift, and go to state 30
  4663. ONEWAY shift, and go to state 31
  4664. BOOL shift, and go to state 32
  4665. type_specifier go to state 161
  4666. struct_or_union_specifier go to state 45
  4667. struct_or_union go to state 46
  4668. specifier_qualifier_list go to state 376
  4669. enum_specifier go to state 47
  4670. type_qualifier go to state 165
  4671. protocol_qualifier go to state 49
  4672. type_name go to state 470
  4673. state 278
  4674. 92 class_method_declaration: '+' method_selector . ';'
  4675. 95 | '+' method_selector . error
  4676. error shift, and go to state 471
  4677. ';' shift, and go to state 472
  4678. state 279
  4679. 116 method_selector: unary_selector .
  4680. $default reduce using rule 116 (method_selector)
  4681. state 280
  4682. 117 method_selector: keyword_selector .
  4683. 118 | keyword_selector . ',' ELLIPSIS
  4684. 121 keyword_selector: keyword_selector . keyword_declarator
  4685. IDENTIFIER shift, and go to state 276
  4686. ',' shift, and go to state 473
  4687. $default reduce using rule 117 (method_selector)
  4688. keyword_declarator go to state 474
  4689. selector go to state 475
  4690. state 281
  4691. 120 keyword_selector: keyword_declarator .
  4692. $default reduce using rule 120 (keyword_selector)
  4693. state 282
  4694. 119 unary_selector: selector .
  4695. 122 keyword_declarator: selector . ':' IDENTIFIER
  4696. 123 | selector . ':' method_type IDENTIFIER
  4697. ':' shift, and go to state 476
  4698. $default reduce using rule 119 (unary_selector)
  4699. state 283
  4700. 93 class_method_declaration: '+' method_type . method_selector ';'
  4701. 94 | '+' method_type . method_selector error
  4702. IDENTIFIER shift, and go to state 276
  4703. method_selector go to state 477
  4704. unary_selector go to state 279
  4705. keyword_selector go to state 280
  4706. keyword_declarator go to state 281
  4707. selector go to state 282
  4708. state 284
  4709. 96 instance_method_declaration: '-' method_selector . ';'
  4710. 99 | '-' method_selector . error
  4711. error shift, and go to state 478
  4712. ';' shift, and go to state 479
  4713. state 285
  4714. 97 instance_method_declaration: '-' method_type . method_selector ';'
  4715. 98 | '-' method_type . method_selector error
  4716. IDENTIFIER shift, and go to state 276
  4717. method_selector go to state 480
  4718. unary_selector go to state 279
  4719. keyword_selector go to state 280
  4720. keyword_declarator go to state 281
  4721. selector go to state 282
  4722. state 286
  4723. 3 class_interface: INTERFACE IDENTIFIER protocol_reference_list END .
  4724. $default reduce using rule 3 (class_interface)
  4725. state 287
  4726. 7 class_interface: INTERFACE IDENTIFIER protocol_reference_list instance_variables . END
  4727. 15 | INTERFACE IDENTIFIER protocol_reference_list instance_variables . interface_declaration_list END
  4728. TYPEDEF shift, and go to state 2
  4729. EXTERN shift, and go to state 3
  4730. STATIC shift, and go to state 4
  4731. AUTO shift, and go to state 5
  4732. REGISTER shift, and go to state 6
  4733. CHAR shift, and go to state 7
  4734. SHORT shift, and go to state 8
  4735. INT shift, and go to state 9
  4736. LONG shift, and go to state 10
  4737. SIGNED shift, and go to state 11
  4738. UNSIGNED shift, and go to state 12
  4739. FLOAT shift, and go to state 13
  4740. DOUBLE shift, and go to state 14
  4741. CONST shift, and go to state 15
  4742. VOLATILE shift, and go to state 16
  4743. VOID shift, and go to state 17
  4744. STRUCT shift, and go to state 18
  4745. UNION shift, and go to state 19
  4746. ENUM shift, and go to state 20
  4747. END shift, and go to state 481
  4748. ID shift, and go to state 25
  4749. IN shift, and go to state 26
  4750. OUT shift, and go to state 27
  4751. INOUT shift, and go to state 28
  4752. BYCOPY shift, and go to state 29
  4753. BYREF shift, and go to state 30
  4754. ONEWAY shift, and go to state 31
  4755. BOOL shift, and go to state 32
  4756. '+' shift, and go to state 112
  4757. '-' shift, and go to state 113
  4758. interface_declaration_list go to state 482
  4759. method_declaration go to state 117
  4760. class_method_declaration go to state 118
  4761. instance_method_declaration go to state 119
  4762. declaration go to state 120
  4763. declaration_specifiers go to state 90
  4764. storage_class_specifier go to state 43
  4765. type_specifier go to state 44
  4766. struct_or_union_specifier go to state 45
  4767. struct_or_union go to state 46
  4768. enum_specifier go to state 47
  4769. type_qualifier go to state 48
  4770. protocol_qualifier go to state 49
  4771. state 288
  4772. 11 class_interface: INTERFACE IDENTIFIER protocol_reference_list interface_declaration_list . END
  4773. 80 interface_declaration_list: interface_declaration_list . declaration
  4774. 81 | interface_declaration_list . method_declaration
  4775. TYPEDEF shift, and go to state 2
  4776. EXTERN shift, and go to state 3
  4777. STATIC shift, and go to state 4
  4778. AUTO shift, and go to state 5
  4779. REGISTER shift, and go to state 6
  4780. CHAR shift, and go to state 7
  4781. SHORT shift, and go to state 8
  4782. INT shift, and go to state 9
  4783. LONG shift, and go to state 10
  4784. SIGNED shift, and go to state 11
  4785. UNSIGNED shift, and go to state 12
  4786. FLOAT shift, and go to state 13
  4787. DOUBLE shift, and go to state 14
  4788. CONST shift, and go to state 15
  4789. VOLATILE shift, and go to state 16
  4790. VOID shift, and go to state 17
  4791. STRUCT shift, and go to state 18
  4792. UNION shift, and go to state 19
  4793. ENUM shift, and go to state 20
  4794. END shift, and go to state 483
  4795. ID shift, and go to state 25
  4796. IN shift, and go to state 26
  4797. OUT shift, and go to state 27
  4798. INOUT shift, and go to state 28
  4799. BYCOPY shift, and go to state 29
  4800. BYREF shift, and go to state 30
  4801. ONEWAY shift, and go to state 31
  4802. BOOL shift, and go to state 32
  4803. '+' shift, and go to state 112
  4804. '-' shift, and go to state 113
  4805. method_declaration go to state 292
  4806. class_method_declaration go to state 118
  4807. instance_method_declaration go to state 119
  4808. declaration go to state 293
  4809. declaration_specifiers go to state 90
  4810. storage_class_specifier go to state 43
  4811. type_specifier go to state 44
  4812. struct_or_union_specifier go to state 45
  4813. struct_or_union go to state 46
  4814. enum_specifier go to state 47
  4815. type_qualifier go to state 48
  4816. protocol_qualifier go to state 49
  4817. state 289
  4818. 5 class_interface: INTERFACE IDENTIFIER instance_variables END .
  4819. $default reduce using rule 5 (class_interface)
  4820. state 290
  4821. 13 class_interface: INTERFACE IDENTIFIER instance_variables interface_declaration_list . END
  4822. 80 interface_declaration_list: interface_declaration_list . declaration
  4823. 81 | interface_declaration_list . method_declaration
  4824. TYPEDEF shift, and go to state 2
  4825. EXTERN shift, and go to state 3
  4826. STATIC shift, and go to state 4
  4827. AUTO shift, and go to state 5
  4828. REGISTER shift, and go to state 6
  4829. CHAR shift, and go to state 7
  4830. SHORT shift, and go to state 8
  4831. INT shift, and go to state 9
  4832. LONG shift, and go to state 10
  4833. SIGNED shift, and go to state 11
  4834. UNSIGNED shift, and go to state 12
  4835. FLOAT shift, and go to state 13
  4836. DOUBLE shift, and go to state 14
  4837. CONST shift, and go to state 15
  4838. VOLATILE shift, and go to state 16
  4839. VOID shift, and go to state 17
  4840. STRUCT shift, and go to state 18
  4841. UNION shift, and go to state 19
  4842. ENUM shift, and go to state 20
  4843. END shift, and go to state 484
  4844. ID shift, and go to state 25
  4845. IN shift, and go to state 26
  4846. OUT shift, and go to state 27
  4847. INOUT shift, and go to state 28
  4848. BYCOPY shift, and go to state 29
  4849. BYREF shift, and go to state 30
  4850. ONEWAY shift, and go to state 31
  4851. BOOL shift, and go to state 32
  4852. '+' shift, and go to state 112
  4853. '-' shift, and go to state 113
  4854. method_declaration go to state 292
  4855. class_method_declaration go to state 118
  4856. instance_method_declaration go to state 119
  4857. declaration go to state 293
  4858. declaration_specifiers go to state 90
  4859. storage_class_specifier go to state 43
  4860. type_specifier go to state 44
  4861. struct_or_union_specifier go to state 45
  4862. struct_or_union go to state 46
  4863. enum_specifier go to state 47
  4864. type_qualifier go to state 48
  4865. protocol_qualifier go to state 49
  4866. state 291
  4867. 9 class_interface: INTERFACE IDENTIFIER interface_declaration_list END .
  4868. $default reduce using rule 9 (class_interface)
  4869. state 292
  4870. 81 interface_declaration_list: interface_declaration_list method_declaration .
  4871. $default reduce using rule 81 (interface_declaration_list)
  4872. state 293
  4873. 80 interface_declaration_list: interface_declaration_list declaration .
  4874. $default reduce using rule 80 (interface_declaration_list)
  4875. state 294
  4876. 33 class_implementation: IMPLEMENTATION IDENTIFIER ':' error .
  4877. $default reduce using rule 33 (class_implementation)
  4878. state 295
  4879. 24 class_implementation: IMPLEMENTATION IDENTIFIER ':' IDENTIFIER . END
  4880. 26 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER . instance_variables END
  4881. 28 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER . implementation_definition_list END
  4882. 30 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER . instance_variables implementation_definition_list END
  4883. IDENTIFIER shift, and go to state 1
  4884. TYPEDEF shift, and go to state 2
  4885. EXTERN shift, and go to state 3
  4886. STATIC shift, and go to state 4
  4887. AUTO shift, and go to state 5
  4888. REGISTER shift, and go to state 6
  4889. CHAR shift, and go to state 7
  4890. SHORT shift, and go to state 8
  4891. INT shift, and go to state 9
  4892. LONG shift, and go to state 10
  4893. SIGNED shift, and go to state 11
  4894. UNSIGNED shift, and go to state 12
  4895. FLOAT shift, and go to state 13
  4896. DOUBLE shift, and go to state 14
  4897. CONST shift, and go to state 15
  4898. VOLATILE shift, and go to state 16
  4899. VOID shift, and go to state 17
  4900. STRUCT shift, and go to state 18
  4901. UNION shift, and go to state 19
  4902. ENUM shift, and go to state 20
  4903. END shift, and go to state 485
  4904. ID shift, and go to state 25
  4905. IN shift, and go to state 26
  4906. OUT shift, and go to state 27
  4907. INOUT shift, and go to state 28
  4908. BYCOPY shift, and go to state 29
  4909. BYREF shift, and go to state 30
  4910. ONEWAY shift, and go to state 31
  4911. BOOL shift, and go to state 32
  4912. '(' shift, and go to state 33
  4913. '{' shift, and go to state 106
  4914. '*' shift, and go to state 34
  4915. '+' shift, and go to state 125
  4916. '-' shift, and go to state 126
  4917. instance_variables go to state 486
  4918. implementation_definition_list go to state 487
  4919. method_definition go to state 129
  4920. class_method_definition go to state 130
  4921. instance_method_definition go to state 131
  4922. declaration go to state 132
  4923. declaration_specifiers go to state 42
  4924. storage_class_specifier go to state 43
  4925. type_specifier go to state 44
  4926. struct_or_union_specifier go to state 45
  4927. struct_or_union go to state 46
  4928. enum_specifier go to state 47
  4929. type_qualifier go to state 48
  4930. protocol_qualifier go to state 49
  4931. declarator go to state 50
  4932. direct_declarator go to state 51
  4933. pointer go to state 52
  4934. function_definition go to state 133
  4935. state 296
  4936. 45 category_implementation: IMPLEMENTATION IDENTIFIER '(' error . ')' implementation_definition_list END
  4937. ')' shift, and go to state 488
  4938. state 297
  4939. 43 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER . ')' END
  4940. 44 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER . ')' implementation_definition_list END
  4941. 46 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER . error implementation_definition_list END
  4942. 47 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER . ')' error
  4943. 387 direct_declarator: IDENTIFIER .
  4944. error shift, and go to state 489
  4945. ')' shift, and go to state 490
  4946. '(' reduce using rule 387 (direct_declarator)
  4947. ')' [reduce using rule 387 (direct_declarator)]
  4948. '[' reduce using rule 387 (direct_declarator)
  4949. state 298
  4950. 108 class_method_definition: '+' method_selector . compound_statement
  4951. 110 | '+' method_selector . declaration_list compound_statement
  4952. TYPEDEF shift, and go to state 2
  4953. EXTERN shift, and go to state 3
  4954. STATIC shift, and go to state 4
  4955. AUTO shift, and go to state 5
  4956. REGISTER shift, and go to state 6
  4957. CHAR shift, and go to state 7
  4958. SHORT shift, and go to state 8
  4959. INT shift, and go to state 9
  4960. LONG shift, and go to state 10
  4961. SIGNED shift, and go to state 11
  4962. UNSIGNED shift, and go to state 12
  4963. FLOAT shift, and go to state 13
  4964. DOUBLE shift, and go to state 14
  4965. CONST shift, and go to state 15
  4966. VOLATILE shift, and go to state 16
  4967. VOID shift, and go to state 17
  4968. STRUCT shift, and go to state 18
  4969. UNION shift, and go to state 19
  4970. ENUM shift, and go to state 20
  4971. ID shift, and go to state 25
  4972. IN shift, and go to state 26
  4973. OUT shift, and go to state 27
  4974. INOUT shift, and go to state 28
  4975. BYCOPY shift, and go to state 29
  4976. BYREF shift, and go to state 30
  4977. ONEWAY shift, and go to state 31
  4978. BOOL shift, and go to state 32
  4979. '{' shift, and go to state 88
  4980. declaration go to state 89
  4981. declaration_specifiers go to state 90
  4982. storage_class_specifier go to state 43
  4983. type_specifier go to state 44
  4984. struct_or_union_specifier go to state 45
  4985. struct_or_union go to state 46
  4986. enum_specifier go to state 47
  4987. type_qualifier go to state 48
  4988. protocol_qualifier go to state 49
  4989. compound_statement go to state 491
  4990. declaration_list go to state 492
  4991. state 299
  4992. 109 class_method_definition: '+' method_type . method_selector compound_statement
  4993. 111 | '+' method_type . method_selector declaration_list compound_statement
  4994. IDENTIFIER shift, and go to state 276
  4995. method_selector go to state 493
  4996. unary_selector go to state 279
  4997. keyword_selector go to state 280
  4998. keyword_declarator go to state 281
  4999. selector go to state 282
  5000. state 300
  5001. 112 instance_method_definition: '-' method_selector . compound_statement
  5002. 114 | '-' method_selector . declaration_list compound_statement
  5003. TYPEDEF shift, and go to state 2
  5004. EXTERN shift, and go to state 3
  5005. STATIC shift, and go to state 4
  5006. AUTO shift, and go to state 5
  5007. REGISTER shift, and go to state 6
  5008. CHAR shift, and go to state 7
  5009. SHORT shift, and go to state 8
  5010. INT shift, and go to state 9
  5011. LONG shift, and go to state 10
  5012. SIGNED shift, and go to state 11
  5013. UNSIGNED shift, and go to state 12
  5014. FLOAT shift, and go to state 13
  5015. DOUBLE shift, and go to state 14
  5016. CONST shift, and go to state 15
  5017. VOLATILE shift, and go to state 16
  5018. VOID shift, and go to state 17
  5019. STRUCT shift, and go to state 18
  5020. UNION shift, and go to state 19
  5021. ENUM shift, and go to state 20
  5022. ID shift, and go to state 25
  5023. IN shift, and go to state 26
  5024. OUT shift, and go to state 27
  5025. INOUT shift, and go to state 28
  5026. BYCOPY shift, and go to state 29
  5027. BYREF shift, and go to state 30
  5028. ONEWAY shift, and go to state 31
  5029. BOOL shift, and go to state 32
  5030. '{' shift, and go to state 88
  5031. declaration go to state 89
  5032. declaration_specifiers go to state 90
  5033. storage_class_specifier go to state 43
  5034. type_specifier go to state 44
  5035. struct_or_union_specifier go to state 45
  5036. struct_or_union go to state 46
  5037. enum_specifier go to state 47
  5038. type_qualifier go to state 48
  5039. protocol_qualifier go to state 49
  5040. compound_statement go to state 494
  5041. declaration_list go to state 495
  5042. state 301
  5043. 113 instance_method_definition: '-' method_type . method_selector compound_statement
  5044. 115 | '-' method_type . method_selector declaration_list compound_statement
  5045. IDENTIFIER shift, and go to state 276
  5046. method_selector go to state 496
  5047. unary_selector go to state 279
  5048. keyword_selector go to state 280
  5049. keyword_declarator go to state 281
  5050. selector go to state 282
  5051. state 302
  5052. 25 class_implementation: IMPLEMENTATION IDENTIFIER instance_variables END .
  5053. $default reduce using rule 25 (class_implementation)
  5054. state 303
  5055. 29 class_implementation: IMPLEMENTATION IDENTIFIER instance_variables implementation_definition_list . END
  5056. 103 implementation_definition_list: implementation_definition_list . function_definition
  5057. 104 | implementation_definition_list . declaration
  5058. 105 | implementation_definition_list . method_definition
  5059. IDENTIFIER shift, and go to state 1
  5060. TYPEDEF shift, and go to state 2
  5061. EXTERN shift, and go to state 3
  5062. STATIC shift, and go to state 4
  5063. AUTO shift, and go to state 5
  5064. REGISTER shift, and go to state 6
  5065. CHAR shift, and go to state 7
  5066. SHORT shift, and go to state 8
  5067. INT shift, and go to state 9
  5068. LONG shift, and go to state 10
  5069. SIGNED shift, and go to state 11
  5070. UNSIGNED shift, and go to state 12
  5071. FLOAT shift, and go to state 13
  5072. DOUBLE shift, and go to state 14
  5073. CONST shift, and go to state 15
  5074. VOLATILE shift, and go to state 16
  5075. VOID shift, and go to state 17
  5076. STRUCT shift, and go to state 18
  5077. UNION shift, and go to state 19
  5078. ENUM shift, and go to state 20
  5079. END shift, and go to state 497
  5080. ID shift, and go to state 25
  5081. IN shift, and go to state 26
  5082. OUT shift, and go to state 27
  5083. INOUT shift, and go to state 28
  5084. BYCOPY shift, and go to state 29
  5085. BYREF shift, and go to state 30
  5086. ONEWAY shift, and go to state 31
  5087. BOOL shift, and go to state 32
  5088. '(' shift, and go to state 33
  5089. '*' shift, and go to state 34
  5090. '+' shift, and go to state 125
  5091. '-' shift, and go to state 126
  5092. method_definition go to state 305
  5093. class_method_definition go to state 130
  5094. instance_method_definition go to state 131
  5095. declaration go to state 306
  5096. declaration_specifiers go to state 42
  5097. storage_class_specifier go to state 43
  5098. type_specifier go to state 44
  5099. struct_or_union_specifier go to state 45
  5100. struct_or_union go to state 46
  5101. enum_specifier go to state 47
  5102. type_qualifier go to state 48
  5103. protocol_qualifier go to state 49
  5104. declarator go to state 50
  5105. direct_declarator go to state 51
  5106. pointer go to state 52
  5107. function_definition go to state 307
  5108. state 304
  5109. 27 class_implementation: IMPLEMENTATION IDENTIFIER implementation_definition_list END .
  5110. $default reduce using rule 27 (class_implementation)
  5111. state 305
  5112. 105 implementation_definition_list: implementation_definition_list method_definition .
  5113. $default reduce using rule 105 (implementation_definition_list)
  5114. state 306
  5115. 104 implementation_definition_list: implementation_definition_list declaration .
  5116. $default reduce using rule 104 (implementation_definition_list)
  5117. state 307
  5118. 103 implementation_definition_list: implementation_definition_list function_definition .
  5119. $default reduce using rule 103 (implementation_definition_list)
  5120. state 308
  5121. 52 protocol_declaration: PROTOCOL error protocol_reference_list interface_declaration_list . END
  5122. 80 interface_declaration_list: interface_declaration_list . declaration
  5123. 81 | interface_declaration_list . method_declaration
  5124. TYPEDEF shift, and go to state 2
  5125. EXTERN shift, and go to state 3
  5126. STATIC shift, and go to state 4
  5127. AUTO shift, and go to state 5
  5128. REGISTER shift, and go to state 6
  5129. CHAR shift, and go to state 7
  5130. SHORT shift, and go to state 8
  5131. INT shift, and go to state 9
  5132. LONG shift, and go to state 10
  5133. SIGNED shift, and go to state 11
  5134. UNSIGNED shift, and go to state 12
  5135. FLOAT shift, and go to state 13
  5136. DOUBLE shift, and go to state 14
  5137. CONST shift, and go to state 15
  5138. VOLATILE shift, and go to state 16
  5139. VOID shift, and go to state 17
  5140. STRUCT shift, and go to state 18
  5141. UNION shift, and go to state 19
  5142. ENUM shift, and go to state 20
  5143. END shift, and go to state 498
  5144. ID shift, and go to state 25
  5145. IN shift, and go to state 26
  5146. OUT shift, and go to state 27
  5147. INOUT shift, and go to state 28
  5148. BYCOPY shift, and go to state 29
  5149. BYREF shift, and go to state 30
  5150. ONEWAY shift, and go to state 31
  5151. BOOL shift, and go to state 32
  5152. '+' shift, and go to state 112
  5153. '-' shift, and go to state 113
  5154. method_declaration go to state 292
  5155. class_method_declaration go to state 118
  5156. instance_method_declaration go to state 119
  5157. declaration go to state 293
  5158. declaration_specifiers go to state 90
  5159. storage_class_specifier go to state 43
  5160. type_specifier go to state 44
  5161. struct_or_union_specifier go to state 45
  5162. struct_or_union go to state 46
  5163. enum_specifier go to state 47
  5164. type_qualifier go to state 48
  5165. protocol_qualifier go to state 49
  5166. state 309
  5167. 49 protocol_declaration: PROTOCOL protocol_name protocol_reference_list END .
  5168. $default reduce using rule 49 (protocol_declaration)
  5169. state 310
  5170. 51 protocol_declaration: PROTOCOL protocol_name protocol_reference_list interface_declaration_list . END
  5171. 80 interface_declaration_list: interface_declaration_list . declaration
  5172. 81 | interface_declaration_list . method_declaration
  5173. TYPEDEF shift, and go to state 2
  5174. EXTERN shift, and go to state 3
  5175. STATIC shift, and go to state 4
  5176. AUTO shift, and go to state 5
  5177. REGISTER shift, and go to state 6
  5178. CHAR shift, and go to state 7
  5179. SHORT shift, and go to state 8
  5180. INT shift, and go to state 9
  5181. LONG shift, and go to state 10
  5182. SIGNED shift, and go to state 11
  5183. UNSIGNED shift, and go to state 12
  5184. FLOAT shift, and go to state 13
  5185. DOUBLE shift, and go to state 14
  5186. CONST shift, and go to state 15
  5187. VOLATILE shift, and go to state 16
  5188. VOID shift, and go to state 17
  5189. STRUCT shift, and go to state 18
  5190. UNION shift, and go to state 19
  5191. ENUM shift, and go to state 20
  5192. END shift, and go to state 499
  5193. ID shift, and go to state 25
  5194. IN shift, and go to state 26
  5195. OUT shift, and go to state 27
  5196. INOUT shift, and go to state 28
  5197. BYCOPY shift, and go to state 29
  5198. BYREF shift, and go to state 30
  5199. ONEWAY shift, and go to state 31
  5200. BOOL shift, and go to state 32
  5201. '+' shift, and go to state 112
  5202. '-' shift, and go to state 113
  5203. method_declaration go to state 292
  5204. class_method_declaration go to state 118
  5205. instance_method_declaration go to state 119
  5206. declaration go to state 293
  5207. declaration_specifiers go to state 90
  5208. storage_class_specifier go to state 43
  5209. type_specifier go to state 44
  5210. struct_or_union_specifier go to state 45
  5211. struct_or_union go to state 46
  5212. enum_specifier go to state 47
  5213. type_qualifier go to state 48
  5214. protocol_qualifier go to state 49
  5215. state 311
  5216. 50 protocol_declaration: PROTOCOL protocol_name interface_declaration_list END .
  5217. $default reduce using rule 50 (protocol_declaration)
  5218. state 312
  5219. 56 class_list: class_list ',' IDENTIFIER .
  5220. $default reduce using rule 56 (class_list)
  5221. state 313
  5222. 59 protocol_reference_list: '<' protocol_list error .
  5223. $default reduce using rule 59 (protocol_reference_list)
  5224. state 314
  5225. 61 protocol_list: protocol_list ',' . protocol_name
  5226. IDENTIFIER shift, and go to state 65
  5227. protocol_name go to state 500
  5228. state 315
  5229. 58 protocol_reference_list: '<' protocol_list '>' .
  5230. $default reduce using rule 58 (protocol_reference_list)
  5231. state 316
  5232. 262 init_declarator_list: init_declarator_list error init_declarator .
  5233. $default reduce using rule 262 (init_declarator_list)
  5234. state 317
  5235. 261 init_declarator_list: init_declarator_list ',' init_declarator .
  5236. $default reduce using rule 261 (init_declarator_list)
  5237. state 318
  5238. 442 initializer: '{' . initializer_list '}'
  5239. 443 | '{' . initializer_list ',' '}'
  5240. 444 | '{' . initializer_list error
  5241. 445 | '{' . initializer_list ',' error
  5242. IDENTIFIER shift, and go to state 252
  5243. STRING shift, and go to state 170
  5244. CHARACTER shift, and go to state 171
  5245. INTEGER shift, and go to state 172
  5246. DECIMAL shift, and go to state 173
  5247. SIZEOF shift, and go to state 174
  5248. INC_OP shift, and go to state 175
  5249. DEC_OP shift, and go to state 176
  5250. PROTOCOL shift, and go to state 190
  5251. SELECTOR shift, and go to state 191
  5252. ENCODE shift, and go to state 192
  5253. SELF shift, and go to state 193
  5254. '(' shift, and go to state 194
  5255. '{' shift, and go to state 318
  5256. '*' shift, and go to state 197
  5257. '+' shift, and go to state 198
  5258. '-' shift, and go to state 199
  5259. '[' shift, and go to state 200
  5260. '&' shift, and go to state 201
  5261. '~' shift, and go to state 202
  5262. '!' shift, and go to state 203
  5263. message_expression go to state 204
  5264. selector_expression go to state 205
  5265. protocol_expression go to state 206
  5266. encode_expression go to state 207
  5267. primary_expression go to state 209
  5268. postfix_expression go to state 210
  5269. unary_expression go to state 211
  5270. unary_operator go to state 212
  5271. cast_expression go to state 213
  5272. multiplicative_expression go to state 214
  5273. additive_expression go to state 215
  5274. shift_expression go to state 216
  5275. relational_expression go to state 217
  5276. equality_expression go to state 218
  5277. and_expression go to state 219
  5278. exclusive_or_expression go to state 220
  5279. inclusive_or_expression go to state 221
  5280. logical_and_expression go to state 222
  5281. logical_or_expression go to state 223
  5282. conditional_expression go to state 224
  5283. assignment_expression go to state 319
  5284. initializer go to state 501
  5285. initializer_list go to state 502
  5286. state 319
  5287. 441 initializer: assignment_expression .
  5288. $default reduce using rule 441 (initializer)
  5289. state 320
  5290. 264 init_declarator: declarator '=' initializer .
  5291. $default reduce using rule 264 (init_declarator)
  5292. state 321
  5293. 525 function_definition: declaration_specifiers declarator declaration_list compound_statement .
  5294. $default reduce using rule 525 (function_definition)
  5295. state 322
  5296. 337 struct_or_union_specifier: struct_or_union error DEFS error . IDENTIFIER ')' '}'
  5297. 342 | struct_or_union error DEFS error . IDENTIFIER ')' error
  5298. 344 | struct_or_union error DEFS error . IDENTIFIER error '}'
  5299. 345 | struct_or_union error DEFS error . IDENTIFIER error error
  5300. IDENTIFIER shift, and go to state 503
  5301. state 323
  5302. 328 struct_or_union_specifier: struct_or_union error DEFS '(' . IDENTIFIER ')' '}'
  5303. 332 | struct_or_union error DEFS '(' . IDENTIFIER ')' error
  5304. 335 | struct_or_union error DEFS '(' . IDENTIFIER error '}'
  5305. 340 | struct_or_union error DEFS '(' . IDENTIFIER error error
  5306. IDENTIFIER shift, and go to state 504
  5307. state 324
  5308. 307 struct_or_union_specifier: struct_or_union error '{' error . '(' IDENTIFIER ')' '}'
  5309. 313 | struct_or_union error '{' error . '(' IDENTIFIER ')' error
  5310. 316 | struct_or_union error '{' error . '(' IDENTIFIER error '}'
  5311. 317 | struct_or_union error '{' error . error IDENTIFIER ')' '}'
  5312. 320 | struct_or_union error '{' error . '(' IDENTIFIER error error
  5313. 321 | struct_or_union error '{' error . error IDENTIFIER ')' error
  5314. 322 | struct_or_union error '{' error . error IDENTIFIER error '}'
  5315. 323 | struct_or_union error '{' error . error IDENTIFIER error error
  5316. error shift, and go to state 505
  5317. '(' shift, and go to state 506
  5318. state 325
  5319. 297 struct_or_union_specifier: struct_or_union error '{' DEFS . '(' IDENTIFIER ')' '}'
  5320. 301 | struct_or_union error '{' DEFS . '(' IDENTIFIER ')' error
  5321. 304 | struct_or_union error '{' DEFS . '(' IDENTIFIER error '}'
  5322. 306 | struct_or_union error '{' DEFS . error IDENTIFIER ')' '}'
  5323. 310 | struct_or_union error '{' DEFS . '(' IDENTIFIER error error
  5324. 312 | struct_or_union error '{' DEFS . error IDENTIFIER ')' error
  5325. 315 | struct_or_union error '{' DEFS . error IDENTIFIER error '}'
  5326. 319 | struct_or_union error '{' DEFS . error IDENTIFIER error error
  5327. error shift, and go to state 507
  5328. '(' shift, and go to state 508
  5329. state 326
  5330. 291 struct_or_union_specifier: struct_or_union error '{' struct_declaration_list . '}'
  5331. 350 struct_declaration_list: struct_declaration_list . struct_declaration
  5332. CHAR shift, and go to state 7
  5333. SHORT shift, and go to state 8
  5334. INT shift, and go to state 9
  5335. LONG shift, and go to state 10
  5336. SIGNED shift, and go to state 11
  5337. UNSIGNED shift, and go to state 12
  5338. FLOAT shift, and go to state 13
  5339. DOUBLE shift, and go to state 14
  5340. CONST shift, and go to state 15
  5341. VOLATILE shift, and go to state 16
  5342. VOID shift, and go to state 17
  5343. STRUCT shift, and go to state 18
  5344. UNION shift, and go to state 19
  5345. ENUM shift, and go to state 20
  5346. ID shift, and go to state 25
  5347. IN shift, and go to state 26
  5348. OUT shift, and go to state 27
  5349. INOUT shift, and go to state 28
  5350. BYCOPY shift, and go to state 29
  5351. BYREF shift, and go to state 30
  5352. ONEWAY shift, and go to state 31
  5353. BOOL shift, and go to state 32
  5354. '}' shift, and go to state 509
  5355. type_specifier go to state 161
  5356. struct_or_union_specifier go to state 45
  5357. struct_or_union go to state 46
  5358. struct_declaration go to state 337
  5359. specifier_qualifier_list go to state 164
  5360. enum_specifier go to state 47
  5361. type_qualifier go to state 165
  5362. protocol_qualifier go to state 49
  5363. state 327
  5364. 296 struct_or_union_specifier: struct_or_union IDENTIFIER '{' error . '(' IDENTIFIER ')' '}'
  5365. 300 | struct_or_union IDENTIFIER '{' error . '(' IDENTIFIER ')' error
  5366. 303 | struct_or_union IDENTIFIER '{' error . '(' IDENTIFIER error '}'
  5367. 305 | struct_or_union IDENTIFIER '{' error . error IDENTIFIER ')' '}'
  5368. 309 | struct_or_union IDENTIFIER '{' error . '(' IDENTIFIER error error
  5369. 311 | struct_or_union IDENTIFIER '{' error . error IDENTIFIER ')' error
  5370. 314 | struct_or_union IDENTIFIER '{' error . error IDENTIFIER error '}'
  5371. 318 | struct_or_union IDENTIFIER '{' error . error IDENTIFIER error error
  5372. error shift, and go to state 510
  5373. '(' shift, and go to state 511
  5374. state 328
  5375. 286 struct_or_union_specifier: struct_or_union IDENTIFIER '{' DEFS . '(' IDENTIFIER ')' '}'
  5376. 293 | struct_or_union IDENTIFIER '{' DEFS . '(' IDENTIFIER ')' error
  5377. 294 | struct_or_union IDENTIFIER '{' DEFS . '(' IDENTIFIER error '}'
  5378. 295 | struct_or_union IDENTIFIER '{' DEFS . error IDENTIFIER ')' '}'
  5379. 298 | struct_or_union IDENTIFIER '{' DEFS . '(' IDENTIFIER error error
  5380. 299 | struct_or_union IDENTIFIER '{' DEFS . error IDENTIFIER ')' error
  5381. 302 | struct_or_union IDENTIFIER '{' DEFS . error IDENTIFIER error '}'
  5382. 308 | struct_or_union IDENTIFIER '{' DEFS . error IDENTIFIER error error
  5383. error shift, and go to state 512
  5384. '(' shift, and go to state 513
  5385. state 329
  5386. 284 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list . '}'
  5387. 290 | struct_or_union IDENTIFIER '{' struct_declaration_list . error
  5388. 350 struct_declaration_list: struct_declaration_list . struct_declaration
  5389. error shift, and go to state 514
  5390. CHAR shift, and go to state 7
  5391. SHORT shift, and go to state 8
  5392. INT shift, and go to state 9
  5393. LONG shift, and go to state 10
  5394. SIGNED shift, and go to state 11
  5395. UNSIGNED shift, and go to state 12
  5396. FLOAT shift, and go to state 13
  5397. DOUBLE shift, and go to state 14
  5398. CONST shift, and go to state 15
  5399. VOLATILE shift, and go to state 16
  5400. VOID shift, and go to state 17
  5401. STRUCT shift, and go to state 18
  5402. UNION shift, and go to state 19
  5403. ENUM shift, and go to state 20
  5404. ID shift, and go to state 25
  5405. IN shift, and go to state 26
  5406. OUT shift, and go to state 27
  5407. INOUT shift, and go to state 28
  5408. BYCOPY shift, and go to state 29
  5409. BYREF shift, and go to state 30
  5410. ONEWAY shift, and go to state 31
  5411. BOOL shift, and go to state 32
  5412. '}' shift, and go to state 515
  5413. type_specifier go to state 161
  5414. struct_or_union_specifier go to state 45
  5415. struct_or_union go to state 46
  5416. struct_declaration go to state 337
  5417. specifier_qualifier_list go to state 164
  5418. enum_specifier go to state 47
  5419. type_qualifier go to state 165
  5420. protocol_qualifier go to state 49
  5421. state 330
  5422. 336 struct_or_union_specifier: struct_or_union '{' error error . IDENTIFIER ')' '}'
  5423. 341 | struct_or_union '{' error error . IDENTIFIER ')' error
  5424. 343 | struct_or_union '{' error error . IDENTIFIER error '}'
  5425. 346 | struct_or_union '{' error error . IDENTIFIER error error
  5426. IDENTIFIER shift, and go to state 516
  5427. state 331
  5428. 327 struct_or_union_specifier: struct_or_union '{' error '(' . IDENTIFIER ')' '}'
  5429. 331 | struct_or_union '{' error '(' . IDENTIFIER ')' error
  5430. 334 | struct_or_union '{' error '(' . IDENTIFIER error '}'
  5431. 339 | struct_or_union '{' error '(' . IDENTIFIER error error
  5432. IDENTIFIER shift, and go to state 517
  5433. state 332
  5434. 326 struct_or_union_specifier: struct_or_union '{' DEFS error . IDENTIFIER ')' '}'
  5435. 330 | struct_or_union '{' DEFS error . IDENTIFIER ')' error
  5436. 333 | struct_or_union '{' DEFS error . IDENTIFIER error '}'
  5437. 338 | struct_or_union '{' DEFS error . IDENTIFIER error error
  5438. IDENTIFIER shift, and go to state 518
  5439. state 333
  5440. 287 struct_or_union_specifier: struct_or_union '{' DEFS '(' . IDENTIFIER ')' '}'
  5441. 324 | struct_or_union '{' DEFS '(' . IDENTIFIER ')' error
  5442. 325 | struct_or_union '{' DEFS '(' . IDENTIFIER error '}'
  5443. 329 | struct_or_union '{' DEFS '(' . IDENTIFIER error error
  5444. IDENTIFIER shift, and go to state 519
  5445. state 334
  5446. 355 specifier_qualifier_list: type_specifier type_qualifier .
  5447. $default reduce using rule 355 (specifier_qualifier_list)
  5448. state 335
  5449. 292 struct_or_union_specifier: struct_or_union '{' struct_declaration_list error .
  5450. $default reduce using rule 292 (struct_or_union_specifier)
  5451. state 336
  5452. 285 struct_or_union_specifier: struct_or_union '{' struct_declaration_list '}' .
  5453. $default reduce using rule 285 (struct_or_union_specifier)
  5454. state 337
  5455. 350 struct_declaration_list: struct_declaration_list struct_declaration .
  5456. $default reduce using rule 350 (struct_declaration_list)
  5457. state 338
  5458. 361 struct_declarator: ':' . constant_expression
  5459. IDENTIFIER shift, and go to state 252
  5460. STRING shift, and go to state 170
  5461. CHARACTER shift, and go to state 171
  5462. INTEGER shift, and go to state 172
  5463. DECIMAL shift, and go to state 173
  5464. SIZEOF shift, and go to state 174
  5465. INC_OP shift, and go to state 175
  5466. DEC_OP shift, and go to state 176
  5467. PROTOCOL shift, and go to state 190
  5468. SELECTOR shift, and go to state 191
  5469. ENCODE shift, and go to state 192
  5470. SELF shift, and go to state 193
  5471. '(' shift, and go to state 194
  5472. '*' shift, and go to state 197
  5473. '+' shift, and go to state 198
  5474. '-' shift, and go to state 199
  5475. '[' shift, and go to state 200
  5476. '&' shift, and go to state 201
  5477. '~' shift, and go to state 202
  5478. '!' shift, and go to state 203
  5479. message_expression go to state 204
  5480. selector_expression go to state 205
  5481. protocol_expression go to state 206
  5482. encode_expression go to state 207
  5483. primary_expression go to state 209
  5484. postfix_expression go to state 210
  5485. unary_expression go to state 254
  5486. unary_operator go to state 212
  5487. cast_expression go to state 213
  5488. multiplicative_expression go to state 214
  5489. additive_expression go to state 215
  5490. shift_expression go to state 216
  5491. relational_expression go to state 217
  5492. equality_expression go to state 218
  5493. and_expression go to state 219
  5494. exclusive_or_expression go to state 220
  5495. inclusive_or_expression go to state 221
  5496. logical_and_expression go to state 222
  5497. logical_or_expression go to state 223
  5498. conditional_expression go to state 255
  5499. constant_expression go to state 520
  5500. state 339
  5501. 351 struct_declaration: specifier_qualifier_list struct_declarator_list . ';'
  5502. 352 | specifier_qualifier_list struct_declarator_list . error
  5503. 358 struct_declarator_list: struct_declarator_list . ',' struct_declarator
  5504. 359 | struct_declarator_list . error struct_declarator
  5505. error shift, and go to state 521
  5506. ';' shift, and go to state 522
  5507. ',' shift, and go to state 523
  5508. state 340
  5509. 357 struct_declarator_list: struct_declarator .
  5510. $default reduce using rule 357 (struct_declarator_list)
  5511. state 341
  5512. 360 struct_declarator: declarator .
  5513. 362 | declarator . ':' constant_expression
  5514. ':' shift, and go to state 524
  5515. $default reduce using rule 360 (struct_declarator)
  5516. state 342
  5517. 356 specifier_qualifier_list: type_qualifier type_specifier .
  5518. $default reduce using rule 356 (specifier_qualifier_list)
  5519. state 343
  5520. 458 statement: error ';' .
  5521. $default reduce using rule 458 (statement)
  5522. state 344
  5523. 461 labeled_statement: IDENTIFIER ':' . statement
  5524. error shift, and go to state 168
  5525. IDENTIFIER shift, and go to state 169
  5526. STRING shift, and go to state 170
  5527. CHARACTER shift, and go to state 171
  5528. INTEGER shift, and go to state 172
  5529. DECIMAL shift, and go to state 173
  5530. SIZEOF shift, and go to state 174
  5531. INC_OP shift, and go to state 175
  5532. DEC_OP shift, and go to state 176
  5533. PRINTI shift, and go to state 177
  5534. PRINTF shift, and go to state 178
  5535. CASE shift, and go to state 179
  5536. DEFAULT shift, and go to state 180
  5537. IF shift, and go to state 181
  5538. SWITCH shift, and go to state 182
  5539. WHILE shift, and go to state 183
  5540. DO shift, and go to state 184
  5541. FOR shift, and go to state 185
  5542. GOTO shift, and go to state 186
  5543. CONTINUE shift, and go to state 187
  5544. BREAK shift, and go to state 188
  5545. RETURN shift, and go to state 189
  5546. PROTOCOL shift, and go to state 190
  5547. SELECTOR shift, and go to state 191
  5548. ENCODE shift, and go to state 192
  5549. SELF shift, and go to state 193
  5550. '(' shift, and go to state 194
  5551. ';' shift, and go to state 195
  5552. '{' shift, and go to state 88
  5553. '*' shift, and go to state 197
  5554. '+' shift, and go to state 198
  5555. '-' shift, and go to state 199
  5556. '[' shift, and go to state 200
  5557. '&' shift, and go to state 201
  5558. '~' shift, and go to state 202
  5559. '!' shift, and go to state 203
  5560. message_expression go to state 204
  5561. selector_expression go to state 205
  5562. protocol_expression go to state 206
  5563. encode_expression go to state 207
  5564. method_instantation_statement go to state 208
  5565. primary_expression go to state 209
  5566. postfix_expression go to state 210
  5567. unary_expression go to state 211
  5568. unary_operator go to state 212
  5569. cast_expression go to state 213
  5570. multiplicative_expression go to state 214
  5571. additive_expression go to state 215
  5572. shift_expression go to state 216
  5573. relational_expression go to state 217
  5574. equality_expression go to state 218
  5575. and_expression go to state 219
  5576. exclusive_or_expression go to state 220
  5577. inclusive_or_expression go to state 221
  5578. logical_and_expression go to state 222
  5579. logical_or_expression go to state 223
  5580. conditional_expression go to state 224
  5581. assignment_expression go to state 225
  5582. expression go to state 226
  5583. statement go to state 525
  5584. print_statement_int go to state 228
  5585. print_statement_float go to state 229
  5586. labeled_statement go to state 230
  5587. compound_statement go to state 231
  5588. expression_statement go to state 236
  5589. selection_statement go to state 237
  5590. iteration_statement go to state 238
  5591. jump_statement go to state 239
  5592. jump_statement_intermediate go to state 240
  5593. state 345
  5594. 152 method_instantation_statement: IDENTIFIER '*' . IDENTIFIER '=' expression ';'
  5595. 153 | IDENTIFIER '*' . IDENTIFIER error expression ';'
  5596. 154 | IDENTIFIER '*' . IDENTIFIER error expression error
  5597. IDENTIFIER shift, and go to state 526
  5598. state 346
  5599. 187 unary_expression: SIZEOF error . type_name ')'
  5600. CHAR shift, and go to state 7
  5601. SHORT shift, and go to state 8
  5602. INT shift, and go to state 9
  5603. LONG shift, and go to state 10
  5604. SIGNED shift, and go to state 11
  5605. UNSIGNED shift, and go to state 12
  5606. FLOAT shift, and go to state 13
  5607. DOUBLE shift, and go to state 14
  5608. CONST shift, and go to state 15
  5609. VOLATILE shift, and go to state 16
  5610. VOID shift, and go to state 17
  5611. STRUCT shift, and go to state 18
  5612. UNION shift, and go to state 19
  5613. ENUM shift, and go to state 20
  5614. ID shift, and go to state 25
  5615. IN shift, and go to state 26
  5616. OUT shift, and go to state 27
  5617. INOUT shift, and go to state 28
  5618. BYCOPY shift, and go to state 29
  5619. BYREF shift, and go to state 30
  5620. ONEWAY shift, and go to state 31
  5621. BOOL shift, and go to state 32
  5622. type_specifier go to state 161
  5623. struct_or_union_specifier go to state 45
  5624. struct_or_union go to state 46
  5625. specifier_qualifier_list go to state 376
  5626. enum_specifier go to state 47
  5627. type_qualifier go to state 165
  5628. protocol_qualifier go to state 49
  5629. type_name go to state 527
  5630. state 347
  5631. 160 primary_expression: '(' . expression ')'
  5632. 186 unary_expression: SIZEOF '(' . type_name ')'
  5633. IDENTIFIER shift, and go to state 252
  5634. STRING shift, and go to state 170
  5635. CHARACTER shift, and go to state 171
  5636. INTEGER shift, and go to state 172
  5637. DECIMAL shift, and go to state 173
  5638. SIZEOF shift, and go to state 174
  5639. INC_OP shift, and go to state 175
  5640. DEC_OP shift, and go to state 176
  5641. CHAR shift, and go to state 7
  5642. SHORT shift, and go to state 8
  5643. INT shift, and go to state 9
  5644. LONG shift, and go to state 10
  5645. SIGNED shift, and go to state 11
  5646. UNSIGNED shift, and go to state 12
  5647. FLOAT shift, and go to state 13
  5648. DOUBLE shift, and go to state 14
  5649. CONST shift, and go to state 15
  5650. VOLATILE shift, and go to state 16
  5651. VOID shift, and go to state 17
  5652. STRUCT shift, and go to state 18
  5653. UNION shift, and go to state 19
  5654. ENUM shift, and go to state 20
  5655. PROTOCOL shift, and go to state 190
  5656. SELECTOR shift, and go to state 191
  5657. ENCODE shift, and go to state 192
  5658. SELF shift, and go to state 193
  5659. ID shift, and go to state 25
  5660. IN shift, and go to state 26
  5661. OUT shift, and go to state 27
  5662. INOUT shift, and go to state 28
  5663. BYCOPY shift, and go to state 29
  5664. BYREF shift, and go to state 30
  5665. ONEWAY shift, and go to state 31
  5666. BOOL shift, and go to state 32
  5667. '(' shift, and go to state 194
  5668. '*' shift, and go to state 197
  5669. '+' shift, and go to state 198
  5670. '-' shift, and go to state 199
  5671. '[' shift, and go to state 200
  5672. '&' shift, and go to state 201
  5673. '~' shift, and go to state 202
  5674. '!' shift, and go to state 203
  5675. message_expression go to state 204
  5676. selector_expression go to state 205
  5677. protocol_expression go to state 206
  5678. encode_expression go to state 207
  5679. primary_expression go to state 209
  5680. postfix_expression go to state 210
  5681. unary_expression go to state 211
  5682. unary_operator go to state 212
  5683. cast_expression go to state 213
  5684. multiplicative_expression go to state 214
  5685. additive_expression go to state 215
  5686. shift_expression go to state 216
  5687. relational_expression go to state 217
  5688. equality_expression go to state 218
  5689. and_expression go to state 219
  5690. exclusive_or_expression go to state 220
  5691. inclusive_or_expression go to state 221
  5692. logical_and_expression go to state 222
  5693. logical_or_expression go to state 223
  5694. conditional_expression go to state 224
  5695. assignment_expression go to state 225
  5696. expression go to state 375
  5697. type_specifier go to state 161
  5698. struct_or_union_specifier go to state 45
  5699. struct_or_union go to state 46
  5700. specifier_qualifier_list go to state 376
  5701. enum_specifier go to state 47
  5702. type_qualifier go to state 165
  5703. protocol_qualifier go to state 49
  5704. type_name go to state 528
  5705. state 348
  5706. 185 unary_expression: SIZEOF unary_expression .
  5707. $default reduce using rule 185 (unary_expression)
  5708. state 349
  5709. 160 primary_expression: '(' . expression ')'
  5710. IDENTIFIER shift, and go to state 252
  5711. STRING shift, and go to state 170
  5712. CHARACTER shift, and go to state 171
  5713. INTEGER shift, and go to state 172
  5714. DECIMAL shift, and go to state 173
  5715. SIZEOF shift, and go to state 174
  5716. INC_OP shift, and go to state 175
  5717. DEC_OP shift, and go to state 176
  5718. PROTOCOL shift, and go to state 190
  5719. SELECTOR shift, and go to state 191
  5720. ENCODE shift, and go to state 192
  5721. SELF shift, and go to state 193
  5722. '(' shift, and go to state 194
  5723. '*' shift, and go to state 197
  5724. '+' shift, and go to state 198
  5725. '-' shift, and go to state 199
  5726. '[' shift, and go to state 200
  5727. '&' shift, and go to state 201
  5728. '~' shift, and go to state 202
  5729. '!' shift, and go to state 203
  5730. message_expression go to state 204
  5731. selector_expression go to state 205
  5732. protocol_expression go to state 206
  5733. encode_expression go to state 207
  5734. primary_expression go to state 209
  5735. postfix_expression go to state 210
  5736. unary_expression go to state 211
  5737. unary_operator go to state 212
  5738. cast_expression go to state 213
  5739. multiplicative_expression go to state 214
  5740. additive_expression go to state 215
  5741. shift_expression go to state 216
  5742. relational_expression go to state 217
  5743. equality_expression go to state 218
  5744. and_expression go to state 219
  5745. exclusive_or_expression go to state 220
  5746. inclusive_or_expression go to state 221
  5747. logical_and_expression go to state 222
  5748. logical_or_expression go to state 223
  5749. conditional_expression go to state 224
  5750. assignment_expression go to state 225
  5751. expression go to state 375
  5752. state 350
  5753. 182 unary_expression: INC_OP unary_expression .
  5754. $default reduce using rule 182 (unary_expression)
  5755. state 351
  5756. 183 unary_expression: DEC_OP unary_expression .
  5757. $default reduce using rule 183 (unary_expression)
  5758. state 352
  5759. 459 print_statement_int: PRINTI '(' . IDENTIFIER ')' ';'
  5760. IDENTIFIER shift, and go to state 529
  5761. state 353
  5762. 460 print_statement_float: PRINTF '(' . IDENTIFIER ')' ';'
  5763. IDENTIFIER shift, and go to state 530
  5764. state 354
  5765. 462 labeled_statement: CASE constant_expression . ':' statement
  5766. 464 | CASE constant_expression . error statement
  5767. error shift, and go to state 531
  5768. ':' shift, and go to state 532
  5769. state 355
  5770. 465 labeled_statement: DEFAULT error . statement
  5771. error shift, and go to state 168
  5772. IDENTIFIER shift, and go to state 169
  5773. STRING shift, and go to state 170
  5774. CHARACTER shift, and go to state 171
  5775. INTEGER shift, and go to state 172
  5776. DECIMAL shift, and go to state 173
  5777. SIZEOF shift, and go to state 174
  5778. INC_OP shift, and go to state 175
  5779. DEC_OP shift, and go to state 176
  5780. PRINTI shift, and go to state 177
  5781. PRINTF shift, and go to state 178
  5782. CASE shift, and go to state 179
  5783. DEFAULT shift, and go to state 180
  5784. IF shift, and go to state 181
  5785. SWITCH shift, and go to state 182
  5786. WHILE shift, and go to state 183
  5787. DO shift, and go to state 184
  5788. FOR shift, and go to state 185
  5789. GOTO shift, and go to state 186
  5790. CONTINUE shift, and go to state 187
  5791. BREAK shift, and go to state 188
  5792. RETURN shift, and go to state 189
  5793. PROTOCOL shift, and go to state 190
  5794. SELECTOR shift, and go to state 191
  5795. ENCODE shift, and go to state 192
  5796. SELF shift, and go to state 193
  5797. '(' shift, and go to state 194
  5798. ';' shift, and go to state 195
  5799. '{' shift, and go to state 88
  5800. '*' shift, and go to state 197
  5801. '+' shift, and go to state 198
  5802. '-' shift, and go to state 199
  5803. '[' shift, and go to state 200
  5804. '&' shift, and go to state 201
  5805. '~' shift, and go to state 202
  5806. '!' shift, and go to state 203
  5807. message_expression go to state 204
  5808. selector_expression go to state 205
  5809. protocol_expression go to state 206
  5810. encode_expression go to state 207
  5811. method_instantation_statement go to state 208
  5812. primary_expression go to state 209
  5813. postfix_expression go to state 210
  5814. unary_expression go to state 211
  5815. unary_operator go to state 212
  5816. cast_expression go to state 213
  5817. multiplicative_expression go to state 214
  5818. additive_expression go to state 215
  5819. shift_expression go to state 216
  5820. relational_expression go to state 217
  5821. equality_expression go to state 218
  5822. and_expression go to state 219
  5823. exclusive_or_expression go to state 220
  5824. inclusive_or_expression go to state 221
  5825. logical_and_expression go to state 222
  5826. logical_or_expression go to state 223
  5827. conditional_expression go to state 224
  5828. assignment_expression go to state 225
  5829. expression go to state 226
  5830. statement go to state 533
  5831. print_statement_int go to state 228
  5832. print_statement_float go to state 229
  5833. labeled_statement go to state 230
  5834. compound_statement go to state 231
  5835. expression_statement go to state 236
  5836. selection_statement go to state 237
  5837. iteration_statement go to state 238
  5838. jump_statement go to state 239
  5839. jump_statement_intermediate go to state 240
  5840. state 356
  5841. 463 labeled_statement: DEFAULT ':' . statement
  5842. error shift, and go to state 168
  5843. IDENTIFIER shift, and go to state 169
  5844. STRING shift, and go to state 170
  5845. CHARACTER shift, and go to state 171
  5846. INTEGER shift, and go to state 172
  5847. DECIMAL shift, and go to state 173
  5848. SIZEOF shift, and go to state 174
  5849. INC_OP shift, and go to state 175
  5850. DEC_OP shift, and go to state 176
  5851. PRINTI shift, and go to state 177
  5852. PRINTF shift, and go to state 178
  5853. CASE shift, and go to state 179
  5854. DEFAULT shift, and go to state 180
  5855. IF shift, and go to state 181
  5856. SWITCH shift, and go to state 182
  5857. WHILE shift, and go to state 183
  5858. DO shift, and go to state 184
  5859. FOR shift, and go to state 185
  5860. GOTO shift, and go to state 186
  5861. CONTINUE shift, and go to state 187
  5862. BREAK shift, and go to state 188
  5863. RETURN shift, and go to state 189
  5864. PROTOCOL shift, and go to state 190
  5865. SELECTOR shift, and go to state 191
  5866. ENCODE shift, and go to state 192
  5867. SELF shift, and go to state 193
  5868. '(' shift, and go to state 194
  5869. ';' shift, and go to state 195
  5870. '{' shift, and go to state 88
  5871. '*' shift, and go to state 197
  5872. '+' shift, and go to state 198
  5873. '-' shift, and go to state 199
  5874. '[' shift, and go to state 200
  5875. '&' shift, and go to state 201
  5876. '~' shift, and go to state 202
  5877. '!' shift, and go to state 203
  5878. message_expression go to state 204
  5879. selector_expression go to state 205
  5880. protocol_expression go to state 206
  5881. encode_expression go to state 207
  5882. method_instantation_statement go to state 208
  5883. primary_expression go to state 209
  5884. postfix_expression go to state 210
  5885. unary_expression go to state 211
  5886. unary_operator go to state 212
  5887. cast_expression go to state 213
  5888. multiplicative_expression go to state 214
  5889. additive_expression go to state 215
  5890. shift_expression go to state 216
  5891. relational_expression go to state 217
  5892. equality_expression go to state 218
  5893. and_expression go to state 219
  5894. exclusive_or_expression go to state 220
  5895. inclusive_or_expression go to state 221
  5896. logical_and_expression go to state 222
  5897. logical_or_expression go to state 223
  5898. conditional_expression go to state 224
  5899. assignment_expression go to state 225
  5900. expression go to state 226
  5901. statement go to state 534
  5902. print_statement_int go to state 228
  5903. print_statement_float go to state 229
  5904. labeled_statement go to state 230
  5905. compound_statement go to state 231
  5906. expression_statement go to state 236
  5907. selection_statement go to state 237
  5908. iteration_statement go to state 238
  5909. jump_statement go to state 239
  5910. jump_statement_intermediate go to state 240
  5911. state 357
  5912. 483 selection_statement: IF error . expression ')' statement
  5913. 484 | IF error . expression error statement
  5914. IDENTIFIER shift, and go to state 252
  5915. STRING shift, and go to state 170
  5916. CHARACTER shift, and go to state 171
  5917. INTEGER shift, and go to state 172
  5918. DECIMAL shift, and go to state 173
  5919. SIZEOF shift, and go to state 174
  5920. INC_OP shift, and go to state 175
  5921. DEC_OP shift, and go to state 176
  5922. PROTOCOL shift, and go to state 190
  5923. SELECTOR shift, and go to state 191
  5924. ENCODE shift, and go to state 192
  5925. SELF shift, and go to state 193
  5926. '(' shift, and go to state 194
  5927. '*' shift, and go to state 197
  5928. '+' shift, and go to state 198
  5929. '-' shift, and go to state 199
  5930. '[' shift, and go to state 200
  5931. '&' shift, and go to state 201
  5932. '~' shift, and go to state 202
  5933. '!' shift, and go to state 203
  5934. message_expression go to state 204
  5935. selector_expression go to state 205
  5936. protocol_expression go to state 206
  5937. encode_expression go to state 207
  5938. primary_expression go to state 209
  5939. postfix_expression go to state 210
  5940. unary_expression go to state 211
  5941. unary_operator go to state 212
  5942. cast_expression go to state 213
  5943. multiplicative_expression go to state 214
  5944. additive_expression go to state 215
  5945. shift_expression go to state 216
  5946. relational_expression go to state 217
  5947. equality_expression go to state 218
  5948. and_expression go to state 219
  5949. exclusive_or_expression go to state 220
  5950. inclusive_or_expression go to state 221
  5951. logical_and_expression go to state 222
  5952. logical_or_expression go to state 223
  5953. conditional_expression go to state 224
  5954. assignment_expression go to state 225
  5955. expression go to state 535
  5956. state 358
  5957. 480 selection_statement: IF '(' . expression ')' statement
  5958. 481 | IF '(' . expression ')' statement ELSE statement
  5959. 485 | IF '(' . expression error statement
  5960. IDENTIFIER shift, and go to state 252
  5961. STRING shift, and go to state 170
  5962. CHARACTER shift, and go to state 171
  5963. INTEGER shift, and go to state 172
  5964. DECIMAL shift, and go to state 173
  5965. SIZEOF shift, and go to state 174
  5966. INC_OP shift, and go to state 175
  5967. DEC_OP shift, and go to state 176
  5968. PROTOCOL shift, and go to state 190
  5969. SELECTOR shift, and go to state 191
  5970. ENCODE shift, and go to state 192
  5971. SELF shift, and go to state 193
  5972. '(' shift, and go to state 194
  5973. '*' shift, and go to state 197
  5974. '+' shift, and go to state 198
  5975. '-' shift, and go to state 199
  5976. '[' shift, and go to state 200
  5977. '&' shift, and go to state 201
  5978. '~' shift, and go to state 202
  5979. '!' shift, and go to state 203
  5980. message_expression go to state 204
  5981. selector_expression go to state 205
  5982. protocol_expression go to state 206
  5983. encode_expression go to state 207
  5984. primary_expression go to state 209
  5985. postfix_expression go to state 210
  5986. unary_expression go to state 211
  5987. unary_operator go to state 212
  5988. cast_expression go to state 213
  5989. multiplicative_expression go to state 214
  5990. additive_expression go to state 215
  5991. shift_expression go to state 216
  5992. relational_expression go to state 217
  5993. equality_expression go to state 218
  5994. and_expression go to state 219
  5995. exclusive_or_expression go to state 220
  5996. inclusive_or_expression go to state 221
  5997. logical_and_expression go to state 222
  5998. logical_or_expression go to state 223
  5999. conditional_expression go to state 224
  6000. assignment_expression go to state 225
  6001. expression go to state 536
  6002. state 359
  6003. 486 selection_statement: IF ')' . expression error statement ELSE statement
  6004. IDENTIFIER shift, and go to state 252
  6005. STRING shift, and go to state 170
  6006. CHARACTER shift, and go to state 171
  6007. INTEGER shift, and go to state 172
  6008. DECIMAL shift, and go to state 173
  6009. SIZEOF shift, and go to state 174
  6010. INC_OP shift, and go to state 175
  6011. DEC_OP shift, and go to state 176
  6012. PROTOCOL shift, and go to state 190
  6013. SELECTOR shift, and go to state 191
  6014. ENCODE shift, and go to state 192
  6015. SELF shift, and go to state 193
  6016. '(' shift, and go to state 194
  6017. '*' shift, and go to state 197
  6018. '+' shift, and go to state 198
  6019. '-' shift, and go to state 199
  6020. '[' shift, and go to state 200
  6021. '&' shift, and go to state 201
  6022. '~' shift, and go to state 202
  6023. '!' shift, and go to state 203
  6024. message_expression go to state 204
  6025. selector_expression go to state 205
  6026. protocol_expression go to state 206
  6027. encode_expression go to state 207
  6028. primary_expression go to state 209
  6029. postfix_expression go to state 210
  6030. unary_expression go to state 211
  6031. unary_operator go to state 212
  6032. cast_expression go to state 213
  6033. multiplicative_expression go to state 214
  6034. additive_expression go to state 215
  6035. shift_expression go to state 216
  6036. relational_expression go to state 217
  6037. equality_expression go to state 218
  6038. and_expression go to state 219
  6039. exclusive_or_expression go to state 220
  6040. inclusive_or_expression go to state 221
  6041. logical_and_expression go to state 222
  6042. logical_or_expression go to state 223
  6043. conditional_expression go to state 224
  6044. assignment_expression go to state 225
  6045. expression go to state 537
  6046. state 360
  6047. 487 selection_statement: SWITCH error . expression ')' statement
  6048. 488 | SWITCH error . expression error statement
  6049. IDENTIFIER shift, and go to state 252
  6050. STRING shift, and go to state 170
  6051. CHARACTER shift, and go to state 171
  6052. INTEGER shift, and go to state 172
  6053. DECIMAL shift, and go to state 173
  6054. SIZEOF shift, and go to state 174
  6055. INC_OP shift, and go to state 175
  6056. DEC_OP shift, and go to state 176
  6057. PROTOCOL shift, and go to state 190
  6058. SELECTOR shift, and go to state 191
  6059. ENCODE shift, and go to state 192
  6060. SELF shift, and go to state 193
  6061. '(' shift, and go to state 194
  6062. '*' shift, and go to state 197
  6063. '+' shift, and go to state 198
  6064. '-' shift, and go to state 199
  6065. '[' shift, and go to state 200
  6066. '&' shift, and go to state 201
  6067. '~' shift, and go to state 202
  6068. '!' shift, and go to state 203
  6069. message_expression go to state 204
  6070. selector_expression go to state 205
  6071. protocol_expression go to state 206
  6072. encode_expression go to state 207
  6073. primary_expression go to state 209
  6074. postfix_expression go to state 210
  6075. unary_expression go to state 211
  6076. unary_operator go to state 212
  6077. cast_expression go to state 213
  6078. multiplicative_expression go to state 214
  6079. additive_expression go to state 215
  6080. shift_expression go to state 216
  6081. relational_expression go to state 217
  6082. equality_expression go to state 218
  6083. and_expression go to state 219
  6084. exclusive_or_expression go to state 220
  6085. inclusive_or_expression go to state 221
  6086. logical_and_expression go to state 222
  6087. logical_or_expression go to state 223
  6088. conditional_expression go to state 224
  6089. assignment_expression go to state 225
  6090. expression go to state 538
  6091. state 361
  6092. 482 selection_statement: SWITCH '(' . expression ')' statement
  6093. 489 | SWITCH '(' . expression error statement
  6094. IDENTIFIER shift, and go to state 252
  6095. STRING shift, and go to state 170
  6096. CHARACTER shift, and go to state 171
  6097. INTEGER shift, and go to state 172
  6098. DECIMAL shift, and go to state 173
  6099. SIZEOF shift, and go to state 174
  6100. INC_OP shift, and go to state 175
  6101. DEC_OP shift, and go to state 176
  6102. PROTOCOL shift, and go to state 190
  6103. SELECTOR shift, and go to state 191
  6104. ENCODE shift, and go to state 192
  6105. SELF shift, and go to state 193
  6106. '(' shift, and go to state 194
  6107. '*' shift, and go to state 197
  6108. '+' shift, and go to state 198
  6109. '-' shift, and go to state 199
  6110. '[' shift, and go to state 200
  6111. '&' shift, and go to state 201
  6112. '~' shift, and go to state 202
  6113. '!' shift, and go to state 203
  6114. message_expression go to state 204
  6115. selector_expression go to state 205
  6116. protocol_expression go to state 206
  6117. encode_expression go to state 207
  6118. primary_expression go to state 209
  6119. postfix_expression go to state 210
  6120. unary_expression go to state 211
  6121. unary_operator go to state 212
  6122. cast_expression go to state 213
  6123. multiplicative_expression go to state 214
  6124. additive_expression go to state 215
  6125. shift_expression go to state 216
  6126. relational_expression go to state 217
  6127. equality_expression go to state 218
  6128. and_expression go to state 219
  6129. exclusive_or_expression go to state 220
  6130. inclusive_or_expression go to state 221
  6131. logical_and_expression go to state 222
  6132. logical_or_expression go to state 223
  6133. conditional_expression go to state 224
  6134. assignment_expression go to state 225
  6135. expression go to state 539
  6136. state 362
  6137. 494 iteration_statement: WHILE error . expression ')' statement
  6138. 495 | WHILE error . expression error statement
  6139. IDENTIFIER shift, and go to state 252
  6140. STRING shift, and go to state 170
  6141. CHARACTER shift, and go to state 171
  6142. INTEGER shift, and go to state 172
  6143. DECIMAL shift, and go to state 173
  6144. SIZEOF shift, and go to state 174
  6145. INC_OP shift, and go to state 175
  6146. DEC_OP shift, and go to state 176
  6147. PROTOCOL shift, and go to state 190
  6148. SELECTOR shift, and go to state 191
  6149. ENCODE shift, and go to state 192
  6150. SELF shift, and go to state 193
  6151. '(' shift, and go to state 194
  6152. '*' shift, and go to state 197
  6153. '+' shift, and go to state 198
  6154. '-' shift, and go to state 199
  6155. '[' shift, and go to state 200
  6156. '&' shift, and go to state 201
  6157. '~' shift, and go to state 202
  6158. '!' shift, and go to state 203
  6159. message_expression go to state 204
  6160. selector_expression go to state 205
  6161. protocol_expression go to state 206
  6162. encode_expression go to state 207
  6163. primary_expression go to state 209
  6164. postfix_expression go to state 210
  6165. unary_expression go to state 211
  6166. unary_operator go to state 212
  6167. cast_expression go to state 213
  6168. multiplicative_expression go to state 214
  6169. additive_expression go to state 215
  6170. shift_expression go to state 216
  6171. relational_expression go to state 217
  6172. equality_expression go to state 218
  6173. and_expression go to state 219
  6174. exclusive_or_expression go to state 220
  6175. inclusive_or_expression go to state 221
  6176. logical_and_expression go to state 222
  6177. logical_or_expression go to state 223
  6178. conditional_expression go to state 224
  6179. assignment_expression go to state 225
  6180. expression go to state 540
  6181. state 363
  6182. 490 iteration_statement: WHILE '(' . expression ')' statement
  6183. 496 | WHILE '(' . expression error statement
  6184. IDENTIFIER shift, and go to state 252
  6185. STRING shift, and go to state 170
  6186. CHARACTER shift, and go to state 171
  6187. INTEGER shift, and go to state 172
  6188. DECIMAL shift, and go to state 173
  6189. SIZEOF shift, and go to state 174
  6190. INC_OP shift, and go to state 175
  6191. DEC_OP shift, and go to state 176
  6192. PROTOCOL shift, and go to state 190
  6193. SELECTOR shift, and go to state 191
  6194. ENCODE shift, and go to state 192
  6195. SELF shift, and go to state 193
  6196. '(' shift, and go to state 194
  6197. '*' shift, and go to state 197
  6198. '+' shift, and go to state 198
  6199. '-' shift, and go to state 199
  6200. '[' shift, and go to state 200
  6201. '&' shift, and go to state 201
  6202. '~' shift, and go to state 202
  6203. '!' shift, and go to state 203
  6204. message_expression go to state 204
  6205. selector_expression go to state 205
  6206. protocol_expression go to state 206
  6207. encode_expression go to state 207
  6208. primary_expression go to state 209
  6209. postfix_expression go to state 210
  6210. unary_expression go to state 211
  6211. unary_operator go to state 212
  6212. cast_expression go to state 213
  6213. multiplicative_expression go to state 214
  6214. additive_expression go to state 215
  6215. shift_expression go to state 216
  6216. relational_expression go to state 217
  6217. equality_expression go to state 218
  6218. and_expression go to state 219
  6219. exclusive_or_expression go to state 220
  6220. inclusive_or_expression go to state 221
  6221. logical_and_expression go to state 222
  6222. logical_or_expression go to state 223
  6223. conditional_expression go to state 224
  6224. assignment_expression go to state 225
  6225. expression go to state 541
  6226. state 364
  6227. 491 iteration_statement: DO statement . WHILE '(' expression ')' ';'
  6228. 497 | DO statement . WHILE error expression ')' ';'
  6229. 498 | DO statement . WHILE error expression error ';'
  6230. 499 | DO statement . WHILE '(' expression error ';'
  6231. 500 | DO statement . WHILE error expression ')' error
  6232. 501 | DO statement . WHILE '(' expression ')' error
  6233. 502 | DO statement . error '(' expression ')' ';'
  6234. 503 | DO statement . error '(' expression ')' error
  6235. error shift, and go to state 542
  6236. WHILE shift, and go to state 543
  6237. state 365
  6238. 504 iteration_statement: FOR error . expression_statement expression_statement ')' statement
  6239. 506 | FOR error . expression_statement expression_statement error statement
  6240. 507 | FOR error . expression_statement expression_statement expression ')' statement
  6241. 509 | FOR error . expression_statement expression_statement expression error statement
  6242. IDENTIFIER shift, and go to state 252
  6243. STRING shift, and go to state 170
  6244. CHARACTER shift, and go to state 171
  6245. INTEGER shift, and go to state 172
  6246. DECIMAL shift, and go to state 173
  6247. SIZEOF shift, and go to state 174
  6248. INC_OP shift, and go to state 175
  6249. DEC_OP shift, and go to state 176
  6250. PROTOCOL shift, and go to state 190
  6251. SELECTOR shift, and go to state 191
  6252. ENCODE shift, and go to state 192
  6253. SELF shift, and go to state 193
  6254. '(' shift, and go to state 194
  6255. ';' shift, and go to state 195
  6256. '*' shift, and go to state 197
  6257. '+' shift, and go to state 198
  6258. '-' shift, and go to state 199
  6259. '[' shift, and go to state 200
  6260. '&' shift, and go to state 201
  6261. '~' shift, and go to state 202
  6262. '!' shift, and go to state 203
  6263. message_expression go to state 204
  6264. selector_expression go to state 205
  6265. protocol_expression go to state 206
  6266. encode_expression go to state 207
  6267. primary_expression go to state 209
  6268. postfix_expression go to state 210
  6269. unary_expression go to state 211
  6270. unary_operator go to state 212
  6271. cast_expression go to state 213
  6272. multiplicative_expression go to state 214
  6273. additive_expression go to state 215
  6274. shift_expression go to state 216
  6275. relational_expression go to state 217
  6276. equality_expression go to state 218
  6277. and_expression go to state 219
  6278. exclusive_or_expression go to state 220
  6279. inclusive_or_expression go to state 221
  6280. logical_and_expression go to state 222
  6281. logical_or_expression go to state 223
  6282. conditional_expression go to state 224
  6283. assignment_expression go to state 225
  6284. expression go to state 226
  6285. expression_statement go to state 544
  6286. state 366
  6287. 492 iteration_statement: FOR '(' . expression_statement expression_statement ')' statement
  6288. 493 | FOR '(' . expression_statement expression_statement expression ')' statement
  6289. 505 | FOR '(' . expression_statement expression_statement error statement
  6290. 508 | FOR '(' . expression_statement expression_statement expression error statement
  6291. IDENTIFIER shift, and go to state 252
  6292. STRING shift, and go to state 170
  6293. CHARACTER shift, and go to state 171
  6294. INTEGER shift, and go to state 172
  6295. DECIMAL shift, and go to state 173
  6296. SIZEOF shift, and go to state 174
  6297. INC_OP shift, and go to state 175
  6298. DEC_OP shift, and go to state 176
  6299. PROTOCOL shift, and go to state 190
  6300. SELECTOR shift, and go to state 191
  6301. ENCODE shift, and go to state 192
  6302. SELF shift, and go to state 193
  6303. '(' shift, and go to state 194
  6304. ';' shift, and go to state 195
  6305. '*' shift, and go to state 197
  6306. '+' shift, and go to state 198
  6307. '-' shift, and go to state 199
  6308. '[' shift, and go to state 200
  6309. '&' shift, and go to state 201
  6310. '~' shift, and go to state 202
  6311. '!' shift, and go to state 203
  6312. message_expression go to state 204
  6313. selector_expression go to state 205
  6314. protocol_expression go to state 206
  6315. encode_expression go to state 207
  6316. primary_expression go to state 209
  6317. postfix_expression go to state 210
  6318. unary_expression go to state 211
  6319. unary_operator go to state 212
  6320. cast_expression go to state 213
  6321. multiplicative_expression go to state 214
  6322. additive_expression go to state 215
  6323. shift_expression go to state 216
  6324. relational_expression go to state 217
  6325. equality_expression go to state 218
  6326. and_expression go to state 219
  6327. exclusive_or_expression go to state 220
  6328. inclusive_or_expression go to state 221
  6329. logical_and_expression go to state 222
  6330. logical_or_expression go to state 223
  6331. conditional_expression go to state 224
  6332. assignment_expression go to state 225
  6333. expression go to state 226
  6334. expression_statement go to state 545
  6335. state 367
  6336. 512 jump_statement_intermediate: GOTO IDENTIFIER .
  6337. $default reduce using rule 512 (jump_statement_intermediate)
  6338. state 368
  6339. 241 expression: expression . ',' assignment_expression
  6340. 516 jump_statement_intermediate: RETURN expression .
  6341. ',' shift, and go to state 421
  6342. $default reduce using rule 516 (jump_statement_intermediate)
  6343. state 369
  6344. 149 protocol_expression: PROTOCOL error . protocol_name ')'
  6345. IDENTIFIER shift, and go to state 65
  6346. protocol_name go to state 546
  6347. state 370
  6348. 147 protocol_expression: PROTOCOL '(' . protocol_name ')'
  6349. 148 | PROTOCOL '(' . protocol_name error
  6350. IDENTIFIER shift, and go to state 65
  6351. protocol_name go to state 547
  6352. state 371
  6353. 140 selector_expression: SELECTOR error . selector_name ')'
  6354. IDENTIFIER shift, and go to state 276
  6355. ':' shift, and go to state 548
  6356. selector go to state 549
  6357. selector_name go to state 550
  6358. keyword_name_list go to state 551
  6359. keyword_name go to state 552
  6360. state 372
  6361. 138 selector_expression: SELECTOR '(' . selector_name ')'
  6362. 139 | SELECTOR '(' . selector_name error
  6363. IDENTIFIER shift, and go to state 276
  6364. ':' shift, and go to state 548
  6365. selector go to state 549
  6366. selector_name go to state 553
  6367. keyword_name_list go to state 551
  6368. keyword_name go to state 552
  6369. state 373
  6370. 151 encode_expression: ENCODE error . type_name ')'
  6371. CHAR shift, and go to state 7
  6372. SHORT shift, and go to state 8
  6373. INT shift, and go to state 9
  6374. LONG shift, and go to state 10
  6375. SIGNED shift, and go to state 11
  6376. UNSIGNED shift, and go to state 12
  6377. FLOAT shift, and go to state 13
  6378. DOUBLE shift, and go to state 14
  6379. CONST shift, and go to state 15
  6380. VOLATILE shift, and go to state 16
  6381. VOID shift, and go to state 17
  6382. STRUCT shift, and go to state 18
  6383. UNION shift, and go to state 19
  6384. ENUM shift, and go to state 20
  6385. ID shift, and go to state 25
  6386. IN shift, and go to state 26
  6387. OUT shift, and go to state 27
  6388. INOUT shift, and go to state 28
  6389. BYCOPY shift, and go to state 29
  6390. BYREF shift, and go to state 30
  6391. ONEWAY shift, and go to state 31
  6392. BOOL shift, and go to state 32
  6393. type_specifier go to state 161
  6394. struct_or_union_specifier go to state 45
  6395. struct_or_union go to state 46
  6396. specifier_qualifier_list go to state 376
  6397. enum_specifier go to state 47
  6398. type_qualifier go to state 165
  6399. protocol_qualifier go to state 49
  6400. type_name go to state 554
  6401. state 374
  6402. 150 encode_expression: ENCODE '(' . type_name ')'
  6403. CHAR shift, and go to state 7
  6404. SHORT shift, and go to state 8
  6405. INT shift, and go to state 9
  6406. LONG shift, and go to state 10
  6407. SIGNED shift, and go to state 11
  6408. UNSIGNED shift, and go to state 12
  6409. FLOAT shift, and go to state 13
  6410. DOUBLE shift, and go to state 14
  6411. CONST shift, and go to state 15
  6412. VOLATILE shift, and go to state 16
  6413. VOID shift, and go to state 17
  6414. STRUCT shift, and go to state 18
  6415. UNION shift, and go to state 19
  6416. ENUM shift, and go to state 20
  6417. ID shift, and go to state 25
  6418. IN shift, and go to state 26
  6419. OUT shift, and go to state 27
  6420. INOUT shift, and go to state 28
  6421. BYCOPY shift, and go to state 29
  6422. BYREF shift, and go to state 30
  6423. ONEWAY shift, and go to state 31
  6424. BOOL shift, and go to state 32
  6425. type_specifier go to state 161
  6426. struct_or_union_specifier go to state 45
  6427. struct_or_union go to state 46
  6428. specifier_qualifier_list go to state 376
  6429. enum_specifier go to state 47
  6430. type_qualifier go to state 165
  6431. protocol_qualifier go to state 49
  6432. type_name go to state 555
  6433. state 375
  6434. 160 primary_expression: '(' expression . ')'
  6435. 241 expression: expression . ',' assignment_expression
  6436. ')' shift, and go to state 556
  6437. ',' shift, and go to state 421
  6438. state 376
  6439. 412 type_name: specifier_qualifier_list .
  6440. 413 | specifier_qualifier_list . abstract_declarator
  6441. error shift, and go to state 429
  6442. '(' shift, and go to state 557
  6443. '*' shift, and go to state 34
  6444. '[' shift, and go to state 431
  6445. ')' reduce using rule 412 (type_name)
  6446. pointer go to state 558
  6447. abstract_declarator go to state 559
  6448. direct_abstract_declarator go to state 435
  6449. state 377
  6450. 195 cast_expression: '(' type_name . ')' cast_expression
  6451. ')' shift, and go to state 560
  6452. state 378
  6453. 132 receiver: SUPER .
  6454. $default reduce using rule 132 (receiver)
  6455. state 379
  6456. 129 message_expression: '[' receiver . message_selector ']'
  6457. 130 | '[' receiver . message_selector error
  6458. IDENTIFIER shift, and go to state 276
  6459. selector go to state 561
  6460. message_selector go to state 562
  6461. keyword_argument_list go to state 563
  6462. keyword_argument go to state 564
  6463. state 380
  6464. 131 receiver: expression .
  6465. 241 expression: expression . ',' assignment_expression
  6466. ',' shift, and go to state 421
  6467. $default reduce using rule 131 (receiver)
  6468. state 381
  6469. 171 postfix_expression: postfix_expression PTR_OP . IDENTIFIER
  6470. 178 | postfix_expression PTR_OP . error
  6471. error shift, and go to state 565
  6472. IDENTIFIER shift, and go to state 566
  6473. state 382
  6474. 172 postfix_expression: postfix_expression INC_OP .
  6475. $default reduce using rule 172 (postfix_expression)
  6476. state 383
  6477. 173 postfix_expression: postfix_expression DEC_OP .
  6478. $default reduce using rule 173 (postfix_expression)
  6479. state 384
  6480. 168 postfix_expression: postfix_expression '(' . ')'
  6481. 169 | postfix_expression '(' . argument_expression_list ')'
  6482. 175 | postfix_expression '(' . error
  6483. 176 | postfix_expression '(' . argument_expression_list error
  6484. error shift, and go to state 567
  6485. IDENTIFIER shift, and go to state 252
  6486. STRING shift, and go to state 170
  6487. CHARACTER shift, and go to state 171
  6488. INTEGER shift, and go to state 172
  6489. DECIMAL shift, and go to state 173
  6490. SIZEOF shift, and go to state 174
  6491. INC_OP shift, and go to state 175
  6492. DEC_OP shift, and go to state 176
  6493. PROTOCOL shift, and go to state 190
  6494. SELECTOR shift, and go to state 191
  6495. ENCODE shift, and go to state 192
  6496. SELF shift, and go to state 193
  6497. '(' shift, and go to state 194
  6498. ')' shift, and go to state 568
  6499. '*' shift, and go to state 197
  6500. '+' shift, and go to state 198
  6501. '-' shift, and go to state 199
  6502. '[' shift, and go to state 200
  6503. '&' shift, and go to state 201
  6504. '~' shift, and go to state 202
  6505. '!' shift, and go to state 203
  6506. message_expression go to state 204
  6507. selector_expression go to state 205
  6508. protocol_expression go to state 206
  6509. encode_expression go to state 207
  6510. primary_expression go to state 209
  6511. postfix_expression go to state 210
  6512. argument_expression_list go to state 569
  6513. unary_expression go to state 211
  6514. unary_operator go to state 212
  6515. cast_expression go to state 213
  6516. multiplicative_expression go to state 214
  6517. additive_expression go to state 215
  6518. shift_expression go to state 216
  6519. relational_expression go to state 217
  6520. equality_expression go to state 218
  6521. and_expression go to state 219
  6522. exclusive_or_expression go to state 220
  6523. inclusive_or_expression go to state 221
  6524. logical_and_expression go to state 222
  6525. logical_or_expression go to state 223
  6526. conditional_expression go to state 224
  6527. assignment_expression go to state 570
  6528. state 385
  6529. 167 postfix_expression: postfix_expression '[' . expression ']'
  6530. 174 | postfix_expression '[' . expression error
  6531. IDENTIFIER shift, and go to state 252
  6532. STRING shift, and go to state 170
  6533. CHARACTER shift, and go to state 171
  6534. INTEGER shift, and go to state 172
  6535. DECIMAL shift, and go to state 173
  6536. SIZEOF shift, and go to state 174
  6537. INC_OP shift, and go to state 175
  6538. DEC_OP shift, and go to state 176
  6539. PROTOCOL shift, and go to state 190
  6540. SELECTOR shift, and go to state 191
  6541. ENCODE shift, and go to state 192
  6542. SELF shift, and go to state 193
  6543. '(' shift, and go to state 194
  6544. '*' shift, and go to state 197
  6545. '+' shift, and go to state 198
  6546. '-' shift, and go to state 199
  6547. '[' shift, and go to state 200
  6548. '&' shift, and go to state 201
  6549. '~' shift, and go to state 202
  6550. '!' shift, and go to state 203
  6551. message_expression go to state 204
  6552. selector_expression go to state 205
  6553. protocol_expression go to state 206
  6554. encode_expression go to state 207
  6555. primary_expression go to state 209
  6556. postfix_expression go to state 210
  6557. unary_expression go to state 211
  6558. unary_operator go to state 212
  6559. cast_expression go to state 213
  6560. multiplicative_expression go to state 214
  6561. additive_expression go to state 215
  6562. shift_expression go to state 216
  6563. relational_expression go to state 217
  6564. equality_expression go to state 218
  6565. and_expression go to state 219
  6566. exclusive_or_expression go to state 220
  6567. inclusive_or_expression go to state 221
  6568. logical_and_expression go to state 222
  6569. logical_or_expression go to state 223
  6570. conditional_expression go to state 224
  6571. assignment_expression go to state 225
  6572. expression go to state 571
  6573. state 386
  6574. 170 postfix_expression: postfix_expression '.' . IDENTIFIER
  6575. 177 | postfix_expression '.' . error
  6576. error shift, and go to state 572
  6577. IDENTIFIER shift, and go to state 573
  6578. state 387
  6579. 230 assignment_operator: MUL_ASSIGN .
  6580. $default reduce using rule 230 (assignment_operator)
  6581. state 388
  6582. 231 assignment_operator: DIV_ASSIGN .
  6583. $default reduce using rule 231 (assignment_operator)
  6584. state 389
  6585. 232 assignment_operator: MOD_ASSIGN .
  6586. $default reduce using rule 232 (assignment_operator)
  6587. state 390
  6588. 233 assignment_operator: ADD_ASSIGN .
  6589. $default reduce using rule 233 (assignment_operator)
  6590. state 391
  6591. 234 assignment_operator: SUB_ASSIGN .
  6592. $default reduce using rule 234 (assignment_operator)
  6593. state 392
  6594. 235 assignment_operator: LEFT_ASSIGN .
  6595. $default reduce using rule 235 (assignment_operator)
  6596. state 393
  6597. 236 assignment_operator: RIGHT_ASSIGN .
  6598. $default reduce using rule 236 (assignment_operator)
  6599. state 394
  6600. 237 assignment_operator: AND_ASSIGN .
  6601. $default reduce using rule 237 (assignment_operator)
  6602. state 395
  6603. 238 assignment_operator: XOR_ASSIGN .
  6604. $default reduce using rule 238 (assignment_operator)
  6605. state 396
  6606. 239 assignment_operator: OR_ASSIGN .
  6607. $default reduce using rule 239 (assignment_operator)
  6608. state 397
  6609. 229 assignment_operator: '=' .
  6610. $default reduce using rule 229 (assignment_operator)
  6611. state 398
  6612. 228 assignment_expression: unary_expression assignment_operator . assignment_expression
  6613. IDENTIFIER shift, and go to state 252
  6614. STRING shift, and go to state 170
  6615. CHARACTER shift, and go to state 171
  6616. INTEGER shift, and go to state 172
  6617. DECIMAL shift, and go to state 173
  6618. SIZEOF shift, and go to state 174
  6619. INC_OP shift, and go to state 175
  6620. DEC_OP shift, and go to state 176
  6621. PROTOCOL shift, and go to state 190
  6622. SELECTOR shift, and go to state 191
  6623. ENCODE shift, and go to state 192
  6624. SELF shift, and go to state 193
  6625. '(' shift, and go to state 194
  6626. '*' shift, and go to state 197
  6627. '+' shift, and go to state 198
  6628. '-' shift, and go to state 199
  6629. '[' shift, and go to state 200
  6630. '&' shift, and go to state 201
  6631. '~' shift, and go to state 202
  6632. '!' shift, and go to state 203
  6633. message_expression go to state 204
  6634. selector_expression go to state 205
  6635. protocol_expression go to state 206
  6636. encode_expression go to state 207
  6637. primary_expression go to state 209
  6638. postfix_expression go to state 210
  6639. unary_expression go to state 211
  6640. unary_operator go to state 212
  6641. cast_expression go to state 213
  6642. multiplicative_expression go to state 214
  6643. additive_expression go to state 215
  6644. shift_expression go to state 216
  6645. relational_expression go to state 217
  6646. equality_expression go to state 218
  6647. and_expression go to state 219
  6648. exclusive_or_expression go to state 220
  6649. inclusive_or_expression go to state 221
  6650. logical_and_expression go to state 222
  6651. logical_or_expression go to state 223
  6652. conditional_expression go to state 224
  6653. assignment_expression go to state 574
  6654. state 399
  6655. 184 unary_expression: unary_operator cast_expression .
  6656. $default reduce using rule 184 (unary_expression)
  6657. state 400
  6658. 197 multiplicative_expression: multiplicative_expression '*' . cast_expression
  6659. IDENTIFIER shift, and go to state 252
  6660. STRING shift, and go to state 170
  6661. CHARACTER shift, and go to state 171
  6662. INTEGER shift, and go to state 172
  6663. DECIMAL shift, and go to state 173
  6664. SIZEOF shift, and go to state 174
  6665. INC_OP shift, and go to state 175
  6666. DEC_OP shift, and go to state 176
  6667. PROTOCOL shift, and go to state 190
  6668. SELECTOR shift, and go to state 191
  6669. ENCODE shift, and go to state 192
  6670. SELF shift, and go to state 193
  6671. '(' shift, and go to state 194
  6672. '*' shift, and go to state 197
  6673. '+' shift, and go to state 198
  6674. '-' shift, and go to state 199
  6675. '[' shift, and go to state 200
  6676. '&' shift, and go to state 201
  6677. '~' shift, and go to state 202
  6678. '!' shift, and go to state 203
  6679. message_expression go to state 204
  6680. selector_expression go to state 205
  6681. protocol_expression go to state 206
  6682. encode_expression go to state 207
  6683. primary_expression go to state 209
  6684. postfix_expression go to state 210
  6685. unary_expression go to state 254
  6686. unary_operator go to state 212
  6687. cast_expression go to state 575
  6688. state 401
  6689. 198 multiplicative_expression: multiplicative_expression '/' . cast_expression
  6690. IDENTIFIER shift, and go to state 252
  6691. STRING shift, and go to state 170
  6692. CHARACTER shift, and go to state 171
  6693. INTEGER shift, and go to state 172
  6694. DECIMAL shift, and go to state 173
  6695. SIZEOF shift, and go to state 174
  6696. INC_OP shift, and go to state 175
  6697. DEC_OP shift, and go to state 176
  6698. PROTOCOL shift, and go to state 190
  6699. SELECTOR shift, and go to state 191
  6700. ENCODE shift, and go to state 192
  6701. SELF shift, and go to state 193
  6702. '(' shift, and go to state 194
  6703. '*' shift, and go to state 197
  6704. '+' shift, and go to state 198
  6705. '-' shift, and go to state 199
  6706. '[' shift, and go to state 200
  6707. '&' shift, and go to state 201
  6708. '~' shift, and go to state 202
  6709. '!' shift, and go to state 203
  6710. message_expression go to state 204
  6711. selector_expression go to state 205
  6712. protocol_expression go to state 206
  6713. encode_expression go to state 207
  6714. primary_expression go to state 209
  6715. postfix_expression go to state 210
  6716. unary_expression go to state 254
  6717. unary_operator go to state 212
  6718. cast_expression go to state 576
  6719. state 402
  6720. 199 multiplicative_expression: multiplicative_expression '%' . cast_expression
  6721. IDENTIFIER shift, and go to state 252
  6722. STRING shift, and go to state 170
  6723. CHARACTER shift, and go to state 171
  6724. INTEGER shift, and go to state 172
  6725. DECIMAL shift, and go to state 173
  6726. SIZEOF shift, and go to state 174
  6727. INC_OP shift, and go to state 175
  6728. DEC_OP shift, and go to state 176
  6729. PROTOCOL shift, and go to state 190
  6730. SELECTOR shift, and go to state 191
  6731. ENCODE shift, and go to state 192
  6732. SELF shift, and go to state 193
  6733. '(' shift, and go to state 194
  6734. '*' shift, and go to state 197
  6735. '+' shift, and go to state 198
  6736. '-' shift, and go to state 199
  6737. '[' shift, and go to state 200
  6738. '&' shift, and go to state 201
  6739. '~' shift, and go to state 202
  6740. '!' shift, and go to state 203
  6741. message_expression go to state 204
  6742. selector_expression go to state 205
  6743. protocol_expression go to state 206
  6744. encode_expression go to state 207
  6745. primary_expression go to state 209
  6746. postfix_expression go to state 210
  6747. unary_expression go to state 254
  6748. unary_operator go to state 212
  6749. cast_expression go to state 577
  6750. state 403
  6751. 201 additive_expression: additive_expression '+' . multiplicative_expression
  6752. IDENTIFIER shift, and go to state 252
  6753. STRING shift, and go to state 170
  6754. CHARACTER shift, and go to state 171
  6755. INTEGER shift, and go to state 172
  6756. DECIMAL shift, and go to state 173
  6757. SIZEOF shift, and go to state 174
  6758. INC_OP shift, and go to state 175
  6759. DEC_OP shift, and go to state 176
  6760. PROTOCOL shift, and go to state 190
  6761. SELECTOR shift, and go to state 191
  6762. ENCODE shift, and go to state 192
  6763. SELF shift, and go to state 193
  6764. '(' shift, and go to state 194
  6765. '*' shift, and go to state 197
  6766. '+' shift, and go to state 198
  6767. '-' shift, and go to state 199
  6768. '[' shift, and go to state 200
  6769. '&' shift, and go to state 201
  6770. '~' shift, and go to state 202
  6771. '!' shift, and go to state 203
  6772. message_expression go to state 204
  6773. selector_expression go to state 205
  6774. protocol_expression go to state 206
  6775. encode_expression go to state 207
  6776. primary_expression go to state 209
  6777. postfix_expression go to state 210
  6778. unary_expression go to state 254
  6779. unary_operator go to state 212
  6780. cast_expression go to state 213
  6781. multiplicative_expression go to state 578
  6782. state 404
  6783. 202 additive_expression: additive_expression '-' . multiplicative_expression
  6784. IDENTIFIER shift, and go to state 252
  6785. STRING shift, and go to state 170
  6786. CHARACTER shift, and go to state 171
  6787. INTEGER shift, and go to state 172
  6788. DECIMAL shift, and go to state 173
  6789. SIZEOF shift, and go to state 174
  6790. INC_OP shift, and go to state 175
  6791. DEC_OP shift, and go to state 176
  6792. PROTOCOL shift, and go to state 190
  6793. SELECTOR shift, and go to state 191
  6794. ENCODE shift, and go to state 192
  6795. SELF shift, and go to state 193
  6796. '(' shift, and go to state 194
  6797. '*' shift, and go to state 197
  6798. '+' shift, and go to state 198
  6799. '-' shift, and go to state 199
  6800. '[' shift, and go to state 200
  6801. '&' shift, and go to state 201
  6802. '~' shift, and go to state 202
  6803. '!' shift, and go to state 203
  6804. message_expression go to state 204
  6805. selector_expression go to state 205
  6806. protocol_expression go to state 206
  6807. encode_expression go to state 207
  6808. primary_expression go to state 209
  6809. postfix_expression go to state 210
  6810. unary_expression go to state 254
  6811. unary_operator go to state 212
  6812. cast_expression go to state 213
  6813. multiplicative_expression go to state 579
  6814. state 405
  6815. 204 shift_expression: shift_expression LEFT_OP . additive_expression
  6816. IDENTIFIER shift, and go to state 252
  6817. STRING shift, and go to state 170
  6818. CHARACTER shift, and go to state 171
  6819. INTEGER shift, and go to state 172
  6820. DECIMAL shift, and go to state 173
  6821. SIZEOF shift, and go to state 174
  6822. INC_OP shift, and go to state 175
  6823. DEC_OP shift, and go to state 176
  6824. PROTOCOL shift, and go to state 190
  6825. SELECTOR shift, and go to state 191
  6826. ENCODE shift, and go to state 192
  6827. SELF shift, and go to state 193
  6828. '(' shift, and go to state 194
  6829. '*' shift, and go to state 197
  6830. '+' shift, and go to state 198
  6831. '-' shift, and go to state 199
  6832. '[' shift, and go to state 200
  6833. '&' shift, and go to state 201
  6834. '~' shift, and go to state 202
  6835. '!' shift, and go to state 203
  6836. message_expression go to state 204
  6837. selector_expression go to state 205
  6838. protocol_expression go to state 206
  6839. encode_expression go to state 207
  6840. primary_expression go to state 209
  6841. postfix_expression go to state 210
  6842. unary_expression go to state 254
  6843. unary_operator go to state 212
  6844. cast_expression go to state 213
  6845. multiplicative_expression go to state 214
  6846. additive_expression go to state 580
  6847. state 406
  6848. 205 shift_expression: shift_expression RIGHT_OP . additive_expression
  6849. IDENTIFIER shift, and go to state 252
  6850. STRING shift, and go to state 170
  6851. CHARACTER shift, and go to state 171
  6852. INTEGER shift, and go to state 172
  6853. DECIMAL shift, and go to state 173
  6854. SIZEOF shift, and go to state 174
  6855. INC_OP shift, and go to state 175
  6856. DEC_OP shift, and go to state 176
  6857. PROTOCOL shift, and go to state 190
  6858. SELECTOR shift, and go to state 191
  6859. ENCODE shift, and go to state 192
  6860. SELF shift, and go to state 193
  6861. '(' shift, and go to state 194
  6862. '*' shift, and go to state 197
  6863. '+' shift, and go to state 198
  6864. '-' shift, and go to state 199
  6865. '[' shift, and go to state 200
  6866. '&' shift, and go to state 201
  6867. '~' shift, and go to state 202
  6868. '!' shift, and go to state 203
  6869. message_expression go to state 204
  6870. selector_expression go to state 205
  6871. protocol_expression go to state 206
  6872. encode_expression go to state 207
  6873. primary_expression go to state 209
  6874. postfix_expression go to state 210
  6875. unary_expression go to state 254
  6876. unary_operator go to state 212
  6877. cast_expression go to state 213
  6878. multiplicative_expression go to state 214
  6879. additive_expression go to state 581
  6880. state 407
  6881. 209 relational_expression: relational_expression LE_OP . shift_expression
  6882. IDENTIFIER shift, and go to state 252
  6883. STRING shift, and go to state 170
  6884. CHARACTER shift, and go to state 171
  6885. INTEGER shift, and go to state 172
  6886. DECIMAL shift, and go to state 173
  6887. SIZEOF shift, and go to state 174
  6888. INC_OP shift, and go to state 175
  6889. DEC_OP shift, and go to state 176
  6890. PROTOCOL shift, and go to state 190
  6891. SELECTOR shift, and go to state 191
  6892. ENCODE shift, and go to state 192
  6893. SELF shift, and go to state 193
  6894. '(' shift, and go to state 194
  6895. '*' shift, and go to state 197
  6896. '+' shift, and go to state 198
  6897. '-' shift, and go to state 199
  6898. '[' shift, and go to state 200
  6899. '&' shift, and go to state 201
  6900. '~' shift, and go to state 202
  6901. '!' shift, and go to state 203
  6902. message_expression go to state 204
  6903. selector_expression go to state 205
  6904. protocol_expression go to state 206
  6905. encode_expression go to state 207
  6906. primary_expression go to state 209
  6907. postfix_expression go to state 210
  6908. unary_expression go to state 254
  6909. unary_operator go to state 212
  6910. cast_expression go to state 213
  6911. multiplicative_expression go to state 214
  6912. additive_expression go to state 215
  6913. shift_expression go to state 582
  6914. state 408
  6915. 210 relational_expression: relational_expression GE_OP . shift_expression
  6916. IDENTIFIER shift, and go to state 252
  6917. STRING shift, and go to state 170
  6918. CHARACTER shift, and go to state 171
  6919. INTEGER shift, and go to state 172
  6920. DECIMAL shift, and go to state 173
  6921. SIZEOF shift, and go to state 174
  6922. INC_OP shift, and go to state 175
  6923. DEC_OP shift, and go to state 176
  6924. PROTOCOL shift, and go to state 190
  6925. SELECTOR shift, and go to state 191
  6926. ENCODE shift, and go to state 192
  6927. SELF shift, and go to state 193
  6928. '(' shift, and go to state 194
  6929. '*' shift, and go to state 197
  6930. '+' shift, and go to state 198
  6931. '-' shift, and go to state 199
  6932. '[' shift, and go to state 200
  6933. '&' shift, and go to state 201
  6934. '~' shift, and go to state 202
  6935. '!' shift, and go to state 203
  6936. message_expression go to state 204
  6937. selector_expression go to state 205
  6938. protocol_expression go to state 206
  6939. encode_expression go to state 207
  6940. primary_expression go to state 209
  6941. postfix_expression go to state 210
  6942. unary_expression go to state 254
  6943. unary_operator go to state 212
  6944. cast_expression go to state 213
  6945. multiplicative_expression go to state 214
  6946. additive_expression go to state 215
  6947. shift_expression go to state 583
  6948. state 409
  6949. 207 relational_expression: relational_expression '<' . shift_expression
  6950. IDENTIFIER shift, and go to state 252
  6951. STRING shift, and go to state 170
  6952. CHARACTER shift, and go to state 171
  6953. INTEGER shift, and go to state 172
  6954. DECIMAL shift, and go to state 173
  6955. SIZEOF shift, and go to state 174
  6956. INC_OP shift, and go to state 175
  6957. DEC_OP shift, and go to state 176
  6958. PROTOCOL shift, and go to state 190
  6959. SELECTOR shift, and go to state 191
  6960. ENCODE shift, and go to state 192
  6961. SELF shift, and go to state 193
  6962. '(' shift, and go to state 194
  6963. '*' shift, and go to state 197
  6964. '+' shift, and go to state 198
  6965. '-' shift, and go to state 199
  6966. '[' shift, and go to state 200
  6967. '&' shift, and go to state 201
  6968. '~' shift, and go to state 202
  6969. '!' shift, and go to state 203
  6970. message_expression go to state 204
  6971. selector_expression go to state 205
  6972. protocol_expression go to state 206
  6973. encode_expression go to state 207
  6974. primary_expression go to state 209
  6975. postfix_expression go to state 210
  6976. unary_expression go to state 254
  6977. unary_operator go to state 212
  6978. cast_expression go to state 213
  6979. multiplicative_expression go to state 214
  6980. additive_expression go to state 215
  6981. shift_expression go to state 584
  6982. state 410
  6983. 208 relational_expression: relational_expression '>' . shift_expression
  6984. IDENTIFIER shift, and go to state 252
  6985. STRING shift, and go to state 170
  6986. CHARACTER shift, and go to state 171
  6987. INTEGER shift, and go to state 172
  6988. DECIMAL shift, and go to state 173
  6989. SIZEOF shift, and go to state 174
  6990. INC_OP shift, and go to state 175
  6991. DEC_OP shift, and go to state 176
  6992. PROTOCOL shift, and go to state 190
  6993. SELECTOR shift, and go to state 191
  6994. ENCODE shift, and go to state 192
  6995. SELF shift, and go to state 193
  6996. '(' shift, and go to state 194
  6997. '*' shift, and go to state 197
  6998. '+' shift, and go to state 198
  6999. '-' shift, and go to state 199
  7000. '[' shift, and go to state 200
  7001. '&' shift, and go to state 201
  7002. '~' shift, and go to state 202
  7003. '!' shift, and go to state 203
  7004. message_expression go to state 204
  7005. selector_expression go to state 205
  7006. protocol_expression go to state 206
  7007. encode_expression go to state 207
  7008. primary_expression go to state 209
  7009. postfix_expression go to state 210
  7010. unary_expression go to state 254
  7011. unary_operator go to state 212
  7012. cast_expression go to state 213
  7013. multiplicative_expression go to state 214
  7014. additive_expression go to state 215
  7015. shift_expression go to state 585
  7016. state 411
  7017. 212 equality_expression: equality_expression EQ_OP . relational_expression
  7018. IDENTIFIER shift, and go to state 252
  7019. STRING shift, and go to state 170
  7020. CHARACTER shift, and go to state 171
  7021. INTEGER shift, and go to state 172
  7022. DECIMAL shift, and go to state 173
  7023. SIZEOF shift, and go to state 174
  7024. INC_OP shift, and go to state 175
  7025. DEC_OP shift, and go to state 176
  7026. PROTOCOL shift, and go to state 190
  7027. SELECTOR shift, and go to state 191
  7028. ENCODE shift, and go to state 192
  7029. SELF shift, and go to state 193
  7030. '(' shift, and go to state 194
  7031. '*' shift, and go to state 197
  7032. '+' shift, and go to state 198
  7033. '-' shift, and go to state 199
  7034. '[' shift, and go to state 200
  7035. '&' shift, and go to state 201
  7036. '~' shift, and go to state 202
  7037. '!' shift, and go to state 203
  7038. message_expression go to state 204
  7039. selector_expression go to state 205
  7040. protocol_expression go to state 206
  7041. encode_expression go to state 207
  7042. primary_expression go to state 209
  7043. postfix_expression go to state 210
  7044. unary_expression go to state 254
  7045. unary_operator go to state 212
  7046. cast_expression go to state 213
  7047. multiplicative_expression go to state 214
  7048. additive_expression go to state 215
  7049. shift_expression go to state 216
  7050. relational_expression go to state 586
  7051. state 412
  7052. 213 equality_expression: equality_expression NE_OP . relational_expression
  7053. IDENTIFIER shift, and go to state 252
  7054. STRING shift, and go to state 170
  7055. CHARACTER shift, and go to state 171
  7056. INTEGER shift, and go to state 172
  7057. DECIMAL shift, and go to state 173
  7058. SIZEOF shift, and go to state 174
  7059. INC_OP shift, and go to state 175
  7060. DEC_OP shift, and go to state 176
  7061. PROTOCOL shift, and go to state 190
  7062. SELECTOR shift, and go to state 191
  7063. ENCODE shift, and go to state 192
  7064. SELF shift, and go to state 193
  7065. '(' shift, and go to state 194
  7066. '*' shift, and go to state 197
  7067. '+' shift, and go to state 198
  7068. '-' shift, and go to state 199
  7069. '[' shift, and go to state 200
  7070. '&' shift, and go to state 201
  7071. '~' shift, and go to state 202
  7072. '!' shift, and go to state 203
  7073. message_expression go to state 204
  7074. selector_expression go to state 205
  7075. protocol_expression go to state 206
  7076. encode_expression go to state 207
  7077. primary_expression go to state 209
  7078. postfix_expression go to state 210
  7079. unary_expression go to state 254
  7080. unary_operator go to state 212
  7081. cast_expression go to state 213
  7082. multiplicative_expression go to state 214
  7083. additive_expression go to state 215
  7084. shift_expression go to state 216
  7085. relational_expression go to state 587
  7086. state 413
  7087. 215 and_expression: and_expression '&' . equality_expression
  7088. IDENTIFIER shift, and go to state 252
  7089. STRING shift, and go to state 170
  7090. CHARACTER shift, and go to state 171
  7091. INTEGER shift, and go to state 172
  7092. DECIMAL shift, and go to state 173
  7093. SIZEOF shift, and go to state 174
  7094. INC_OP shift, and go to state 175
  7095. DEC_OP shift, and go to state 176
  7096. PROTOCOL shift, and go to state 190
  7097. SELECTOR shift, and go to state 191
  7098. ENCODE shift, and go to state 192
  7099. SELF shift, and go to state 193
  7100. '(' shift, and go to state 194
  7101. '*' shift, and go to state 197
  7102. '+' shift, and go to state 198
  7103. '-' shift, and go to state 199
  7104. '[' shift, and go to state 200
  7105. '&' shift, and go to state 201
  7106. '~' shift, and go to state 202
  7107. '!' shift, and go to state 203
  7108. message_expression go to state 204
  7109. selector_expression go to state 205
  7110. protocol_expression go to state 206
  7111. encode_expression go to state 207
  7112. primary_expression go to state 209
  7113. postfix_expression go to state 210
  7114. unary_expression go to state 254
  7115. unary_operator go to state 212
  7116. cast_expression go to state 213
  7117. multiplicative_expression go to state 214
  7118. additive_expression go to state 215
  7119. shift_expression go to state 216
  7120. relational_expression go to state 217
  7121. equality_expression go to state 588
  7122. state 414
  7123. 217 exclusive_or_expression: exclusive_or_expression '^' . and_expression
  7124. IDENTIFIER shift, and go to state 252
  7125. STRING shift, and go to state 170
  7126. CHARACTER shift, and go to state 171
  7127. INTEGER shift, and go to state 172
  7128. DECIMAL shift, and go to state 173
  7129. SIZEOF shift, and go to state 174
  7130. INC_OP shift, and go to state 175
  7131. DEC_OP shift, and go to state 176
  7132. PROTOCOL shift, and go to state 190
  7133. SELECTOR shift, and go to state 191
  7134. ENCODE shift, and go to state 192
  7135. SELF shift, and go to state 193
  7136. '(' shift, and go to state 194
  7137. '*' shift, and go to state 197
  7138. '+' shift, and go to state 198
  7139. '-' shift, and go to state 199
  7140. '[' shift, and go to state 200
  7141. '&' shift, and go to state 201
  7142. '~' shift, and go to state 202
  7143. '!' shift, and go to state 203
  7144. message_expression go to state 204
  7145. selector_expression go to state 205
  7146. protocol_expression go to state 206
  7147. encode_expression go to state 207
  7148. primary_expression go to state 209
  7149. postfix_expression go to state 210
  7150. unary_expression go to state 254
  7151. unary_operator go to state 212
  7152. cast_expression go to state 213
  7153. multiplicative_expression go to state 214
  7154. additive_expression go to state 215
  7155. shift_expression go to state 216
  7156. relational_expression go to state 217
  7157. equality_expression go to state 218
  7158. and_expression go to state 589
  7159. state 415
  7160. 219 inclusive_or_expression: inclusive_or_expression '|' . exclusive_or_expression
  7161. IDENTIFIER shift, and go to state 252
  7162. STRING shift, and go to state 170
  7163. CHARACTER shift, and go to state 171
  7164. INTEGER shift, and go to state 172
  7165. DECIMAL shift, and go to state 173
  7166. SIZEOF shift, and go to state 174
  7167. INC_OP shift, and go to state 175
  7168. DEC_OP shift, and go to state 176
  7169. PROTOCOL shift, and go to state 190
  7170. SELECTOR shift, and go to state 191
  7171. ENCODE shift, and go to state 192
  7172. SELF shift, and go to state 193
  7173. '(' shift, and go to state 194
  7174. '*' shift, and go to state 197
  7175. '+' shift, and go to state 198
  7176. '-' shift, and go to state 199
  7177. '[' shift, and go to state 200
  7178. '&' shift, and go to state 201
  7179. '~' shift, and go to state 202
  7180. '!' shift, and go to state 203
  7181. message_expression go to state 204
  7182. selector_expression go to state 205
  7183. protocol_expression go to state 206
  7184. encode_expression go to state 207
  7185. primary_expression go to state 209
  7186. postfix_expression go to state 210
  7187. unary_expression go to state 254
  7188. unary_operator go to state 212
  7189. cast_expression go to state 213
  7190. multiplicative_expression go to state 214
  7191. additive_expression go to state 215
  7192. shift_expression go to state 216
  7193. relational_expression go to state 217
  7194. equality_expression go to state 218
  7195. and_expression go to state 219
  7196. exclusive_or_expression go to state 590
  7197. state 416
  7198. 221 logical_and_expression: logical_and_expression AND_OP . inclusive_or_expression
  7199. IDENTIFIER shift, and go to state 252
  7200. STRING shift, and go to state 170
  7201. CHARACTER shift, and go to state 171
  7202. INTEGER shift, and go to state 172
  7203. DECIMAL shift, and go to state 173
  7204. SIZEOF shift, and go to state 174
  7205. INC_OP shift, and go to state 175
  7206. DEC_OP shift, and go to state 176
  7207. PROTOCOL shift, and go to state 190
  7208. SELECTOR shift, and go to state 191
  7209. ENCODE shift, and go to state 192
  7210. SELF shift, and go to state 193
  7211. '(' shift, and go to state 194
  7212. '*' shift, and go to state 197
  7213. '+' shift, and go to state 198
  7214. '-' shift, and go to state 199
  7215. '[' shift, and go to state 200
  7216. '&' shift, and go to state 201
  7217. '~' shift, and go to state 202
  7218. '!' shift, and go to state 203
  7219. message_expression go to state 204
  7220. selector_expression go to state 205
  7221. protocol_expression go to state 206
  7222. encode_expression go to state 207
  7223. primary_expression go to state 209
  7224. postfix_expression go to state 210
  7225. unary_expression go to state 254
  7226. unary_operator go to state 212
  7227. cast_expression go to state 213
  7228. multiplicative_expression go to state 214
  7229. additive_expression go to state 215
  7230. shift_expression go to state 216
  7231. relational_expression go to state 217
  7232. equality_expression go to state 218
  7233. and_expression go to state 219
  7234. exclusive_or_expression go to state 220
  7235. inclusive_or_expression go to state 591
  7236. state 417
  7237. 223 logical_or_expression: logical_or_expression OR_OP . logical_and_expression
  7238. IDENTIFIER shift, and go to state 252
  7239. STRING shift, and go to state 170
  7240. CHARACTER shift, and go to state 171
  7241. INTEGER shift, and go to state 172
  7242. DECIMAL shift, and go to state 173
  7243. SIZEOF shift, and go to state 174
  7244. INC_OP shift, and go to state 175
  7245. DEC_OP shift, and go to state 176
  7246. PROTOCOL shift, and go to state 190
  7247. SELECTOR shift, and go to state 191
  7248. ENCODE shift, and go to state 192
  7249. SELF shift, and go to state 193
  7250. '(' shift, and go to state 194
  7251. '*' shift, and go to state 197
  7252. '+' shift, and go to state 198
  7253. '-' shift, and go to state 199
  7254. '[' shift, and go to state 200
  7255. '&' shift, and go to state 201
  7256. '~' shift, and go to state 202
  7257. '!' shift, and go to state 203
  7258. message_expression go to state 204
  7259. selector_expression go to state 205
  7260. protocol_expression go to state 206
  7261. encode_expression go to state 207
  7262. primary_expression go to state 209
  7263. postfix_expression go to state 210
  7264. unary_expression go to state 254
  7265. unary_operator go to state 212
  7266. cast_expression go to state 213
  7267. multiplicative_expression go to state 214
  7268. additive_expression go to state 215
  7269. shift_expression go to state 216
  7270. relational_expression go to state 217
  7271. equality_expression go to state 218
  7272. and_expression go to state 219
  7273. exclusive_or_expression go to state 220
  7274. inclusive_or_expression go to state 221
  7275. logical_and_expression go to state 592
  7276. state 418
  7277. 225 conditional_expression: logical_or_expression '?' . expression ':' conditional_expression
  7278. 226 | logical_or_expression '?' . expression error conditional_expression
  7279. IDENTIFIER shift, and go to state 252
  7280. STRING shift, and go to state 170
  7281. CHARACTER shift, and go to state 171
  7282. INTEGER shift, and go to state 172
  7283. DECIMAL shift, and go to state 173
  7284. SIZEOF shift, and go to state 174
  7285. INC_OP shift, and go to state 175
  7286. DEC_OP shift, and go to state 176
  7287. PROTOCOL shift, and go to state 190
  7288. SELECTOR shift, and go to state 191
  7289. ENCODE shift, and go to state 192
  7290. SELF shift, and go to state 193
  7291. '(' shift, and go to state 194
  7292. '*' shift, and go to state 197
  7293. '+' shift, and go to state 198
  7294. '-' shift, and go to state 199
  7295. '[' shift, and go to state 200
  7296. '&' shift, and go to state 201
  7297. '~' shift, and go to state 202
  7298. '!' shift, and go to state 203
  7299. message_expression go to state 204
  7300. selector_expression go to state 205
  7301. protocol_expression go to state 206
  7302. encode_expression go to state 207
  7303. primary_expression go to state 209
  7304. postfix_expression go to state 210
  7305. unary_expression go to state 211
  7306. unary_operator go to state 212
  7307. cast_expression go to state 213
  7308. multiplicative_expression go to state 214
  7309. additive_expression go to state 215
  7310. shift_expression go to state 216
  7311. relational_expression go to state 217
  7312. equality_expression go to state 218
  7313. and_expression go to state 219
  7314. exclusive_or_expression go to state 220
  7315. inclusive_or_expression go to state 221
  7316. logical_and_expression go to state 222
  7317. logical_or_expression go to state 223
  7318. conditional_expression go to state 224
  7319. assignment_expression go to state 225
  7320. expression go to state 593
  7321. state 419
  7322. 479 expression_statement: expression error .
  7323. $default reduce using rule 479 (expression_statement)
  7324. state 420
  7325. 478 expression_statement: expression ';' .
  7326. $default reduce using rule 478 (expression_statement)
  7327. state 421
  7328. 241 expression: expression ',' . assignment_expression
  7329. IDENTIFIER shift, and go to state 252
  7330. STRING shift, and go to state 170
  7331. CHARACTER shift, and go to state 171
  7332. INTEGER shift, and go to state 172
  7333. DECIMAL shift, and go to state 173
  7334. SIZEOF shift, and go to state 174
  7335. INC_OP shift, and go to state 175
  7336. DEC_OP shift, and go to state 176
  7337. PROTOCOL shift, and go to state 190
  7338. SELECTOR shift, and go to state 191
  7339. ENCODE shift, and go to state 192
  7340. SELF shift, and go to state 193
  7341. '(' shift, and go to state 194
  7342. '*' shift, and go to state 197
  7343. '+' shift, and go to state 198
  7344. '-' shift, and go to state 199
  7345. '[' shift, and go to state 200
  7346. '&' shift, and go to state 201
  7347. '~' shift, and go to state 202
  7348. '!' shift, and go to state 203
  7349. message_expression go to state 204
  7350. selector_expression go to state 205
  7351. protocol_expression go to state 206
  7352. encode_expression go to state 207
  7353. primary_expression go to state 209
  7354. postfix_expression go to state 210
  7355. unary_expression go to state 211
  7356. unary_operator go to state 212
  7357. cast_expression go to state 213
  7358. multiplicative_expression go to state 214
  7359. additive_expression go to state 215
  7360. shift_expression go to state 216
  7361. relational_expression go to state 217
  7362. equality_expression go to state 218
  7363. and_expression go to state 219
  7364. exclusive_or_expression go to state 220
  7365. inclusive_or_expression go to state 221
  7366. logical_and_expression go to state 222
  7367. logical_or_expression go to state 223
  7368. conditional_expression go to state 224
  7369. assignment_expression go to state 594
  7370. state 422
  7371. 472 statement_list: statement statement_list .
  7372. $default reduce using rule 472 (statement_list)
  7373. state 423
  7374. 474 compound_statement_list: declaration_list compound_declaration_list .
  7375. $default reduce using rule 474 (compound_statement_list)
  7376. state 424
  7377. 476 compound_declaration_list: statement_list compound_statement_list .
  7378. $default reduce using rule 476 (compound_declaration_list)
  7379. state 425
  7380. 467 compound_statement: '{' compound_statement_list '}' .
  7381. $default reduce using rule 467 (compound_statement)
  7382. state 426
  7383. 468 compound_statement: '{' compound_declaration_list '}' .
  7384. $default reduce using rule 468 (compound_statement)
  7385. state 427
  7386. 511 jump_statement: jump_statement_intermediate error .
  7387. $default reduce using rule 511 (jump_statement)
  7388. state 428
  7389. 510 jump_statement: jump_statement_intermediate ';' .
  7390. $default reduce using rule 510 (jump_statement)
  7391. state 429
  7392. 427 direct_abstract_declarator: error . ']'
  7393. 428 | error . constant_expression ']'
  7394. 430 | error . constant_expression error
  7395. 436 | error . parameter_list ')'
  7396. IDENTIFIER shift, and go to state 252
  7397. STRING shift, and go to state 170
  7398. CHARACTER shift, and go to state 171
  7399. INTEGER shift, and go to state 172
  7400. DECIMAL shift, and go to state 173
  7401. SIZEOF shift, and go to state 174
  7402. INC_OP shift, and go to state 175
  7403. DEC_OP shift, and go to state 176
  7404. TYPEDEF shift, and go to state 2
  7405. EXTERN shift, and go to state 3
  7406. STATIC shift, and go to state 4
  7407. AUTO shift, and go to state 5
  7408. REGISTER shift, and go to state 6
  7409. CHAR shift, and go to state 7
  7410. SHORT shift, and go to state 8
  7411. INT shift, and go to state 9
  7412. LONG shift, and go to state 10
  7413. SIGNED shift, and go to state 11
  7414. UNSIGNED shift, and go to state 12
  7415. FLOAT shift, and go to state 13
  7416. DOUBLE shift, and go to state 14
  7417. CONST shift, and go to state 15
  7418. VOLATILE shift, and go to state 16
  7419. VOID shift, and go to state 17
  7420. STRUCT shift, and go to state 18
  7421. UNION shift, and go to state 19
  7422. ENUM shift, and go to state 20
  7423. PROTOCOL shift, and go to state 190
  7424. SELECTOR shift, and go to state 191
  7425. ENCODE shift, and go to state 192
  7426. SELF shift, and go to state 193
  7427. ID shift, and go to state 25
  7428. IN shift, and go to state 26
  7429. OUT shift, and go to state 27
  7430. INOUT shift, and go to state 28
  7431. BYCOPY shift, and go to state 29
  7432. BYREF shift, and go to state 30
  7433. ONEWAY shift, and go to state 31
  7434. BOOL shift, and go to state 32
  7435. '(' shift, and go to state 194
  7436. '*' shift, and go to state 197
  7437. '+' shift, and go to state 198
  7438. '-' shift, and go to state 199
  7439. '[' shift, and go to state 200
  7440. ']' shift, and go to state 595
  7441. '&' shift, and go to state 201
  7442. '~' shift, and go to state 202
  7443. '!' shift, and go to state 203
  7444. message_expression go to state 204
  7445. selector_expression go to state 205
  7446. protocol_expression go to state 206
  7447. encode_expression go to state 207
  7448. primary_expression go to state 209
  7449. postfix_expression go to state 210
  7450. unary_expression go to state 254
  7451. unary_operator go to state 212
  7452. cast_expression go to state 213
  7453. multiplicative_expression go to state 214
  7454. additive_expression go to state 215
  7455. shift_expression go to state 216
  7456. relational_expression go to state 217
  7457. equality_expression go to state 218
  7458. and_expression go to state 219
  7459. exclusive_or_expression go to state 220
  7460. inclusive_or_expression go to state 221
  7461. logical_and_expression go to state 222
  7462. logical_or_expression go to state 223
  7463. conditional_expression go to state 255
  7464. constant_expression go to state 596
  7465. declaration_specifiers go to state 247
  7466. storage_class_specifier go to state 43
  7467. type_specifier go to state 44
  7468. struct_or_union_specifier go to state 45
  7469. struct_or_union go to state 46
  7470. enum_specifier go to state 47
  7471. type_qualifier go to state 48
  7472. protocol_qualifier go to state 49
  7473. parameter_list go to state 597
  7474. parameter_declaration go to state 249
  7475. state 430
  7476. 388 direct_declarator: '(' . declarator ')'
  7477. 417 direct_abstract_declarator: '(' . abstract_declarator ')'
  7478. 422 | '(' . ')'
  7479. 423 | '(' . parameter_list ')'
  7480. error shift, and go to state 429
  7481. IDENTIFIER shift, and go to state 1
  7482. TYPEDEF shift, and go to state 2
  7483. EXTERN shift, and go to state 3
  7484. STATIC shift, and go to state 4
  7485. AUTO shift, and go to state 5
  7486. REGISTER shift, and go to state 6
  7487. CHAR shift, and go to state 7
  7488. SHORT shift, and go to state 8
  7489. INT shift, and go to state 9
  7490. LONG shift, and go to state 10
  7491. SIGNED shift, and go to state 11
  7492. UNSIGNED shift, and go to state 12
  7493. FLOAT shift, and go to state 13
  7494. DOUBLE shift, and go to state 14
  7495. CONST shift, and go to state 15
  7496. VOLATILE shift, and go to state 16
  7497. VOID shift, and go to state 17
  7498. STRUCT shift, and go to state 18
  7499. UNION shift, and go to state 19
  7500. ENUM shift, and go to state 20
  7501. ID shift, and go to state 25
  7502. IN shift, and go to state 26
  7503. OUT shift, and go to state 27
  7504. INOUT shift, and go to state 28
  7505. BYCOPY shift, and go to state 29
  7506. BYREF shift, and go to state 30
  7507. ONEWAY shift, and go to state 31
  7508. BOOL shift, and go to state 32
  7509. '(' shift, and go to state 430
  7510. ')' shift, and go to state 598
  7511. '*' shift, and go to state 34
  7512. '[' shift, and go to state 431
  7513. declaration_specifiers go to state 247
  7514. storage_class_specifier go to state 43
  7515. type_specifier go to state 44
  7516. struct_or_union_specifier go to state 45
  7517. struct_or_union go to state 46
  7518. enum_specifier go to state 47
  7519. type_qualifier go to state 48
  7520. protocol_qualifier go to state 49
  7521. declarator go to state 71
  7522. direct_declarator go to state 51
  7523. pointer go to state 433
  7524. parameter_list go to state 599
  7525. parameter_declaration go to state 249
  7526. abstract_declarator go to state 600
  7527. direct_abstract_declarator go to state 435
  7528. state 431
  7529. 418 direct_abstract_declarator: '[' . ']'
  7530. 419 | '[' . constant_expression ']'
  7531. 426 | '[' . error
  7532. 429 | '[' . constant_expression error
  7533. error shift, and go to state 601
  7534. IDENTIFIER shift, and go to state 252
  7535. STRING shift, and go to state 170
  7536. CHARACTER shift, and go to state 171
  7537. INTEGER shift, and go to state 172
  7538. DECIMAL shift, and go to state 173
  7539. SIZEOF shift, and go to state 174
  7540. INC_OP shift, and go to state 175
  7541. DEC_OP shift, and go to state 176
  7542. PROTOCOL shift, and go to state 190
  7543. SELECTOR shift, and go to state 191
  7544. ENCODE shift, and go to state 192
  7545. SELF shift, and go to state 193
  7546. '(' shift, and go to state 194
  7547. '*' shift, and go to state 197
  7548. '+' shift, and go to state 198
  7549. '-' shift, and go to state 199
  7550. '[' shift, and go to state 200
  7551. ']' shift, and go to state 602
  7552. '&' shift, and go to state 201
  7553. '~' shift, and go to state 202
  7554. '!' shift, and go to state 203
  7555. message_expression go to state 204
  7556. selector_expression go to state 205
  7557. protocol_expression go to state 206
  7558. encode_expression go to state 207
  7559. primary_expression go to state 209
  7560. postfix_expression go to state 210
  7561. unary_expression go to state 254
  7562. unary_operator go to state 212
  7563. cast_expression go to state 213
  7564. multiplicative_expression go to state 214
  7565. additive_expression go to state 215
  7566. shift_expression go to state 216
  7567. relational_expression go to state 217
  7568. equality_expression go to state 218
  7569. and_expression go to state 219
  7570. exclusive_or_expression go to state 220
  7571. inclusive_or_expression go to state 221
  7572. logical_and_expression go to state 222
  7573. logical_or_expression go to state 223
  7574. conditional_expression go to state 255
  7575. constant_expression go to state 603
  7576. state 432
  7577. 406 parameter_declaration: declaration_specifiers declarator .
  7578. $default reduce using rule 406 (parameter_declaration)
  7579. state 433
  7580. 385 declarator: pointer . direct_declarator
  7581. 414 abstract_declarator: pointer .
  7582. 416 | pointer . direct_abstract_declarator
  7583. error shift, and go to state 429
  7584. IDENTIFIER shift, and go to state 1
  7585. '(' shift, and go to state 430
  7586. '[' shift, and go to state 431
  7587. ')' reduce using rule 414 (abstract_declarator)
  7588. ',' reduce using rule 414 (abstract_declarator)
  7589. direct_declarator go to state 95
  7590. direct_abstract_declarator go to state 604
  7591. state 434
  7592. 407 parameter_declaration: declaration_specifiers abstract_declarator .
  7593. $default reduce using rule 407 (parameter_declaration)
  7594. state 435
  7595. 415 abstract_declarator: direct_abstract_declarator .
  7596. 420 direct_abstract_declarator: direct_abstract_declarator . '[' ']'
  7597. 421 | direct_abstract_declarator . '[' constant_expression ']'
  7598. 424 | direct_abstract_declarator . '(' ')'
  7599. 425 | direct_abstract_declarator . '(' parameter_list ')'
  7600. 431 | direct_abstract_declarator . error ']'
  7601. 432 | direct_abstract_declarator . '[' error
  7602. 433 | direct_abstract_declarator . error constant_expression error
  7603. 434 | direct_abstract_declarator . '[' constant_expression error
  7604. 435 | direct_abstract_declarator . error constant_expression ']'
  7605. 437 | direct_abstract_declarator . error error
  7606. 438 | direct_abstract_declarator . error ')'
  7607. 439 | direct_abstract_declarator . '(' error
  7608. 440 | direct_abstract_declarator . error parameter_list ')'
  7609. error shift, and go to state 605
  7610. '(' shift, and go to state 606
  7611. '[' shift, and go to state 607
  7612. ')' reduce using rule 415 (abstract_declarator)
  7613. ',' reduce using rule 415 (abstract_declarator)
  7614. state 436
  7615. 391 direct_declarator: direct_declarator '(' parameter_list ')' .
  7616. $default reduce using rule 391 (direct_declarator)
  7617. state 437
  7618. 405 parameter_list: parameter_list ',' . parameter_declaration
  7619. TYPEDEF shift, and go to state 2
  7620. EXTERN shift, and go to state 3
  7621. STATIC shift, and go to state 4
  7622. AUTO shift, and go to state 5
  7623. REGISTER shift, and go to state 6
  7624. CHAR shift, and go to state 7
  7625. SHORT shift, and go to state 8
  7626. INT shift, and go to state 9
  7627. LONG shift, and go to state 10
  7628. SIGNED shift, and go to state 11
  7629. UNSIGNED shift, and go to state 12
  7630. FLOAT shift, and go to state 13
  7631. DOUBLE shift, and go to state 14
  7632. CONST shift, and go to state 15
  7633. VOLATILE shift, and go to state 16
  7634. VOID shift, and go to state 17
  7635. STRUCT shift, and go to state 18
  7636. UNION shift, and go to state 19
  7637. ENUM shift, and go to state 20
  7638. ID shift, and go to state 25
  7639. IN shift, and go to state 26
  7640. OUT shift, and go to state 27
  7641. INOUT shift, and go to state 28
  7642. BYCOPY shift, and go to state 29
  7643. BYREF shift, and go to state 30
  7644. ONEWAY shift, and go to state 31
  7645. BOOL shift, and go to state 32
  7646. declaration_specifiers go to state 247
  7647. storage_class_specifier go to state 43
  7648. type_specifier go to state 44
  7649. struct_or_union_specifier go to state 45
  7650. struct_or_union go to state 46
  7651. enum_specifier go to state 47
  7652. type_qualifier go to state 48
  7653. protocol_qualifier go to state 49
  7654. parameter_declaration go to state 608
  7655. state 438
  7656. 396 direct_declarator: direct_declarator '(' identifier_list error .
  7657. 411 identifier_list: identifier_list error . IDENTIFIER
  7658. IDENTIFIER shift, and go to state 609
  7659. $default reduce using rule 396 (direct_declarator)
  7660. state 439
  7661. 392 direct_declarator: direct_declarator '(' identifier_list ')' .
  7662. $default reduce using rule 392 (direct_declarator)
  7663. state 440
  7664. 410 identifier_list: identifier_list ',' . IDENTIFIER
  7665. IDENTIFIER shift, and go to state 610
  7666. state 441
  7667. 394 direct_declarator: direct_declarator '[' constant_expression error .
  7668. $default reduce using rule 394 (direct_declarator)
  7669. state 442
  7670. 389 direct_declarator: direct_declarator '[' constant_expression ']' .
  7671. $default reduce using rule 389 (direct_declarator)
  7672. state 443
  7673. 370 enum_specifier: ENUM error '{' enumerator_list error .
  7674. $default reduce using rule 370 (enum_specifier)
  7675. state 444
  7676. 369 enum_specifier: ENUM error '{' enumerator_list '}' .
  7677. $default reduce using rule 369 (enum_specifier)
  7678. state 445
  7679. 368 enum_specifier: ENUM IDENTIFIER '{' enumerator_list error .
  7680. $default reduce using rule 368 (enum_specifier)
  7681. state 446
  7682. 364 enum_specifier: ENUM IDENTIFIER '{' enumerator_list '}' .
  7683. $default reduce using rule 364 (enum_specifier)
  7684. state 447
  7685. 374 enumerator: IDENTIFIER '=' constant_expression .
  7686. $default reduce using rule 374 (enumerator)
  7687. state 448
  7688. 372 enumerator_list: enumerator_list ',' enumerator .
  7689. $default reduce using rule 372 (enumerator_list)
  7690. state 449
  7691. 18 class_interface: INTERFACE error ':' IDENTIFIER END .
  7692. $default reduce using rule 18 (class_interface)
  7693. state 450
  7694. 19 class_interface: INTERFACE error ':' IDENTIFIER protocol_reference_list . END
  7695. END shift, and go to state 611
  7696. state 451
  7697. 21 class_interface: INTERFACE error ':' IDENTIFIER instance_variables . END
  7698. END shift, and go to state 612
  7699. state 452
  7700. 69 instance_variables: '{' error struct_declaration_list . instance_variables_list '}'
  7701. 350 struct_declaration_list: struct_declaration_list . struct_declaration
  7702. CHAR shift, and go to state 7
  7703. SHORT shift, and go to state 8
  7704. INT shift, and go to state 9
  7705. LONG shift, and go to state 10
  7706. SIGNED shift, and go to state 11
  7707. UNSIGNED shift, and go to state 12
  7708. FLOAT shift, and go to state 13
  7709. DOUBLE shift, and go to state 14
  7710. CONST shift, and go to state 15
  7711. VOLATILE shift, and go to state 16
  7712. VOID shift, and go to state 17
  7713. STRUCT shift, and go to state 18
  7714. UNION shift, and go to state 19
  7715. ENUM shift, and go to state 20
  7716. PRIVATE shift, and go to state 266
  7717. PUBLIC shift, and go to state 267
  7718. PROTECTED shift, and go to state 268
  7719. ID shift, and go to state 25
  7720. IN shift, and go to state 26
  7721. OUT shift, and go to state 27
  7722. INOUT shift, and go to state 28
  7723. BYCOPY shift, and go to state 29
  7724. BYREF shift, and go to state 30
  7725. ONEWAY shift, and go to state 31
  7726. BOOL shift, and go to state 32
  7727. instance_variables_list go to state 613
  7728. visibility_specification go to state 458
  7729. type_specifier go to state 161
  7730. struct_or_union_specifier go to state 45
  7731. struct_or_union go to state 46
  7732. struct_declaration go to state 337
  7733. specifier_qualifier_list go to state 164
  7734. enum_specifier go to state 47
  7735. type_qualifier go to state 165
  7736. protocol_qualifier go to state 49
  7737. state 453
  7738. 84 objc_declaration_list: IDENTIFIER error . IDENTIFIER ';'
  7739. 85 | IDENTIFIER error . IDENTIFIER error
  7740. 87 | IDENTIFIER error . IDENTIFIER ';' objc_declaration_list
  7741. 88 | IDENTIFIER error . IDENTIFIER error objc_declaration_list
  7742. IDENTIFIER shift, and go to state 614
  7743. state 454
  7744. 82 objc_declaration_list: IDENTIFIER '*' . IDENTIFIER ';'
  7745. 83 | IDENTIFIER '*' . IDENTIFIER ';' objc_declaration_list
  7746. 86 | IDENTIFIER '*' . IDENTIFIER error
  7747. 89 | IDENTIFIER '*' . IDENTIFIER error objc_declaration_list
  7748. IDENTIFIER shift, and go to state 615
  7749. state 455
  7750. 66 instance_variables: '{' visibility_specification struct_declaration_list . '}'
  7751. 68 | '{' visibility_specification struct_declaration_list . instance_variables_list '}'
  7752. 70 | '{' visibility_specification struct_declaration_list . error
  7753. 72 | '{' visibility_specification struct_declaration_list . instance_variables_list error
  7754. 350 struct_declaration_list: struct_declaration_list . struct_declaration
  7755. error shift, and go to state 616
  7756. CHAR shift, and go to state 7
  7757. SHORT shift, and go to state 8
  7758. INT shift, and go to state 9
  7759. LONG shift, and go to state 10
  7760. SIGNED shift, and go to state 11
  7761. UNSIGNED shift, and go to state 12
  7762. FLOAT shift, and go to state 13
  7763. DOUBLE shift, and go to state 14
  7764. CONST shift, and go to state 15
  7765. VOLATILE shift, and go to state 16
  7766. VOID shift, and go to state 17
  7767. STRUCT shift, and go to state 18
  7768. UNION shift, and go to state 19
  7769. ENUM shift, and go to state 20
  7770. PRIVATE shift, and go to state 266
  7771. PUBLIC shift, and go to state 267
  7772. PROTECTED shift, and go to state 268
  7773. ID shift, and go to state 25
  7774. IN shift, and go to state 26
  7775. OUT shift, and go to state 27
  7776. INOUT shift, and go to state 28
  7777. BYCOPY shift, and go to state 29
  7778. BYREF shift, and go to state 30
  7779. ONEWAY shift, and go to state 31
  7780. BOOL shift, and go to state 32
  7781. '}' shift, and go to state 617
  7782. instance_variables_list go to state 618
  7783. visibility_specification go to state 458
  7784. type_specifier go to state 161
  7785. struct_or_union_specifier go to state 45
  7786. struct_or_union go to state 46
  7787. struct_declaration go to state 337
  7788. specifier_qualifier_list go to state 164
  7789. enum_specifier go to state 47
  7790. type_qualifier go to state 165
  7791. protocol_qualifier go to state 49
  7792. state 456
  7793. 63 instance_variables: '{' objc_declaration_list '}' .
  7794. $default reduce using rule 63 (instance_variables)
  7795. state 457
  7796. 64 instance_variables: '{' objc_declaration_list instance_variables_list . '}'
  7797. '}' shift, and go to state 619
  7798. state 458
  7799. 73 instance_variables_list: visibility_specification . struct_declaration_list
  7800. 74 | visibility_specification . struct_declaration_list instance_variables_list
  7801. CHAR shift, and go to state 7
  7802. SHORT shift, and go to state 8
  7803. INT shift, and go to state 9
  7804. LONG shift, and go to state 10
  7805. SIGNED shift, and go to state 11
  7806. UNSIGNED shift, and go to state 12
  7807. FLOAT shift, and go to state 13
  7808. DOUBLE shift, and go to state 14
  7809. CONST shift, and go to state 15
  7810. VOLATILE shift, and go to state 16
  7811. VOID shift, and go to state 17
  7812. STRUCT shift, and go to state 18
  7813. UNION shift, and go to state 19
  7814. ENUM shift, and go to state 20
  7815. ID shift, and go to state 25
  7816. IN shift, and go to state 26
  7817. OUT shift, and go to state 27
  7818. INOUT shift, and go to state 28
  7819. BYCOPY shift, and go to state 29
  7820. BYREF shift, and go to state 30
  7821. ONEWAY shift, and go to state 31
  7822. BOOL shift, and go to state 32
  7823. type_specifier go to state 161
  7824. struct_or_union_specifier go to state 45
  7825. struct_or_union go to state 46
  7826. struct_declaration_list go to state 620
  7827. struct_declaration go to state 163
  7828. specifier_qualifier_list go to state 164
  7829. enum_specifier go to state 47
  7830. type_qualifier go to state 165
  7831. protocol_qualifier go to state 49
  7832. state 459
  7833. 65 instance_variables: '{' struct_declaration_list '}' .
  7834. $default reduce using rule 65 (instance_variables)
  7835. state 460
  7836. 67 instance_variables: '{' struct_declaration_list instance_variables_list . '}'
  7837. 71 | '{' struct_declaration_list instance_variables_list . error
  7838. error shift, and go to state 621
  7839. '}' shift, and go to state 622
  7840. state 461
  7841. 38 category_interface: INTERFACE IDENTIFIER error IDENTIFIER ')' . END
  7842. 39 | INTERFACE IDENTIFIER error IDENTIFIER ')' . protocol_reference_list END
  7843. END shift, and go to state 623
  7844. '<' shift, and go to state 69
  7845. protocol_reference_list go to state 624
  7846. state 462
  7847. 22 class_interface: INTERFACE IDENTIFIER error IDENTIFIER instance_variables . interface_declaration_list END
  7848. TYPEDEF shift, and go to state 2
  7849. EXTERN shift, and go to state 3
  7850. STATIC shift, and go to state 4
  7851. AUTO shift, and go to state 5
  7852. REGISTER shift, and go to state 6
  7853. CHAR shift, and go to state 7
  7854. SHORT shift, and go to state 8
  7855. INT shift, and go to state 9
  7856. LONG shift, and go to state 10
  7857. SIGNED shift, and go to state 11
  7858. UNSIGNED shift, and go to state 12
  7859. FLOAT shift, and go to state 13
  7860. DOUBLE shift, and go to state 14
  7861. CONST shift, and go to state 15
  7862. VOLATILE shift, and go to state 16
  7863. VOID shift, and go to state 17
  7864. STRUCT shift, and go to state 18
  7865. UNION shift, and go to state 19
  7866. ENUM shift, and go to state 20
  7867. ID shift, and go to state 25
  7868. IN shift, and go to state 26
  7869. OUT shift, and go to state 27
  7870. INOUT shift, and go to state 28
  7871. BYCOPY shift, and go to state 29
  7872. BYREF shift, and go to state 30
  7873. ONEWAY shift, and go to state 31
  7874. BOOL shift, and go to state 32
  7875. '+' shift, and go to state 112
  7876. '-' shift, and go to state 113
  7877. interface_declaration_list go to state 625
  7878. method_declaration go to state 117
  7879. class_method_declaration go to state 118
  7880. instance_method_declaration go to state 119
  7881. declaration go to state 120
  7882. declaration_specifiers go to state 90
  7883. storage_class_specifier go to state 43
  7884. type_specifier go to state 44
  7885. struct_or_union_specifier go to state 45
  7886. struct_or_union go to state 46
  7887. enum_specifier go to state 47
  7888. type_qualifier go to state 48
  7889. protocol_qualifier go to state 49
  7890. state 463
  7891. 2 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER END .
  7892. $default reduce using rule 2 (class_interface)
  7893. state 464
  7894. 4 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list . END
  7895. 8 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list . instance_variables END
  7896. 12 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list . interface_declaration_list END
  7897. 16 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list . instance_variables interface_declaration_list END
  7898. TYPEDEF shift, and go to state 2
  7899. EXTERN shift, and go to state 3
  7900. STATIC shift, and go to state 4
  7901. AUTO shift, and go to state 5
  7902. REGISTER shift, and go to state 6
  7903. CHAR shift, and go to state 7
  7904. SHORT shift, and go to state 8
  7905. INT shift, and go to state 9
  7906. LONG shift, and go to state 10
  7907. SIGNED shift, and go to state 11
  7908. UNSIGNED shift, and go to state 12
  7909. FLOAT shift, and go to state 13
  7910. DOUBLE shift, and go to state 14
  7911. CONST shift, and go to state 15
  7912. VOLATILE shift, and go to state 16
  7913. VOID shift, and go to state 17
  7914. STRUCT shift, and go to state 18
  7915. UNION shift, and go to state 19
  7916. ENUM shift, and go to state 20
  7917. END shift, and go to state 626
  7918. ID shift, and go to state 25
  7919. IN shift, and go to state 26
  7920. OUT shift, and go to state 27
  7921. INOUT shift, and go to state 28
  7922. BYCOPY shift, and go to state 29
  7923. BYREF shift, and go to state 30
  7924. ONEWAY shift, and go to state 31
  7925. BOOL shift, and go to state 32
  7926. '{' shift, and go to state 106
  7927. '+' shift, and go to state 112
  7928. '-' shift, and go to state 113
  7929. instance_variables go to state 627
  7930. interface_declaration_list go to state 628
  7931. method_declaration go to state 117
  7932. class_method_declaration go to state 118
  7933. instance_method_declaration go to state 119
  7934. declaration go to state 120
  7935. declaration_specifiers go to state 90
  7936. storage_class_specifier go to state 43
  7937. type_specifier go to state 44
  7938. struct_or_union_specifier go to state 45
  7939. struct_or_union go to state 46
  7940. enum_specifier go to state 47
  7941. type_qualifier go to state 48
  7942. protocol_qualifier go to state 49
  7943. state 465
  7944. 6 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables . END
  7945. 14 | INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables . interface_declaration_list END
  7946. TYPEDEF shift, and go to state 2
  7947. EXTERN shift, and go to state 3
  7948. STATIC shift, and go to state 4
  7949. AUTO shift, and go to state 5
  7950. REGISTER shift, and go to state 6
  7951. CHAR shift, and go to state 7
  7952. SHORT shift, and go to state 8
  7953. INT shift, and go to state 9
  7954. LONG shift, and go to state 10
  7955. SIGNED shift, and go to state 11
  7956. UNSIGNED shift, and go to state 12
  7957. FLOAT shift, and go to state 13
  7958. DOUBLE shift, and go to state 14
  7959. CONST shift, and go to state 15
  7960. VOLATILE shift, and go to state 16
  7961. VOID shift, and go to state 17
  7962. STRUCT shift, and go to state 18
  7963. UNION shift, and go to state 19
  7964. ENUM shift, and go to state 20
  7965. END shift, and go to state 629
  7966. ID shift, and go to state 25
  7967. IN shift, and go to state 26
  7968. OUT shift, and go to state 27
  7969. INOUT shift, and go to state 28
  7970. BYCOPY shift, and go to state 29
  7971. BYREF shift, and go to state 30
  7972. ONEWAY shift, and go to state 31
  7973. BOOL shift, and go to state 32
  7974. '+' shift, and go to state 112
  7975. '-' shift, and go to state 113
  7976. interface_declaration_list go to state 630
  7977. method_declaration go to state 117
  7978. class_method_declaration go to state 118
  7979. instance_method_declaration go to state 119
  7980. declaration go to state 120
  7981. declaration_specifiers go to state 90
  7982. storage_class_specifier go to state 43
  7983. type_specifier go to state 44
  7984. struct_or_union_specifier go to state 45
  7985. struct_or_union go to state 46
  7986. enum_specifier go to state 47
  7987. type_qualifier go to state 48
  7988. protocol_qualifier go to state 49
  7989. state 466
  7990. 10 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER interface_declaration_list . END
  7991. 80 interface_declaration_list: interface_declaration_list . declaration
  7992. 81 | interface_declaration_list . method_declaration
  7993. TYPEDEF shift, and go to state 2
  7994. EXTERN shift, and go to state 3
  7995. STATIC shift, and go to state 4
  7996. AUTO shift, and go to state 5
  7997. REGISTER shift, and go to state 6
  7998. CHAR shift, and go to state 7
  7999. SHORT shift, and go to state 8
  8000. INT shift, and go to state 9
  8001. LONG shift, and go to state 10
  8002. SIGNED shift, and go to state 11
  8003. UNSIGNED shift, and go to state 12
  8004. FLOAT shift, and go to state 13
  8005. DOUBLE shift, and go to state 14
  8006. CONST shift, and go to state 15
  8007. VOLATILE shift, and go to state 16
  8008. VOID shift, and go to state 17
  8009. STRUCT shift, and go to state 18
  8010. UNION shift, and go to state 19
  8011. ENUM shift, and go to state 20
  8012. END shift, and go to state 631
  8013. ID shift, and go to state 25
  8014. IN shift, and go to state 26
  8015. OUT shift, and go to state 27
  8016. INOUT shift, and go to state 28
  8017. BYCOPY shift, and go to state 29
  8018. BYREF shift, and go to state 30
  8019. ONEWAY shift, and go to state 31
  8020. BOOL shift, and go to state 32
  8021. '+' shift, and go to state 112
  8022. '-' shift, and go to state 113
  8023. method_declaration go to state 292
  8024. class_method_declaration go to state 118
  8025. instance_method_declaration go to state 119
  8026. declaration go to state 293
  8027. declaration_specifiers go to state 90
  8028. storage_class_specifier go to state 43
  8029. type_specifier go to state 44
  8030. struct_or_union_specifier go to state 45
  8031. struct_or_union go to state 46
  8032. enum_specifier go to state 47
  8033. type_qualifier go to state 48
  8034. protocol_qualifier go to state 49
  8035. state 467
  8036. 40 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER error .
  8037. $default reduce using rule 40 (category_interface)
  8038. state 468
  8039. 34 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER ')' . END
  8040. 35 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' . protocol_reference_list END
  8041. 36 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' . interface_declaration_list END
  8042. 37 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' . protocol_reference_list interface_declaration_list END
  8043. 41 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' . error
  8044. 42 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' . protocol_reference_list interface_declaration_list error
  8045. error shift, and go to state 632
  8046. TYPEDEF shift, and go to state 2
  8047. EXTERN shift, and go to state 3
  8048. STATIC shift, and go to state 4
  8049. AUTO shift, and go to state 5
  8050. REGISTER shift, and go to state 6
  8051. CHAR shift, and go to state 7
  8052. SHORT shift, and go to state 8
  8053. INT shift, and go to state 9
  8054. LONG shift, and go to state 10
  8055. SIGNED shift, and go to state 11
  8056. UNSIGNED shift, and go to state 12
  8057. FLOAT shift, and go to state 13
  8058. DOUBLE shift, and go to state 14
  8059. CONST shift, and go to state 15
  8060. VOLATILE shift, and go to state 16
  8061. VOID shift, and go to state 17
  8062. STRUCT shift, and go to state 18
  8063. UNION shift, and go to state 19
  8064. ENUM shift, and go to state 20
  8065. END shift, and go to state 633
  8066. ID shift, and go to state 25
  8067. IN shift, and go to state 26
  8068. OUT shift, and go to state 27
  8069. INOUT shift, and go to state 28
  8070. BYCOPY shift, and go to state 29
  8071. BYREF shift, and go to state 30
  8072. ONEWAY shift, and go to state 31
  8073. BOOL shift, and go to state 32
  8074. '<' shift, and go to state 69
  8075. '+' shift, and go to state 112
  8076. '-' shift, and go to state 113
  8077. protocol_reference_list go to state 634
  8078. interface_declaration_list go to state 635
  8079. method_declaration go to state 117
  8080. class_method_declaration go to state 118
  8081. instance_method_declaration go to state 119
  8082. declaration go to state 120
  8083. declaration_specifiers go to state 90
  8084. storage_class_specifier go to state 43
  8085. type_specifier go to state 44
  8086. struct_or_union_specifier go to state 45
  8087. struct_or_union go to state 46
  8088. enum_specifier go to state 47
  8089. type_qualifier go to state 48
  8090. protocol_qualifier go to state 49
  8091. state 469
  8092. 126 method_type: '(' IDENTIFIER . '*' ')'
  8093. 127 | '(' IDENTIFIER . '*' error
  8094. 128 | '(' IDENTIFIER . error ')'
  8095. error shift, and go to state 636
  8096. '*' shift, and go to state 637
  8097. state 470
  8098. 125 method_type: '(' type_name . ')'
  8099. ')' shift, and go to state 638
  8100. state 471
  8101. 95 class_method_declaration: '+' method_selector error .
  8102. $default reduce using rule 95 (class_method_declaration)
  8103. state 472
  8104. 92 class_method_declaration: '+' method_selector ';' .
  8105. $default reduce using rule 92 (class_method_declaration)
  8106. state 473
  8107. 118 method_selector: keyword_selector ',' . ELLIPSIS
  8108. ELLIPSIS shift, and go to state 639
  8109. state 474
  8110. 121 keyword_selector: keyword_selector keyword_declarator .
  8111. $default reduce using rule 121 (keyword_selector)
  8112. state 475
  8113. 122 keyword_declarator: selector . ':' IDENTIFIER
  8114. 123 | selector . ':' method_type IDENTIFIER
  8115. ':' shift, and go to state 476
  8116. state 476
  8117. 122 keyword_declarator: selector ':' . IDENTIFIER
  8118. 123 | selector ':' . method_type IDENTIFIER
  8119. IDENTIFIER shift, and go to state 640
  8120. '(' shift, and go to state 277
  8121. method_type go to state 641
  8122. state 477
  8123. 93 class_method_declaration: '+' method_type method_selector . ';'
  8124. 94 | '+' method_type method_selector . error
  8125. error shift, and go to state 642
  8126. ';' shift, and go to state 643
  8127. state 478
  8128. 99 instance_method_declaration: '-' method_selector error .
  8129. $default reduce using rule 99 (instance_method_declaration)
  8130. state 479
  8131. 96 instance_method_declaration: '-' method_selector ';' .
  8132. $default reduce using rule 96 (instance_method_declaration)
  8133. state 480
  8134. 97 instance_method_declaration: '-' method_type method_selector . ';'
  8135. 98 | '-' method_type method_selector . error
  8136. error shift, and go to state 644
  8137. ';' shift, and go to state 645
  8138. state 481
  8139. 7 class_interface: INTERFACE IDENTIFIER protocol_reference_list instance_variables END .
  8140. $default reduce using rule 7 (class_interface)
  8141. state 482
  8142. 15 class_interface: INTERFACE IDENTIFIER protocol_reference_list instance_variables interface_declaration_list . END
  8143. 80 interface_declaration_list: interface_declaration_list . declaration
  8144. 81 | interface_declaration_list . method_declaration
  8145. TYPEDEF shift, and go to state 2
  8146. EXTERN shift, and go to state 3
  8147. STATIC shift, and go to state 4
  8148. AUTO shift, and go to state 5
  8149. REGISTER shift, and go to state 6
  8150. CHAR shift, and go to state 7
  8151. SHORT shift, and go to state 8
  8152. INT shift, and go to state 9
  8153. LONG shift, and go to state 10
  8154. SIGNED shift, and go to state 11
  8155. UNSIGNED shift, and go to state 12
  8156. FLOAT shift, and go to state 13
  8157. DOUBLE shift, and go to state 14
  8158. CONST shift, and go to state 15
  8159. VOLATILE shift, and go to state 16
  8160. VOID shift, and go to state 17
  8161. STRUCT shift, and go to state 18
  8162. UNION shift, and go to state 19
  8163. ENUM shift, and go to state 20
  8164. END shift, and go to state 646
  8165. ID shift, and go to state 25
  8166. IN shift, and go to state 26
  8167. OUT shift, and go to state 27
  8168. INOUT shift, and go to state 28
  8169. BYCOPY shift, and go to state 29
  8170. BYREF shift, and go to state 30
  8171. ONEWAY shift, and go to state 31
  8172. BOOL shift, and go to state 32
  8173. '+' shift, and go to state 112
  8174. '-' shift, and go to state 113
  8175. method_declaration go to state 292
  8176. class_method_declaration go to state 118
  8177. instance_method_declaration go to state 119
  8178. declaration go to state 293
  8179. declaration_specifiers go to state 90
  8180. storage_class_specifier go to state 43
  8181. type_specifier go to state 44
  8182. struct_or_union_specifier go to state 45
  8183. struct_or_union go to state 46
  8184. enum_specifier go to state 47
  8185. type_qualifier go to state 48
  8186. protocol_qualifier go to state 49
  8187. state 483
  8188. 11 class_interface: INTERFACE IDENTIFIER protocol_reference_list interface_declaration_list END .
  8189. $default reduce using rule 11 (class_interface)
  8190. state 484
  8191. 13 class_interface: INTERFACE IDENTIFIER instance_variables interface_declaration_list END .
  8192. $default reduce using rule 13 (class_interface)
  8193. state 485
  8194. 24 class_implementation: IMPLEMENTATION IDENTIFIER ':' IDENTIFIER END .
  8195. $default reduce using rule 24 (class_implementation)
  8196. state 486
  8197. 26 class_implementation: IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables . END
  8198. 30 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables . implementation_definition_list END
  8199. IDENTIFIER shift, and go to state 1
  8200. TYPEDEF shift, and go to state 2
  8201. EXTERN shift, and go to state 3
  8202. STATIC shift, and go to state 4
  8203. AUTO shift, and go to state 5
  8204. REGISTER shift, and go to state 6
  8205. CHAR shift, and go to state 7
  8206. SHORT shift, and go to state 8
  8207. INT shift, and go to state 9
  8208. LONG shift, and go to state 10
  8209. SIGNED shift, and go to state 11
  8210. UNSIGNED shift, and go to state 12
  8211. FLOAT shift, and go to state 13
  8212. DOUBLE shift, and go to state 14
  8213. CONST shift, and go to state 15
  8214. VOLATILE shift, and go to state 16
  8215. VOID shift, and go to state 17
  8216. STRUCT shift, and go to state 18
  8217. UNION shift, and go to state 19
  8218. ENUM shift, and go to state 20
  8219. END shift, and go to state 647
  8220. ID shift, and go to state 25
  8221. IN shift, and go to state 26
  8222. OUT shift, and go to state 27
  8223. INOUT shift, and go to state 28
  8224. BYCOPY shift, and go to state 29
  8225. BYREF shift, and go to state 30
  8226. ONEWAY shift, and go to state 31
  8227. BOOL shift, and go to state 32
  8228. '(' shift, and go to state 33
  8229. '*' shift, and go to state 34
  8230. '+' shift, and go to state 125
  8231. '-' shift, and go to state 126
  8232. implementation_definition_list go to state 648
  8233. method_definition go to state 129
  8234. class_method_definition go to state 130
  8235. instance_method_definition go to state 131
  8236. declaration go to state 132
  8237. declaration_specifiers go to state 42
  8238. storage_class_specifier go to state 43
  8239. type_specifier go to state 44
  8240. struct_or_union_specifier go to state 45
  8241. struct_or_union go to state 46
  8242. enum_specifier go to state 47
  8243. type_qualifier go to state 48
  8244. protocol_qualifier go to state 49
  8245. declarator go to state 50
  8246. direct_declarator go to state 51
  8247. pointer go to state 52
  8248. function_definition go to state 133
  8249. state 487
  8250. 28 class_implementation: IMPLEMENTATION IDENTIFIER ':' IDENTIFIER implementation_definition_list . END
  8251. 103 implementation_definition_list: implementation_definition_list . function_definition
  8252. 104 | implementation_definition_list . declaration
  8253. 105 | implementation_definition_list . method_definition
  8254. IDENTIFIER shift, and go to state 1
  8255. TYPEDEF shift, and go to state 2
  8256. EXTERN shift, and go to state 3
  8257. STATIC shift, and go to state 4
  8258. AUTO shift, and go to state 5
  8259. REGISTER shift, and go to state 6
  8260. CHAR shift, and go to state 7
  8261. SHORT shift, and go to state 8
  8262. INT shift, and go to state 9
  8263. LONG shift, and go to state 10
  8264. SIGNED shift, and go to state 11
  8265. UNSIGNED shift, and go to state 12
  8266. FLOAT shift, and go to state 13
  8267. DOUBLE shift, and go to state 14
  8268. CONST shift, and go to state 15
  8269. VOLATILE shift, and go to state 16
  8270. VOID shift, and go to state 17
  8271. STRUCT shift, and go to state 18
  8272. UNION shift, and go to state 19
  8273. ENUM shift, and go to state 20
  8274. END shift, and go to state 649
  8275. ID shift, and go to state 25
  8276. IN shift, and go to state 26
  8277. OUT shift, and go to state 27
  8278. INOUT shift, and go to state 28
  8279. BYCOPY shift, and go to state 29
  8280. BYREF shift, and go to state 30
  8281. ONEWAY shift, and go to state 31
  8282. BOOL shift, and go to state 32
  8283. '(' shift, and go to state 33
  8284. '*' shift, and go to state 34
  8285. '+' shift, and go to state 125
  8286. '-' shift, and go to state 126
  8287. method_definition go to state 305
  8288. class_method_definition go to state 130
  8289. instance_method_definition go to state 131
  8290. declaration go to state 306
  8291. declaration_specifiers go to state 42
  8292. storage_class_specifier go to state 43
  8293. type_specifier go to state 44
  8294. struct_or_union_specifier go to state 45
  8295. struct_or_union go to state 46
  8296. enum_specifier go to state 47
  8297. type_qualifier go to state 48
  8298. protocol_qualifier go to state 49
  8299. declarator go to state 50
  8300. direct_declarator go to state 51
  8301. pointer go to state 52
  8302. function_definition go to state 307
  8303. state 488
  8304. 45 category_implementation: IMPLEMENTATION IDENTIFIER '(' error ')' . implementation_definition_list END
  8305. IDENTIFIER shift, and go to state 1
  8306. TYPEDEF shift, and go to state 2
  8307. EXTERN shift, and go to state 3
  8308. STATIC shift, and go to state 4
  8309. AUTO shift, and go to state 5
  8310. REGISTER shift, and go to state 6
  8311. CHAR shift, and go to state 7
  8312. SHORT shift, and go to state 8
  8313. INT shift, and go to state 9
  8314. LONG shift, and go to state 10
  8315. SIGNED shift, and go to state 11
  8316. UNSIGNED shift, and go to state 12
  8317. FLOAT shift, and go to state 13
  8318. DOUBLE shift, and go to state 14
  8319. CONST shift, and go to state 15
  8320. VOLATILE shift, and go to state 16
  8321. VOID shift, and go to state 17
  8322. STRUCT shift, and go to state 18
  8323. UNION shift, and go to state 19
  8324. ENUM shift, and go to state 20
  8325. ID shift, and go to state 25
  8326. IN shift, and go to state 26
  8327. OUT shift, and go to state 27
  8328. INOUT shift, and go to state 28
  8329. BYCOPY shift, and go to state 29
  8330. BYREF shift, and go to state 30
  8331. ONEWAY shift, and go to state 31
  8332. BOOL shift, and go to state 32
  8333. '(' shift, and go to state 33
  8334. '*' shift, and go to state 34
  8335. '+' shift, and go to state 125
  8336. '-' shift, and go to state 126
  8337. implementation_definition_list go to state 650
  8338. method_definition go to state 129
  8339. class_method_definition go to state 130
  8340. instance_method_definition go to state 131
  8341. declaration go to state 132
  8342. declaration_specifiers go to state 42
  8343. storage_class_specifier go to state 43
  8344. type_specifier go to state 44
  8345. struct_or_union_specifier go to state 45
  8346. struct_or_union go to state 46
  8347. enum_specifier go to state 47
  8348. type_qualifier go to state 48
  8349. protocol_qualifier go to state 49
  8350. declarator go to state 50
  8351. direct_declarator go to state 51
  8352. pointer go to state 52
  8353. function_definition go to state 133
  8354. state 489
  8355. 46 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER error . implementation_definition_list END
  8356. IDENTIFIER shift, and go to state 1
  8357. TYPEDEF shift, and go to state 2
  8358. EXTERN shift, and go to state 3
  8359. STATIC shift, and go to state 4
  8360. AUTO shift, and go to state 5
  8361. REGISTER shift, and go to state 6
  8362. CHAR shift, and go to state 7
  8363. SHORT shift, and go to state 8
  8364. INT shift, and go to state 9
  8365. LONG shift, and go to state 10
  8366. SIGNED shift, and go to state 11
  8367. UNSIGNED shift, and go to state 12
  8368. FLOAT shift, and go to state 13
  8369. DOUBLE shift, and go to state 14
  8370. CONST shift, and go to state 15
  8371. VOLATILE shift, and go to state 16
  8372. VOID shift, and go to state 17
  8373. STRUCT shift, and go to state 18
  8374. UNION shift, and go to state 19
  8375. ENUM shift, and go to state 20
  8376. ID shift, and go to state 25
  8377. IN shift, and go to state 26
  8378. OUT shift, and go to state 27
  8379. INOUT shift, and go to state 28
  8380. BYCOPY shift, and go to state 29
  8381. BYREF shift, and go to state 30
  8382. ONEWAY shift, and go to state 31
  8383. BOOL shift, and go to state 32
  8384. '(' shift, and go to state 33
  8385. '*' shift, and go to state 34
  8386. '+' shift, and go to state 125
  8387. '-' shift, and go to state 126
  8388. implementation_definition_list go to state 651
  8389. method_definition go to state 129
  8390. class_method_definition go to state 130
  8391. instance_method_definition go to state 131
  8392. declaration go to state 132
  8393. declaration_specifiers go to state 42
  8394. storage_class_specifier go to state 43
  8395. type_specifier go to state 44
  8396. struct_or_union_specifier go to state 45
  8397. struct_or_union go to state 46
  8398. enum_specifier go to state 47
  8399. type_qualifier go to state 48
  8400. protocol_qualifier go to state 49
  8401. declarator go to state 50
  8402. direct_declarator go to state 51
  8403. pointer go to state 52
  8404. function_definition go to state 133
  8405. state 490
  8406. 43 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' . END
  8407. 44 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' . implementation_definition_list END
  8408. 47 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' . error
  8409. error shift, and go to state 652
  8410. IDENTIFIER shift, and go to state 1
  8411. TYPEDEF shift, and go to state 2
  8412. EXTERN shift, and go to state 3
  8413. STATIC shift, and go to state 4
  8414. AUTO shift, and go to state 5
  8415. REGISTER shift, and go to state 6
  8416. CHAR shift, and go to state 7
  8417. SHORT shift, and go to state 8
  8418. INT shift, and go to state 9
  8419. LONG shift, and go to state 10
  8420. SIGNED shift, and go to state 11
  8421. UNSIGNED shift, and go to state 12
  8422. FLOAT shift, and go to state 13
  8423. DOUBLE shift, and go to state 14
  8424. CONST shift, and go to state 15
  8425. VOLATILE shift, and go to state 16
  8426. VOID shift, and go to state 17
  8427. STRUCT shift, and go to state 18
  8428. UNION shift, and go to state 19
  8429. ENUM shift, and go to state 20
  8430. END shift, and go to state 653
  8431. ID shift, and go to state 25
  8432. IN shift, and go to state 26
  8433. OUT shift, and go to state 27
  8434. INOUT shift, and go to state 28
  8435. BYCOPY shift, and go to state 29
  8436. BYREF shift, and go to state 30
  8437. ONEWAY shift, and go to state 31
  8438. BOOL shift, and go to state 32
  8439. '(' shift, and go to state 33
  8440. '*' shift, and go to state 34
  8441. '+' shift, and go to state 125
  8442. '-' shift, and go to state 126
  8443. implementation_definition_list go to state 654
  8444. method_definition go to state 129
  8445. class_method_definition go to state 130
  8446. instance_method_definition go to state 131
  8447. declaration go to state 132
  8448. declaration_specifiers go to state 42
  8449. storage_class_specifier go to state 43
  8450. type_specifier go to state 44
  8451. struct_or_union_specifier go to state 45
  8452. struct_or_union go to state 46
  8453. enum_specifier go to state 47
  8454. type_qualifier go to state 48
  8455. protocol_qualifier go to state 49
  8456. declarator go to state 50
  8457. direct_declarator go to state 51
  8458. pointer go to state 52
  8459. function_definition go to state 133
  8460. state 491
  8461. 108 class_method_definition: '+' method_selector compound_statement .
  8462. $default reduce using rule 108 (class_method_definition)
  8463. state 492
  8464. 110 class_method_definition: '+' method_selector declaration_list . compound_statement
  8465. '{' shift, and go to state 88
  8466. compound_statement go to state 655
  8467. state 493
  8468. 109 class_method_definition: '+' method_type method_selector . compound_statement
  8469. 111 | '+' method_type method_selector . declaration_list compound_statement
  8470. TYPEDEF shift, and go to state 2
  8471. EXTERN shift, and go to state 3
  8472. STATIC shift, and go to state 4
  8473. AUTO shift, and go to state 5
  8474. REGISTER shift, and go to state 6
  8475. CHAR shift, and go to state 7
  8476. SHORT shift, and go to state 8
  8477. INT shift, and go to state 9
  8478. LONG shift, and go to state 10
  8479. SIGNED shift, and go to state 11
  8480. UNSIGNED shift, and go to state 12
  8481. FLOAT shift, and go to state 13
  8482. DOUBLE shift, and go to state 14
  8483. CONST shift, and go to state 15
  8484. VOLATILE shift, and go to state 16
  8485. VOID shift, and go to state 17
  8486. STRUCT shift, and go to state 18
  8487. UNION shift, and go to state 19
  8488. ENUM shift, and go to state 20
  8489. ID shift, and go to state 25
  8490. IN shift, and go to state 26
  8491. OUT shift, and go to state 27
  8492. INOUT shift, and go to state 28
  8493. BYCOPY shift, and go to state 29
  8494. BYREF shift, and go to state 30
  8495. ONEWAY shift, and go to state 31
  8496. BOOL shift, and go to state 32
  8497. '{' shift, and go to state 88
  8498. declaration go to state 89
  8499. declaration_specifiers go to state 90
  8500. storage_class_specifier go to state 43
  8501. type_specifier go to state 44
  8502. struct_or_union_specifier go to state 45
  8503. struct_or_union go to state 46
  8504. enum_specifier go to state 47
  8505. type_qualifier go to state 48
  8506. protocol_qualifier go to state 49
  8507. compound_statement go to state 656
  8508. declaration_list go to state 657
  8509. state 494
  8510. 112 instance_method_definition: '-' method_selector compound_statement .
  8511. $default reduce using rule 112 (instance_method_definition)
  8512. state 495
  8513. 114 instance_method_definition: '-' method_selector declaration_list . compound_statement
  8514. '{' shift, and go to state 88
  8515. compound_statement go to state 658
  8516. state 496
  8517. 113 instance_method_definition: '-' method_type method_selector . compound_statement
  8518. 115 | '-' method_type method_selector . declaration_list compound_statement
  8519. TYPEDEF shift, and go to state 2
  8520. EXTERN shift, and go to state 3
  8521. STATIC shift, and go to state 4
  8522. AUTO shift, and go to state 5
  8523. REGISTER shift, and go to state 6
  8524. CHAR shift, and go to state 7
  8525. SHORT shift, and go to state 8
  8526. INT shift, and go to state 9
  8527. LONG shift, and go to state 10
  8528. SIGNED shift, and go to state 11
  8529. UNSIGNED shift, and go to state 12
  8530. FLOAT shift, and go to state 13
  8531. DOUBLE shift, and go to state 14
  8532. CONST shift, and go to state 15
  8533. VOLATILE shift, and go to state 16
  8534. VOID shift, and go to state 17
  8535. STRUCT shift, and go to state 18
  8536. UNION shift, and go to state 19
  8537. ENUM shift, and go to state 20
  8538. ID shift, and go to state 25
  8539. IN shift, and go to state 26
  8540. OUT shift, and go to state 27
  8541. INOUT shift, and go to state 28
  8542. BYCOPY shift, and go to state 29
  8543. BYREF shift, and go to state 30
  8544. ONEWAY shift, and go to state 31
  8545. BOOL shift, and go to state 32
  8546. '{' shift, and go to state 88
  8547. declaration go to state 89
  8548. declaration_specifiers go to state 90
  8549. storage_class_specifier go to state 43
  8550. type_specifier go to state 44
  8551. struct_or_union_specifier go to state 45
  8552. struct_or_union go to state 46
  8553. enum_specifier go to state 47
  8554. type_qualifier go to state 48
  8555. protocol_qualifier go to state 49
  8556. compound_statement go to state 659
  8557. declaration_list go to state 660
  8558. state 497
  8559. 29 class_implementation: IMPLEMENTATION IDENTIFIER instance_variables implementation_definition_list END .
  8560. $default reduce using rule 29 (class_implementation)
  8561. state 498
  8562. 52 protocol_declaration: PROTOCOL error protocol_reference_list interface_declaration_list END .
  8563. $default reduce using rule 52 (protocol_declaration)
  8564. state 499
  8565. 51 protocol_declaration: PROTOCOL protocol_name protocol_reference_list interface_declaration_list END .
  8566. $default reduce using rule 51 (protocol_declaration)
  8567. state 500
  8568. 61 protocol_list: protocol_list ',' protocol_name .
  8569. $default reduce using rule 61 (protocol_list)
  8570. state 501
  8571. 446 initializer_list: initializer .
  8572. $default reduce using rule 446 (initializer_list)
  8573. state 502
  8574. 442 initializer: '{' initializer_list . '}'
  8575. 443 | '{' initializer_list . ',' '}'
  8576. 444 | '{' initializer_list . error
  8577. 445 | '{' initializer_list . ',' error
  8578. 447 initializer_list: initializer_list . ',' initializer
  8579. 448 | initializer_list . error initializer
  8580. error shift, and go to state 661
  8581. ',' shift, and go to state 662
  8582. '}' shift, and go to state 663
  8583. state 503
  8584. 337 struct_or_union_specifier: struct_or_union error DEFS error IDENTIFIER . ')' '}'
  8585. 342 | struct_or_union error DEFS error IDENTIFIER . ')' error
  8586. 344 | struct_or_union error DEFS error IDENTIFIER . error '}'
  8587. 345 | struct_or_union error DEFS error IDENTIFIER . error error
  8588. error shift, and go to state 664
  8589. ')' shift, and go to state 665
  8590. state 504
  8591. 328 struct_or_union_specifier: struct_or_union error DEFS '(' IDENTIFIER . ')' '}'
  8592. 332 | struct_or_union error DEFS '(' IDENTIFIER . ')' error
  8593. 335 | struct_or_union error DEFS '(' IDENTIFIER . error '}'
  8594. 340 | struct_or_union error DEFS '(' IDENTIFIER . error error
  8595. error shift, and go to state 666
  8596. ')' shift, and go to state 667
  8597. state 505
  8598. 317 struct_or_union_specifier: struct_or_union error '{' error error . IDENTIFIER ')' '}'
  8599. 321 | struct_or_union error '{' error error . IDENTIFIER ')' error
  8600. 322 | struct_or_union error '{' error error . IDENTIFIER error '}'
  8601. 323 | struct_or_union error '{' error error . IDENTIFIER error error
  8602. IDENTIFIER shift, and go to state 668
  8603. state 506
  8604. 307 struct_or_union_specifier: struct_or_union error '{' error '(' . IDENTIFIER ')' '}'
  8605. 313 | struct_or_union error '{' error '(' . IDENTIFIER ')' error
  8606. 316 | struct_or_union error '{' error '(' . IDENTIFIER error '}'
  8607. 320 | struct_or_union error '{' error '(' . IDENTIFIER error error
  8608. IDENTIFIER shift, and go to state 669
  8609. state 507
  8610. 306 struct_or_union_specifier: struct_or_union error '{' DEFS error . IDENTIFIER ')' '}'
  8611. 312 | struct_or_union error '{' DEFS error . IDENTIFIER ')' error
  8612. 315 | struct_or_union error '{' DEFS error . IDENTIFIER error '}'
  8613. 319 | struct_or_union error '{' DEFS error . IDENTIFIER error error
  8614. IDENTIFIER shift, and go to state 670
  8615. state 508
  8616. 297 struct_or_union_specifier: struct_or_union error '{' DEFS '(' . IDENTIFIER ')' '}'
  8617. 301 | struct_or_union error '{' DEFS '(' . IDENTIFIER ')' error
  8618. 304 | struct_or_union error '{' DEFS '(' . IDENTIFIER error '}'
  8619. 310 | struct_or_union error '{' DEFS '(' . IDENTIFIER error error
  8620. IDENTIFIER shift, and go to state 671
  8621. state 509
  8622. 291 struct_or_union_specifier: struct_or_union error '{' struct_declaration_list '}' .
  8623. $default reduce using rule 291 (struct_or_union_specifier)
  8624. state 510
  8625. 305 struct_or_union_specifier: struct_or_union IDENTIFIER '{' error error . IDENTIFIER ')' '}'
  8626. 311 | struct_or_union IDENTIFIER '{' error error . IDENTIFIER ')' error
  8627. 314 | struct_or_union IDENTIFIER '{' error error . IDENTIFIER error '}'
  8628. 318 | struct_or_union IDENTIFIER '{' error error . IDENTIFIER error error
  8629. IDENTIFIER shift, and go to state 672
  8630. state 511
  8631. 296 struct_or_union_specifier: struct_or_union IDENTIFIER '{' error '(' . IDENTIFIER ')' '}'
  8632. 300 | struct_or_union IDENTIFIER '{' error '(' . IDENTIFIER ')' error
  8633. 303 | struct_or_union IDENTIFIER '{' error '(' . IDENTIFIER error '}'
  8634. 309 | struct_or_union IDENTIFIER '{' error '(' . IDENTIFIER error error
  8635. IDENTIFIER shift, and go to state 673
  8636. state 512
  8637. 295 struct_or_union_specifier: struct_or_union IDENTIFIER '{' DEFS error . IDENTIFIER ')' '}'
  8638. 299 | struct_or_union IDENTIFIER '{' DEFS error . IDENTIFIER ')' error
  8639. 302 | struct_or_union IDENTIFIER '{' DEFS error . IDENTIFIER error '}'
  8640. 308 | struct_or_union IDENTIFIER '{' DEFS error . IDENTIFIER error error
  8641. IDENTIFIER shift, and go to state 674
  8642. state 513
  8643. 286 struct_or_union_specifier: struct_or_union IDENTIFIER '{' DEFS '(' . IDENTIFIER ')' '}'
  8644. 293 | struct_or_union IDENTIFIER '{' DEFS '(' . IDENTIFIER ')' error
  8645. 294 | struct_or_union IDENTIFIER '{' DEFS '(' . IDENTIFIER error '}'
  8646. 298 | struct_or_union IDENTIFIER '{' DEFS '(' . IDENTIFIER error error
  8647. IDENTIFIER shift, and go to state 675
  8648. state 514
  8649. 290 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list error .
  8650. $default reduce using rule 290 (struct_or_union_specifier)
  8651. state 515
  8652. 284 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}' .
  8653. $default reduce using rule 284 (struct_or_union_specifier)
  8654. state 516
  8655. 336 struct_or_union_specifier: struct_or_union '{' error error IDENTIFIER . ')' '}'
  8656. 341 | struct_or_union '{' error error IDENTIFIER . ')' error
  8657. 343 | struct_or_union '{' error error IDENTIFIER . error '}'
  8658. 346 | struct_or_union '{' error error IDENTIFIER . error error
  8659. error shift, and go to state 676
  8660. ')' shift, and go to state 677
  8661. state 517
  8662. 327 struct_or_union_specifier: struct_or_union '{' error '(' IDENTIFIER . ')' '}'
  8663. 331 | struct_or_union '{' error '(' IDENTIFIER . ')' error
  8664. 334 | struct_or_union '{' error '(' IDENTIFIER . error '}'
  8665. 339 | struct_or_union '{' error '(' IDENTIFIER . error error
  8666. error shift, and go to state 678
  8667. ')' shift, and go to state 679
  8668. state 518
  8669. 326 struct_or_union_specifier: struct_or_union '{' DEFS error IDENTIFIER . ')' '}'
  8670. 330 | struct_or_union '{' DEFS error IDENTIFIER . ')' error
  8671. 333 | struct_or_union '{' DEFS error IDENTIFIER . error '}'
  8672. 338 | struct_or_union '{' DEFS error IDENTIFIER . error error
  8673. error shift, and go to state 680
  8674. ')' shift, and go to state 681
  8675. state 519
  8676. 287 struct_or_union_specifier: struct_or_union '{' DEFS '(' IDENTIFIER . ')' '}'
  8677. 324 | struct_or_union '{' DEFS '(' IDENTIFIER . ')' error
  8678. 325 | struct_or_union '{' DEFS '(' IDENTIFIER . error '}'
  8679. 329 | struct_or_union '{' DEFS '(' IDENTIFIER . error error
  8680. error shift, and go to state 682
  8681. ')' shift, and go to state 683
  8682. state 520
  8683. 361 struct_declarator: ':' constant_expression .
  8684. $default reduce using rule 361 (struct_declarator)
  8685. state 521
  8686. 352 struct_declaration: specifier_qualifier_list struct_declarator_list error .
  8687. 359 struct_declarator_list: struct_declarator_list error . struct_declarator
  8688. IDENTIFIER shift, and go to state 1
  8689. ':' shift, and go to state 338
  8690. '(' shift, and go to state 33
  8691. '*' shift, and go to state 34
  8692. $default reduce using rule 352 (struct_declaration)
  8693. struct_declarator go to state 684
  8694. declarator go to state 341
  8695. direct_declarator go to state 51
  8696. pointer go to state 52
  8697. state 522
  8698. 351 struct_declaration: specifier_qualifier_list struct_declarator_list ';' .
  8699. $default reduce using rule 351 (struct_declaration)
  8700. state 523
  8701. 358 struct_declarator_list: struct_declarator_list ',' . struct_declarator
  8702. IDENTIFIER shift, and go to state 1
  8703. ':' shift, and go to state 338
  8704. '(' shift, and go to state 33
  8705. '*' shift, and go to state 34
  8706. struct_declarator go to state 685
  8707. declarator go to state 341
  8708. direct_declarator go to state 51
  8709. pointer go to state 52
  8710. state 524
  8711. 362 struct_declarator: declarator ':' . constant_expression
  8712. IDENTIFIER shift, and go to state 252
  8713. STRING shift, and go to state 170
  8714. CHARACTER shift, and go to state 171
  8715. INTEGER shift, and go to state 172
  8716. DECIMAL shift, and go to state 173
  8717. SIZEOF shift, and go to state 174
  8718. INC_OP shift, and go to state 175
  8719. DEC_OP shift, and go to state 176
  8720. PROTOCOL shift, and go to state 190
  8721. SELECTOR shift, and go to state 191
  8722. ENCODE shift, and go to state 192
  8723. SELF shift, and go to state 193
  8724. '(' shift, and go to state 194
  8725. '*' shift, and go to state 197
  8726. '+' shift, and go to state 198
  8727. '-' shift, and go to state 199
  8728. '[' shift, and go to state 200
  8729. '&' shift, and go to state 201
  8730. '~' shift, and go to state 202
  8731. '!' shift, and go to state 203
  8732. message_expression go to state 204
  8733. selector_expression go to state 205
  8734. protocol_expression go to state 206
  8735. encode_expression go to state 207
  8736. primary_expression go to state 209
  8737. postfix_expression go to state 210
  8738. unary_expression go to state 254
  8739. unary_operator go to state 212
  8740. cast_expression go to state 213
  8741. multiplicative_expression go to state 214
  8742. additive_expression go to state 215
  8743. shift_expression go to state 216
  8744. relational_expression go to state 217
  8745. equality_expression go to state 218
  8746. and_expression go to state 219
  8747. exclusive_or_expression go to state 220
  8748. inclusive_or_expression go to state 221
  8749. logical_and_expression go to state 222
  8750. logical_or_expression go to state 223
  8751. conditional_expression go to state 255
  8752. constant_expression go to state 686
  8753. state 525
  8754. 461 labeled_statement: IDENTIFIER ':' statement .
  8755. $default reduce using rule 461 (labeled_statement)
  8756. state 526
  8757. 152 method_instantation_statement: IDENTIFIER '*' IDENTIFIER . '=' expression ';'
  8758. 153 | IDENTIFIER '*' IDENTIFIER . error expression ';'
  8759. 154 | IDENTIFIER '*' IDENTIFIER . error expression error
  8760. error shift, and go to state 687
  8761. '=' shift, and go to state 688
  8762. state 527
  8763. 187 unary_expression: SIZEOF error type_name . ')'
  8764. ')' shift, and go to state 689
  8765. state 528
  8766. 186 unary_expression: SIZEOF '(' type_name . ')'
  8767. ')' shift, and go to state 690
  8768. state 529
  8769. 459 print_statement_int: PRINTI '(' IDENTIFIER . ')' ';'
  8770. ')' shift, and go to state 691
  8771. state 530
  8772. 460 print_statement_float: PRINTF '(' IDENTIFIER . ')' ';'
  8773. ')' shift, and go to state 692
  8774. state 531
  8775. 464 labeled_statement: CASE constant_expression error . statement
  8776. error shift, and go to state 168
  8777. IDENTIFIER shift, and go to state 169
  8778. STRING shift, and go to state 170
  8779. CHARACTER shift, and go to state 171
  8780. INTEGER shift, and go to state 172
  8781. DECIMAL shift, and go to state 173
  8782. SIZEOF shift, and go to state 174
  8783. INC_OP shift, and go to state 175
  8784. DEC_OP shift, and go to state 176
  8785. PRINTI shift, and go to state 177
  8786. PRINTF shift, and go to state 178
  8787. CASE shift, and go to state 179
  8788. DEFAULT shift, and go to state 180
  8789. IF shift, and go to state 181
  8790. SWITCH shift, and go to state 182
  8791. WHILE shift, and go to state 183
  8792. DO shift, and go to state 184
  8793. FOR shift, and go to state 185
  8794. GOTO shift, and go to state 186
  8795. CONTINUE shift, and go to state 187
  8796. BREAK shift, and go to state 188
  8797. RETURN shift, and go to state 189
  8798. PROTOCOL shift, and go to state 190
  8799. SELECTOR shift, and go to state 191
  8800. ENCODE shift, and go to state 192
  8801. SELF shift, and go to state 193
  8802. '(' shift, and go to state 194
  8803. ';' shift, and go to state 195
  8804. '{' shift, and go to state 88
  8805. '*' shift, and go to state 197
  8806. '+' shift, and go to state 198
  8807. '-' shift, and go to state 199
  8808. '[' shift, and go to state 200
  8809. '&' shift, and go to state 201
  8810. '~' shift, and go to state 202
  8811. '!' shift, and go to state 203
  8812. message_expression go to state 204
  8813. selector_expression go to state 205
  8814. protocol_expression go to state 206
  8815. encode_expression go to state 207
  8816. method_instantation_statement go to state 208
  8817. primary_expression go to state 209
  8818. postfix_expression go to state 210
  8819. unary_expression go to state 211
  8820. unary_operator go to state 212
  8821. cast_expression go to state 213
  8822. multiplicative_expression go to state 214
  8823. additive_expression go to state 215
  8824. shift_expression go to state 216
  8825. relational_expression go to state 217
  8826. equality_expression go to state 218
  8827. and_expression go to state 219
  8828. exclusive_or_expression go to state 220
  8829. inclusive_or_expression go to state 221
  8830. logical_and_expression go to state 222
  8831. logical_or_expression go to state 223
  8832. conditional_expression go to state 224
  8833. assignment_expression go to state 225
  8834. expression go to state 226
  8835. statement go to state 693
  8836. print_statement_int go to state 228
  8837. print_statement_float go to state 229
  8838. labeled_statement go to state 230
  8839. compound_statement go to state 231
  8840. expression_statement go to state 236
  8841. selection_statement go to state 237
  8842. iteration_statement go to state 238
  8843. jump_statement go to state 239
  8844. jump_statement_intermediate go to state 240
  8845. state 532
  8846. 462 labeled_statement: CASE constant_expression ':' . statement
  8847. error shift, and go to state 168
  8848. IDENTIFIER shift, and go to state 169
  8849. STRING shift, and go to state 170
  8850. CHARACTER shift, and go to state 171
  8851. INTEGER shift, and go to state 172
  8852. DECIMAL shift, and go to state 173
  8853. SIZEOF shift, and go to state 174
  8854. INC_OP shift, and go to state 175
  8855. DEC_OP shift, and go to state 176
  8856. PRINTI shift, and go to state 177
  8857. PRINTF shift, and go to state 178
  8858. CASE shift, and go to state 179
  8859. DEFAULT shift, and go to state 180
  8860. IF shift, and go to state 181
  8861. SWITCH shift, and go to state 182
  8862. WHILE shift, and go to state 183
  8863. DO shift, and go to state 184
  8864. FOR shift, and go to state 185
  8865. GOTO shift, and go to state 186
  8866. CONTINUE shift, and go to state 187
  8867. BREAK shift, and go to state 188
  8868. RETURN shift, and go to state 189
  8869. PROTOCOL shift, and go to state 190
  8870. SELECTOR shift, and go to state 191
  8871. ENCODE shift, and go to state 192
  8872. SELF shift, and go to state 193
  8873. '(' shift, and go to state 194
  8874. ';' shift, and go to state 195
  8875. '{' shift, and go to state 88
  8876. '*' shift, and go to state 197
  8877. '+' shift, and go to state 198
  8878. '-' shift, and go to state 199
  8879. '[' shift, and go to state 200
  8880. '&' shift, and go to state 201
  8881. '~' shift, and go to state 202
  8882. '!' shift, and go to state 203
  8883. message_expression go to state 204
  8884. selector_expression go to state 205
  8885. protocol_expression go to state 206
  8886. encode_expression go to state 207
  8887. method_instantation_statement go to state 208
  8888. primary_expression go to state 209
  8889. postfix_expression go to state 210
  8890. unary_expression go to state 211
  8891. unary_operator go to state 212
  8892. cast_expression go to state 213
  8893. multiplicative_expression go to state 214
  8894. additive_expression go to state 215
  8895. shift_expression go to state 216
  8896. relational_expression go to state 217
  8897. equality_expression go to state 218
  8898. and_expression go to state 219
  8899. exclusive_or_expression go to state 220
  8900. inclusive_or_expression go to state 221
  8901. logical_and_expression go to state 222
  8902. logical_or_expression go to state 223
  8903. conditional_expression go to state 224
  8904. assignment_expression go to state 225
  8905. expression go to state 226
  8906. statement go to state 694
  8907. print_statement_int go to state 228
  8908. print_statement_float go to state 229
  8909. labeled_statement go to state 230
  8910. compound_statement go to state 231
  8911. expression_statement go to state 236
  8912. selection_statement go to state 237
  8913. iteration_statement go to state 238
  8914. jump_statement go to state 239
  8915. jump_statement_intermediate go to state 240
  8916. state 533
  8917. 465 labeled_statement: DEFAULT error statement .
  8918. $default reduce using rule 465 (labeled_statement)
  8919. state 534
  8920. 463 labeled_statement: DEFAULT ':' statement .
  8921. $default reduce using rule 463 (labeled_statement)
  8922. state 535
  8923. 241 expression: expression . ',' assignment_expression
  8924. 483 selection_statement: IF error expression . ')' statement
  8925. 484 | IF error expression . error statement
  8926. error shift, and go to state 695
  8927. ')' shift, and go to state 696
  8928. ',' shift, and go to state 421
  8929. state 536
  8930. 241 expression: expression . ',' assignment_expression
  8931. 480 selection_statement: IF '(' expression . ')' statement
  8932. 481 | IF '(' expression . ')' statement ELSE statement
  8933. 485 | IF '(' expression . error statement
  8934. error shift, and go to state 697
  8935. ')' shift, and go to state 698
  8936. ',' shift, and go to state 421
  8937. state 537
  8938. 241 expression: expression . ',' assignment_expression
  8939. 486 selection_statement: IF ')' expression . error statement ELSE statement
  8940. error shift, and go to state 699
  8941. ',' shift, and go to state 421
  8942. state 538
  8943. 241 expression: expression . ',' assignment_expression
  8944. 487 selection_statement: SWITCH error expression . ')' statement
  8945. 488 | SWITCH error expression . error statement
  8946. error shift, and go to state 700
  8947. ')' shift, and go to state 701
  8948. ',' shift, and go to state 421
  8949. state 539
  8950. 241 expression: expression . ',' assignment_expression
  8951. 482 selection_statement: SWITCH '(' expression . ')' statement
  8952. 489 | SWITCH '(' expression . error statement
  8953. error shift, and go to state 702
  8954. ')' shift, and go to state 703
  8955. ',' shift, and go to state 421
  8956. state 540
  8957. 241 expression: expression . ',' assignment_expression
  8958. 494 iteration_statement: WHILE error expression . ')' statement
  8959. 495 | WHILE error expression . error statement
  8960. error shift, and go to state 704
  8961. ')' shift, and go to state 705
  8962. ',' shift, and go to state 421
  8963. state 541
  8964. 241 expression: expression . ',' assignment_expression
  8965. 490 iteration_statement: WHILE '(' expression . ')' statement
  8966. 496 | WHILE '(' expression . error statement
  8967. error shift, and go to state 706
  8968. ')' shift, and go to state 707
  8969. ',' shift, and go to state 421
  8970. state 542
  8971. 502 iteration_statement: DO statement error . '(' expression ')' ';'
  8972. 503 | DO statement error . '(' expression ')' error
  8973. '(' shift, and go to state 708
  8974. state 543
  8975. 491 iteration_statement: DO statement WHILE . '(' expression ')' ';'
  8976. 497 | DO statement WHILE . error expression ')' ';'
  8977. 498 | DO statement WHILE . error expression error ';'
  8978. 499 | DO statement WHILE . '(' expression error ';'
  8979. 500 | DO statement WHILE . error expression ')' error
  8980. 501 | DO statement WHILE . '(' expression ')' error
  8981. error shift, and go to state 709
  8982. '(' shift, and go to state 710
  8983. state 544
  8984. 504 iteration_statement: FOR error expression_statement . expression_statement ')' statement
  8985. 506 | FOR error expression_statement . expression_statement error statement
  8986. 507 | FOR error expression_statement . expression_statement expression ')' statement
  8987. 509 | FOR error expression_statement . expression_statement expression error statement
  8988. IDENTIFIER shift, and go to state 252
  8989. STRING shift, and go to state 170
  8990. CHARACTER shift, and go to state 171
  8991. INTEGER shift, and go to state 172
  8992. DECIMAL shift, and go to state 173
  8993. SIZEOF shift, and go to state 174
  8994. INC_OP shift, and go to state 175
  8995. DEC_OP shift, and go to state 176
  8996. PROTOCOL shift, and go to state 190
  8997. SELECTOR shift, and go to state 191
  8998. ENCODE shift, and go to state 192
  8999. SELF shift, and go to state 193
  9000. '(' shift, and go to state 194
  9001. ';' shift, and go to state 195
  9002. '*' shift, and go to state 197
  9003. '+' shift, and go to state 198
  9004. '-' shift, and go to state 199
  9005. '[' shift, and go to state 200
  9006. '&' shift, and go to state 201
  9007. '~' shift, and go to state 202
  9008. '!' shift, and go to state 203
  9009. message_expression go to state 204
  9010. selector_expression go to state 205
  9011. protocol_expression go to state 206
  9012. encode_expression go to state 207
  9013. primary_expression go to state 209
  9014. postfix_expression go to state 210
  9015. unary_expression go to state 211
  9016. unary_operator go to state 212
  9017. cast_expression go to state 213
  9018. multiplicative_expression go to state 214
  9019. additive_expression go to state 215
  9020. shift_expression go to state 216
  9021. relational_expression go to state 217
  9022. equality_expression go to state 218
  9023. and_expression go to state 219
  9024. exclusive_or_expression go to state 220
  9025. inclusive_or_expression go to state 221
  9026. logical_and_expression go to state 222
  9027. logical_or_expression go to state 223
  9028. conditional_expression go to state 224
  9029. assignment_expression go to state 225
  9030. expression go to state 226
  9031. expression_statement go to state 711
  9032. state 545
  9033. 492 iteration_statement: FOR '(' expression_statement . expression_statement ')' statement
  9034. 493 | FOR '(' expression_statement . expression_statement expression ')' statement
  9035. 505 | FOR '(' expression_statement . expression_statement error statement
  9036. 508 | FOR '(' expression_statement . expression_statement expression error statement
  9037. IDENTIFIER shift, and go to state 252
  9038. STRING shift, and go to state 170
  9039. CHARACTER shift, and go to state 171
  9040. INTEGER shift, and go to state 172
  9041. DECIMAL shift, and go to state 173
  9042. SIZEOF shift, and go to state 174
  9043. INC_OP shift, and go to state 175
  9044. DEC_OP shift, and go to state 176
  9045. PROTOCOL shift, and go to state 190
  9046. SELECTOR shift, and go to state 191
  9047. ENCODE shift, and go to state 192
  9048. SELF shift, and go to state 193
  9049. '(' shift, and go to state 194
  9050. ';' shift, and go to state 195
  9051. '*' shift, and go to state 197
  9052. '+' shift, and go to state 198
  9053. '-' shift, and go to state 199
  9054. '[' shift, and go to state 200
  9055. '&' shift, and go to state 201
  9056. '~' shift, and go to state 202
  9057. '!' shift, and go to state 203
  9058. message_expression go to state 204
  9059. selector_expression go to state 205
  9060. protocol_expression go to state 206
  9061. encode_expression go to state 207
  9062. primary_expression go to state 209
  9063. postfix_expression go to state 210
  9064. unary_expression go to state 211
  9065. unary_operator go to state 212
  9066. cast_expression go to state 213
  9067. multiplicative_expression go to state 214
  9068. additive_expression go to state 215
  9069. shift_expression go to state 216
  9070. relational_expression go to state 217
  9071. equality_expression go to state 218
  9072. and_expression go to state 219
  9073. exclusive_or_expression go to state 220
  9074. inclusive_or_expression go to state 221
  9075. logical_and_expression go to state 222
  9076. logical_or_expression go to state 223
  9077. conditional_expression go to state 224
  9078. assignment_expression go to state 225
  9079. expression go to state 226
  9080. expression_statement go to state 712
  9081. state 546
  9082. 149 protocol_expression: PROTOCOL error protocol_name . ')'
  9083. ')' shift, and go to state 713
  9084. state 547
  9085. 147 protocol_expression: PROTOCOL '(' protocol_name . ')'
  9086. 148 | PROTOCOL '(' protocol_name . error
  9087. error shift, and go to state 714
  9088. ')' shift, and go to state 715
  9089. state 548
  9090. 146 keyword_name: ':' .
  9091. $default reduce using rule 146 (keyword_name)
  9092. state 549
  9093. 141 selector_name: selector .
  9094. 145 keyword_name: selector . ':'
  9095. ':' shift, and go to state 716
  9096. $default reduce using rule 141 (selector_name)
  9097. state 550
  9098. 140 selector_expression: SELECTOR error selector_name . ')'
  9099. ')' shift, and go to state 717
  9100. state 551
  9101. 142 selector_name: keyword_name_list .
  9102. 144 keyword_name_list: keyword_name_list . keyword_name
  9103. IDENTIFIER shift, and go to state 276
  9104. ':' shift, and go to state 548
  9105. $default reduce using rule 142 (selector_name)
  9106. selector go to state 718
  9107. keyword_name go to state 719
  9108. state 552
  9109. 143 keyword_name_list: keyword_name .
  9110. $default reduce using rule 143 (keyword_name_list)
  9111. state 553
  9112. 138 selector_expression: SELECTOR '(' selector_name . ')'
  9113. 139 | SELECTOR '(' selector_name . error
  9114. error shift, and go to state 720
  9115. ')' shift, and go to state 721
  9116. state 554
  9117. 151 encode_expression: ENCODE error type_name . ')'
  9118. ')' shift, and go to state 722
  9119. state 555
  9120. 150 encode_expression: ENCODE '(' type_name . ')'
  9121. ')' shift, and go to state 723
  9122. state 556
  9123. 160 primary_expression: '(' expression ')' .
  9124. $default reduce using rule 160 (primary_expression)
  9125. state 557
  9126. 417 direct_abstract_declarator: '(' . abstract_declarator ')'
  9127. 422 | '(' . ')'
  9128. 423 | '(' . parameter_list ')'
  9129. error shift, and go to state 429
  9130. TYPEDEF shift, and go to state 2
  9131. EXTERN shift, and go to state 3
  9132. STATIC shift, and go to state 4
  9133. AUTO shift, and go to state 5
  9134. REGISTER shift, and go to state 6
  9135. CHAR shift, and go to state 7
  9136. SHORT shift, and go to state 8
  9137. INT shift, and go to state 9
  9138. LONG shift, and go to state 10
  9139. SIGNED shift, and go to state 11
  9140. UNSIGNED shift, and go to state 12
  9141. FLOAT shift, and go to state 13
  9142. DOUBLE shift, and go to state 14
  9143. CONST shift, and go to state 15
  9144. VOLATILE shift, and go to state 16
  9145. VOID shift, and go to state 17
  9146. STRUCT shift, and go to state 18
  9147. UNION shift, and go to state 19
  9148. ENUM shift, and go to state 20
  9149. ID shift, and go to state 25
  9150. IN shift, and go to state 26
  9151. OUT shift, and go to state 27
  9152. INOUT shift, and go to state 28
  9153. BYCOPY shift, and go to state 29
  9154. BYREF shift, and go to state 30
  9155. ONEWAY shift, and go to state 31
  9156. BOOL shift, and go to state 32
  9157. '(' shift, and go to state 557
  9158. ')' shift, and go to state 598
  9159. '*' shift, and go to state 34
  9160. '[' shift, and go to state 431
  9161. declaration_specifiers go to state 247
  9162. storage_class_specifier go to state 43
  9163. type_specifier go to state 44
  9164. struct_or_union_specifier go to state 45
  9165. struct_or_union go to state 46
  9166. enum_specifier go to state 47
  9167. type_qualifier go to state 48
  9168. protocol_qualifier go to state 49
  9169. pointer go to state 558
  9170. parameter_list go to state 599
  9171. parameter_declaration go to state 249
  9172. abstract_declarator go to state 600
  9173. direct_abstract_declarator go to state 435
  9174. state 558
  9175. 414 abstract_declarator: pointer .
  9176. 416 | pointer . direct_abstract_declarator
  9177. error shift, and go to state 429
  9178. '(' shift, and go to state 557
  9179. '[' shift, and go to state 431
  9180. ')' reduce using rule 414 (abstract_declarator)
  9181. direct_abstract_declarator go to state 604
  9182. state 559
  9183. 413 type_name: specifier_qualifier_list abstract_declarator .
  9184. $default reduce using rule 413 (type_name)
  9185. state 560
  9186. 195 cast_expression: '(' type_name ')' . cast_expression
  9187. IDENTIFIER shift, and go to state 252
  9188. STRING shift, and go to state 170
  9189. CHARACTER shift, and go to state 171
  9190. INTEGER shift, and go to state 172
  9191. DECIMAL shift, and go to state 173
  9192. SIZEOF shift, and go to state 174
  9193. INC_OP shift, and go to state 175
  9194. DEC_OP shift, and go to state 176
  9195. PROTOCOL shift, and go to state 190
  9196. SELECTOR shift, and go to state 191
  9197. ENCODE shift, and go to state 192
  9198. SELF shift, and go to state 193
  9199. '(' shift, and go to state 194
  9200. '*' shift, and go to state 197
  9201. '+' shift, and go to state 198
  9202. '-' shift, and go to state 199
  9203. '[' shift, and go to state 200
  9204. '&' shift, and go to state 201
  9205. '~' shift, and go to state 202
  9206. '!' shift, and go to state 203
  9207. message_expression go to state 204
  9208. selector_expression go to state 205
  9209. protocol_expression go to state 206
  9210. encode_expression go to state 207
  9211. primary_expression go to state 209
  9212. postfix_expression go to state 210
  9213. unary_expression go to state 254
  9214. unary_operator go to state 212
  9215. cast_expression go to state 724
  9216. state 561
  9217. 133 message_selector: selector .
  9218. 137 keyword_argument: selector . ':' expression
  9219. ':' shift, and go to state 725
  9220. $default reduce using rule 133 (message_selector)
  9221. state 562
  9222. 129 message_expression: '[' receiver message_selector . ']'
  9223. 130 | '[' receiver message_selector . error
  9224. error shift, and go to state 726
  9225. ']' shift, and go to state 727
  9226. state 563
  9227. 134 message_selector: keyword_argument_list .
  9228. 136 keyword_argument_list: keyword_argument_list . keyword_argument
  9229. IDENTIFIER shift, and go to state 276
  9230. $default reduce using rule 134 (message_selector)
  9231. selector go to state 728
  9232. keyword_argument go to state 729
  9233. state 564
  9234. 135 keyword_argument_list: keyword_argument .
  9235. $default reduce using rule 135 (keyword_argument_list)
  9236. state 565
  9237. 178 postfix_expression: postfix_expression PTR_OP error .
  9238. $default reduce using rule 178 (postfix_expression)
  9239. state 566
  9240. 171 postfix_expression: postfix_expression PTR_OP IDENTIFIER .
  9241. $default reduce using rule 171 (postfix_expression)
  9242. state 567
  9243. 175 postfix_expression: postfix_expression '(' error .
  9244. $default reduce using rule 175 (postfix_expression)
  9245. state 568
  9246. 168 postfix_expression: postfix_expression '(' ')' .
  9247. $default reduce using rule 168 (postfix_expression)
  9248. state 569
  9249. 169 postfix_expression: postfix_expression '(' argument_expression_list . ')'
  9250. 176 | postfix_expression '(' argument_expression_list . error
  9251. 180 argument_expression_list: argument_expression_list . ',' assignment_expression
  9252. error shift, and go to state 730
  9253. ')' shift, and go to state 731
  9254. ',' shift, and go to state 732
  9255. state 570
  9256. 179 argument_expression_list: assignment_expression .
  9257. $default reduce using rule 179 (argument_expression_list)
  9258. state 571
  9259. 167 postfix_expression: postfix_expression '[' expression . ']'
  9260. 174 | postfix_expression '[' expression . error
  9261. 241 expression: expression . ',' assignment_expression
  9262. error shift, and go to state 733
  9263. ',' shift, and go to state 421
  9264. ']' shift, and go to state 734
  9265. state 572
  9266. 177 postfix_expression: postfix_expression '.' error .
  9267. $default reduce using rule 177 (postfix_expression)
  9268. state 573
  9269. 170 postfix_expression: postfix_expression '.' IDENTIFIER .
  9270. $default reduce using rule 170 (postfix_expression)
  9271. state 574
  9272. 228 assignment_expression: unary_expression assignment_operator assignment_expression .
  9273. $default reduce using rule 228 (assignment_expression)
  9274. state 575
  9275. 197 multiplicative_expression: multiplicative_expression '*' cast_expression .
  9276. $default reduce using rule 197 (multiplicative_expression)
  9277. state 576
  9278. 198 multiplicative_expression: multiplicative_expression '/' cast_expression .
  9279. $default reduce using rule 198 (multiplicative_expression)
  9280. state 577
  9281. 199 multiplicative_expression: multiplicative_expression '%' cast_expression .
  9282. $default reduce using rule 199 (multiplicative_expression)
  9283. state 578
  9284. 197 multiplicative_expression: multiplicative_expression . '*' cast_expression
  9285. 198 | multiplicative_expression . '/' cast_expression
  9286. 199 | multiplicative_expression . '%' cast_expression
  9287. 201 additive_expression: additive_expression '+' multiplicative_expression .
  9288. '*' shift, and go to state 400
  9289. '/' shift, and go to state 401
  9290. '%' shift, and go to state 402
  9291. $default reduce using rule 201 (additive_expression)
  9292. state 579
  9293. 197 multiplicative_expression: multiplicative_expression . '*' cast_expression
  9294. 198 | multiplicative_expression . '/' cast_expression
  9295. 199 | multiplicative_expression . '%' cast_expression
  9296. 202 additive_expression: additive_expression '-' multiplicative_expression .
  9297. '*' shift, and go to state 400
  9298. '/' shift, and go to state 401
  9299. '%' shift, and go to state 402
  9300. $default reduce using rule 202 (additive_expression)
  9301. state 580
  9302. 201 additive_expression: additive_expression . '+' multiplicative_expression
  9303. 202 | additive_expression . '-' multiplicative_expression
  9304. 204 shift_expression: shift_expression LEFT_OP additive_expression .
  9305. '+' shift, and go to state 403
  9306. '-' shift, and go to state 404
  9307. $default reduce using rule 204 (shift_expression)
  9308. state 581
  9309. 201 additive_expression: additive_expression . '+' multiplicative_expression
  9310. 202 | additive_expression . '-' multiplicative_expression
  9311. 205 shift_expression: shift_expression RIGHT_OP additive_expression .
  9312. '+' shift, and go to state 403
  9313. '-' shift, and go to state 404
  9314. $default reduce using rule 205 (shift_expression)
  9315. state 582
  9316. 204 shift_expression: shift_expression . LEFT_OP additive_expression
  9317. 205 | shift_expression . RIGHT_OP additive_expression
  9318. 209 relational_expression: relational_expression LE_OP shift_expression .
  9319. LEFT_OP shift, and go to state 405
  9320. RIGHT_OP shift, and go to state 406
  9321. $default reduce using rule 209 (relational_expression)
  9322. state 583
  9323. 204 shift_expression: shift_expression . LEFT_OP additive_expression
  9324. 205 | shift_expression . RIGHT_OP additive_expression
  9325. 210 relational_expression: relational_expression GE_OP shift_expression .
  9326. LEFT_OP shift, and go to state 405
  9327. RIGHT_OP shift, and go to state 406
  9328. $default reduce using rule 210 (relational_expression)
  9329. state 584
  9330. 204 shift_expression: shift_expression . LEFT_OP additive_expression
  9331. 205 | shift_expression . RIGHT_OP additive_expression
  9332. 207 relational_expression: relational_expression '<' shift_expression .
  9333. LEFT_OP shift, and go to state 405
  9334. RIGHT_OP shift, and go to state 406
  9335. $default reduce using rule 207 (relational_expression)
  9336. state 585
  9337. 204 shift_expression: shift_expression . LEFT_OP additive_expression
  9338. 205 | shift_expression . RIGHT_OP additive_expression
  9339. 208 relational_expression: relational_expression '>' shift_expression .
  9340. LEFT_OP shift, and go to state 405
  9341. RIGHT_OP shift, and go to state 406
  9342. $default reduce using rule 208 (relational_expression)
  9343. state 586
  9344. 207 relational_expression: relational_expression . '<' shift_expression
  9345. 208 | relational_expression . '>' shift_expression
  9346. 209 | relational_expression . LE_OP shift_expression
  9347. 210 | relational_expression . GE_OP shift_expression
  9348. 212 equality_expression: equality_expression EQ_OP relational_expression .
  9349. LE_OP shift, and go to state 407
  9350. GE_OP shift, and go to state 408
  9351. '<' shift, and go to state 409
  9352. '>' shift, and go to state 410
  9353. $default reduce using rule 212 (equality_expression)
  9354. state 587
  9355. 207 relational_expression: relational_expression . '<' shift_expression
  9356. 208 | relational_expression . '>' shift_expression
  9357. 209 | relational_expression . LE_OP shift_expression
  9358. 210 | relational_expression . GE_OP shift_expression
  9359. 213 equality_expression: equality_expression NE_OP relational_expression .
  9360. LE_OP shift, and go to state 407
  9361. GE_OP shift, and go to state 408
  9362. '<' shift, and go to state 409
  9363. '>' shift, and go to state 410
  9364. $default reduce using rule 213 (equality_expression)
  9365. state 588
  9366. 212 equality_expression: equality_expression . EQ_OP relational_expression
  9367. 213 | equality_expression . NE_OP relational_expression
  9368. 215 and_expression: and_expression '&' equality_expression .
  9369. EQ_OP shift, and go to state 411
  9370. NE_OP shift, and go to state 412
  9371. $default reduce using rule 215 (and_expression)
  9372. state 589
  9373. 215 and_expression: and_expression . '&' equality_expression
  9374. 217 exclusive_or_expression: exclusive_or_expression '^' and_expression .
  9375. '&' shift, and go to state 413
  9376. $default reduce using rule 217 (exclusive_or_expression)
  9377. state 590
  9378. 217 exclusive_or_expression: exclusive_or_expression . '^' and_expression
  9379. 219 inclusive_or_expression: inclusive_or_expression '|' exclusive_or_expression .
  9380. '^' shift, and go to state 414
  9381. $default reduce using rule 219 (inclusive_or_expression)
  9382. state 591
  9383. 219 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression
  9384. 221 logical_and_expression: logical_and_expression AND_OP inclusive_or_expression .
  9385. '|' shift, and go to state 415
  9386. $default reduce using rule 221 (logical_and_expression)
  9387. state 592
  9388. 221 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression
  9389. 223 logical_or_expression: logical_or_expression OR_OP logical_and_expression .
  9390. AND_OP shift, and go to state 416
  9391. $default reduce using rule 223 (logical_or_expression)
  9392. state 593
  9393. 225 conditional_expression: logical_or_expression '?' expression . ':' conditional_expression
  9394. 226 | logical_or_expression '?' expression . error conditional_expression
  9395. 241 expression: expression . ',' assignment_expression
  9396. error shift, and go to state 735
  9397. ':' shift, and go to state 736
  9398. ',' shift, and go to state 421
  9399. state 594
  9400. 241 expression: expression ',' assignment_expression .
  9401. $default reduce using rule 241 (expression)
  9402. state 595
  9403. 427 direct_abstract_declarator: error ']' .
  9404. $default reduce using rule 427 (direct_abstract_declarator)
  9405. state 596
  9406. 428 direct_abstract_declarator: error constant_expression . ']'
  9407. 430 | error constant_expression . error
  9408. error shift, and go to state 737
  9409. ']' shift, and go to state 738
  9410. state 597
  9411. 405 parameter_list: parameter_list . ',' parameter_declaration
  9412. 436 direct_abstract_declarator: error parameter_list . ')'
  9413. ')' shift, and go to state 739
  9414. ',' shift, and go to state 437
  9415. state 598
  9416. 422 direct_abstract_declarator: '(' ')' .
  9417. $default reduce using rule 422 (direct_abstract_declarator)
  9418. state 599
  9419. 405 parameter_list: parameter_list . ',' parameter_declaration
  9420. 423 direct_abstract_declarator: '(' parameter_list . ')'
  9421. ')' shift, and go to state 740
  9422. ',' shift, and go to state 437
  9423. state 600
  9424. 417 direct_abstract_declarator: '(' abstract_declarator . ')'
  9425. ')' shift, and go to state 741
  9426. state 601
  9427. 426 direct_abstract_declarator: '[' error .
  9428. $default reduce using rule 426 (direct_abstract_declarator)
  9429. state 602
  9430. 418 direct_abstract_declarator: '[' ']' .
  9431. $default reduce using rule 418 (direct_abstract_declarator)
  9432. state 603
  9433. 419 direct_abstract_declarator: '[' constant_expression . ']'
  9434. 429 | '[' constant_expression . error
  9435. error shift, and go to state 742
  9436. ']' shift, and go to state 743
  9437. state 604
  9438. 416 abstract_declarator: pointer direct_abstract_declarator .
  9439. 420 direct_abstract_declarator: direct_abstract_declarator . '[' ']'
  9440. 421 | direct_abstract_declarator . '[' constant_expression ']'
  9441. 424 | direct_abstract_declarator . '(' ')'
  9442. 425 | direct_abstract_declarator . '(' parameter_list ')'
  9443. 431 | direct_abstract_declarator . error ']'
  9444. 432 | direct_abstract_declarator . '[' error
  9445. 433 | direct_abstract_declarator . error constant_expression error
  9446. 434 | direct_abstract_declarator . '[' constant_expression error
  9447. 435 | direct_abstract_declarator . error constant_expression ']'
  9448. 437 | direct_abstract_declarator . error error
  9449. 438 | direct_abstract_declarator . error ')'
  9450. 439 | direct_abstract_declarator . '(' error
  9451. 440 | direct_abstract_declarator . error parameter_list ')'
  9452. error shift, and go to state 605
  9453. '(' shift, and go to state 606
  9454. '[' shift, and go to state 607
  9455. ')' reduce using rule 416 (abstract_declarator)
  9456. ',' reduce using rule 416 (abstract_declarator)
  9457. state 605
  9458. 431 direct_abstract_declarator: direct_abstract_declarator error . ']'
  9459. 433 | direct_abstract_declarator error . constant_expression error
  9460. 435 | direct_abstract_declarator error . constant_expression ']'
  9461. 437 | direct_abstract_declarator error . error
  9462. 438 | direct_abstract_declarator error . ')'
  9463. 440 | direct_abstract_declarator error . parameter_list ')'
  9464. error shift, and go to state 744
  9465. IDENTIFIER shift, and go to state 252
  9466. STRING shift, and go to state 170
  9467. CHARACTER shift, and go to state 171
  9468. INTEGER shift, and go to state 172
  9469. DECIMAL shift, and go to state 173
  9470. SIZEOF shift, and go to state 174
  9471. INC_OP shift, and go to state 175
  9472. DEC_OP shift, and go to state 176
  9473. TYPEDEF shift, and go to state 2
  9474. EXTERN shift, and go to state 3
  9475. STATIC shift, and go to state 4
  9476. AUTO shift, and go to state 5
  9477. REGISTER shift, and go to state 6
  9478. CHAR shift, and go to state 7
  9479. SHORT shift, and go to state 8
  9480. INT shift, and go to state 9
  9481. LONG shift, and go to state 10
  9482. SIGNED shift, and go to state 11
  9483. UNSIGNED shift, and go to state 12
  9484. FLOAT shift, and go to state 13
  9485. DOUBLE shift, and go to state 14
  9486. CONST shift, and go to state 15
  9487. VOLATILE shift, and go to state 16
  9488. VOID shift, and go to state 17
  9489. STRUCT shift, and go to state 18
  9490. UNION shift, and go to state 19
  9491. ENUM shift, and go to state 20
  9492. PROTOCOL shift, and go to state 190
  9493. SELECTOR shift, and go to state 191
  9494. ENCODE shift, and go to state 192
  9495. SELF shift, and go to state 193
  9496. ID shift, and go to state 25
  9497. IN shift, and go to state 26
  9498. OUT shift, and go to state 27
  9499. INOUT shift, and go to state 28
  9500. BYCOPY shift, and go to state 29
  9501. BYREF shift, and go to state 30
  9502. ONEWAY shift, and go to state 31
  9503. BOOL shift, and go to state 32
  9504. '(' shift, and go to state 194
  9505. ')' shift, and go to state 745
  9506. '*' shift, and go to state 197
  9507. '+' shift, and go to state 198
  9508. '-' shift, and go to state 199
  9509. '[' shift, and go to state 200
  9510. ']' shift, and go to state 746
  9511. '&' shift, and go to state 201
  9512. '~' shift, and go to state 202
  9513. '!' shift, and go to state 203
  9514. message_expression go to state 204
  9515. selector_expression go to state 205
  9516. protocol_expression go to state 206
  9517. encode_expression go to state 207
  9518. primary_expression go to state 209
  9519. postfix_expression go to state 210
  9520. unary_expression go to state 254
  9521. unary_operator go to state 212
  9522. cast_expression go to state 213
  9523. multiplicative_expression go to state 214
  9524. additive_expression go to state 215
  9525. shift_expression go to state 216
  9526. relational_expression go to state 217
  9527. equality_expression go to state 218
  9528. and_expression go to state 219
  9529. exclusive_or_expression go to state 220
  9530. inclusive_or_expression go to state 221
  9531. logical_and_expression go to state 222
  9532. logical_or_expression go to state 223
  9533. conditional_expression go to state 255
  9534. constant_expression go to state 747
  9535. declaration_specifiers go to state 247
  9536. storage_class_specifier go to state 43
  9537. type_specifier go to state 44
  9538. struct_or_union_specifier go to state 45
  9539. struct_or_union go to state 46
  9540. enum_specifier go to state 47
  9541. type_qualifier go to state 48
  9542. protocol_qualifier go to state 49
  9543. parameter_list go to state 748
  9544. parameter_declaration go to state 249
  9545. state 606
  9546. 424 direct_abstract_declarator: direct_abstract_declarator '(' . ')'
  9547. 425 | direct_abstract_declarator '(' . parameter_list ')'
  9548. 439 | direct_abstract_declarator '(' . error
  9549. error shift, and go to state 749
  9550. TYPEDEF shift, and go to state 2
  9551. EXTERN shift, and go to state 3
  9552. STATIC shift, and go to state 4
  9553. AUTO shift, and go to state 5
  9554. REGISTER shift, and go to state 6
  9555. CHAR shift, and go to state 7
  9556. SHORT shift, and go to state 8
  9557. INT shift, and go to state 9
  9558. LONG shift, and go to state 10
  9559. SIGNED shift, and go to state 11
  9560. UNSIGNED shift, and go to state 12
  9561. FLOAT shift, and go to state 13
  9562. DOUBLE shift, and go to state 14
  9563. CONST shift, and go to state 15
  9564. VOLATILE shift, and go to state 16
  9565. VOID shift, and go to state 17
  9566. STRUCT shift, and go to state 18
  9567. UNION shift, and go to state 19
  9568. ENUM shift, and go to state 20
  9569. ID shift, and go to state 25
  9570. IN shift, and go to state 26
  9571. OUT shift, and go to state 27
  9572. INOUT shift, and go to state 28
  9573. BYCOPY shift, and go to state 29
  9574. BYREF shift, and go to state 30
  9575. ONEWAY shift, and go to state 31
  9576. BOOL shift, and go to state 32
  9577. ')' shift, and go to state 750
  9578. declaration_specifiers go to state 247
  9579. storage_class_specifier go to state 43
  9580. type_specifier go to state 44
  9581. struct_or_union_specifier go to state 45
  9582. struct_or_union go to state 46
  9583. enum_specifier go to state 47
  9584. type_qualifier go to state 48
  9585. protocol_qualifier go to state 49
  9586. parameter_list go to state 751
  9587. parameter_declaration go to state 249
  9588. state 607
  9589. 420 direct_abstract_declarator: direct_abstract_declarator '[' . ']'
  9590. 421 | direct_abstract_declarator '[' . constant_expression ']'
  9591. 432 | direct_abstract_declarator '[' . error
  9592. 434 | direct_abstract_declarator '[' . constant_expression error
  9593. error shift, and go to state 752
  9594. IDENTIFIER shift, and go to state 252
  9595. STRING shift, and go to state 170
  9596. CHARACTER shift, and go to state 171
  9597. INTEGER shift, and go to state 172
  9598. DECIMAL shift, and go to state 173
  9599. SIZEOF shift, and go to state 174
  9600. INC_OP shift, and go to state 175
  9601. DEC_OP shift, and go to state 176
  9602. PROTOCOL shift, and go to state 190
  9603. SELECTOR shift, and go to state 191
  9604. ENCODE shift, and go to state 192
  9605. SELF shift, and go to state 193
  9606. '(' shift, and go to state 194
  9607. '*' shift, and go to state 197
  9608. '+' shift, and go to state 198
  9609. '-' shift, and go to state 199
  9610. '[' shift, and go to state 200
  9611. ']' shift, and go to state 753
  9612. '&' shift, and go to state 201
  9613. '~' shift, and go to state 202
  9614. '!' shift, and go to state 203
  9615. message_expression go to state 204
  9616. selector_expression go to state 205
  9617. protocol_expression go to state 206
  9618. encode_expression go to state 207
  9619. primary_expression go to state 209
  9620. postfix_expression go to state 210
  9621. unary_expression go to state 254
  9622. unary_operator go to state 212
  9623. cast_expression go to state 213
  9624. multiplicative_expression go to state 214
  9625. additive_expression go to state 215
  9626. shift_expression go to state 216
  9627. relational_expression go to state 217
  9628. equality_expression go to state 218
  9629. and_expression go to state 219
  9630. exclusive_or_expression go to state 220
  9631. inclusive_or_expression go to state 221
  9632. logical_and_expression go to state 222
  9633. logical_or_expression go to state 223
  9634. conditional_expression go to state 255
  9635. constant_expression go to state 754
  9636. state 608
  9637. 405 parameter_list: parameter_list ',' parameter_declaration .
  9638. $default reduce using rule 405 (parameter_list)
  9639. state 609
  9640. 411 identifier_list: identifier_list error IDENTIFIER .
  9641. $default reduce using rule 411 (identifier_list)
  9642. state 610
  9643. 410 identifier_list: identifier_list ',' IDENTIFIER .
  9644. $default reduce using rule 410 (identifier_list)
  9645. state 611
  9646. 19 class_interface: INTERFACE error ':' IDENTIFIER protocol_reference_list END .
  9647. $default reduce using rule 19 (class_interface)
  9648. state 612
  9649. 21 class_interface: INTERFACE error ':' IDENTIFIER instance_variables END .
  9650. $default reduce using rule 21 (class_interface)
  9651. state 613
  9652. 69 instance_variables: '{' error struct_declaration_list instance_variables_list . '}'
  9653. '}' shift, and go to state 755
  9654. state 614
  9655. 84 objc_declaration_list: IDENTIFIER error IDENTIFIER . ';'
  9656. 85 | IDENTIFIER error IDENTIFIER . error
  9657. 87 | IDENTIFIER error IDENTIFIER . ';' objc_declaration_list
  9658. 88 | IDENTIFIER error IDENTIFIER . error objc_declaration_list
  9659. error shift, and go to state 756
  9660. ';' shift, and go to state 757
  9661. state 615
  9662. 82 objc_declaration_list: IDENTIFIER '*' IDENTIFIER . ';'
  9663. 83 | IDENTIFIER '*' IDENTIFIER . ';' objc_declaration_list
  9664. 86 | IDENTIFIER '*' IDENTIFIER . error
  9665. 89 | IDENTIFIER '*' IDENTIFIER . error objc_declaration_list
  9666. error shift, and go to state 758
  9667. ';' shift, and go to state 759
  9668. state 616
  9669. 70 instance_variables: '{' visibility_specification struct_declaration_list error .
  9670. $default reduce using rule 70 (instance_variables)
  9671. state 617
  9672. 66 instance_variables: '{' visibility_specification struct_declaration_list '}' .
  9673. $default reduce using rule 66 (instance_variables)
  9674. state 618
  9675. 68 instance_variables: '{' visibility_specification struct_declaration_list instance_variables_list . '}'
  9676. 72 | '{' visibility_specification struct_declaration_list instance_variables_list . error
  9677. error shift, and go to state 760
  9678. '}' shift, and go to state 761
  9679. state 619
  9680. 64 instance_variables: '{' objc_declaration_list instance_variables_list '}' .
  9681. $default reduce using rule 64 (instance_variables)
  9682. state 620
  9683. 73 instance_variables_list: visibility_specification struct_declaration_list .
  9684. 74 | visibility_specification struct_declaration_list . instance_variables_list
  9685. 350 struct_declaration_list: struct_declaration_list . struct_declaration
  9686. CHAR shift, and go to state 7
  9687. SHORT shift, and go to state 8
  9688. INT shift, and go to state 9
  9689. LONG shift, and go to state 10
  9690. SIGNED shift, and go to state 11
  9691. UNSIGNED shift, and go to state 12
  9692. FLOAT shift, and go to state 13
  9693. DOUBLE shift, and go to state 14
  9694. CONST shift, and go to state 15
  9695. VOLATILE shift, and go to state 16
  9696. VOID shift, and go to state 17
  9697. STRUCT shift, and go to state 18
  9698. UNION shift, and go to state 19
  9699. ENUM shift, and go to state 20
  9700. PRIVATE shift, and go to state 266
  9701. PUBLIC shift, and go to state 267
  9702. PROTECTED shift, and go to state 268
  9703. ID shift, and go to state 25
  9704. IN shift, and go to state 26
  9705. OUT shift, and go to state 27
  9706. INOUT shift, and go to state 28
  9707. BYCOPY shift, and go to state 29
  9708. BYREF shift, and go to state 30
  9709. ONEWAY shift, and go to state 31
  9710. BOOL shift, and go to state 32
  9711. $default reduce using rule 73 (instance_variables_list)
  9712. instance_variables_list go to state 762
  9713. visibility_specification go to state 458
  9714. type_specifier go to state 161
  9715. struct_or_union_specifier go to state 45
  9716. struct_or_union go to state 46
  9717. struct_declaration go to state 337
  9718. specifier_qualifier_list go to state 164
  9719. enum_specifier go to state 47
  9720. type_qualifier go to state 165
  9721. protocol_qualifier go to state 49
  9722. state 621
  9723. 71 instance_variables: '{' struct_declaration_list instance_variables_list error .
  9724. $default reduce using rule 71 (instance_variables)
  9725. state 622
  9726. 67 instance_variables: '{' struct_declaration_list instance_variables_list '}' .
  9727. $default reduce using rule 67 (instance_variables)
  9728. state 623
  9729. 38 category_interface: INTERFACE IDENTIFIER error IDENTIFIER ')' END .
  9730. $default reduce using rule 38 (category_interface)
  9731. state 624
  9732. 39 category_interface: INTERFACE IDENTIFIER error IDENTIFIER ')' protocol_reference_list . END
  9733. END shift, and go to state 763
  9734. state 625
  9735. 22 class_interface: INTERFACE IDENTIFIER error IDENTIFIER instance_variables interface_declaration_list . END
  9736. 80 interface_declaration_list: interface_declaration_list . declaration
  9737. 81 | interface_declaration_list . method_declaration
  9738. TYPEDEF shift, and go to state 2
  9739. EXTERN shift, and go to state 3
  9740. STATIC shift, and go to state 4
  9741. AUTO shift, and go to state 5
  9742. REGISTER shift, and go to state 6
  9743. CHAR shift, and go to state 7
  9744. SHORT shift, and go to state 8
  9745. INT shift, and go to state 9
  9746. LONG shift, and go to state 10
  9747. SIGNED shift, and go to state 11
  9748. UNSIGNED shift, and go to state 12
  9749. FLOAT shift, and go to state 13
  9750. DOUBLE shift, and go to state 14
  9751. CONST shift, and go to state 15
  9752. VOLATILE shift, and go to state 16
  9753. VOID shift, and go to state 17
  9754. STRUCT shift, and go to state 18
  9755. UNION shift, and go to state 19
  9756. ENUM shift, and go to state 20
  9757. END shift, and go to state 764
  9758. ID shift, and go to state 25
  9759. IN shift, and go to state 26
  9760. OUT shift, and go to state 27
  9761. INOUT shift, and go to state 28
  9762. BYCOPY shift, and go to state 29
  9763. BYREF shift, and go to state 30
  9764. ONEWAY shift, and go to state 31
  9765. BOOL shift, and go to state 32
  9766. '+' shift, and go to state 112
  9767. '-' shift, and go to state 113
  9768. method_declaration go to state 292
  9769. class_method_declaration go to state 118
  9770. instance_method_declaration go to state 119
  9771. declaration go to state 293
  9772. declaration_specifiers go to state 90
  9773. storage_class_specifier go to state 43
  9774. type_specifier go to state 44
  9775. struct_or_union_specifier go to state 45
  9776. struct_or_union go to state 46
  9777. enum_specifier go to state 47
  9778. type_qualifier go to state 48
  9779. protocol_qualifier go to state 49
  9780. state 626
  9781. 4 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list END .
  9782. $default reduce using rule 4 (class_interface)
  9783. state 627
  9784. 8 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables . END
  9785. 16 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables . interface_declaration_list END
  9786. TYPEDEF shift, and go to state 2
  9787. EXTERN shift, and go to state 3
  9788. STATIC shift, and go to state 4
  9789. AUTO shift, and go to state 5
  9790. REGISTER shift, and go to state 6
  9791. CHAR shift, and go to state 7
  9792. SHORT shift, and go to state 8
  9793. INT shift, and go to state 9
  9794. LONG shift, and go to state 10
  9795. SIGNED shift, and go to state 11
  9796. UNSIGNED shift, and go to state 12
  9797. FLOAT shift, and go to state 13
  9798. DOUBLE shift, and go to state 14
  9799. CONST shift, and go to state 15
  9800. VOLATILE shift, and go to state 16
  9801. VOID shift, and go to state 17
  9802. STRUCT shift, and go to state 18
  9803. UNION shift, and go to state 19
  9804. ENUM shift, and go to state 20
  9805. END shift, and go to state 765
  9806. ID shift, and go to state 25
  9807. IN shift, and go to state 26
  9808. OUT shift, and go to state 27
  9809. INOUT shift, and go to state 28
  9810. BYCOPY shift, and go to state 29
  9811. BYREF shift, and go to state 30
  9812. ONEWAY shift, and go to state 31
  9813. BOOL shift, and go to state 32
  9814. '+' shift, and go to state 112
  9815. '-' shift, and go to state 113
  9816. interface_declaration_list go to state 766
  9817. method_declaration go to state 117
  9818. class_method_declaration go to state 118
  9819. instance_method_declaration go to state 119
  9820. declaration go to state 120
  9821. declaration_specifiers go to state 90
  9822. storage_class_specifier go to state 43
  9823. type_specifier go to state 44
  9824. struct_or_union_specifier go to state 45
  9825. struct_or_union go to state 46
  9826. enum_specifier go to state 47
  9827. type_qualifier go to state 48
  9828. protocol_qualifier go to state 49
  9829. state 628
  9830. 12 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list interface_declaration_list . END
  9831. 80 interface_declaration_list: interface_declaration_list . declaration
  9832. 81 | interface_declaration_list . method_declaration
  9833. TYPEDEF shift, and go to state 2
  9834. EXTERN shift, and go to state 3
  9835. STATIC shift, and go to state 4
  9836. AUTO shift, and go to state 5
  9837. REGISTER shift, and go to state 6
  9838. CHAR shift, and go to state 7
  9839. SHORT shift, and go to state 8
  9840. INT shift, and go to state 9
  9841. LONG shift, and go to state 10
  9842. SIGNED shift, and go to state 11
  9843. UNSIGNED shift, and go to state 12
  9844. FLOAT shift, and go to state 13
  9845. DOUBLE shift, and go to state 14
  9846. CONST shift, and go to state 15
  9847. VOLATILE shift, and go to state 16
  9848. VOID shift, and go to state 17
  9849. STRUCT shift, and go to state 18
  9850. UNION shift, and go to state 19
  9851. ENUM shift, and go to state 20
  9852. END shift, and go to state 767
  9853. ID shift, and go to state 25
  9854. IN shift, and go to state 26
  9855. OUT shift, and go to state 27
  9856. INOUT shift, and go to state 28
  9857. BYCOPY shift, and go to state 29
  9858. BYREF shift, and go to state 30
  9859. ONEWAY shift, and go to state 31
  9860. BOOL shift, and go to state 32
  9861. '+' shift, and go to state 112
  9862. '-' shift, and go to state 113
  9863. method_declaration go to state 292
  9864. class_method_declaration go to state 118
  9865. instance_method_declaration go to state 119
  9866. declaration go to state 293
  9867. declaration_specifiers go to state 90
  9868. storage_class_specifier go to state 43
  9869. type_specifier go to state 44
  9870. struct_or_union_specifier go to state 45
  9871. struct_or_union go to state 46
  9872. enum_specifier go to state 47
  9873. type_qualifier go to state 48
  9874. protocol_qualifier go to state 49
  9875. state 629
  9876. 6 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables END .
  9877. $default reduce using rule 6 (class_interface)
  9878. state 630
  9879. 14 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables interface_declaration_list . END
  9880. 80 interface_declaration_list: interface_declaration_list . declaration
  9881. 81 | interface_declaration_list . method_declaration
  9882. TYPEDEF shift, and go to state 2
  9883. EXTERN shift, and go to state 3
  9884. STATIC shift, and go to state 4
  9885. AUTO shift, and go to state 5
  9886. REGISTER shift, and go to state 6
  9887. CHAR shift, and go to state 7
  9888. SHORT shift, and go to state 8
  9889. INT shift, and go to state 9
  9890. LONG shift, and go to state 10
  9891. SIGNED shift, and go to state 11
  9892. UNSIGNED shift, and go to state 12
  9893. FLOAT shift, and go to state 13
  9894. DOUBLE shift, and go to state 14
  9895. CONST shift, and go to state 15
  9896. VOLATILE shift, and go to state 16
  9897. VOID shift, and go to state 17
  9898. STRUCT shift, and go to state 18
  9899. UNION shift, and go to state 19
  9900. ENUM shift, and go to state 20
  9901. END shift, and go to state 768
  9902. ID shift, and go to state 25
  9903. IN shift, and go to state 26
  9904. OUT shift, and go to state 27
  9905. INOUT shift, and go to state 28
  9906. BYCOPY shift, and go to state 29
  9907. BYREF shift, and go to state 30
  9908. ONEWAY shift, and go to state 31
  9909. BOOL shift, and go to state 32
  9910. '+' shift, and go to state 112
  9911. '-' shift, and go to state 113
  9912. method_declaration go to state 292
  9913. class_method_declaration go to state 118
  9914. instance_method_declaration go to state 119
  9915. declaration go to state 293
  9916. declaration_specifiers go to state 90
  9917. storage_class_specifier go to state 43
  9918. type_specifier go to state 44
  9919. struct_or_union_specifier go to state 45
  9920. struct_or_union go to state 46
  9921. enum_specifier go to state 47
  9922. type_qualifier go to state 48
  9923. protocol_qualifier go to state 49
  9924. state 631
  9925. 10 class_interface: INTERFACE IDENTIFIER ':' IDENTIFIER interface_declaration_list END .
  9926. $default reduce using rule 10 (class_interface)
  9927. state 632
  9928. 41 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER ')' error .
  9929. $default reduce using rule 41 (category_interface)
  9930. state 633
  9931. 34 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER ')' END .
  9932. $default reduce using rule 34 (category_interface)
  9933. state 634
  9934. 35 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list . END
  9935. 37 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list . interface_declaration_list END
  9936. 42 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list . interface_declaration_list error
  9937. TYPEDEF shift, and go to state 2
  9938. EXTERN shift, and go to state 3
  9939. STATIC shift, and go to state 4
  9940. AUTO shift, and go to state 5
  9941. REGISTER shift, and go to state 6
  9942. CHAR shift, and go to state 7
  9943. SHORT shift, and go to state 8
  9944. INT shift, and go to state 9
  9945. LONG shift, and go to state 10
  9946. SIGNED shift, and go to state 11
  9947. UNSIGNED shift, and go to state 12
  9948. FLOAT shift, and go to state 13
  9949. DOUBLE shift, and go to state 14
  9950. CONST shift, and go to state 15
  9951. VOLATILE shift, and go to state 16
  9952. VOID shift, and go to state 17
  9953. STRUCT shift, and go to state 18
  9954. UNION shift, and go to state 19
  9955. ENUM shift, and go to state 20
  9956. END shift, and go to state 769
  9957. ID shift, and go to state 25
  9958. IN shift, and go to state 26
  9959. OUT shift, and go to state 27
  9960. INOUT shift, and go to state 28
  9961. BYCOPY shift, and go to state 29
  9962. BYREF shift, and go to state 30
  9963. ONEWAY shift, and go to state 31
  9964. BOOL shift, and go to state 32
  9965. '+' shift, and go to state 112
  9966. '-' shift, and go to state 113
  9967. interface_declaration_list go to state 770
  9968. method_declaration go to state 117
  9969. class_method_declaration go to state 118
  9970. instance_method_declaration go to state 119
  9971. declaration go to state 120
  9972. declaration_specifiers go to state 90
  9973. storage_class_specifier go to state 43
  9974. type_specifier go to state 44
  9975. struct_or_union_specifier go to state 45
  9976. struct_or_union go to state 46
  9977. enum_specifier go to state 47
  9978. type_qualifier go to state 48
  9979. protocol_qualifier go to state 49
  9980. state 635
  9981. 36 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER ')' interface_declaration_list . END
  9982. 80 interface_declaration_list: interface_declaration_list . declaration
  9983. 81 | interface_declaration_list . method_declaration
  9984. TYPEDEF shift, and go to state 2
  9985. EXTERN shift, and go to state 3
  9986. STATIC shift, and go to state 4
  9987. AUTO shift, and go to state 5
  9988. REGISTER shift, and go to state 6
  9989. CHAR shift, and go to state 7
  9990. SHORT shift, and go to state 8
  9991. INT shift, and go to state 9
  9992. LONG shift, and go to state 10
  9993. SIGNED shift, and go to state 11
  9994. UNSIGNED shift, and go to state 12
  9995. FLOAT shift, and go to state 13
  9996. DOUBLE shift, and go to state 14
  9997. CONST shift, and go to state 15
  9998. VOLATILE shift, and go to state 16
  9999. VOID shift, and go to state 17
  10000. STRUCT shift, and go to state 18
  10001. UNION shift, and go to state 19
  10002. ENUM shift, and go to state 20
  10003. END shift, and go to state 771
  10004. ID shift, and go to state 25
  10005. IN shift, and go to state 26
  10006. OUT shift, and go to state 27
  10007. INOUT shift, and go to state 28
  10008. BYCOPY shift, and go to state 29
  10009. BYREF shift, and go to state 30
  10010. ONEWAY shift, and go to state 31
  10011. BOOL shift, and go to state 32
  10012. '+' shift, and go to state 112
  10013. '-' shift, and go to state 113
  10014. method_declaration go to state 292
  10015. class_method_declaration go to state 118
  10016. instance_method_declaration go to state 119
  10017. declaration go to state 293
  10018. declaration_specifiers go to state 90
  10019. storage_class_specifier go to state 43
  10020. type_specifier go to state 44
  10021. struct_or_union_specifier go to state 45
  10022. struct_or_union go to state 46
  10023. enum_specifier go to state 47
  10024. type_qualifier go to state 48
  10025. protocol_qualifier go to state 49
  10026. state 636
  10027. 128 method_type: '(' IDENTIFIER error . ')'
  10028. ')' shift, and go to state 772
  10029. state 637
  10030. 126 method_type: '(' IDENTIFIER '*' . ')'
  10031. 127 | '(' IDENTIFIER '*' . error
  10032. error shift, and go to state 773
  10033. ')' shift, and go to state 774
  10034. state 638
  10035. 125 method_type: '(' type_name ')' .
  10036. $default reduce using rule 125 (method_type)
  10037. state 639
  10038. 118 method_selector: keyword_selector ',' ELLIPSIS .
  10039. $default reduce using rule 118 (method_selector)
  10040. state 640
  10041. 122 keyword_declarator: selector ':' IDENTIFIER .
  10042. $default reduce using rule 122 (keyword_declarator)
  10043. state 641
  10044. 123 keyword_declarator: selector ':' method_type . IDENTIFIER
  10045. IDENTIFIER shift, and go to state 775
  10046. state 642
  10047. 94 class_method_declaration: '+' method_type method_selector error .
  10048. $default reduce using rule 94 (class_method_declaration)
  10049. state 643
  10050. 93 class_method_declaration: '+' method_type method_selector ';' .
  10051. $default reduce using rule 93 (class_method_declaration)
  10052. state 644
  10053. 98 instance_method_declaration: '-' method_type method_selector error .
  10054. $default reduce using rule 98 (instance_method_declaration)
  10055. state 645
  10056. 97 instance_method_declaration: '-' method_type method_selector ';' .
  10057. $default reduce using rule 97 (instance_method_declaration)
  10058. state 646
  10059. 15 class_interface: INTERFACE IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END .
  10060. $default reduce using rule 15 (class_interface)
  10061. state 647
  10062. 26 class_implementation: IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables END .
  10063. $default reduce using rule 26 (class_implementation)
  10064. state 648
  10065. 30 class_implementation: IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables implementation_definition_list . END
  10066. 103 implementation_definition_list: implementation_definition_list . function_definition
  10067. 104 | implementation_definition_list . declaration
  10068. 105 | implementation_definition_list . method_definition
  10069. IDENTIFIER shift, and go to state 1
  10070. TYPEDEF shift, and go to state 2
  10071. EXTERN shift, and go to state 3
  10072. STATIC shift, and go to state 4
  10073. AUTO shift, and go to state 5
  10074. REGISTER shift, and go to state 6
  10075. CHAR shift, and go to state 7
  10076. SHORT shift, and go to state 8
  10077. INT shift, and go to state 9
  10078. LONG shift, and go to state 10
  10079. SIGNED shift, and go to state 11
  10080. UNSIGNED shift, and go to state 12
  10081. FLOAT shift, and go to state 13
  10082. DOUBLE shift, and go to state 14
  10083. CONST shift, and go to state 15
  10084. VOLATILE shift, and go to state 16
  10085. VOID shift, and go to state 17
  10086. STRUCT shift, and go to state 18
  10087. UNION shift, and go to state 19
  10088. ENUM shift, and go to state 20
  10089. END shift, and go to state 776
  10090. ID shift, and go to state 25
  10091. IN shift, and go to state 26
  10092. OUT shift, and go to state 27
  10093. INOUT shift, and go to state 28
  10094. BYCOPY shift, and go to state 29
  10095. BYREF shift, and go to state 30
  10096. ONEWAY shift, and go to state 31
  10097. BOOL shift, and go to state 32
  10098. '(' shift, and go to state 33
  10099. '*' shift, and go to state 34
  10100. '+' shift, and go to state 125
  10101. '-' shift, and go to state 126
  10102. method_definition go to state 305
  10103. class_method_definition go to state 130
  10104. instance_method_definition go to state 131
  10105. declaration go to state 306
  10106. declaration_specifiers go to state 42
  10107. storage_class_specifier go to state 43
  10108. type_specifier go to state 44
  10109. struct_or_union_specifier go to state 45
  10110. struct_or_union go to state 46
  10111. enum_specifier go to state 47
  10112. type_qualifier go to state 48
  10113. protocol_qualifier go to state 49
  10114. declarator go to state 50
  10115. direct_declarator go to state 51
  10116. pointer go to state 52
  10117. function_definition go to state 307
  10118. state 649
  10119. 28 class_implementation: IMPLEMENTATION IDENTIFIER ':' IDENTIFIER implementation_definition_list END .
  10120. $default reduce using rule 28 (class_implementation)
  10121. state 650
  10122. 45 category_implementation: IMPLEMENTATION IDENTIFIER '(' error ')' implementation_definition_list . END
  10123. 103 implementation_definition_list: implementation_definition_list . function_definition
  10124. 104 | implementation_definition_list . declaration
  10125. 105 | implementation_definition_list . method_definition
  10126. IDENTIFIER shift, and go to state 1
  10127. TYPEDEF shift, and go to state 2
  10128. EXTERN shift, and go to state 3
  10129. STATIC shift, and go to state 4
  10130. AUTO shift, and go to state 5
  10131. REGISTER shift, and go to state 6
  10132. CHAR shift, and go to state 7
  10133. SHORT shift, and go to state 8
  10134. INT shift, and go to state 9
  10135. LONG shift, and go to state 10
  10136. SIGNED shift, and go to state 11
  10137. UNSIGNED shift, and go to state 12
  10138. FLOAT shift, and go to state 13
  10139. DOUBLE shift, and go to state 14
  10140. CONST shift, and go to state 15
  10141. VOLATILE shift, and go to state 16
  10142. VOID shift, and go to state 17
  10143. STRUCT shift, and go to state 18
  10144. UNION shift, and go to state 19
  10145. ENUM shift, and go to state 20
  10146. END shift, and go to state 777
  10147. ID shift, and go to state 25
  10148. IN shift, and go to state 26
  10149. OUT shift, and go to state 27
  10150. INOUT shift, and go to state 28
  10151. BYCOPY shift, and go to state 29
  10152. BYREF shift, and go to state 30
  10153. ONEWAY shift, and go to state 31
  10154. BOOL shift, and go to state 32
  10155. '(' shift, and go to state 33
  10156. '*' shift, and go to state 34
  10157. '+' shift, and go to state 125
  10158. '-' shift, and go to state 126
  10159. method_definition go to state 305
  10160. class_method_definition go to state 130
  10161. instance_method_definition go to state 131
  10162. declaration go to state 306
  10163. declaration_specifiers go to state 42
  10164. storage_class_specifier go to state 43
  10165. type_specifier go to state 44
  10166. struct_or_union_specifier go to state 45
  10167. struct_or_union go to state 46
  10168. enum_specifier go to state 47
  10169. type_qualifier go to state 48
  10170. protocol_qualifier go to state 49
  10171. declarator go to state 50
  10172. direct_declarator go to state 51
  10173. pointer go to state 52
  10174. function_definition go to state 307
  10175. state 651
  10176. 46 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER error implementation_definition_list . END
  10177. 103 implementation_definition_list: implementation_definition_list . function_definition
  10178. 104 | implementation_definition_list . declaration
  10179. 105 | implementation_definition_list . method_definition
  10180. IDENTIFIER shift, and go to state 1
  10181. TYPEDEF shift, and go to state 2
  10182. EXTERN shift, and go to state 3
  10183. STATIC shift, and go to state 4
  10184. AUTO shift, and go to state 5
  10185. REGISTER shift, and go to state 6
  10186. CHAR shift, and go to state 7
  10187. SHORT shift, and go to state 8
  10188. INT shift, and go to state 9
  10189. LONG shift, and go to state 10
  10190. SIGNED shift, and go to state 11
  10191. UNSIGNED shift, and go to state 12
  10192. FLOAT shift, and go to state 13
  10193. DOUBLE shift, and go to state 14
  10194. CONST shift, and go to state 15
  10195. VOLATILE shift, and go to state 16
  10196. VOID shift, and go to state 17
  10197. STRUCT shift, and go to state 18
  10198. UNION shift, and go to state 19
  10199. ENUM shift, and go to state 20
  10200. END shift, and go to state 778
  10201. ID shift, and go to state 25
  10202. IN shift, and go to state 26
  10203. OUT shift, and go to state 27
  10204. INOUT shift, and go to state 28
  10205. BYCOPY shift, and go to state 29
  10206. BYREF shift, and go to state 30
  10207. ONEWAY shift, and go to state 31
  10208. BOOL shift, and go to state 32
  10209. '(' shift, and go to state 33
  10210. '*' shift, and go to state 34
  10211. '+' shift, and go to state 125
  10212. '-' shift, and go to state 126
  10213. method_definition go to state 305
  10214. class_method_definition go to state 130
  10215. instance_method_definition go to state 131
  10216. declaration go to state 306
  10217. declaration_specifiers go to state 42
  10218. storage_class_specifier go to state 43
  10219. type_specifier go to state 44
  10220. struct_or_union_specifier go to state 45
  10221. struct_or_union go to state 46
  10222. enum_specifier go to state 47
  10223. type_qualifier go to state 48
  10224. protocol_qualifier go to state 49
  10225. declarator go to state 50
  10226. direct_declarator go to state 51
  10227. pointer go to state 52
  10228. function_definition go to state 307
  10229. state 652
  10230. 47 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' error .
  10231. $default reduce using rule 47 (category_implementation)
  10232. state 653
  10233. 43 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' END .
  10234. $default reduce using rule 43 (category_implementation)
  10235. state 654
  10236. 44 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' implementation_definition_list . END
  10237. 103 implementation_definition_list: implementation_definition_list . function_definition
  10238. 104 | implementation_definition_list . declaration
  10239. 105 | implementation_definition_list . method_definition
  10240. IDENTIFIER shift, and go to state 1
  10241. TYPEDEF shift, and go to state 2
  10242. EXTERN shift, and go to state 3
  10243. STATIC shift, and go to state 4
  10244. AUTO shift, and go to state 5
  10245. REGISTER shift, and go to state 6
  10246. CHAR shift, and go to state 7
  10247. SHORT shift, and go to state 8
  10248. INT shift, and go to state 9
  10249. LONG shift, and go to state 10
  10250. SIGNED shift, and go to state 11
  10251. UNSIGNED shift, and go to state 12
  10252. FLOAT shift, and go to state 13
  10253. DOUBLE shift, and go to state 14
  10254. CONST shift, and go to state 15
  10255. VOLATILE shift, and go to state 16
  10256. VOID shift, and go to state 17
  10257. STRUCT shift, and go to state 18
  10258. UNION shift, and go to state 19
  10259. ENUM shift, and go to state 20
  10260. END shift, and go to state 779
  10261. ID shift, and go to state 25
  10262. IN shift, and go to state 26
  10263. OUT shift, and go to state 27
  10264. INOUT shift, and go to state 28
  10265. BYCOPY shift, and go to state 29
  10266. BYREF shift, and go to state 30
  10267. ONEWAY shift, and go to state 31
  10268. BOOL shift, and go to state 32
  10269. '(' shift, and go to state 33
  10270. '*' shift, and go to state 34
  10271. '+' shift, and go to state 125
  10272. '-' shift, and go to state 126
  10273. method_definition go to state 305
  10274. class_method_definition go to state 130
  10275. instance_method_definition go to state 131
  10276. declaration go to state 306
  10277. declaration_specifiers go to state 42
  10278. storage_class_specifier go to state 43
  10279. type_specifier go to state 44
  10280. struct_or_union_specifier go to state 45
  10281. struct_or_union go to state 46
  10282. enum_specifier go to state 47
  10283. type_qualifier go to state 48
  10284. protocol_qualifier go to state 49
  10285. declarator go to state 50
  10286. direct_declarator go to state 51
  10287. pointer go to state 52
  10288. function_definition go to state 307
  10289. state 655
  10290. 110 class_method_definition: '+' method_selector declaration_list compound_statement .
  10291. $default reduce using rule 110 (class_method_definition)
  10292. state 656
  10293. 109 class_method_definition: '+' method_type method_selector compound_statement .
  10294. $default reduce using rule 109 (class_method_definition)
  10295. state 657
  10296. 111 class_method_definition: '+' method_type method_selector declaration_list . compound_statement
  10297. '{' shift, and go to state 88
  10298. compound_statement go to state 780
  10299. state 658
  10300. 114 instance_method_definition: '-' method_selector declaration_list compound_statement .
  10301. $default reduce using rule 114 (instance_method_definition)
  10302. state 659
  10303. 113 instance_method_definition: '-' method_type method_selector compound_statement .
  10304. $default reduce using rule 113 (instance_method_definition)
  10305. state 660
  10306. 115 instance_method_definition: '-' method_type method_selector declaration_list . compound_statement
  10307. '{' shift, and go to state 88
  10308. compound_statement go to state 781
  10309. state 661
  10310. 444 initializer: '{' initializer_list error .
  10311. 448 initializer_list: initializer_list error . initializer
  10312. IDENTIFIER shift, and go to state 252
  10313. STRING shift, and go to state 170
  10314. CHARACTER shift, and go to state 171
  10315. INTEGER shift, and go to state 172
  10316. DECIMAL shift, and go to state 173
  10317. SIZEOF shift, and go to state 174
  10318. INC_OP shift, and go to state 175
  10319. DEC_OP shift, and go to state 176
  10320. PROTOCOL shift, and go to state 190
  10321. SELECTOR shift, and go to state 191
  10322. ENCODE shift, and go to state 192
  10323. SELF shift, and go to state 193
  10324. '(' shift, and go to state 194
  10325. '{' shift, and go to state 318
  10326. '*' shift, and go to state 197
  10327. '+' shift, and go to state 198
  10328. '-' shift, and go to state 199
  10329. '[' shift, and go to state 200
  10330. '&' shift, and go to state 201
  10331. '~' shift, and go to state 202
  10332. '!' shift, and go to state 203
  10333. $default reduce using rule 444 (initializer)
  10334. message_expression go to state 204
  10335. selector_expression go to state 205
  10336. protocol_expression go to state 206
  10337. encode_expression go to state 207
  10338. primary_expression go to state 209
  10339. postfix_expression go to state 210
  10340. unary_expression go to state 211
  10341. unary_operator go to state 212
  10342. cast_expression go to state 213
  10343. multiplicative_expression go to state 214
  10344. additive_expression go to state 215
  10345. shift_expression go to state 216
  10346. relational_expression go to state 217
  10347. equality_expression go to state 218
  10348. and_expression go to state 219
  10349. exclusive_or_expression go to state 220
  10350. inclusive_or_expression go to state 221
  10351. logical_and_expression go to state 222
  10352. logical_or_expression go to state 223
  10353. conditional_expression go to state 224
  10354. assignment_expression go to state 319
  10355. initializer go to state 782
  10356. state 662
  10357. 443 initializer: '{' initializer_list ',' . '}'
  10358. 445 | '{' initializer_list ',' . error
  10359. 447 initializer_list: initializer_list ',' . initializer
  10360. error shift, and go to state 783
  10361. IDENTIFIER shift, and go to state 252
  10362. STRING shift, and go to state 170
  10363. CHARACTER shift, and go to state 171
  10364. INTEGER shift, and go to state 172
  10365. DECIMAL shift, and go to state 173
  10366. SIZEOF shift, and go to state 174
  10367. INC_OP shift, and go to state 175
  10368. DEC_OP shift, and go to state 176
  10369. PROTOCOL shift, and go to state 190
  10370. SELECTOR shift, and go to state 191
  10371. ENCODE shift, and go to state 192
  10372. SELF shift, and go to state 193
  10373. '(' shift, and go to state 194
  10374. '{' shift, and go to state 318
  10375. '}' shift, and go to state 784
  10376. '*' shift, and go to state 197
  10377. '+' shift, and go to state 198
  10378. '-' shift, and go to state 199
  10379. '[' shift, and go to state 200
  10380. '&' shift, and go to state 201
  10381. '~' shift, and go to state 202
  10382. '!' shift, and go to state 203
  10383. message_expression go to state 204
  10384. selector_expression go to state 205
  10385. protocol_expression go to state 206
  10386. encode_expression go to state 207
  10387. primary_expression go to state 209
  10388. postfix_expression go to state 210
  10389. unary_expression go to state 211
  10390. unary_operator go to state 212
  10391. cast_expression go to state 213
  10392. multiplicative_expression go to state 214
  10393. additive_expression go to state 215
  10394. shift_expression go to state 216
  10395. relational_expression go to state 217
  10396. equality_expression go to state 218
  10397. and_expression go to state 219
  10398. exclusive_or_expression go to state 220
  10399. inclusive_or_expression go to state 221
  10400. logical_and_expression go to state 222
  10401. logical_or_expression go to state 223
  10402. conditional_expression go to state 224
  10403. assignment_expression go to state 319
  10404. initializer go to state 785
  10405. state 663
  10406. 442 initializer: '{' initializer_list '}' .
  10407. $default reduce using rule 442 (initializer)
  10408. state 664
  10409. 344 struct_or_union_specifier: struct_or_union error DEFS error IDENTIFIER error . '}'
  10410. 345 | struct_or_union error DEFS error IDENTIFIER error . error
  10411. error shift, and go to state 786
  10412. '}' shift, and go to state 787
  10413. state 665
  10414. 337 struct_or_union_specifier: struct_or_union error DEFS error IDENTIFIER ')' . '}'
  10415. 342 | struct_or_union error DEFS error IDENTIFIER ')' . error
  10416. error shift, and go to state 788
  10417. '}' shift, and go to state 789
  10418. state 666
  10419. 335 struct_or_union_specifier: struct_or_union error DEFS '(' IDENTIFIER error . '}'
  10420. 340 | struct_or_union error DEFS '(' IDENTIFIER error . error
  10421. error shift, and go to state 790
  10422. '}' shift, and go to state 791
  10423. state 667
  10424. 328 struct_or_union_specifier: struct_or_union error DEFS '(' IDENTIFIER ')' . '}'
  10425. 332 | struct_or_union error DEFS '(' IDENTIFIER ')' . error
  10426. error shift, and go to state 792
  10427. '}' shift, and go to state 793
  10428. state 668
  10429. 317 struct_or_union_specifier: struct_or_union error '{' error error IDENTIFIER . ')' '}'
  10430. 321 | struct_or_union error '{' error error IDENTIFIER . ')' error
  10431. 322 | struct_or_union error '{' error error IDENTIFIER . error '}'
  10432. 323 | struct_or_union error '{' error error IDENTIFIER . error error
  10433. error shift, and go to state 794
  10434. ')' shift, and go to state 795
  10435. state 669
  10436. 307 struct_or_union_specifier: struct_or_union error '{' error '(' IDENTIFIER . ')' '}'
  10437. 313 | struct_or_union error '{' error '(' IDENTIFIER . ')' error
  10438. 316 | struct_or_union error '{' error '(' IDENTIFIER . error '}'
  10439. 320 | struct_or_union error '{' error '(' IDENTIFIER . error error
  10440. error shift, and go to state 796
  10441. ')' shift, and go to state 797
  10442. state 670
  10443. 306 struct_or_union_specifier: struct_or_union error '{' DEFS error IDENTIFIER . ')' '}'
  10444. 312 | struct_or_union error '{' DEFS error IDENTIFIER . ')' error
  10445. 315 | struct_or_union error '{' DEFS error IDENTIFIER . error '}'
  10446. 319 | struct_or_union error '{' DEFS error IDENTIFIER . error error
  10447. error shift, and go to state 798
  10448. ')' shift, and go to state 799
  10449. state 671
  10450. 297 struct_or_union_specifier: struct_or_union error '{' DEFS '(' IDENTIFIER . ')' '}'
  10451. 301 | struct_or_union error '{' DEFS '(' IDENTIFIER . ')' error
  10452. 304 | struct_or_union error '{' DEFS '(' IDENTIFIER . error '}'
  10453. 310 | struct_or_union error '{' DEFS '(' IDENTIFIER . error error
  10454. error shift, and go to state 800
  10455. ')' shift, and go to state 801
  10456. state 672
  10457. 305 struct_or_union_specifier: struct_or_union IDENTIFIER '{' error error IDENTIFIER . ')' '}'
  10458. 311 | struct_or_union IDENTIFIER '{' error error IDENTIFIER . ')' error
  10459. 314 | struct_or_union IDENTIFIER '{' error error IDENTIFIER . error '}'
  10460. 318 | struct_or_union IDENTIFIER '{' error error IDENTIFIER . error error
  10461. error shift, and go to state 802
  10462. ')' shift, and go to state 803
  10463. state 673
  10464. 296 struct_or_union_specifier: struct_or_union IDENTIFIER '{' error '(' IDENTIFIER . ')' '}'
  10465. 300 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER . ')' error
  10466. 303 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER . error '}'
  10467. 309 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER . error error
  10468. error shift, and go to state 804
  10469. ')' shift, and go to state 805
  10470. state 674
  10471. 295 struct_or_union_specifier: struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER . ')' '}'
  10472. 299 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER . ')' error
  10473. 302 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER . error '}'
  10474. 308 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER . error error
  10475. error shift, and go to state 806
  10476. ')' shift, and go to state 807
  10477. state 675
  10478. 286 struct_or_union_specifier: struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER . ')' '}'
  10479. 293 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER . ')' error
  10480. 294 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER . error '}'
  10481. 298 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER . error error
  10482. error shift, and go to state 808
  10483. ')' shift, and go to state 809
  10484. state 676
  10485. 343 struct_or_union_specifier: struct_or_union '{' error error IDENTIFIER error . '}'
  10486. 346 | struct_or_union '{' error error IDENTIFIER error . error
  10487. error shift, and go to state 810
  10488. '}' shift, and go to state 811
  10489. state 677
  10490. 336 struct_or_union_specifier: struct_or_union '{' error error IDENTIFIER ')' . '}'
  10491. 341 | struct_or_union '{' error error IDENTIFIER ')' . error
  10492. error shift, and go to state 812
  10493. '}' shift, and go to state 813
  10494. state 678
  10495. 334 struct_or_union_specifier: struct_or_union '{' error '(' IDENTIFIER error . '}'
  10496. 339 | struct_or_union '{' error '(' IDENTIFIER error . error
  10497. error shift, and go to state 814
  10498. '}' shift, and go to state 815
  10499. state 679
  10500. 327 struct_or_union_specifier: struct_or_union '{' error '(' IDENTIFIER ')' . '}'
  10501. 331 | s