/y.output
Unknown | 13623 lines | 10501 code | 3122 blank | 0 comment | 0 complexity | 16ae33ba1644d2da752b42f55c8173ab MD5 | raw file
Large files files are truncated, but you can click here to view the full file
- Terminals which are not used
- TYPE_NAME
- SYNCHRONIZED
- CLASSNAME
- TRY
- CATCH
- FINALLY
- THROW
- ALLOC
- RETAIN
- RELEASE
- AUTORELEASE
- INCLUDE
- IMPORT
- IFX
- State 169 conflicts: 1 shift/reduce
- State 297 conflicts: 1 shift/reduce
- State 833 conflicts: 1 shift/reduce
- Grammar
- 0 $accept: start_prog $end
- 1 class_interface: INTERFACE IDENTIFIER END
- 2 | INTERFACE IDENTIFIER ':' IDENTIFIER END
- 3 | INTERFACE IDENTIFIER protocol_reference_list END
- 4 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list END
- 5 | INTERFACE IDENTIFIER instance_variables END
- 6 | INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables END
- 7 | INTERFACE IDENTIFIER protocol_reference_list instance_variables END
- 8 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables END
- 9 | INTERFACE IDENTIFIER interface_declaration_list END
- 10 | INTERFACE IDENTIFIER ':' IDENTIFIER interface_declaration_list END
- 11 | INTERFACE IDENTIFIER protocol_reference_list interface_declaration_list END
- 12 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list interface_declaration_list END
- 13 | INTERFACE IDENTIFIER instance_variables interface_declaration_list END
- 14 | INTERFACE IDENTIFIER ':' IDENTIFIER instance_variables interface_declaration_list END
- 15 | INTERFACE IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
- 16 | INTERFACE IDENTIFIER ':' IDENTIFIER protocol_reference_list instance_variables interface_declaration_list END
- 17 | INTERFACE error END
- 18 | INTERFACE error ':' IDENTIFIER END
- 19 | INTERFACE error ':' IDENTIFIER protocol_reference_list END
- 20 | INTERFACE error instance_variables END
- 21 | INTERFACE error ':' IDENTIFIER instance_variables END
- 22 | INTERFACE IDENTIFIER error IDENTIFIER instance_variables interface_declaration_list END
- 23 class_implementation: IMPLEMENTATION IDENTIFIER END
- 24 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER END
- 25 | IMPLEMENTATION IDENTIFIER instance_variables END
- 26 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables END
- 27 | IMPLEMENTATION IDENTIFIER implementation_definition_list END
- 28 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER implementation_definition_list END
- 29 | IMPLEMENTATION IDENTIFIER instance_variables implementation_definition_list END
- 30 | IMPLEMENTATION IDENTIFIER ':' IDENTIFIER instance_variables implementation_definition_list END
- 31 | IMPLEMENTATION error
- 32 | IMPLEMENTATION IDENTIFIER error
- 33 | IMPLEMENTATION IDENTIFIER ':' error
- 34 category_interface: INTERFACE IDENTIFIER '(' IDENTIFIER ')' END
- 35 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list END
- 36 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' interface_declaration_list END
- 37 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list END
- 38 | INTERFACE IDENTIFIER error IDENTIFIER ')' END
- 39 | INTERFACE IDENTIFIER error IDENTIFIER ')' protocol_reference_list END
- 40 | INTERFACE IDENTIFIER '(' IDENTIFIER error
- 41 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' error
- 42 | INTERFACE IDENTIFIER '(' IDENTIFIER ')' protocol_reference_list interface_declaration_list error
- 43 category_implementation: IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' END
- 44 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' implementation_definition_list END
- 45 | IMPLEMENTATION IDENTIFIER '(' error ')' implementation_definition_list END
- 46 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER error implementation_definition_list END
- 47 | IMPLEMENTATION IDENTIFIER '(' IDENTIFIER ')' error
- 48 protocol_declaration: PROTOCOL protocol_name END
- 49 | PROTOCOL protocol_name protocol_reference_list END
- 50 | PROTOCOL protocol_name interface_declaration_list END
- 51 | PROTOCOL protocol_name protocol_reference_list interface_declaration_list END
- 52 | PROTOCOL error protocol_reference_list interface_declaration_list END
- 53 class_declaration_list: CLASS class_list ';'
- 54 | CLASS class_list error
- 55 class_list: IDENTIFIER
- 56 | class_list ',' IDENTIFIER
- 57 | class_list error
- 58 protocol_reference_list: '<' protocol_list '>'
- 59 | '<' protocol_list error
- 60 protocol_list: protocol_name
- 61 | protocol_list ',' protocol_name
- 62 protocol_name: IDENTIFIER
- 63 instance_variables: '{' objc_declaration_list '}'
- 64 | '{' objc_declaration_list instance_variables_list '}'
- 65 | '{' struct_declaration_list '}'
- 66 | '{' visibility_specification struct_declaration_list '}'
- 67 | '{' struct_declaration_list instance_variables_list '}'
- 68 | '{' visibility_specification struct_declaration_list instance_variables_list '}'
- 69 | '{' error struct_declaration_list instance_variables_list '}'
- 70 | '{' visibility_specification struct_declaration_list error
- 71 | '{' struct_declaration_list instance_variables_list error
- 72 | '{' visibility_specification struct_declaration_list instance_variables_list error
- 73 instance_variables_list: visibility_specification struct_declaration_list
- 74 | visibility_specification struct_declaration_list instance_variables_list
- 75 visibility_specification: PRIVATE
- 76 | PROTECTED
- 77 | PUBLIC
- 78 interface_declaration_list: declaration
- 79 | method_declaration
- 80 | interface_declaration_list declaration
- 81 | interface_declaration_list method_declaration
- 82 objc_declaration_list: IDENTIFIER '*' IDENTIFIER ';'
- 83 | IDENTIFIER '*' IDENTIFIER ';' objc_declaration_list
- 84 | IDENTIFIER error IDENTIFIER ';'
- 85 | IDENTIFIER error IDENTIFIER error
- 86 | IDENTIFIER '*' IDENTIFIER error
- 87 | IDENTIFIER error IDENTIFIER ';' objc_declaration_list
- 88 | IDENTIFIER error IDENTIFIER error objc_declaration_list
- 89 | IDENTIFIER '*' IDENTIFIER error objc_declaration_list
- 90 method_declaration: class_method_declaration
- 91 | instance_method_declaration
- 92 class_method_declaration: '+' method_selector ';'
- 93 | '+' method_type method_selector ';'
- 94 | '+' method_type method_selector error
- 95 | '+' method_selector error
- 96 instance_method_declaration: '-' method_selector ';'
- 97 | '-' method_type method_selector ';'
- 98 | '-' method_type method_selector error
- 99 | '-' method_selector error
- 100 implementation_definition_list: function_definition
- 101 | declaration
- 102 | method_definition
- 103 | implementation_definition_list function_definition
- 104 | implementation_definition_list declaration
- 105 | implementation_definition_list method_definition
- 106 method_definition: class_method_definition
- 107 | instance_method_definition
- 108 class_method_definition: '+' method_selector compound_statement
- 109 | '+' method_type method_selector compound_statement
- 110 | '+' method_selector declaration_list compound_statement
- 111 | '+' method_type method_selector declaration_list compound_statement
- 112 instance_method_definition: '-' method_selector compound_statement
- 113 | '-' method_type method_selector compound_statement
- 114 | '-' method_selector declaration_list compound_statement
- 115 | '-' method_type method_selector declaration_list compound_statement
- 116 method_selector: unary_selector
- 117 | keyword_selector
- 118 | keyword_selector ',' ELLIPSIS
- 119 unary_selector: selector
- 120 keyword_selector: keyword_declarator
- 121 | keyword_selector keyword_declarator
- 122 keyword_declarator: selector ':' IDENTIFIER
- 123 | selector ':' method_type IDENTIFIER
- 124 selector: IDENTIFIER
- 125 method_type: '(' type_name ')'
- 126 | '(' IDENTIFIER '*' ')'
- 127 | '(' IDENTIFIER '*' error
- 128 | '(' IDENTIFIER error ')'
- 129 message_expression: '[' receiver message_selector ']'
- 130 | '[' receiver message_selector error
- 131 receiver: expression
- 132 | SUPER
- 133 message_selector: selector
- 134 | keyword_argument_list
- 135 keyword_argument_list: keyword_argument
- 136 | keyword_argument_list keyword_argument
- 137 keyword_argument: selector ':' expression
- 138 selector_expression: SELECTOR '(' selector_name ')'
- 139 | SELECTOR '(' selector_name error
- 140 | SELECTOR error selector_name ')'
- 141 selector_name: selector
- 142 | keyword_name_list
- 143 keyword_name_list: keyword_name
- 144 | keyword_name_list keyword_name
- 145 keyword_name: selector ':'
- 146 | ':'
- 147 protocol_expression: PROTOCOL '(' protocol_name ')'
- 148 | PROTOCOL '(' protocol_name error
- 149 | PROTOCOL error protocol_name ')'
- 150 encode_expression: ENCODE '(' type_name ')'
- 151 | ENCODE error type_name ')'
- 152 method_instantation_statement: IDENTIFIER '*' IDENTIFIER '=' expression ';'
- 153 | IDENTIFIER '*' IDENTIFIER error expression ';'
- 154 | IDENTIFIER '*' IDENTIFIER error expression error
- 155 primary_expression: IDENTIFIER
- 156 | INTEGER
- 157 | DECIMAL
- 158 | STRING
- 159 | CHARACTER
- 160 | '(' expression ')'
- 161 | SELF
- 162 | message_expression
- 163 | selector_expression
- 164 | protocol_expression
- 165 | encode_expression
- 166 postfix_expression: primary_expression
- 167 | postfix_expression '[' expression ']'
- 168 | postfix_expression '(' ')'
- 169 | postfix_expression '(' argument_expression_list ')'
- 170 | postfix_expression '.' IDENTIFIER
- 171 | postfix_expression PTR_OP IDENTIFIER
- 172 | postfix_expression INC_OP
- 173 | postfix_expression DEC_OP
- 174 | postfix_expression '[' expression error
- 175 | postfix_expression '(' error
- 176 | postfix_expression '(' argument_expression_list error
- 177 | postfix_expression '.' error
- 178 | postfix_expression PTR_OP error
- 179 argument_expression_list: assignment_expression
- 180 | argument_expression_list ',' assignment_expression
- 181 unary_expression: postfix_expression
- 182 | INC_OP unary_expression
- 183 | DEC_OP unary_expression
- 184 | unary_operator cast_expression
- 185 | SIZEOF unary_expression
- 186 | SIZEOF '(' type_name ')'
- 187 | SIZEOF error type_name ')'
- 188 unary_operator: '&'
- 189 | '*'
- 190 | '+'
- 191 | '-'
- 192 | '~'
- 193 | '!'
- 194 cast_expression: unary_expression
- 195 | '(' type_name ')' cast_expression
- 196 multiplicative_expression: cast_expression
- 197 | multiplicative_expression '*' cast_expression
- 198 | multiplicative_expression '/' cast_expression
- 199 | multiplicative_expression '%' cast_expression
- 200 additive_expression: multiplicative_expression
- 201 | additive_expression '+' multiplicative_expression
- 202 | additive_expression '-' multiplicative_expression
- 203 shift_expression: additive_expression
- 204 | shift_expression LEFT_OP additive_expression
- 205 | shift_expression RIGHT_OP additive_expression
- 206 relational_expression: shift_expression
- 207 | relational_expression '<' shift_expression
- 208 | relational_expression '>' shift_expression
- 209 | relational_expression LE_OP shift_expression
- 210 | relational_expression GE_OP shift_expression
- 211 equality_expression: relational_expression
- 212 | equality_expression EQ_OP relational_expression
- 213 | equality_expression NE_OP relational_expression
- 214 and_expression: equality_expression
- 215 | and_expression '&' equality_expression
- 216 exclusive_or_expression: and_expression
- 217 | exclusive_or_expression '^' and_expression
- 218 inclusive_or_expression: exclusive_or_expression
- 219 | inclusive_or_expression '|' exclusive_or_expression
- 220 logical_and_expression: inclusive_or_expression
- 221 | logical_and_expression AND_OP inclusive_or_expression
- 222 logical_or_expression: logical_and_expression
- 223 | logical_or_expression OR_OP logical_and_expression
- 224 conditional_expression: logical_or_expression
- 225 | logical_or_expression '?' expression ':' conditional_expression
- 226 | logical_or_expression '?' expression error conditional_expression
- 227 assignment_expression: conditional_expression
- 228 | unary_expression assignment_operator assignment_expression
- 229 assignment_operator: '='
- 230 | MUL_ASSIGN
- 231 | DIV_ASSIGN
- 232 | MOD_ASSIGN
- 233 | ADD_ASSIGN
- 234 | SUB_ASSIGN
- 235 | LEFT_ASSIGN
- 236 | RIGHT_ASSIGN
- 237 | AND_ASSIGN
- 238 | XOR_ASSIGN
- 239 | OR_ASSIGN
- 240 expression: assignment_expression
- 241 | expression ',' assignment_expression
- 242 constant_expression: conditional_expression
- 243 declaration: declaration_specifiers ';'
- 244 | declaration_specifiers init_declarator_list ';'
- 245 declaration_specifiers: type_qualifier
- 246 | type_specifier
- 247 | storage_class_specifier
- 248 | type_qualifier type_specifier
- 249 | type_specifier type_qualifier
- 250 | type_specifier storage_class_specifier
- 251 | storage_class_specifier type_specifier
- 252 | storage_class_specifier type_qualifier
- 253 | type_qualifier storage_class_specifier
- 254 | type_qualifier type_specifier storage_class_specifier
- 255 | type_qualifier storage_class_specifier type_specifier
- 256 | storage_class_specifier type_specifier type_qualifier
- 257 | storage_class_specifier type_qualifier type_specifier
- 258 | type_specifier type_qualifier storage_class_specifier
- 259 | type_specifier storage_class_specifier type_qualifier
- 260 init_declarator_list: init_declarator
- 261 | init_declarator_list ',' init_declarator
- 262 | init_declarator_list error init_declarator
- 263 init_declarator: declarator
- 264 | declarator '=' initializer
- 265 storage_class_specifier: TYPEDEF
- 266 | EXTERN
- 267 | STATIC
- 268 | AUTO
- 269 | REGISTER
- 270 type_specifier: VOID
- 271 | CHAR
- 272 | SHORT
- 273 | INT
- 274 | LONG
- 275 | FLOAT
- 276 | DOUBLE
- 277 | SIGNED
- 278 | UNSIGNED
- 279 | struct_or_union_specifier
- 280 | enum_specifier
- 281 | ID protocol_reference_list
- 282 | ID
- 283 | BOOL
- 284 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}'
- 285 | struct_or_union '{' struct_declaration_list '}'
- 286 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER ')' '}'
- 287 | struct_or_union '{' DEFS '(' IDENTIFIER ')' '}'
- 288 | struct_or_union IDENTIFIER
- 289 | struct_or_union error
- 290 | struct_or_union IDENTIFIER '{' struct_declaration_list error
- 291 | struct_or_union error '{' struct_declaration_list '}'
- 292 | struct_or_union '{' struct_declaration_list error
- 293 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER ')' error
- 294 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER error '}'
- 295 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER ')' '}'
- 296 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER ')' '}'
- 297 | struct_or_union error '{' DEFS '(' IDENTIFIER ')' '}'
- 298 | struct_or_union IDENTIFIER '{' DEFS '(' IDENTIFIER error error
- 299 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER ')' error
- 300 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER ')' error
- 301 | struct_or_union error '{' DEFS '(' IDENTIFIER ')' error
- 302 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER error '}'
- 303 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER error '}'
- 304 | struct_or_union error '{' DEFS '(' IDENTIFIER error '}'
- 305 | struct_or_union IDENTIFIER '{' error error IDENTIFIER ')' '}'
- 306 | struct_or_union error '{' DEFS error IDENTIFIER ')' '}'
- 307 | struct_or_union error '{' error '(' IDENTIFIER ')' '}'
- 308 | struct_or_union IDENTIFIER '{' DEFS error IDENTIFIER error error
- 309 | struct_or_union IDENTIFIER '{' error '(' IDENTIFIER error error
- 310 | struct_or_union error '{' DEFS '(' IDENTIFIER error error
- 311 | struct_or_union IDENTIFIER '{' error error IDENTIFIER ')' error
- 312 | struct_or_union error '{' DEFS error IDENTIFIER ')' error
- 313 | struct_or_union error '{' error '(' IDENTIFIER ')' error
- 314 | struct_or_union IDENTIFIER '{' error error IDENTIFIER error '}'
- 315 | struct_or_union error '{' DEFS error IDENTIFIER error '}'
- 316 | struct_or_union error '{' error '(' IDENTIFIER error '}'
- 317 | struct_or_union error '{' error error IDENTIFIER ')' '}'
- 318 | struct_or_union IDENTIFIER '{' error error IDENTIFIER error error
- 319 | struct_or_union error '{' DEFS error IDENTIFIER error error
- 320 | struct_or_union error '{' error '(' IDENTIFIER error error
- 321 | struct_or_union error '{' error error IDENTIFIER ')' error
- 322 | struct_or_union error '{' error error IDENTIFIER error '}'
- 323 | struct_or_union error '{' error error IDENTIFIER error error
- 324 | struct_or_union '{' DEFS '(' IDENTIFIER ')' error
- 325 | struct_or_union '{' DEFS '(' IDENTIFIER error '}'
- 326 | struct_or_union '{' DEFS error IDENTIFIER ')' '}'
- 327 | struct_or_union '{' error '(' IDENTIFIER ')' '}'
- 328 | struct_or_union error DEFS '(' IDENTIFIER ')' '}'
- 329 | struct_or_union '{' DEFS '(' IDENTIFIER error error
- 330 | struct_or_union '{' DEFS error IDENTIFIER ')' error
- 331 | struct_or_union '{' error '(' IDENTIFIER ')' error
- 332 | struct_or_union error DEFS '(' IDENTIFIER ')' error
- 333 | struct_or_union '{' DEFS error IDENTIFIER error '}'
- 334 | struct_or_union '{' error '(' IDENTIFIER error '}'
- 335 | struct_or_union error DEFS '(' IDENTIFIER error '}'
- 336 | struct_or_union '{' error error IDENTIFIER ')' '}'
- 337 | struct_or_union error DEFS error IDENTIFIER ')' '}'
- 338 | struct_or_union '{' DEFS error IDENTIFIER error error
- 339 | struct_or_union '{' error '(' IDENTIFIER error error
- 340 | struct_or_union error DEFS '(' IDENTIFIER error error
- 341 | struct_or_union '{' error error IDENTIFIER ')' error
- 342 | struct_or_union error DEFS error IDENTIFIER ')' error
- 343 | struct_or_union '{' error error IDENTIFIER error '}'
- 344 | struct_or_union error DEFS error IDENTIFIER error '}'
- 345 | struct_or_union error DEFS error IDENTIFIER error error
- 346 | struct_or_union '{' error error IDENTIFIER error error
- 347 struct_or_union: STRUCT
- 348 | UNION
- 349 struct_declaration_list: struct_declaration
- 350 | struct_declaration_list struct_declaration
- 351 struct_declaration: specifier_qualifier_list struct_declarator_list ';'
- 352 | specifier_qualifier_list struct_declarator_list error
- 353 specifier_qualifier_list: type_specifier
- 354 | type_qualifier
- 355 | type_specifier type_qualifier
- 356 | type_qualifier type_specifier
- 357 struct_declarator_list: struct_declarator
- 358 | struct_declarator_list ',' struct_declarator
- 359 | struct_declarator_list error struct_declarator
- 360 struct_declarator: declarator
- 361 | ':' constant_expression
- 362 | declarator ':' constant_expression
- 363 enum_specifier: ENUM '{' enumerator_list '}'
- 364 | ENUM IDENTIFIER '{' enumerator_list '}'
- 365 | ENUM IDENTIFIER
- 366 | ENUM error
- 367 | ENUM '{' enumerator_list error
- 368 | ENUM IDENTIFIER '{' enumerator_list error
- 369 | ENUM error '{' enumerator_list '}'
- 370 | ENUM error '{' enumerator_list error
- 371 enumerator_list: enumerator
- 372 | enumerator_list ',' enumerator
- 373 enumerator: IDENTIFIER
- 374 | IDENTIFIER '=' constant_expression
- 375 | error
- 376 type_qualifier: CONST
- 377 | VOLATILE
- 378 | protocol_qualifier
- 379 protocol_qualifier: IN
- 380 | OUT
- 381 | INOUT
- 382 | BYCOPY
- 383 | BYREF
- 384 | ONEWAY
- 385 declarator: pointer direct_declarator
- 386 | direct_declarator
- 387 direct_declarator: IDENTIFIER
- 388 | '(' declarator ')'
- 389 | direct_declarator '[' constant_expression ']'
- 390 | direct_declarator '[' ']'
- 391 | direct_declarator '(' parameter_list ')'
- 392 | direct_declarator '(' identifier_list ')'
- 393 | direct_declarator '(' ')'
- 394 | direct_declarator '[' constant_expression error
- 395 | direct_declarator '[' error
- 396 | direct_declarator '(' identifier_list error
- 397 | direct_declarator '(' error
- 398 pointer: '*'
- 399 | '*' type_qualifier_list
- 400 | '*' pointer
- 401 | '*' type_qualifier_list pointer
- 402 type_qualifier_list: type_qualifier
- 403 | type_qualifier_list type_qualifier
- 404 parameter_list: parameter_declaration
- 405 | parameter_list ',' parameter_declaration
- 406 parameter_declaration: declaration_specifiers declarator
- 407 | declaration_specifiers abstract_declarator
- 408 | declaration_specifiers
- 409 identifier_list: IDENTIFIER
- 410 | identifier_list ',' IDENTIFIER
- 411 | identifier_list error IDENTIFIER
- 412 type_name: specifier_qualifier_list
- 413 | specifier_qualifier_list abstract_declarator
- 414 abstract_declarator: pointer
- 415 | direct_abstract_declarator
- 416 | pointer direct_abstract_declarator
- 417 direct_abstract_declarator: '(' abstract_declarator ')'
- 418 | '[' ']'
- 419 | '[' constant_expression ']'
- 420 | direct_abstract_declarator '[' ']'
- 421 | direct_abstract_declarator '[' constant_expression ']'
- 422 | '(' ')'
- 423 | '(' parameter_list ')'
- 424 | direct_abstract_declarator '(' ')'
- 425 | direct_abstract_declarator '(' parameter_list ')'
- 426 | '[' error
- 427 | error ']'
- 428 | error constant_expression ']'
- 429 | '[' constant_expression error
- 430 | error constant_expression error
- 431 | direct_abstract_declarator error ']'
- 432 | direct_abstract_declarator '[' error
- 433 | direct_abstract_declarator error constant_expression error
- 434 | direct_abstract_declarator '[' constant_expression error
- 435 | direct_abstract_declarator error constant_expression ']'
- 436 | error parameter_list ')'
- 437 | direct_abstract_declarator error error
- 438 | direct_abstract_declarator error ')'
- 439 | direct_abstract_declarator '(' error
- 440 | direct_abstract_declarator error parameter_list ')'
- 441 initializer: assignment_expression
- 442 | '{' initializer_list '}'
- 443 | '{' initializer_list ',' '}'
- 444 | '{' initializer_list error
- 445 | '{' initializer_list ',' error
- 446 initializer_list: initializer
- 447 | initializer_list ',' initializer
- 448 | initializer_list error initializer
- 449 statement: method_instantation_statement
- 450 | labeled_statement
- 451 | compound_statement
- 452 | expression_statement
- 453 | selection_statement
- 454 | iteration_statement
- 455 | jump_statement
- 456 | print_statement_int
- 457 | print_statement_float
- 458 | error ';'
- 459 print_statement_int: PRINTI '(' IDENTIFIER ')' ';'
- 460 print_statement_float: PRINTF '(' IDENTIFIER ')' ';'
- 461 labeled_statement: IDENTIFIER ':' statement
- 462 | CASE constant_expression ':' statement
- 463 | DEFAULT ':' statement
- 464 | CASE constant_expression error statement
- 465 | DEFAULT error statement
- 466 compound_statement: '{' '}'
- 467 | '{' compound_statement_list '}'
- 468 | '{' compound_declaration_list '}'
- 469 declaration_list: declaration
- 470 | declaration declaration_list
- 471 statement_list: statement
- 472 | statement statement_list
- 473 compound_statement_list: declaration_list
- 474 | declaration_list compound_declaration_list
- 475 compound_declaration_list: statement_list
- 476 | statement_list compound_statement_list
- 477 expression_statement: ';'
- 478 | expression ';'
- 479 | expression error
- 480 selection_statement: IF '(' expression ')' statement
- 481 | IF '(' expression ')' statement ELSE statement
- 482 | SWITCH '(' expression ')' statement
- 483 | IF error expression ')' statement
- 484 | IF error expression error statement
- 485 | IF '(' expression error statement
- 486 | IF ')' expression error statement ELSE statement
- 487 | SWITCH error expression ')' statement
- 488 | SWITCH error expression error statement
- 489 | SWITCH '(' expression error statement
- 490 iteration_statement: WHILE '(' expression ')' statement
- 491 | DO statement WHILE '(' expression ')' ';'
- 492 | FOR '(' expression_statement expression_statement ')' statement
- 493 | FOR '(' expression_statement expression_statement expression ')' statement
- 494 | WHILE error expression ')' statement
- 495 | WHILE error expression error statement
- 496 | WHILE '(' expression error statement
- 497 | DO statement WHILE error expression ')' ';'
- 498 | DO statement WHILE error expression error ';'
- 499 | DO statement WHILE '(' expression error ';'
- 500 | DO statement WHILE error expression ')' error
- 501 | DO statement WHILE '(' expression ')' error
- 502 | DO statement error '(' expression ')' ';'
- 503 | DO statement error '(' expression ')' error
- 504 | FOR error expression_statement expression_statement ')' statement
- 505 | FOR '(' expression_statement expression_statement error statement
- 506 | FOR error expression_statement expression_statement error statement
- 507 | FOR error expression_statement expression_statement expression ')' statement
- 508 | FOR '(' expression_statement expression_statement expression error statement
- 509 | FOR error expression_statement expression_statement expression error statement
- 510 jump_statement: jump_statement_intermediate ';'
- 511 | jump_statement_intermediate error
- 512 jump_statement_intermediate: GOTO IDENTIFIER
- 513 | CONTINUE
- 514 | BREAK
- 515 | RETURN
- 516 | RETURN expression
- 517 external_declaration: function_definition
- 518 | declaration
- 519 | class_interface
- 520 | class_implementation
- 521 | category_interface
- 522 | category_implementation
- 523 | protocol_declaration
- 524 | class_declaration_list
- 525 function_definition: declaration_specifiers declarator declaration_list compound_statement
- 526 | declaration_specifiers declarator compound_statement
- 527 | declarator declaration_list compound_statement
- 528 | declarator compound_statement
- 529 translation_unit: external_declaration
- 530 | translation_unit external_declaration
- 531 start_prog: translation_unit
- Terminals, with rules where they appear
- $end (0) 0
- '!' (33) 193
- '%' (37) 199
- '&' (38) 188 215
- '(' (40) 34 35 36 37 40 41 42 43 44 45 46 47 125 126 127 128 138 139
- 147 148 150 160 168 169 175 176 186 195 286 287 293 294 296 297
- 298 300 301 303 304 307 309 310 313 316 320 324 325 327 328 329
- 331 332 334 335 339 340 388 391 392 393 396 397 417 422 423 424
- 425 439 459 460 480 481 482 485 489 490 491 492 493 496 499 501
- 502 503 505 508
- ')' (41) 34 35 36 37 38 39 41 42 43 44 45 47 125 126 128 138 140 147
- 149 150 151 160 168 169 186 187 195 286 287 293 295 296 297 299
- 300 301 305 306 307 311 312 313 317 321 324 326 327 328 330 331
- 332 336 337 341 342 388 391 392 393 417 422 423 424 425 436 438
- 440 459 460 480 481 482 483 486 487 490 491 492 493 494 497 500
- 501 502 503 504 507
- '*' (42) 82 83 86 89 126 127 152 153 154 189 197 398 399 400 401
- '+' (43) 92 93 94 95 108 109 110 111 190 201
- ',' (44) 56 61 118 180 241 261 358 372 405 410 443 445 447
- '-' (45) 96 97 98 99 112 113 114 115 191 202
- '.' (46) 170 177
- '/' (47) 198
- ':' (58) 2 4 6 8 10 12 14 16 18 19 21 24 26 28 30 33 122 123 137 145
- 146 225 361 362 461 462 463
- ';' (59) 53 82 83 84 87 92 93 96 97 152 153 243 244 351 458 459 460
- 477 478 491 497 498 499 502 510
- '<' (60) 58 59 207
- '=' (61) 152 229 264 374
- '>' (62) 58 208
- '?' (63) 225 226
- '[' (91) 129 130 167 174 389 390 394 395 418 419 420 421 426 429 432
- 434
- ']' (93) 129 167 389 390 418 419 420 421 427 428 431 435
- '^' (94) 217
- '{' (123) 63 64 65 66 67 68 69 70 71 72 284 285 286 287 290 291 292
- 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
- 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
- 325 326 327 329 330 331 333 334 336 338 339 341 343 346 363 364
- 367 368 369 370 442 443 444 445 466 467 468
- '|' (124) 219
- '}' (125) 63 64 65 66 67 68 69 284 285 286 287 291 294 295 296 297
- 302 303 304 305 306 307 314 315 316 317 322 325 326 327 328 333
- 334 335 336 337 343 344 363 364 369 442 443 466 467 468
- '~' (126) 192
- error (256) 17 18 19 20 21 22 31 32 33 38 39 40 41 42 45 46 47 52 54
- 57 59 69 70 71 72 84 85 86 87 88 89 94 95 98 99 127 128 130 139
- 140 148 149 151 153 154 174 175 176 177 178 187 226 262 289 290
- 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306
- 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322
- 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338
- 339 340 341 342 343 344 345 346 352 359 366 367 368 369 370 375
- 394 395 396 397 411 426 427 428 429 430 431 432 433 434 435 436
- 437 438 439 440 444 445 448 458 464 465 479 483 484 485 486 487
- 488 489 494 495 496 497 498 499 500 501 502 503 504 505 506 507
- 508 509 511
- IDENTIFIER (258) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 21 22
- 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44
- 45 46 47 55 56 62 82 83 84 85 86 87 88 89 122 123 124 126 127 128
- 152 153 154 155 170 171 284 286 287 288 290 293 294 295 296 297
- 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
- 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
- 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
- 346 364 365 368 373 374 387 409 410 411 459 460 461 512
- STRING (259) 158
- CHARACTER (260) 159
- INTEGER (261) 156
- DECIMAL (262) 157
- SIZEOF (263) 185 186 187
- PTR_OP (264) 171 178
- INC_OP (265) 172 182
- DEC_OP (266) 173 183
- LEFT_OP (267) 204
- RIGHT_OP (268) 205
- LE_OP (269) 209
- GE_OP (270) 210
- EQ_OP (271) 212
- NE_OP (272) 213
- PRINTI (273) 459
- PRINTF (274) 460
- AND_OP (275) 221
- OR_OP (276) 223
- MUL_ASSIGN (277) 230
- DIV_ASSIGN (278) 231
- MOD_ASSIGN (279) 232
- ADD_ASSIGN (280) 233
- SUB_ASSIGN (281) 234
- LEFT_ASSIGN (282) 235
- RIGHT_ASSIGN (283) 236
- AND_ASSIGN (284) 237
- XOR_ASSIGN (285) 238
- OR_ASSIGN (286) 239
- TYPE_NAME (287)
- TYPEDEF (288) 265
- EXTERN (289) 266
- STATIC (290) 267
- AUTO (291) 268
- REGISTER (292) 269
- CHAR (293) 271
- SHORT (294) 272
- INT (295) 273
- LONG (296) 274
- SIGNED (297) 277
- UNSIGNED (298) 278
- FLOAT (299) 275
- DOUBLE (300) 276
- CONST (301) 376
- VOLATILE (302) 377
- VOID (303) 270
- STRUCT (304) 347
- UNION (305) 348
- ENUM (306) 363 364 365 366 367 368 369 370
- ELLIPSIS (307) 118
- CASE (308) 462 464
- DEFAULT (309) 463 465
- IF (310) 480 481 483 484 485 486
- ELSE (311) 481 486
- SWITCH (312) 482 487 488 489
- WHILE (313) 490 491 494 495 496 497 498 499 500 501
- DO (314) 491 497 498 499 500 501 502 503
- FOR (315) 492 493 504 505 506 507 508 509
- GOTO (316) 512
- CONTINUE (317) 513
- BREAK (318) 514
- RETURN (319) 515 516
- INTERFACE (320) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
- 21 22 34 35 36 37 38 39 40 41 42
- IMPLEMENTATION (321) 23 24 25 26 27 28 29 30 31 32 33 43 44 45 46 47
- END (322) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
- 23 24 25 26 27 28 29 30 34 35 36 37 38 39 43 44 45 46 48 49 50
- 51 52
- PROTOCOL (323) 48 49 50 51 52 147 148 149
- CLASS (324) 53 54
- PRIVATE (325) 75
- PUBLIC (326) 77
- PROTECTED (327) 76
- SELECTOR (328) 138 139 140
- ENCODE (329) 150 151
- SYNCHRONIZED (330)
- CLASSNAME (331)
- SUPER (332) 132
- SELF (333) 161
- ID (334) 281 282
- DEFS (335) 286 287 293 294 295 297 298 299 301 302 304 306 308 310
- 312 315 319 324 325 326 328 329 330 332 333 335 337 338 340 342
- 344 345
- IN (336) 379
- OUT (337) 380
- INOUT (338) 381
- BYCOPY (339) 382
- BYREF (340) 383
- ONEWAY (341) 384
- BOOL (342) 283
- TRY (343)
- CATCH (344)
- FINALLY (345)
- THROW (346)
- ALLOC (347)
- RETAIN (348)
- RELEASE (349)
- AUTORELEASE (350)
- INCLUDE (351)
- IMPORT (352)
- IFX (353)
- Nonterminals, with rules where they appear
- $accept (123)
- on left: 0
- class_interface (124)
- on left: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
- 22, on right: 519
- class_implementation (125)
- on left: 23 24 25 26 27 28 29 30 31 32 33, on right: 520
- category_interface (126)
- on left: 34 35 36 37 38 39 40 41 42, on right: 521
- category_implementation (127)
- on left: 43 44 45 46 47, on right: 522
- protocol_declaration (128)
- on left: 48 49 50 51 52, on right: 523
- class_declaration_list (129)
- on left: 53 54, on right: 524
- class_list (130)
- on left: 55 56 57, on right: 53 54 56 57
- protocol_reference_list (131)
- on left: 58 59, on right: 3 4 7 8 11 12 15 16 19 35 37 39 42 49
- 51 52 281
- protocol_list (132)
- on left: 60 61, on right: 58 59 61
- protocol_name (133)
- on left: 62, on right: 48 49 50 51 60 61 147 148 149
- instance_variables (134)
- on left: 63 64 65 66 67 68 69 70 71 72, on right: 5 6 7 8 13 14
- 15 16 20 21 22 25 26 29 30
- instance_variables_list (135)
- on left: 73 74, on right: 64 67 68 69 71 72 74
- visibility_specification (136)
- on left: 75 76 77, on right: 66 68 70 72 73 74
- interface_declaration_list (137)
- on left: 78 79 80 81, on right: 9 10 11 12 13 14 15 16 22 36 37
- 42 50 51 52 80 81
- objc_declaration_list (138)
- on left: 82 83 84 85 86 87 88 89, on right: 63 64 83 87 88 89
- method_declaration (139)
- on left: 90 91, on right: 79 81
- class_method_declaration (140)
- on left: 92 93 94 95, on right: 90
- instance_method_declaration (141)
- on left: 96 97 98 99, on right: 91
- implementation_definition_list (142)
- on left: 100 101 102 103 104 105, on right: 27 28 29 30 44 45 46
- 103 104 105
- method_definition (143)
- on left: 106 107, on right: 102 105
- class_method_definition (144)
- on left: 108 109 110 111, on right: 106
- instance_method_definition (145)
- on left: 112 113 114 115, on right: 107
- method_selector (146)
- on left: 116 117 118, on right: 92 93 94 95 96 97 98 99 108 109
- 110 111 112 113 114 115
- unary_selector (147)
- on left: 119, on right: 116
- keyword_selector (148)
- on left: 120 121, on right: 117 118 121
- keyword_declarator (149)
- on left: 122 123, on right: 120 121
- selector (150)
- on left: 124, on right: 119 122 123 133 137 141 145
- method_type (151)
- on left: 125 126 127 128, on right: 93 94 97 98 109 111 113 115
- 123
- message_expression (152)
- on left: 129 130, on right: 162
- receiver (153)
- on left: 131 132, on right: 129 130
- message_selector (154)
- on left: 133 134, on right: 129 130
- keyword_argument_list (155)
- on left: 135 136, on right: 134 136
- keyword_argument (156)
- on left: 137, on right: 135 136
- selector_expression (157)
- on left: 138 139 140, on right: 163
- selector_name (158)
- on left: 141 142, on right: 138 139 140
- keyword_name_list (159)
- on left: 143 144, on right: 142 144
- keyword_name (160)
- on left: 145 146, on right: 143 144
- protocol_expression (161)
- on left: 147 148 149, on right: 164
- encode_expression (162)
- on left: 150 151, on right: 165
- method_instantation_statement (163)
- on left: 152 153 154, on right: 449
- primary_expression (164)
- on left: 155 156 157 158 159 160 161 162 163 164 165,
- on right: 166
- postfix_expression (165)
- on left: 166 167 168 169 170 171 172 173 174 175 176 177 178,
- on right: 167 168 169 170 171 172 173 174 175 176 177 178 181
- argument_expression_list (166)
- on left: 179 180, on right: 169 176 180
- unary_expression (167)
- on left: 181 182 183 184 185 186 187, on right: 182 183 185 194
- 228
- unary_operator (168)
- on left: 188 189 190 191 192 193, on right: 184
- cast_expression (169)
- on left: 194 195, on right: 184 195 196 197 198 199
- multiplicative_expression (170)
- on left: 196 197 198 199, on right: 197 198 199 200 201 202
- additive_expression (171)
- on left: 200 201 202, on right: 201 202 203 204 205
- shift_expression (172)
- on left: 203 204 205, on right: 204 205 206 207 208 209 210
- relational_expression (173)
- on left: 206 207 208 209 210, on right: 207 208 209 210 211 212
- 213
- equality_expression (174)
- on left: 211 212 213, on right: 212 213 214 215
- and_expression (175)
- on left: 214 215, on right: 215 216 217
- exclusive_or_expression (176)
- on left: 216 217, on right: 217 218 219
- inclusive_or_expression (177)
- on left: 218 219, on right: 219 220 221
- logical_and_expression (178)
- on left: 220 221, on right: 221 222 223
- logical_or_expression (179)
- on left: 222 223, on right: 223 224 225 226
- conditional_expression (180)
- on left: 224 225 226, on right: 225 226 227 242
- assignment_expression (181)
- on left: 227 228, on right: 179 180 228 240 241 441
- assignment_operator (182)
- on left: 229 230 231 232 233 234 235 236 237 238 239,
- on right: 228
- expression (183)
- on left: 240 241, on right: 131 137 152 153 154 160 167 174 225
- 226 241 478 479 480 481 482 483 484 485 486 487 488 489 490 491
- 493 494 495 496 497 498 499 500 501 502 503 507 508 509 516
- constant_expression (184)
- on left: 242, on right: 361 362 374 389 394 419 421 428 429 430
- 433 434 435 462 464
- declaration (185)
- on left: 243 244, on right: 78 80 101 104 469 470 518
- declaration_specifiers (186)
- on left: 245 246 247 248 249 250 251 252 253 254 255 256 257 258
- 259, on right: 243 244 406 407 408 525 526
- init_declarator_list (187)
- on left: 260 261 262, on right: 244 261 262
- init_declarator (188)
- on left: 263 264, on right: 260 261 262
- storage_class_specifier (189)
- on left: 265 266 267 268 269, on right: 247 250 251 252 253 254
- 255 256 257 258 259
- type_specifier (190)
- on left: 270 271 272 273 274 275 276 277 278 279 280 281 282 283
- , on right: 246 248 249 250 251 254 255 256 257 258 259 353 355
- 356
- struct_or_union_specifier (191)
- on left: 284 285 286 287 288 289 290 291 292 293 294 295 296 297
- 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
- 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
- 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
- 346, on right: 279
- struct_or_union (192)
- on left: 347 348, on right: 284 285 286 287 288 289 290 291 292
- 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
- 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
- 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
- 341 342 343 344 345 346
- struct_declaration_list (193)
- on left: 349 350, on right: 65 66 67 68 69 70 71 72 73 74 284 285
- 290 291 292 350
- struct_declaration (194)
- on left: 351 352, on right: 349 350
- specifier_qualifier_list (195)
- on left: 353 354 355 356, on right: 351 352 412 413
- struct_declarator_list (196)
- on left: 357 358 359, on right: 351 352 358 359
- struct_declarator (197)
- on left: 360 361 362, on right: 357 358 359
- enum_specifier (198)
- on left: 363 364 365 366 367 368 369 370, on right: 280
- enumerator_list (199)
- on left: 371 372, on right: 363 364 367 368 369 370 372
- enumerator (200)
- on left: 373 374 375, on right: 371 372
- type_qualifier (201)
- on left: 376 377 378, on right: 245 248 249 252 253 254 255 256
- 257 258 259 354 355 356 402 403
- protocol_qualifier (202)
- on left: 379 380 381 382 383 384, on right: 378
- declarator (203)
- on left: 385 386, on right: 263 264 360 362 388 406 525 526 527
- 528
- direct_declarator (204)
- on left: 387 388 389 390 391 392 393 394 395 396 397,
- on right: 385 386 389 390 391 392 393 394 395 396 397
- pointer (205)
- on left: 398 399 400 401, on right: 385 400 401 414 416
- type_qualifier_list (206)
- on left: 402 403, on right: 399 401 403
- parameter_list (207)
- on left: 404 405, on right: 391 405 423 425 436 440
- parameter_declaration (208)
- on left: 406 407 408, on right: 404 405
- identifier_list (209)
- on left: 409 410 411, on right: 392 396 410 411
- type_name (210)
- on left: 412 413, on right: 125 150 151 186 187 195
- abstract_declarator (211)
- on left: 414 415 416, on right: 407 413 417
- direct_abstract_declarator (212)
- on left: 417 418 419 420 421 422 423 424 425 426 427 428 429 430
- 431 432 433 434 435 436 437 438 439 440, on right: 415 416 420
- 421 424 425 431 432 433 434 435 437 438 439 440
- initializer (213)
- on left: 441 442 443 444 445, on right: 264 446 447 448
- initializer_list (214)
- on left: 446 447 448, on right: 442 443 444 445 447 448
- statement (215)
- on left: 449 450 451 452 453 454 455 456 457 458,
- on right: 461 462 463 464 465 471 472 480 481 482 483 484 485 486
- 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502
- 503 504 505 506 507 508 509
- print_statement_int (216)
- on left: 459, on right: 456
- print_statement_float (217)
- on left: 460, on right: 457
- labeled_statement (218)
- on left: 461 462 463 464 465, on right: 450
- compound_statement (219)
- on left: 466 467 468, on right: 108 109 110 111 112 113 114 115
- 451 525 526 527 528
- declaration_list (220)
- on left: 469 470, on right: 110 111 114 115 470 473 474 525 527
- statement_list (221)
- on left: 471 472, on right: 472 475 476
- compound_statement_list (222)
- on left: 473 474, on right: 467 476
- compound_declaration_list (223)
- on left: 475 476, on right: 468 474
- expression_statement (224)
- on left: 477 478 479, on right: 452 492 493 504 505 506 507 508
- 509
- selection_statement (225)
- on left: 480 481 482 483 484 485 486 487 488 489,
- on right: 453
- iteration_statement (226)
- on left: 490 491 492 493 494 495 496 497 498 499 500 501 502 503
- 504 505 506 507 508 509, on right: 454
- jump_statement (227)
- on left: 510 511, on right: 455
- jump_statement_intermediate (228)
- on left: 512 513 514 515 516, on right: 510 511
- external_declaration (229)
- on left: 517 518 519 520 521 522 523 524, on right: 529 530
- function_definition (230)
- on left: 525 526 527 528, on right: 100 103 517
- translation_unit (231)
- on left: 529 530, on right: 530 531
- start_prog (232)
- on left: 531, on right: 0
- state 0
- 0 $accept: . start_prog $end
- IDENTIFIER shift, and go to state 1
- TYPEDEF shift, and go to state 2
- EXTERN shift, and go to state 3
- STATIC shift, and go to state 4
- AUTO shift, and go to state 5
- REGISTER shift, and go to state 6
- CHAR shift, and go to state 7
- SHORT shift, and go to state 8
- INT shift, and go to state 9
- LONG shift, and go to state 10
- SIGNED shift, and go to state 11
- UNSIGNED shift, and go to state 12
- FLOAT shift, and go to state 13
- DOUBLE shift, and go to state 14
- CONST shift, and go to sta…
Large files files are truncated, but you can click here to view the full file