input grammar: CxxParser.y
'\'' '"' '\\' '@' '$' NumberLiteral
0 $accept → translation_unit $end 1 identifier_word → Identifier 2 identifier → identifier_word 3 id → identifier 4 | identifier template_test '+' template_argument_list '>' 5 | identifier template_test '+' '>' 6 | identifier template_test '-' 7 | template_id 8 template_test → '<' 9 global_scope → SCOPE 10 | TEMPLATE global_scope 11 id_scope → id SCOPE 12 nested_id → id 13 | id_scope nested_id 14 scoped_id → nested_id 15 | global_scope nested_id 16 destructor_id → '~' id 17 | TEMPLATE destructor_id 18 special_function_id → conversion_function_id 19 | operator_function_id 20 | TEMPLATE special_function_id 21 nested_special_function_id → special_function_id 22 | id_scope destructor_id 23 | id_scope nested_special_function_id 24 scoped_special_function_id → nested_special_function_id 25 | global_scope nested_special_function_id 26 declarator_id → scoped_id 27 | scoped_special_function_id 28 | destructor_id 29 built_in_type_id → built_in_type_specifier 30 | built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → built_in_type_id SCOPE '~' built_in_type_id 32 | '~' built_in_type_id 33 | TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_id → pseudo_destructor_id 35 | id_scope nested_pseudo_destructor_id 36 scoped_pseudo_destructor_id → nested_pseudo_destructor_id 37 | global_scope scoped_pseudo_destructor_id 38 string → StringLiteral 39 literal → IntegerLiteral 40 | CharacterLiteral 41 | FloatingLiteral 42 | string 43 | boolean_literal 44 boolean_literal → FALSE 45 | TRUE 46 translation_unit → declaration_seq.opt 47 primary_expression → literal 48 | THIS 49 | suffix_decl_specified_ids 50 | abstract_expression 51 abstract_expression → parenthesis_clause 52 | '[' expression.opt ']' 53 | TEMPLATE parenthesis_clause 54 type1_parameters → parameter_declaration_list ';' 55 | type1_parameters parameter_declaration_list ';' 56 mark_type1 → %empty 57 postfix_expression → primary_expression 58 | postfix_expression parenthesis_clause mark_type1 '-' 59 | postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | postfix_expression parenthesis_clause mark_type1 '+' error 62 | postfix_expression '[' expression.opt ']' 63 | postfix_expression '.' declarator_id 64 | postfix_expression '.' scoped_pseudo_destructor_id 65 | postfix_expression ARROW declarator_id 66 | postfix_expression ARROW scoped_pseudo_destructor_id 67 | postfix_expression INC 68 | postfix_expression DEC 69 | DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | STATIC_CAST '<' type_id '>' '(' expression ')' 71 | REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | CONST_CAST '<' type_id '>' '(' expression ')' 73 | TYPEID parameters_clause 74 expression_list.opt → %empty 75 | expression_list 76 expression_list → assignment_expression 77 | expression_list ',' assignment_expression 78 unary_expression → postfix_expression 79 | INC cast_expression 80 | DEC cast_expression 81 | ptr_operator cast_expression 82 | suffix_decl_specified_scope star_ptr_operator cast_expression 83 | '+' cast_expression 84 | '-' cast_expression 85 | '!' cast_expression 86 | '~' cast_expression 87 | SIZEOF unary_expression 88 | new_expression 89 | global_scope new_expression 90 | delete_expression 91 | global_scope delete_expression 92 delete_expression → DELETE cast_expression 93 new_expression → NEW new_type_id new_initializer.opt 94 | NEW parameters_clause new_type_id new_initializer.opt 95 | NEW parameters_clause 96 | NEW parameters_clause parameters_clause new_initializer.opt 97 new_type_id → type_specifier ptr_operator_seq.opt 98 | type_specifier new_declarator 99 | type_specifier new_type_id 100 new_declarator → ptr_operator new_declarator 101 | direct_new_declarator 102 direct_new_declarator → '[' expression ']' 103 | direct_new_declarator '[' constant_expression ']' 104 new_initializer.opt → %empty 105 | '(' expression_list.opt ')' 106 cast_expression → unary_expression 107 | abstract_expression cast_expression 108 pm_expression → cast_expression 109 | pm_expression DOT_STAR cast_expression 110 | pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → pm_expression 112 | multiplicative_expression star_ptr_operator pm_expression 113 | multiplicative_expression '/' pm_expression 114 | multiplicative_expression '%' pm_expression 115 additive_expression → multiplicative_expression 116 | additive_expression '+' multiplicative_expression 117 | additive_expression '-' multiplicative_expression 118 shift_expression → additive_expression 119 | shift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 121 relational_expression → shift_expression 122 | relational_expression '<' shift_expression 123 | relational_expression '>' shift_expression 124 | relational_expression LE shift_expression 125 | relational_expression GE shift_expression 126 equality_expression → relational_expression 127 | equality_expression EQ relational_expression 128 | equality_expression NE relational_expression 129 and_expression → equality_expression 130 | and_expression '&' equality_expression 131 exclusive_or_expression → and_expression 132 | exclusive_or_expression '^' and_expression 133 inclusive_or_expression → exclusive_or_expression 134 | inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → inclusive_or_expression 136 | logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → logical_and_expression 138 | logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → logical_or_expression 140 | logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → conditional_expression 142 | logical_or_expression assignment_operator assignment_expression 143 | logical_or_expression '=' braced_initializer 144 | throw_expression 145 assignment_operator → '=' 146 | ASS_ADD 147 | ASS_AND 148 | ASS_DIV 149 | ASS_MOD 150 | ASS_MUL 151 | ASS_OR 152 | ASS_SHL 153 | ASS_SHR 154 | ASS_SUB 155 | ASS_XOR 156 expression.opt → %empty 157 | expression 158 expression → assignment_expression 159 | expression_list ',' assignment_expression 160 constant_expression → conditional_expression 161 templated_relational_expression → shift_expression 162 | templated_relational_expression '<' shift_expression 163 | templated_relational_expression LE shift_expression 164 | templated_relational_expression GE shift_expression 165 templated_equality_expression → templated_relational_expression 166 | templated_equality_expression EQ templated_relational_expression 167 | templated_equality_expression NE templated_relational_expression 168 templated_and_expression → templated_equality_expression 169 | templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → templated_and_expression 171 | templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → templated_exclusive_or_expression 173 | templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → templated_inclusive_or_expression 175 | templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → templated_logical_and_expression 177 | templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → templated_logical_or_expression 179 | templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → templated_conditional_expression 181 | templated_logical_or_expression assignment_operator templated_assignment_expression 182 | templated_throw_expression 183 templated_expression → templated_assignment_expression 184 | templated_expression_list ',' templated_assignment_expression 185 templated_expression_list → templated_assignment_expression 186 | templated_expression_list ',' templated_assignment_expression 187 looping_statement → start_search looped_statement 188 looped_statement → statement 189 | advance_search '+' looped_statement 190 | advance_search '-' 191 statement → control_statement 192 | compound_statement 193 | declaration_statement 194 | try_block 195 control_statement → labeled_statement 196 | selection_statement 197 | iteration_statement 198 | jump_statement 199 labeled_statement → identifier_word ':' looping_statement 200 | CASE constant_expression ':' looping_statement 201 | DEFAULT ':' looping_statement 202 compound_statement → '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 204 statement_seq.opt → %empty 205 | statement_seq.opt looping_statement 206 | statement_seq.opt looping_statement '#' bang error ';' 207 selection_statement → IF '(' condition ')' looping_statement 208 | IF '(' condition ')' looping_statement ELSE looping_statement 209 | SWITCH '(' condition ')' looping_statement 210 condition.opt → %empty 211 | condition 212 condition → parameter_declaration_list 213 iteration_statement → WHILE '(' condition ')' looping_statement 214 | DO looping_statement WHILE '(' expression ')' ';' 215 | FOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement 216 for_init_statement → simple_declaration 217 jump_statement → BREAK ';' 218 | CONTINUE ';' 219 | RETURN expression.opt ';' 220 | GOTO identifier ';' 221 declaration_statement → block_declaration 222 compound_declaration → '{' nest declaration_seq.opt '}' 223 | '{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 224 declaration_seq.opt → %empty 225 | declaration_seq.opt util looping_declaration 226 | declaration_seq.opt util looping_declaration '#' bang error ';' 227 looping_declaration → start_search1 looped_declaration 228 looped_declaration → declaration 229 | advance_search '+' looped_declaration 230 | advance_search '-' 231 declaration → block_declaration 232 | function_definition 233 | template_declaration 234 | explicit_specialization 235 | specialised_declaration 236 specialised_declaration → linkage_specification 237 | namespace_definition 238 | TEMPLATE specialised_declaration 239 block_declaration → simple_declaration 240 | specialised_block_declaration 241 specialised_block_declaration → asm_definition 242 | namespace_alias_definition 243 | using_declaration 244 | using_directive 245 | TEMPLATE specialised_block_declaration 246 simple_declaration → ';' 247 | init_declaration ';' 248 | init_declarations ';' 249 | decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → built_in_type_specifier 251 | suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → suffix_built_in_decl_specifier.raw 254 | TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → scoped_id 256 | elaborate_type_specifier 257 | suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → suffix_named_decl_specifier 259 | suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → suffix_named_decl_specifier.bi 261 | suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → scoped_special_function_id 263 | suffix_named_decl_specifiers 264 | suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → suffix_built_in_decl_specifier 266 | suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → suffix_named_decl_specifiers SCOPE 269 | suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → storage_class_specifier 272 | function_specifier 273 | FRIEND 274 | TYPEDEF 275 | cv_qualifier 276 decl_specifier_suffix → decl_specifier_affix 277 decl_specifier_prefix → decl_specifier_affix 278 | TEMPLATE decl_specifier_prefix 279 storage_class_specifier → REGISTER 280 | STATIC 281 | MUTABLE 282 | EXTERN 283 | AUTO 284 function_specifier → EXPLICIT 285 | INLINE 286 | VIRTUAL 287 type_specifier → simple_type_specifier 288 | elaborate_type_specifier 289 | cv_qualifier 290 elaborate_type_specifier → class_specifier 291 | enum_specifier 292 | elaborated_type_specifier 293 | TEMPLATE elaborate_type_specifier 294 simple_type_specifier → scoped_id 295 | built_in_type_specifier 296 built_in_type_specifier → CHAR 297 | WCHAR_T 298 | BOOL 299 | SHORT 300 | INT 301 | LONG 302 | SIGNED 303 | UNSIGNED 304 | FLOAT 305 | DOUBLE 306 | VOID 307 elaborated_type_specifier → elaborated_class_specifier 308 | elaborated_enum_specifier 309 | TYPENAME scoped_id 310 elaborated_enum_specifier → ENUM scoped_id 311 enum_specifier → ENUM scoped_id enumerator_clause 312 | ENUM enumerator_clause 313 enumerator_clause → '{' enumerator_list_ecarb 314 | '{' enumerator_list enumerator_list_ecarb 315 | '{' enumerator_list ',' enumerator_definition_ecarb 316 enumerator_list_ecarb → '}' 317 | bang error '}' 318 enumerator_definition_ecarb → '}' 319 | bang error '}' 320 enumerator_definition_filler → %empty 321 | bang error ',' 322 enumerator_list_head → enumerator_definition_filler 323 | enumerator_list ',' enumerator_definition_filler 324 enumerator_list → enumerator_list_head enumerator_definition 325 enumerator_definition → enumerator 326 | enumerator '=' constant_expression 327 enumerator → identifier 328 namespace_definition → NAMESPACE scoped_id compound_declaration 329 | NAMESPACE compound_declaration 330 namespace_alias_definition → NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → USING declarator_id ';' 332 | USING TYPENAME declarator_id ';' 333 using_directive → USING NAMESPACE scoped_id ';' 334 asm_definition → ASM '(' string ')' ';' 335 linkage_specification → EXTERN string looping_declaration 336 | EXTERN string compound_declaration 337 init_declarations → assignment_expression ',' init_declaration 338 | init_declarations ',' init_declaration 339 init_declaration → assignment_expression 340 star_ptr_operator → '*' 341 | star_ptr_operator cv_qualifier 342 nested_ptr_operator → star_ptr_operator 343 | id_scope nested_ptr_operator 344 ptr_operator → '&' 345 | nested_ptr_operator 346 | global_scope nested_ptr_operator 347 ptr_operator_seq → ptr_operator 348 | ptr_operator ptr_operator_seq 349 ptr_operator_seq.opt → %empty 350 | ptr_operator ptr_operator_seq.opt 351 cv_qualifier_seq.opt → %empty 352 | cv_qualifier_seq.opt cv_qualifier 353 cv_qualifier → CONST 354 | VOLATILE 355 type_id → type_specifier abstract_declarator.opt 356 | type_specifier type_id 357 abstract_declarator.opt → %empty 358 | ptr_operator abstract_declarator.opt 359 | direct_abstract_declarator 360 direct_abstract_declarator.opt → %empty 361 | direct_abstract_declarator 362 direct_abstract_declarator → direct_abstract_declarator.opt parenthesis_clause 363 | direct_abstract_declarator.opt '[' ']' 364 | direct_abstract_declarator.opt '[' constant_expression ']' 365 parenthesis_clause → parameters_clause cv_qualifier_seq.opt 366 | parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → '(' parameter_declaration_clause ')' 368 parameter_declaration_clause → %empty 369 | parameter_declaration_list 370 | parameter_declaration_list ELLIPSIS 371 parameter_declaration_list → parameter_declaration 372 | parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → ptr_operator_seq 374 | multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → abstract_pointer_declaration 376 | and_expression '&' 377 | and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → abstract_parameter_declaration 379 | abstract_parameter_declaration '=' assignment_expression 380 | ELLIPSIS 381 parameter_declaration → assignment_expression 382 | special_parameter_declaration 383 | decl_specifier_prefix parameter_declaration 384 templated_parameter_declaration → templated_assignment_expression 385 | templated_abstract_declaration 386 | templated_abstract_declaration '=' templated_assignment_expression 387 | decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declaration → abstract_pointer_declaration 389 | templated_and_expression '&' 390 | templated_and_expression '&' abstract_pointer_declaration 391 function_definition → ctor_definition 392 | func_definition 393 func_definition → assignment_expression function_try_block 394 | assignment_expression function_body 395 | decl_specifier_prefix func_definition 396 ctor_definition → constructor_head function_try_block 397 | constructor_head function_body 398 | decl_specifier_prefix ctor_definition 399 constructor_head → bit_field_init_declaration 400 | constructor_head ',' assignment_expression 401 function_try_block → TRY function_block handler_seq 402 function_block → ctor_initializer.opt function_body 403 function_body → compound_statement 404 initializer_clause → assignment_expression 405 | braced_initializer 406 braced_initializer → '{' initializer_list '}' 407 | '{' initializer_list ',' '}' 408 | '{' '}' 409 | '{' looping_initializer_clause '#' bang error '}' 410 | '{' initializer_list ',' looping_initializer_clause '#' bang error '}' 411 initializer_list → looping_initializer_clause 412 | initializer_list ',' looping_initializer_clause 413 looping_initializer_clause → start_search looped_initializer_clause 414 looped_initializer_clause → initializer_clause 415 | advance_search '+' looped_initializer_clause 416 | advance_search '-' 417 colon_mark → ':' 418 elaborated_class_specifier → class_key scoped_id 419 | class_key scoped_id colon_mark error 420 class_specifier_head → class_key scoped_id colon_mark base_specifier_list '{' 421 | class_key ':' base_specifier_list '{' 422 | class_key scoped_id '{' 423 | class_key '{' 424 class_key → CLASS 425 | STRUCT 426 | UNION 427 class_specifier → class_specifier_head member_specification.opt '}' 428 | class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 429 member_specification.opt → %empty 430 | member_specification.opt util looping_member_declaration 431 | member_specification.opt util looping_member_declaration '#' bang error ';' 432 looping_member_declaration → start_search looped_member_declaration 433 looped_member_declaration → member_declaration 434 | advance_search '+' looped_member_declaration 435 | advance_search '-' 436 member_declaration → accessibility_specifier 437 | simple_member_declaration 438 | function_definition 439 | using_declaration 440 | template_declaration 441 simple_member_declaration → ';' 442 | assignment_expression ';' 443 | constructor_head ';' 444 | member_init_declarations ';' 445 | decl_specifier_prefix simple_member_declaration 446 member_init_declarations → assignment_expression ',' member_init_declaration 447 | constructor_head ',' bit_field_init_declaration 448 | member_init_declarations ',' member_init_declaration 449 member_init_declaration → assignment_expression 450 | bit_field_init_declaration 451 accessibility_specifier → access_specifier ':' 452 bit_field_declaration → assignment_expression ':' bit_field_width 453 | ':' bit_field_width 454 bit_field_width → logical_or_expression 455 | logical_or_expression '?' bit_field_width ':' bit_field_width 456 bit_field_init_declaration → bit_field_declaration 457 | bit_field_declaration '=' initializer_clause 458 base_specifier_list → base_specifier 459 | base_specifier_list ',' base_specifier 460 base_specifier → scoped_id 461 | access_specifier base_specifier 462 | VIRTUAL base_specifier 463 access_specifier → PRIVATE 464 | PROTECTED 465 | PUBLIC 466 conversion_function_id → OPERATOR conversion_type_id 467 conversion_type_id → type_specifier ptr_operator_seq.opt 468 | type_specifier conversion_type_id 469 ctor_initializer.opt → %empty 470 | ctor_initializer 471 ctor_initializer → ':' mem_initializer_list 472 | ':' mem_initializer_list bang error 473 mem_initializer_list → mem_initializer 474 | mem_initializer_list_head mem_initializer 475 mem_initializer_list_head → mem_initializer_list ',' 476 | mem_initializer_list bang error ',' 477 mem_initializer → mem_initializer_id '(' expression_list.opt ')' 478 mem_initializer_id → scoped_id 479 operator_function_id → OPERATOR operator 480 operator → NEW 481 | DELETE 482 | '+' 483 | '-' 484 | '*' 485 | '/' 486 | '%' 487 | '^' 488 | '&' 489 | '|' 490 | '~' 491 | '!' 492 | '=' 493 | '<' 494 | '>' 495 | ASS_ADD 496 | ASS_SUB 497 | ASS_MUL 498 | ASS_DIV 499 | ASS_MOD 500 | ASS_XOR 501 | ASS_AND 502 | ASS_OR 503 | SHL 504 | SHR 505 | ASS_SHR 506 | ASS_SHL 507 | EQ 508 | NE 509 | LE 510 | GE 511 | LOG_AND 512 | LOG_OR 513 | INC 514 | DEC 515 | ',' 516 | ARROW_STAR 517 | ARROW 518 | '(' ')' 519 | '[' ']' 520 template_declaration → template_parameter_clause declaration 521 | EXPORT template_declaration 522 template_parameter_clause → TEMPLATE '<' template_parameter_list '>' 523 template_parameter_list → template_parameter 524 | template_parameter_list ',' template_parameter 525 template_parameter → simple_type_parameter 526 | simple_type_parameter '=' type_id 527 | templated_type_parameter 528 | templated_type_parameter '=' identifier 529 | templated_parameter_declaration 530 | bang error 531 simple_type_parameter → CLASS 532 | TYPENAME 533 templated_type_parameter → template_parameter_clause CLASS 534 | template_parameter_clause CLASS identifier 535 template_id → TEMPLATE identifier '<' template_argument_list '>' 536 | TEMPLATE template_id 537 template_argument_list → template_argument 538 | template_argument_list ',' template_argument 539 template_argument → templated_parameter_declaration 540 explicit_specialization → TEMPLATE '<' '>' declaration 541 try_block → TRY compound_statement handler_seq 542 handler_seq → handler 543 | handler handler_seq 544 handler → CATCH '(' exception_declaration ')' compound_statement 545 exception_declaration → parameter_declaration 546 throw_expression → THROW 547 | THROW assignment_expression 548 templated_throw_expression → THROW 549 | THROW templated_assignment_expression 550 exception_specification → THROW '(' ')' 551 | THROW '(' type_id_list ')' 552 type_id_list → type_id 553 | type_id_list ',' type_id 554 advance_search → error 555 bang → %empty 556 mark → %empty 557 nest → %empty 558 start_search → %empty 559 start_search1 → %empty 560 util → %empty
0 $accept → • translation_unit $end 46 translation_unit → • declaration_seq.opt 224 declaration_seq.opt → • %empty 225 | • declaration_seq.opt util looping_declaration 226 | • declaration_seq.opt util looping_declaration '#' bang error ';' $default reduce using rule 224 (declaration_seq.opt) translation_unit go to state 1 declaration_seq.opt go to state 2
0 $accept → translation_unit • $end $end shift, and go to state 3
46 translation_unit → declaration_seq.opt • [$end] 225 declaration_seq.opt → declaration_seq.opt • util looping_declaration 226 | declaration_seq.opt • util looping_declaration '#' bang error ';' 560 util → • %empty [error, '+', '-', '*', '&', '~', '!', ':', '[', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] $end reduce using rule 46 (translation_unit) $default reduce using rule 560 (util) util go to state 4
0 $accept → translation_unit $end • $default accept
225 declaration_seq.opt → declaration_seq.opt util • looping_declaration 226 | declaration_seq.opt util • looping_declaration '#' bang error ';' 227 looping_declaration → • start_search1 looped_declaration 559 start_search1 → • %empty $default reduce using rule 559 (start_search1) looping_declaration go to state 5 start_search1 go to state 6
225 declaration_seq.opt → declaration_seq.opt util looping_declaration • [$end, error, '+', '-', '*', '&', '~', '!', ':', '[', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] 226 | declaration_seq.opt util looping_declaration • '#' bang error ';' '#' shift, and go to state 7 $default reduce using rule 225 (declaration_seq.opt)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 227 looping_declaration → start_search1 • looped_declaration 228 looped_declaration → • declaration 229 | • advance_search '+' looped_declaration 230 | • advance_search '-' 231 declaration → • block_declaration 232 | • function_definition 233 | • template_declaration 234 | • explicit_specialization 235 | • specialised_declaration 236 specialised_declaration → • linkage_specification 237 | • namespace_definition 238 | • TEMPLATE specialised_declaration 239 block_declaration → • simple_declaration 240 | • specialised_block_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 328 namespace_definition → • NAMESPACE scoped_id compound_declaration 329 | • NAMESPACE compound_declaration 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 335 linkage_specification → • EXTERN string looping_declaration 336 | • EXTERN string compound_declaration 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 391 function_definition → • ctor_definition 392 | • func_definition 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 520 template_declaration → • template_parameter_clause declaration 521 | • EXPORT template_declaration 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 540 explicit_specialization → • TEMPLATE '<' '>' declaration 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 35 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXPORT shift, and go to state 43 EXTERN shift, and go to state 44 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 50 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 105 looped_declaration go to state 106 declaration go to state 107 specialised_declaration go to state 108 block_declaration go to state 109 specialised_block_declaration go to state 110 simple_declaration go to state 111 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 121 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_definition go to state 129 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 linkage_specification go to state 134 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 function_definition go to state 143 func_definition go to state 144 ctor_definition go to state 145 constructor_head go to state 146 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 conversion_function_id go to state 153 operator_function_id go to state 154 template_declaration go to state 155 template_parameter_clause go to state 156 template_id go to state 157 explicit_specialization go to state 158 throw_expression go to state 159 advance_search go to state 160
226 declaration_seq.opt → declaration_seq.opt util looping_declaration '#' • bang error ';' 555 bang → • %empty $default reduce using rule 555 (bang) bang go to state 161
554 advance_search → error • $default reduce using rule 554 (advance_search)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 83 | '+' • cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 163 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 84 | '-' • cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 164 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
340 star_ptr_operator → '*' • $default reduce using rule 340 (star_ptr_operator)
344 ptr_operator → '&' • $default reduce using rule 344 (ptr_operator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 86 | '~' • cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 165 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 85 | '!' • cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 166 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 453 bit_field_declaration → ':' • bit_field_width 454 bit_field_width → • logical_or_expression 455 | • logical_or_expression '?' bit_field_width ':' bit_field_width 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 167 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_width go to state 168 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 52 | '[' • expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 156 expression.opt → • %empty [']'] 157 | • expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 156 (expression.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression.opt go to state 171 expression go to state 172 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 367 | '(' • parameter_declaration_clause ')' 368 parameter_declaration_clause → • %empty [')'] 369 | • parameter_declaration_list 370 | • parameter_declaration_list ELLIPSIS 371 parameter_declaration_list → • parameter_declaration 372 | • parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 368 (parameter_declaration_clause) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 parameter_declaration_clause go to state 182 parameter_declaration_list go to state 183 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 187 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
246 simple_declaration → ';' • $default reduce using rule 246 (simple_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 80 | DEC • cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 188 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 79 | INC • cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 189 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
9 global_scope → SCOPE • $default reduce using rule 9 (global_scope)
298 built_in_type_specifier → BOOL • $default reduce using rule 298 (built_in_type_specifier)
296 built_in_type_specifier → CHAR • $default reduce using rule 296 (built_in_type_specifier)
305 built_in_type_specifier → DOUBLE • $default reduce using rule 305 (built_in_type_specifier)
304 built_in_type_specifier → FLOAT • $default reduce using rule 304 (built_in_type_specifier)
300 built_in_type_specifier → INT • $default reduce using rule 300 (built_in_type_specifier)
301 built_in_type_specifier → LONG • $default reduce using rule 301 (built_in_type_specifier)
299 built_in_type_specifier → SHORT • $default reduce using rule 299 (built_in_type_specifier)
302 built_in_type_specifier → SIGNED • $default reduce using rule 302 (built_in_type_specifier)
303 built_in_type_specifier → UNSIGNED • $default reduce using rule 303 (built_in_type_specifier)
306 built_in_type_specifier → VOID • $default reduce using rule 306 (built_in_type_specifier)
297 built_in_type_specifier → WCHAR_T • $default reduce using rule 297 (built_in_type_specifier)
424 class_key → CLASS • $default reduce using rule 424 (class_key)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 310 elaborated_enum_specifier → ENUM • scoped_id 311 enum_specifier → ENUM • scoped_id enumerator_clause 312 | ENUM • enumerator_clause 313 enumerator_clause → • '{' enumerator_list_ecarb 314 | • '{' enumerator_list enumerator_list_ecarb 315 | • '{' enumerator_list ',' enumerator_definition_ecarb 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '{' shift, and go to state 190 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 194 enumerator_clause go to state 195 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 222 compound_declaration → • '{' nest declaration_seq.opt '}' 223 | • '{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 328 namespace_definition → NAMESPACE • scoped_id compound_declaration 329 | NAMESPACE • compound_declaration 330 namespace_alias_definition → NAMESPACE • scoped_id '=' scoped_id ';' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '{' shift, and go to state 196 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 197 compound_declaration go to state 198 template_id go to state 157
425 class_key → STRUCT • $default reduce using rule 425 (class_key)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 309 elaborated_type_specifier → TYPENAME • scoped_id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 199 template_id go to state 157
426 class_key → UNION • $default reduce using rule 426 (class_key)
353 cv_qualifier → CONST • $default reduce using rule 353 (cv_qualifier)
354 cv_qualifier → VOLATILE • $default reduce using rule 354 (cv_qualifier)
283 storage_class_specifier → AUTO • $default reduce using rule 283 (storage_class_specifier)
284 function_specifier → EXPLICIT • $default reduce using rule 284 (function_specifier)
520 template_declaration → • template_parameter_clause declaration 521 | • EXPORT template_declaration 521 | EXPORT • template_declaration 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' EXPORT shift, and go to state 43 TEMPLATE shift, and go to state 200 template_declaration go to state 201 template_parameter_clause go to state 156
38 string → • StringLiteral 282 storage_class_specifier → EXTERN • ['+', '-', '*', '&', '~', '!', ':', '[', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, VIRTUAL, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral] 335 linkage_specification → EXTERN • string looping_declaration 336 | EXTERN • string compound_declaration StringLiteral shift, and go to state 72 $default reduce using rule 282 (storage_class_specifier) string go to state 202 Conflict between rule 282 and token StringLiteral resolved as shift (SHIFT_THERE < StringLiteral).
273 decl_specifier_affix → FRIEND • $default reduce using rule 273 (decl_specifier_affix)
285 function_specifier → INLINE • $default reduce using rule 285 (function_specifier)
281 storage_class_specifier → MUTABLE • $default reduce using rule 281 (storage_class_specifier)
279 storage_class_specifier → REGISTER • $default reduce using rule 279 (storage_class_specifier)
280 storage_class_specifier → STATIC • $default reduce using rule 280 (storage_class_specifier)
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 53 abstract_expression → TEMPLATE • parenthesis_clause 236 specialised_declaration → • linkage_specification 237 | • namespace_definition 238 | • TEMPLATE specialised_declaration 238 | TEMPLATE • specialised_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 245 | TEMPLATE • specialised_block_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 278 | TEMPLATE • decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 328 namespace_definition → • NAMESPACE scoped_id compound_declaration 329 | • NAMESPACE compound_declaration 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 335 linkage_specification → • EXTERN string looping_declaration 336 | • EXTERN string compound_declaration 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 522 template_parameter_clause → TEMPLATE • '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id 540 explicit_specialization → TEMPLATE • '<' '>' declaration '<' shift, and go to state 203 '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 35 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 44 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 204 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 specialised_declaration go to state 208 specialised_block_declaration go to state 209 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 211 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_definition go to state 129 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 linkage_specification go to state 134 cv_qualifier go to state 140 parenthesis_clause go to state 213 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
274 decl_specifier_affix → TYPEDEF • $default reduce using rule 274 (decl_specifier_affix)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 26 declarator_id → • scoped_id 27 | • scoped_special_function_id 28 | • destructor_id 331 using_declaration → USING • declarator_id ';' 332 | USING • TYPENAME declarator_id ';' 333 using_directive → USING • NAMESPACE scoped_id ';' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 215 SCOPE shift, and go to state 21 NAMESPACE shift, and go to state 216 TYPENAME shift, and go to state 217 TEMPLATE shift, and go to state 218 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 219 id_scope go to state 220 nested_id go to state 78 scoped_id go to state 221 destructor_id go to state 222 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 223 declarator_id go to state 224 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
286 function_specifier → VIRTUAL • $default reduce using rule 286 (function_specifier)
334 asm_definition → ASM • '(' string ')' ';' '(' shift, and go to state 225
72 postfix_expression → CONST_CAST • '<' type_id '>' '(' expression ')' '<' shift, and go to state 226
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 92 | DELETE • cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 227 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
69 postfix_expression → DYNAMIC_CAST • '<' type_id '>' '(' expression ')' '<' shift, and go to state 228
44 boolean_literal → FALSE • $default reduce using rule 44 (boolean_literal)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 93 new_expression → NEW • new_type_id new_initializer.opt 94 | NEW • parameters_clause new_type_id new_initializer.opt 95 | NEW • parameters_clause 96 | NEW • parameters_clause parameters_clause new_initializer.opt 97 new_type_id → • type_specifier ptr_operator_seq.opt 98 | • type_specifier new_declarator 99 | • type_specifier new_type_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 new_type_id go to state 231 type_specifier go to state 232 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 parameters_clause go to state 237 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → OPERATOR • conversion_type_id 467 conversion_type_id → • type_specifier ptr_operator_seq.opt 468 | • type_specifier conversion_type_id 479 operator_function_id → OPERATOR • operator 480 operator → • NEW 481 | • DELETE 482 | • '+' 483 | • '-' 484 | • '*' 485 | • '/' 486 | • '%' 487 | • '^' 488 | • '&' 489 | • '|' 490 | • '~' 491 | • '!' 492 | • '=' 493 | • '<' 494 | • '>' 495 | • ASS_ADD 496 | • ASS_SUB 497 | • ASS_MUL 498 | • ASS_DIV 499 | • ASS_MOD 500 | • ASS_XOR 501 | • ASS_AND 502 | • ASS_OR 503 | • SHL 504 | • SHR 505 | • ASS_SHR 506 | • ASS_SHL 507 | • EQ 508 | • NE 509 | • LE 510 | • GE 511 | • LOG_AND 512 | • LOG_OR 513 | • INC 514 | • DEC 515 | • ',' 516 | • ARROW_STAR 517 | • ARROW 518 | • '(' ')' 519 | • '[' ']' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 238 '-' shift, and go to state 239 '*' shift, and go to state 240 '/' shift, and go to state 241 '%' shift, and go to state 242 '^' shift, and go to state 243 '&' shift, and go to state 244 '|' shift, and go to state 245 '~' shift, and go to state 246 '!' shift, and go to state 247 '<' shift, and go to state 248 '>' shift, and go to state 249 '=' shift, and go to state 250 '[' shift, and go to state 251 '(' shift, and go to state 252 ',' shift, and go to state 253 ARROW shift, and go to state 254 ARROW_STAR shift, and go to state 255 DEC shift, and go to state 256 EQ shift, and go to state 257 GE shift, and go to state 258 INC shift, and go to state 259 LE shift, and go to state 260 LOG_AND shift, and go to state 261 LOG_OR shift, and go to state 262 NE shift, and go to state 263 SHL shift, and go to state 264 SHR shift, and go to state 265 ASS_ADD shift, and go to state 266 ASS_AND shift, and go to state 267 ASS_DIV shift, and go to state 268 ASS_MOD shift, and go to state 269 ASS_MUL shift, and go to state 270 ASS_OR shift, and go to state 271 ASS_SHL shift, and go to state 272 ASS_SHR shift, and go to state 273 ASS_SUB shift, and go to state 274 ASS_XOR shift, and go to state 275 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 DELETE shift, and go to state 276 NEW shift, and go to state 277 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 278 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_type_id go to state 279 operator go to state 280 template_id go to state 157
71 postfix_expression → REINTERPRET_CAST • '<' type_id '>' '(' expression ')' '<' shift, and go to state 281
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 87 | SIZEOF • unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 282 postfix_expression go to state 88 unary_expression go to state 283 delete_expression go to state 90 new_expression go to state 91 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
70 postfix_expression → STATIC_CAST • '<' type_id '>' '(' expression ')' '<' shift, and go to state 284
48 primary_expression → THIS • $default reduce using rule 48 (primary_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 546 | THROW • [error, ':', ']', '{', '}', ')', ';', ',', ELLIPSIS, TRY, '#'] 547 | • THROW assignment_expression 547 | THROW • assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 546 (throw_expression) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 285 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
45 boolean_literal → TRUE • $default reduce using rule 45 (boolean_literal)
73 postfix_expression → TYPEID • parameters_clause 367 parameters_clause → • '(' parameter_declaration_clause ')' '(' shift, and go to state 17 parameters_clause go to state 286
40 literal → CharacterLiteral • $default reduce using rule 40 (literal)
41 literal → FloatingLiteral • $default reduce using rule 41 (literal)
1 identifier_word → Identifier • $default reduce using rule 1 (identifier_word)
39 literal → IntegerLiteral • $default reduce using rule 39 (literal)
38 string → StringLiteral • $default reduce using rule 38 (string)
2 identifier → identifier_word • $default reduce using rule 2 (identifier)
3 id → identifier • [error, '+', '-', '*', '/', '%', '^', '&', '|', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, VIRTUAL, OPERATOR, TRY, Identifier, '#'] 4 | identifier • template_test '+' template_argument_list '>' 5 | identifier • template_test '+' '>' 6 | identifier • template_test '-' 8 template_test → • '<' '<' shift, and go to state 287 $default reduce using rule 3 (id) template_test go to state 288 Conflict between rule 3 and token '<' resolved as shift (SHIFT_THERE < '<').
11 id_scope → id • SCOPE 12 nested_id → id • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, VIRTUAL, OPERATOR, TRY, Identifier, '#'] SCOPE shift, and go to state 289 $default reduce using rule 12 (nested_id) Conflict between rule 12 and token SCOPE resolved as shift (SHIFT_THERE < SCOPE).
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 15 scoped_id → global_scope • nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 25 scoped_special_function_id → global_scope • nested_special_function_id 89 unary_expression → global_scope • new_expression 91 | global_scope • delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 346 ptr_operator → global_scope • nested_ptr_operator 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 TEMPLATE shift, and go to state 290 DELETE shift, and go to state 56 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 77 nested_id go to state 291 special_function_id go to state 80 nested_special_function_id go to state 292 delete_expression go to state 293 new_expression go to state 294 star_ptr_operator go to state 137 nested_ptr_operator go to state 295 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 13 | id_scope • nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 22 | id_scope • destructor_id 23 | • id_scope nested_special_function_id 23 | id_scope • nested_special_function_id 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 343 | id_scope • nested_ptr_operator 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 '~' shift, and go to state 215 TEMPLATE shift, and go to state 296 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 77 nested_id go to state 297 destructor_id go to state 298 special_function_id go to state 80 nested_special_function_id go to state 299 star_ptr_operator go to state 137 nested_ptr_operator go to state 300 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
14 scoped_id → nested_id • $default reduce using rule 14 (scoped_id)
255 suffix_named_decl_specifier → scoped_id • $default reduce using rule 255 (suffix_named_decl_specifier)
21 nested_special_function_id → special_function_id • $default reduce using rule 21 (nested_special_function_id)
24 scoped_special_function_id → nested_special_function_id • $default reduce using rule 24 (scoped_special_function_id)
262 suffix_named_decl_specifiers.sf → scoped_special_function_id • $default reduce using rule 262 (suffix_named_decl_specifiers.sf)
42 literal → string • $default reduce using rule 42 (literal)
47 primary_expression → literal • $default reduce using rule 47 (primary_expression)
43 literal → boolean_literal • $default reduce using rule 43 (literal)
57 postfix_expression → primary_expression • $default reduce using rule 57 (postfix_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 50 | abstract_expression • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 107 | abstract_expression • cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 13 '!' shift, and go to state 14 '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 50 (primary_expression) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 301 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 Conflict between rule 50 and token '+' resolved as reduce ('+' < REDUCE_HERE_MOSTLY). Conflict between rule 50 and token '-' resolved as reduce ('-' < REDUCE_HERE_MOSTLY). Conflict between rule 50 and token '*' resolved as reduce ('*' < REDUCE_HERE_MOSTLY). Conflict between rule 50 and token '&' resolved as reduce ('&' < REDUCE_HERE_MOSTLY). Conflict between rule 50 and token '[' resolved as reduce ('[' < REDUCE_HERE_MOSTLY). Conflict between rule 50 and token '(' resolved as shift (REDUCE_HERE_MOSTLY < '('). Conflict between rule 50 and token DEC resolved as reduce (DEC < REDUCE_HERE_MOSTLY). Conflict between rule 50 and token INC resolved as reduce (INC < REDUCE_HERE_MOSTLY).
58 postfix_expression → postfix_expression • parenthesis_clause mark_type1 '-' 59 | postfix_expression • parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | postfix_expression • parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | postfix_expression • parenthesis_clause mark_type1 '+' error 62 | postfix_expression • '[' expression.opt ']' 63 | postfix_expression • '.' declarator_id 64 | postfix_expression • '.' scoped_pseudo_destructor_id 65 | postfix_expression • ARROW declarator_id 66 | postfix_expression • ARROW scoped_pseudo_destructor_id 67 | postfix_expression • INC 68 | postfix_expression • DEC 78 unary_expression → postfix_expression • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' '[' shift, and go to state 302 '(' shift, and go to state 17 '.' shift, and go to state 303 ARROW shift, and go to state 304 DEC shift, and go to state 305 INC shift, and go to state 306 $default reduce using rule 78 (unary_expression) parenthesis_clause go to state 307 parameters_clause go to state 142
106 cast_expression → unary_expression • $default reduce using rule 106 (cast_expression)
90 unary_expression → delete_expression • $default reduce using rule 90 (unary_expression)
88 unary_expression → new_expression • $default reduce using rule 88 (unary_expression)
108 pm_expression → cast_expression • $default reduce using rule 108 (pm_expression)
109 pm_expression → pm_expression • DOT_STAR cast_expression 110 | pm_expression • ARROW_STAR cast_expression 111 multiplicative_expression → pm_expression • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] ARROW_STAR shift, and go to state 308 DOT_STAR shift, and go to state 309 $default reduce using rule 111 (multiplicative_expression)
112 multiplicative_expression → multiplicative_expression • star_ptr_operator pm_expression 113 | multiplicative_expression • '/' pm_expression 114 | multiplicative_expression • '%' pm_expression 115 additive_expression → multiplicative_expression • [error, '+', '-', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier '*' shift, and go to state 11 '/' shift, and go to state 310 '%' shift, and go to state 311 $default reduce using rule 115 (additive_expression) star_ptr_operator go to state 312
116 additive_expression → additive_expression • '+' multiplicative_expression 117 | additive_expression • '-' multiplicative_expression 118 shift_expression → additive_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '+' shift, and go to state 313 '-' shift, and go to state 314 $default reduce using rule 118 (shift_expression)
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 121 relational_expression → shift_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 121 (relational_expression)
122 relational_expression → relational_expression • '<' shift_expression 123 | relational_expression • '>' shift_expression 124 | relational_expression • LE shift_expression 125 | relational_expression • GE shift_expression 126 equality_expression → relational_expression • [error, '^', '&', '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '<' shift, and go to state 317 '>' shift, and go to state 318 GE shift, and go to state 319 LE shift, and go to state 320 $default reduce using rule 126 (equality_expression)
127 equality_expression → equality_expression • EQ relational_expression 128 | equality_expression • NE relational_expression 129 and_expression → equality_expression • [error, '^', '&', '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] EQ shift, and go to state 321 NE shift, and go to state 322 $default reduce using rule 129 (and_expression)
130 and_expression → and_expression • '&' equality_expression 131 exclusive_or_expression → and_expression • [error, '^', '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '&' shift, and go to state 323 $default reduce using rule 131 (exclusive_or_expression)
132 exclusive_or_expression → exclusive_or_expression • '^' and_expression 133 inclusive_or_expression → exclusive_or_expression • [error, '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '^' shift, and go to state 324 $default reduce using rule 133 (inclusive_or_expression)
134 inclusive_or_expression → inclusive_or_expression • '|' exclusive_or_expression 135 logical_and_expression → inclusive_or_expression • [error, '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '|' shift, and go to state 325 $default reduce using rule 135 (logical_and_expression)
136 logical_and_expression → logical_and_expression • LOG_AND inclusive_or_expression 137 logical_or_expression → logical_and_expression • [error, '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] LOG_AND shift, and go to state 326 $default reduce using rule 137 (logical_or_expression)
138 logical_or_expression → logical_or_expression • LOG_OR logical_and_expression 139 conditional_expression → logical_or_expression • [error, ':', ']', '{', '}', ')', ';', ',', ELLIPSIS, TRY, '#'] 140 | logical_or_expression • '?' expression ':' assignment_expression 142 assignment_expression → logical_or_expression • assignment_operator assignment_expression 143 | logical_or_expression • '=' braced_initializer 145 assignment_operator → • '=' 146 | • ASS_ADD 147 | • ASS_AND 148 | • ASS_DIV 149 | • ASS_MOD 150 | • ASS_MUL 151 | • ASS_OR 152 | • ASS_SHL 153 | • ASS_SHR 154 | • ASS_SUB 155 | • ASS_XOR '=' shift, and go to state 327 '?' shift, and go to state 328 LOG_OR shift, and go to state 329 ASS_ADD shift, and go to state 330 ASS_AND shift, and go to state 331 ASS_DIV shift, and go to state 332 ASS_MOD shift, and go to state 333 ASS_MUL shift, and go to state 334 ASS_OR shift, and go to state 335 ASS_SHL shift, and go to state 336 ASS_SHR shift, and go to state 337 ASS_SUB shift, and go to state 338 ASS_XOR shift, and go to state 339 $default reduce using rule 139 (conditional_expression) assignment_operator go to state 340
141 assignment_expression → conditional_expression • $default reduce using rule 141 (assignment_expression)
202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 337 init_declarations → assignment_expression • ',' init_declaration 339 init_declaration → assignment_expression • [';'] 393 func_definition → assignment_expression • function_try_block 394 | assignment_expression • function_body 401 function_try_block → • TRY function_block handler_seq 403 function_body → • compound_statement 452 bit_field_declaration → assignment_expression • ':' bit_field_width ':' shift, and go to state 341 '{' shift, and go to state 342 ',' shift, and go to state 343 TRY shift, and go to state 344 $default reduce using rule 339 (init_declaration) compound_statement go to state 345 function_try_block go to state 346 function_body go to state 347
227 looping_declaration → start_search1 looped_declaration • $default reduce using rule 227 (looping_declaration)
228 looped_declaration → declaration • $default reduce using rule 228 (looped_declaration)
235 declaration → specialised_declaration • $default reduce using rule 235 (declaration)
231 declaration → block_declaration • $default reduce using rule 231 (declaration)
240 block_declaration → specialised_block_declaration • $default reduce using rule 240 (block_declaration)
239 block_declaration → simple_declaration • $default reduce using rule 239 (block_declaration)
251 suffix_built_in_decl_specifier.raw → suffix_built_in_decl_specifier.raw • built_in_type_specifier 252 | suffix_built_in_decl_specifier.raw • decl_specifier_suffix 253 suffix_built_in_decl_specifier → suffix_built_in_decl_specifier.raw • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, OPERATOR, TRY, Identifier, '#'] 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 276 decl_specifier_suffix → • decl_specifier_affix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 353 cv_qualifier → • CONST 354 | • VOLATILE BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 $default reduce using rule 253 (suffix_built_in_decl_specifier) decl_specifier_affix go to state 348 decl_specifier_suffix go to state 349 storage_class_specifier go to state 122 function_specifier go to state 123 built_in_type_specifier go to state 350 cv_qualifier go to state 140
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → suffix_built_in_decl_specifier • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 266 | suffix_built_in_decl_specifier • suffix_named_decl_specifiers.sf 269 suffix_decl_specified_scope → suffix_built_in_decl_specifier • suffix_named_decl_specifiers SCOPE 270 | suffix_built_in_decl_specifier • SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 351 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 352 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 $default reduce using rule 265 (suffix_decl_specified_ids) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 219 id_scope go to state 220 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 353 suffix_named_decl_specifiers.sf go to state 354 elaborate_type_specifier go to state 124 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 257 suffix_named_decl_specifier → suffix_named_decl_specifier • decl_specifier_suffix 258 suffix_named_decl_specifier.bi → suffix_named_decl_specifier • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, OPERATOR, TRY, Identifier, '#'] 259 | suffix_named_decl_specifier • suffix_built_in_decl_specifier.raw 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 276 decl_specifier_suffix → • decl_specifier_affix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 353 cv_qualifier → • CONST 354 | • VOLATILE BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 $default reduce using rule 258 (suffix_named_decl_specifier.bi) suffix_built_in_decl_specifier.raw go to state 355 decl_specifier_affix go to state 348 decl_specifier_suffix go to state 356 storage_class_specifier go to state 122 function_specifier go to state 123 built_in_type_specifier go to state 125 cv_qualifier go to state 140
260 suffix_named_decl_specifiers → suffix_named_decl_specifier.bi • $default reduce using rule 260 (suffix_named_decl_specifiers)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 261 suffix_named_decl_specifiers → suffix_named_decl_specifiers • suffix_named_decl_specifier.bi 263 suffix_named_decl_specifiers.sf → suffix_named_decl_specifiers • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 264 | suffix_named_decl_specifiers • scoped_special_function_id 268 suffix_decl_specified_scope → suffix_named_decl_specifiers • SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 357 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 352 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 $default reduce using rule 263 (suffix_named_decl_specifiers.sf) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 219 id_scope go to state 220 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 358 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 359 elaborate_type_specifier go to state 124 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
267 suffix_decl_specified_ids → suffix_named_decl_specifiers.sf • $default reduce using rule 267 (suffix_decl_specified_ids)
49 primary_expression → suffix_decl_specified_ids • $default reduce using rule 49 (primary_expression)
82 unary_expression → suffix_decl_specified_scope • star_ptr_operator cast_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier '*' shift, and go to state 11 star_ptr_operator go to state 360
277 decl_specifier_prefix → decl_specifier_affix • $default reduce using rule 277 (decl_specifier_prefix)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 249 | decl_specifier_prefix • simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 395 | decl_specifier_prefix • func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 398 | decl_specifier_prefix • ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 105 simple_declaration go to state 361 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 121 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 func_definition go to state 362 ctor_definition go to state 363 constructor_head go to state 146 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
271 decl_specifier_affix → storage_class_specifier • $default reduce using rule 271 (decl_specifier_affix)
272 decl_specifier_affix → function_specifier • $default reduce using rule 272 (decl_specifier_affix)
256 suffix_named_decl_specifier → elaborate_type_specifier • $default reduce using rule 256 (suffix_named_decl_specifier)
250 suffix_built_in_decl_specifier.raw → built_in_type_specifier • $default reduce using rule 250 (suffix_built_in_decl_specifier.raw)
292 elaborate_type_specifier → elaborated_type_specifier • $default reduce using rule 292 (elaborate_type_specifier)
308 elaborated_type_specifier → elaborated_enum_specifier • $default reduce using rule 308 (elaborated_type_specifier)
291 elaborate_type_specifier → enum_specifier • $default reduce using rule 291 (elaborate_type_specifier)
237 specialised_declaration → namespace_definition • $default reduce using rule 237 (specialised_declaration)
242 specialised_block_declaration → namespace_alias_definition • $default reduce using rule 242 (specialised_block_declaration)
243 specialised_block_declaration → using_declaration • $default reduce using rule 243 (specialised_block_declaration)
244 specialised_block_declaration → using_directive • $default reduce using rule 244 (specialised_block_declaration)
241 specialised_block_declaration → asm_definition • $default reduce using rule 241 (specialised_block_declaration)
236 specialised_declaration → linkage_specification • $default reduce using rule 236 (specialised_declaration)
248 simple_declaration → init_declarations • ';' 338 init_declarations → init_declarations • ',' init_declaration ';' shift, and go to state 364 ',' shift, and go to state 365
247 simple_declaration → init_declaration • ';' ';' shift, and go to state 366
341 star_ptr_operator → star_ptr_operator • cv_qualifier 342 nested_ptr_operator → star_ptr_operator • [error, '+', '-', '*', '/', '%', '^', '&', '|', '~', '!', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, TRUE, TRY, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral, '#'] 353 cv_qualifier → • CONST 354 | • VOLATILE CONST shift, and go to state 39 VOLATILE shift, and go to state 40 $default reduce using rule 342 (nested_ptr_operator) cv_qualifier go to state 367
345 ptr_operator → nested_ptr_operator • $default reduce using rule 345 (ptr_operator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 81 | ptr_operator • cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 368 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
275 decl_specifier_affix → cv_qualifier • $default reduce using rule 275 (decl_specifier_affix)
51 abstract_expression → parenthesis_clause • $default reduce using rule 51 (abstract_expression)
351 cv_qualifier_seq.opt → • %empty 352 | • cv_qualifier_seq.opt cv_qualifier 365 parenthesis_clause → parameters_clause • cv_qualifier_seq.opt 366 | parameters_clause • cv_qualifier_seq.opt exception_specification $default reduce using rule 351 (cv_qualifier_seq.opt) cv_qualifier_seq.opt go to state 369
232 declaration → function_definition • $default reduce using rule 232 (declaration)
392 function_definition → func_definition • $default reduce using rule 392 (function_definition)
391 function_definition → ctor_definition • $default reduce using rule 391 (function_definition)
202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 396 ctor_definition → constructor_head • function_try_block 397 | constructor_head • function_body 400 constructor_head → constructor_head • ',' assignment_expression 401 function_try_block → • TRY function_block handler_seq 403 function_body → • compound_statement '{' shift, and go to state 342 ',' shift, and go to state 370 TRY shift, and go to state 344 compound_statement go to state 345 function_try_block go to state 371 function_body go to state 372
307 elaborated_type_specifier → elaborated_class_specifier • $default reduce using rule 307 (elaborated_type_specifier)
427 class_specifier → class_specifier_head • member_specification.opt '}' 428 | class_specifier_head • member_specification.opt util looping_member_declaration '#' bang error '}' 429 member_specification.opt → • %empty 430 | • member_specification.opt util looping_member_declaration 431 | • member_specification.opt util looping_member_declaration '#' bang error ';' $default reduce using rule 429 (member_specification.opt) member_specification.opt go to state 373
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 418 elaborated_class_specifier → class_key • scoped_id 419 | class_key • scoped_id colon_mark error 420 class_specifier_head → class_key • scoped_id colon_mark base_specifier_list '{' 421 | class_key • ':' base_specifier_list '{' 422 | class_key • scoped_id '{' 423 | class_key • '{' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id ':' shift, and go to state 374 '{' shift, and go to state 375 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 376 template_id go to state 157
290 elaborate_type_specifier → class_specifier • $default reduce using rule 290 (elaborate_type_specifier)
456 bit_field_init_declaration → bit_field_declaration • ['{', ';', ',', TRY] 457 | bit_field_declaration • '=' initializer_clause '=' shift, and go to state 377 $default reduce using rule 456 (bit_field_init_declaration)
399 constructor_head → bit_field_init_declaration • $default reduce using rule 399 (constructor_head)
18 special_function_id → conversion_function_id • $default reduce using rule 18 (special_function_id)
19 special_function_id → operator_function_id • $default reduce using rule 19 (special_function_id)
233 declaration → template_declaration • $default reduce using rule 233 (declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 231 declaration → • block_declaration 232 | • function_definition 233 | • template_declaration 234 | • explicit_specialization 235 | • specialised_declaration 236 specialised_declaration → • linkage_specification 237 | • namespace_definition 238 | • TEMPLATE specialised_declaration 239 block_declaration → • simple_declaration 240 | • specialised_block_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 328 namespace_definition → • NAMESPACE scoped_id compound_declaration 329 | • NAMESPACE compound_declaration 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 335 linkage_specification → • EXTERN string looping_declaration 336 | • EXTERN string compound_declaration 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 391 function_definition → • ctor_definition 392 | • func_definition 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 520 template_declaration → • template_parameter_clause declaration 520 | template_parameter_clause • declaration 521 | • EXPORT template_declaration 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 540 explicit_specialization → • TEMPLATE '<' '>' declaration 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 35 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXPORT shift, and go to state 43 EXTERN shift, and go to state 44 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 50 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 105 declaration go to state 378 specialised_declaration go to state 108 block_declaration go to state 109 specialised_block_declaration go to state 110 simple_declaration go to state 111 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 121 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_definition go to state 129 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 linkage_specification go to state 134 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 function_definition go to state 143 func_definition go to state 144 ctor_definition go to state 145 constructor_head go to state 146 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 conversion_function_id go to state 153 operator_function_id go to state 154 template_declaration go to state 155 template_parameter_clause go to state 156 template_id go to state 157 explicit_specialization go to state 158 throw_expression go to state 159
7 id → template_id • $default reduce using rule 7 (id)
234 declaration → explicit_specialization • $default reduce using rule 234 (declaration)
144 assignment_expression → throw_expression • $default reduce using rule 144 (assignment_expression)
229 looped_declaration → advance_search • '+' looped_declaration 230 | advance_search • '-' '+' shift, and go to state 379 '-' shift, and go to state 380
226 declaration_seq.opt → declaration_seq.opt util looping_declaration '#' bang • error ';' error shift, and go to state 381
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 53 abstract_expression → TEMPLATE • parenthesis_clause 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 382 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 parenthesis_clause go to state 213 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
83 unary_expression → '+' cast_expression • $default reduce using rule 83 (unary_expression)
84 unary_expression → '-' cast_expression • $default reduce using rule 84 (unary_expression)
86 unary_expression → '~' cast_expression • $default reduce using rule 86 (unary_expression)
85 unary_expression → '!' cast_expression • $default reduce using rule 85 (unary_expression)
138 logical_or_expression → logical_or_expression • LOG_OR logical_and_expression 454 bit_field_width → logical_or_expression • ['=', ':', '{', ';', ',', TRY] 455 | logical_or_expression • '?' bit_field_width ':' bit_field_width '?' shift, and go to state 383 LOG_OR shift, and go to state 329 $default reduce using rule 454 (bit_field_width)
453 bit_field_declaration → ':' bit_field_width • $default reduce using rule 453 (bit_field_declaration)
77 expression_list → expression_list • ',' assignment_expression 159 expression → expression_list • ',' assignment_expression ',' shift, and go to state 384
76 expression_list → assignment_expression • [','] 158 expression → assignment_expression • [':', ']', ')', ';'] ',' reduce using rule 76 (expression_list) $default reduce using rule 158 (expression)
52 abstract_expression → '[' expression.opt • ']' ']' shift, and go to state 385
157 expression.opt → expression • $default reduce using rule 157 (expression.opt)
380 special_parameter_declaration → ELLIPSIS • $default reduce using rule 380 (special_parameter_declaration)
282 storage_class_specifier → EXTERN • $default reduce using rule 282 (storage_class_specifier)
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 53 abstract_expression → TEMPLATE • parenthesis_clause 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 278 | TEMPLATE • decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 386 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 211 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 140 parenthesis_clause go to state 213 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
112 multiplicative_expression → multiplicative_expression • star_ptr_operator pm_expression 113 | multiplicative_expression • '/' pm_expression 114 | multiplicative_expression • '%' pm_expression 115 additive_expression → multiplicative_expression • ['+', '-', '^', '&', '|', '<', '>', '=', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS] 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 374 abstract_pointer_declaration → multiplicative_expression • star_ptr_operator ptr_operator_seq.opt '*' shift, and go to state 11 '/' shift, and go to state 310 '%' shift, and go to state 311 $default reduce using rule 115 (additive_expression) star_ptr_operator go to state 387
130 and_expression → and_expression • '&' equality_expression 131 exclusive_or_expression → and_expression • ['^', '|', '=', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS] 376 abstract_parameter_declaration → and_expression • '&' 377 | and_expression • '&' abstract_pointer_declaration '&' shift, and go to state 388 $default reduce using rule 131 (exclusive_or_expression)
381 parameter_declaration → assignment_expression • $default reduce using rule 381 (parameter_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 383 | decl_specifier_prefix • parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 389 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 81 | ptr_operator • cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 347 | ptr_operator • ['>', '=', ')', ';', ',', ELLIPSIS] 348 | • ptr_operator ptr_operator_seq 348 | ptr_operator • ptr_operator_seq 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 347 (ptr_operator_seq) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 368 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 390 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
373 abstract_pointer_declaration → ptr_operator_seq • $default reduce using rule 373 (abstract_pointer_declaration)
367 parameters_clause → '(' parameter_declaration_clause • ')' ')' shift, and go to state 391
369 parameter_declaration_clause → parameter_declaration_list • [')'] 370 | parameter_declaration_list • ELLIPSIS 372 parameter_declaration_list → parameter_declaration_list • ',' parameter_declaration ',' shift, and go to state 392 ELLIPSIS shift, and go to state 393 $default reduce using rule 369 (parameter_declaration_clause)
375 abstract_parameter_declaration → abstract_pointer_declaration • $default reduce using rule 375 (abstract_parameter_declaration)
378 special_parameter_declaration → abstract_parameter_declaration • [')', ';', ',', ELLIPSIS] 379 | abstract_parameter_declaration • '=' assignment_expression '=' shift, and go to state 394 $default reduce using rule 378 (special_parameter_declaration)
382 parameter_declaration → special_parameter_declaration • $default reduce using rule 382 (parameter_declaration)
371 parameter_declaration_list → parameter_declaration • $default reduce using rule 371 (parameter_declaration_list)
80 unary_expression → DEC cast_expression • $default reduce using rule 80 (unary_expression)
79 unary_expression → INC cast_expression • $default reduce using rule 79 (unary_expression)
313 enumerator_clause → '{' • enumerator_list_ecarb 314 | '{' • enumerator_list enumerator_list_ecarb 315 | '{' • enumerator_list ',' enumerator_definition_ecarb 316 enumerator_list_ecarb → • '}' 317 | • bang error '}' 320 enumerator_definition_filler → • %empty [Identifier] 321 | • bang error ',' 322 enumerator_list_head → • enumerator_definition_filler 323 | • enumerator_list ',' enumerator_definition_filler 324 enumerator_list → • enumerator_list_head enumerator_definition 555 bang → • %empty [error] '}' shift, and go to state 395 error reduce using rule 555 (bang) $default reduce using rule 320 (enumerator_definition_filler) enumerator_list_ecarb go to state 396 enumerator_definition_filler go to state 397 enumerator_list_head go to state 398 enumerator_list go to state 399 bang go to state 400
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 15 scoped_id → global_scope • nested_id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 193 nested_id go to state 291 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 13 | id_scope • nested_id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 193 nested_id go to state 297 template_id go to state 157
310 elaborated_enum_specifier → ENUM scoped_id • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, VIRTUAL, OPERATOR, TRY, Identifier, '#'] 311 enum_specifier → ENUM scoped_id • enumerator_clause 313 enumerator_clause → • '{' enumerator_list_ecarb 314 | • '{' enumerator_list enumerator_list_ecarb 315 | • '{' enumerator_list ',' enumerator_definition_ecarb '{' shift, and go to state 190 $default reduce using rule 310 (elaborated_enum_specifier) enumerator_clause go to state 402 Conflict between rule 310 and token '{' resolved as shift (SHIFT_THERE < '{').
312 enum_specifier → ENUM enumerator_clause • $default reduce using rule 312 (enum_specifier)
222 compound_declaration → '{' • nest declaration_seq.opt '}' 223 | '{' • nest declaration_seq.opt util looping_declaration '#' bang error '}' 557 nest → • %empty $default reduce using rule 557 (nest) nest go to state 403
222 compound_declaration → • '{' nest declaration_seq.opt '}' 223 | • '{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 328 namespace_definition → NAMESPACE scoped_id • compound_declaration 330 namespace_alias_definition → NAMESPACE scoped_id • '=' scoped_id ';' '=' shift, and go to state 404 '{' shift, and go to state 196 compound_declaration go to state 405
329 namespace_definition → NAMESPACE compound_declaration • $default reduce using rule 329 (namespace_definition)
309 elaborated_type_specifier → TYPENAME scoped_id • $default reduce using rule 309 (elaborated_type_specifier)
522 template_parameter_clause → TEMPLATE • '<' template_parameter_list '>' '<' shift, and go to state 406
521 template_declaration → EXPORT template_declaration • $default reduce using rule 521 (template_declaration)
222 compound_declaration → • '{' nest declaration_seq.opt '}' 223 | • '{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 227 looping_declaration → • start_search1 looped_declaration 335 linkage_specification → EXTERN string • looping_declaration 336 | EXTERN string • compound_declaration 559 start_search1 → • %empty [error, '+', '-', '*', '&', '~', '!', ':', '[', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] '{' shift, and go to state 196 $default reduce using rule 559 (start_search1) compound_declaration go to state 407 looping_declaration go to state 408 start_search1 go to state 6
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 384 templated_parameter_declaration → • templated_assignment_expression 385 | • templated_abstract_declaration 386 | • templated_abstract_declaration '=' templated_assignment_expression 387 | • decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declaration → • abstract_pointer_declaration 389 | • templated_and_expression '&' 390 | • templated_and_expression '&' abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 522 | TEMPLATE '<' • template_parameter_list '>' 523 template_parameter_list → • template_parameter 524 | • template_parameter_list ',' template_parameter 525 template_parameter → • simple_type_parameter 526 | • simple_type_parameter '=' type_id 527 | • templated_type_parameter 528 | • templated_type_parameter '=' identifier 529 | • templated_parameter_declaration 530 | • bang error 531 simple_type_parameter → • CLASS 532 | • TYPENAME 533 templated_type_parameter → • template_parameter_clause CLASS 534 | • template_parameter_clause CLASS identifier 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 540 explicit_specialization → TEMPLATE '<' • '>' declaration 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression 555 bang → • %empty [error] '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '>' shift, and go to state 409 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 410 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 411 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 412 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 555 (bang) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 417 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 423 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 424 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 425 templated_parameter_declaration go to state 426 templated_abstract_declaration go to state 427 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_parameter_clause go to state 428 template_parameter_list go to state 429 template_parameter go to state 430 simple_type_parameter go to state 431 templated_type_parameter go to state 432 template_id go to state 157 templated_throw_expression go to state 433 bang go to state 434
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 236 specialised_declaration → • linkage_specification 237 | • namespace_definition 238 | • TEMPLATE specialised_declaration 238 | TEMPLATE • specialised_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 245 | TEMPLATE • specialised_block_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 278 | TEMPLATE • decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 328 namespace_definition → • NAMESPACE scoped_id compound_declaration 329 | • NAMESPACE compound_declaration 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 335 linkage_specification → • EXTERN string looping_declaration 336 | • EXTERN string compound_declaration 353 cv_qualifier → • CONST 354 | • VOLATILE 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 35 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 44 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 204 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 specialised_declaration go to state 208 specialised_block_declaration go to state 209 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 211 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_definition go to state 129 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 linkage_specification go to state 134 cv_qualifier go to state 140 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
535 template_id → TEMPLATE identifier • '<' template_argument_list '>' '<' shift, and go to state 435
10 global_scope → TEMPLATE global_scope • $default reduce using rule 10 (global_scope)
20 special_function_id → TEMPLATE special_function_id • $default reduce using rule 20 (special_function_id)
238 specialised_declaration → TEMPLATE specialised_declaration • $default reduce using rule 238 (specialised_declaration)
245 specialised_block_declaration → TEMPLATE specialised_block_declaration • $default reduce using rule 245 (specialised_block_declaration)
254 suffix_built_in_decl_specifier → TEMPLATE suffix_built_in_decl_specifier • $default reduce using rule 254 (suffix_built_in_decl_specifier)
278 decl_specifier_prefix → TEMPLATE decl_specifier_prefix • $default reduce using rule 278 (decl_specifier_prefix)
293 elaborate_type_specifier → TEMPLATE elaborate_type_specifier • $default reduce using rule 293 (elaborate_type_specifier)
53 abstract_expression → TEMPLATE parenthesis_clause • $default reduce using rule 53 (abstract_expression)
536 template_id → TEMPLATE template_id • $default reduce using rule 536 (template_id)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 16 destructor_id → '~' • id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 436 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 333 using_directive → USING NAMESPACE • scoped_id ';' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 437 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 26 declarator_id → • scoped_id 27 | • scoped_special_function_id 28 | • destructor_id 332 using_declaration → USING TYPENAME • declarator_id ';' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 215 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 218 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 219 id_scope go to state 220 nested_id go to state 78 scoped_id go to state 221 destructor_id go to state 222 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 223 declarator_id go to state 438 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 17 | TEMPLATE • destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '~' shift, and go to state 215 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 218 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 destructor_id go to state 439 special_function_id go to state 207 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 15 scoped_id → global_scope • nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 25 scoped_special_function_id → global_scope • nested_special_function_id 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id TEMPLATE shift, and go to state 290 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 220 nested_id go to state 291 special_function_id go to state 80 nested_special_function_id go to state 292 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 13 | id_scope • nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 22 | id_scope • destructor_id 23 | • id_scope nested_special_function_id 23 | id_scope • nested_special_function_id 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 215 TEMPLATE shift, and go to state 296 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 220 nested_id go to state 297 destructor_id go to state 298 special_function_id go to state 80 nested_special_function_id go to state 299 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
26 declarator_id → scoped_id • $default reduce using rule 26 (declarator_id)
28 declarator_id → destructor_id • $default reduce using rule 28 (declarator_id)
27 declarator_id → scoped_special_function_id • $default reduce using rule 27 (declarator_id)
331 using_declaration → USING declarator_id • ';' ';' shift, and go to state 440
38 string → • StringLiteral 334 asm_definition → ASM '(' • string ')' ';' StringLiteral shift, and go to state 72 string go to state 441
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 72 postfix_expression → CONST_CAST '<' • type_id '>' '(' expression ')' 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 356 | • type_specifier type_id 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 type_id go to state 443 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
92 delete_expression → DELETE cast_expression • $default reduce using rule 92 (delete_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 69 postfix_expression → DYNAMIC_CAST '<' • type_id '>' '(' expression ')' 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 356 | • type_specifier type_id 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 type_id go to state 444 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id SCOPE shift, and go to state 21 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 elaborate_type_specifier go to state 212 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 214
294 simple_type_specifier → scoped_id • $default reduce using rule 294 (simple_type_specifier)
93 new_expression → NEW new_type_id • new_initializer.opt 104 new_initializer.opt → • %empty [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 105 | • '(' expression_list.opt ')' '(' shift, and go to state 445 $default reduce using rule 104 (new_initializer.opt) new_initializer.opt go to state 446
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 97 new_type_id → • type_specifier ptr_operator_seq.opt 97 | type_specifier • ptr_operator_seq.opt 98 | • type_specifier new_declarator 98 | type_specifier • new_declarator 99 | • type_specifier new_type_id 99 | type_specifier • new_type_id 100 new_declarator → • ptr_operator new_declarator 101 | • direct_new_declarator 102 direct_new_declarator → • '[' expression ']' 103 | • direct_new_declarator '[' constant_expression ']' 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 349 ptr_operator_seq.opt → • %empty [error, '+', '-', '/', '%', '^', '|', '<', '>', '=', ':', ']', '{', '}', '(', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 350 | • ptr_operator ptr_operator_seq.opt 353 cv_qualifier → • CONST 354 | • VOLATILE 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 '&' shift, and go to state 12 '[' shift, and go to state 447 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 $default reduce using rule 349 (ptr_operator_seq.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 448 id_scope go to state 449 nested_id go to state 78 scoped_id go to state 230 new_type_id go to state 450 new_declarator go to state 451 direct_new_declarator go to state 452 type_specifier go to state 232 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 453 ptr_operator_seq.opt go to state 454 cv_qualifier go to state 236 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157 Conflict between rule 349 and token '*' resolved as shift (SHIFT_THERE < '*'). Conflict between rule 349 and token '&' resolved as shift (SHIFT_THERE < '&').
288 type_specifier → elaborate_type_specifier • $default reduce using rule 288 (type_specifier)
287 type_specifier → simple_type_specifier • $default reduce using rule 287 (type_specifier)
295 simple_type_specifier → built_in_type_specifier • $default reduce using rule 295 (simple_type_specifier)
289 type_specifier → cv_qualifier • $default reduce using rule 289 (type_specifier)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 94 new_expression → NEW parameters_clause • new_type_id new_initializer.opt 95 | NEW parameters_clause • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 96 | NEW parameters_clause • parameters_clause new_initializer.opt 97 new_type_id → • type_specifier ptr_operator_seq.opt 98 | • type_specifier new_declarator 99 | • type_specifier new_type_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 $default reduce using rule 95 (new_expression) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 new_type_id go to state 455 type_specifier go to state 232 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 parameters_clause go to state 456 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
482 operator → '+' • $default reduce using rule 482 (operator)
483 operator → '-' • $default reduce using rule 483 (operator)
484 operator → '*' • $default reduce using rule 484 (operator)
485 operator → '/' • $default reduce using rule 485 (operator)
486 operator → '%' • $default reduce using rule 486 (operator)
487 operator → '^' • $default reduce using rule 487 (operator)
488 operator → '&' • $default reduce using rule 488 (operator)
489 operator → '|' • $default reduce using rule 489 (operator)
490 operator → '~' • $default reduce using rule 490 (operator)
491 operator → '!' • $default reduce using rule 491 (operator)
493 operator → '<' • $default reduce using rule 493 (operator)
494 operator → '>' • $default reduce using rule 494 (operator)
492 operator → '=' • $default reduce using rule 492 (operator)
519 operator → '[' • ']' ']' shift, and go to state 457
518 operator → '(' • ')' ')' shift, and go to state 458
515 operator → ',' • $default reduce using rule 515 (operator)
517 operator → ARROW • $default reduce using rule 517 (operator)
516 operator → ARROW_STAR • $default reduce using rule 516 (operator)
514 operator → DEC • $default reduce using rule 514 (operator)
507 operator → EQ • $default reduce using rule 507 (operator)
510 operator → GE • $default reduce using rule 510 (operator)
513 operator → INC • $default reduce using rule 513 (operator)
509 operator → LE • $default reduce using rule 509 (operator)
511 operator → LOG_AND • $default reduce using rule 511 (operator)
512 operator → LOG_OR • $default reduce using rule 512 (operator)
508 operator → NE • $default reduce using rule 508 (operator)
503 operator → SHL • $default reduce using rule 503 (operator)
504 operator → SHR • $default reduce using rule 504 (operator)
495 operator → ASS_ADD • $default reduce using rule 495 (operator)
501 operator → ASS_AND • $default reduce using rule 501 (operator)
498 operator → ASS_DIV • $default reduce using rule 498 (operator)
499 operator → ASS_MOD • $default reduce using rule 499 (operator)
497 operator → ASS_MUL • $default reduce using rule 497 (operator)
502 operator → ASS_OR • $default reduce using rule 502 (operator)
506 operator → ASS_SHL • $default reduce using rule 506 (operator)
505 operator → ASS_SHR • $default reduce using rule 505 (operator)
496 operator → ASS_SUB • $default reduce using rule 496 (operator)
500 operator → ASS_XOR • $default reduce using rule 500 (operator)
481 operator → DELETE • $default reduce using rule 481 (operator)
480 operator → NEW • $default reduce using rule 480 (operator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 349 ptr_operator_seq.opt → • %empty [error, '+', '-', '/', '%', '^', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 350 | • ptr_operator ptr_operator_seq.opt 353 cv_qualifier → • CONST 354 | • VOLATILE 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 467 conversion_type_id → • type_specifier ptr_operator_seq.opt 467 | type_specifier • ptr_operator_seq.opt 468 | • type_specifier conversion_type_id 468 | type_specifier • conversion_type_id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 '&' shift, and go to state 12 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 $default reduce using rule 349 (ptr_operator_seq.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 448 id_scope go to state 449 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 278 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 459 ptr_operator_seq.opt go to state 460 cv_qualifier go to state 236 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_type_id go to state 461 template_id go to state 157 Conflict between rule 349 and token '*' resolved as shift (SHIFT_THERE < '*'). Conflict between rule 349 and token '&' resolved as shift (SHIFT_THERE < '&').
466 conversion_function_id → OPERATOR conversion_type_id • $default reduce using rule 466 (conversion_function_id)
479 operator_function_id → OPERATOR operator • $default reduce using rule 479 (operator_function_id)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 71 postfix_expression → REINTERPRET_CAST '<' • type_id '>' '(' expression ')' 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 356 | • type_specifier type_id 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 type_id go to state 462 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
50 primary_expression → abstract_expression • $default reduce using rule 50 (primary_expression)
87 unary_expression → SIZEOF unary_expression • $default reduce using rule 87 (unary_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 70 postfix_expression → STATIC_CAST '<' • type_id '>' '(' expression ')' 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 356 | • type_specifier type_id 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 type_id go to state 463 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
547 throw_expression → THROW assignment_expression • $default reduce using rule 547 (throw_expression)
73 postfix_expression → TYPEID parameters_clause • $default reduce using rule 73 (postfix_expression)
8 template_test → '<' • $default reduce using rule 8 (template_test)
4 id → identifier template_test • '+' template_argument_list '>' 5 | identifier template_test • '+' '>' 6 | identifier template_test • '-' '+' shift, and go to state 464 '-' shift, and go to state 465
11 id_scope → id SCOPE • $default reduce using rule 11 (id_scope)
1 identifier_word → • Identifier 2 identifier → • identifier_word 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id TEMPLATE shift, and go to state 290 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 special_function_id go to state 207 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
15 scoped_id → global_scope nested_id • $default reduce using rule 15 (scoped_id)
25 scoped_special_function_id → global_scope nested_special_function_id • $default reduce using rule 25 (scoped_special_function_id)
91 unary_expression → global_scope delete_expression • $default reduce using rule 91 (unary_expression)
89 unary_expression → global_scope new_expression • $default reduce using rule 89 (unary_expression)
346 ptr_operator → global_scope nested_ptr_operator • $default reduce using rule 346 (ptr_operator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 17 | TEMPLATE • destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '~' shift, and go to state 215 TEMPLATE shift, and go to state 296 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 destructor_id go to state 439 special_function_id go to state 207 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
13 nested_id → id_scope nested_id • $default reduce using rule 13 (nested_id)
22 nested_special_function_id → id_scope destructor_id • $default reduce using rule 22 (nested_special_function_id)
23 nested_special_function_id → id_scope nested_special_function_id • $default reduce using rule 23 (nested_special_function_id)
343 nested_ptr_operator → id_scope nested_ptr_operator • $default reduce using rule 343 (nested_ptr_operator)
107 cast_expression → abstract_expression cast_expression • $default reduce using rule 107 (cast_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 62 | postfix_expression '[' • expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 156 expression.opt → • %empty [']'] 157 | • expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 156 (expression.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression.opt go to state 466 expression go to state 172 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 26 declarator_id → • scoped_id 27 | • scoped_special_function_id 28 | • destructor_id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_id → • pseudo_destructor_id 35 | • id_scope nested_pseudo_destructor_id 36 scoped_pseudo_destructor_id → • nested_pseudo_destructor_id 37 | • global_scope scoped_pseudo_destructor_id 63 postfix_expression → postfix_expression '.' • declarator_id 64 | postfix_expression '.' • scoped_pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 467 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 468 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 469 id_scope go to state 470 nested_id go to state 78 scoped_id go to state 221 destructor_id go to state 222 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 223 declarator_id go to state 471 built_in_type_id go to state 472 pseudo_destructor_id go to state 473 nested_pseudo_destructor_id go to state 474 scoped_pseudo_destructor_id go to state 475 built_in_type_specifier go to state 476 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 26 declarator_id → • scoped_id 27 | • scoped_special_function_id 28 | • destructor_id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_id → • pseudo_destructor_id 35 | • id_scope nested_pseudo_destructor_id 36 scoped_pseudo_destructor_id → • nested_pseudo_destructor_id 37 | • global_scope scoped_pseudo_destructor_id 65 postfix_expression → postfix_expression ARROW • declarator_id 66 | postfix_expression ARROW • scoped_pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 467 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 468 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 469 id_scope go to state 470 nested_id go to state 78 scoped_id go to state 221 destructor_id go to state 222 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 223 declarator_id go to state 477 built_in_type_id go to state 472 pseudo_destructor_id go to state 473 nested_pseudo_destructor_id go to state 474 scoped_pseudo_destructor_id go to state 478 built_in_type_specifier go to state 476 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
68 postfix_expression → postfix_expression DEC • $default reduce using rule 68 (postfix_expression)
67 postfix_expression → postfix_expression INC • $default reduce using rule 67 (postfix_expression)
56 mark_type1 → • %empty 58 postfix_expression → postfix_expression parenthesis_clause • mark_type1 '-' 59 | postfix_expression parenthesis_clause • mark_type1 '+' type1_parameters mark '{' error 60 | postfix_expression parenthesis_clause • mark_type1 '+' type1_parameters mark error 61 | postfix_expression parenthesis_clause • mark_type1 '+' error $default reduce using rule 56 (mark_type1) mark_type1 go to state 479
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 110 pm_expression → pm_expression ARROW_STAR • cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 480 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 109 pm_expression → pm_expression DOT_STAR • cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 481 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 113 multiplicative_expression → multiplicative_expression '/' • pm_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 482 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 114 multiplicative_expression → multiplicative_expression '%' • pm_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 483 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 112 multiplicative_expression → multiplicative_expression star_ptr_operator • pm_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 341 | star_ptr_operator • cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 484 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 367 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 116 additive_expression → additive_expression '+' • multiplicative_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 485 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 117 additive_expression → additive_expression '-' • multiplicative_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 486 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 119 shift_expression → shift_expression SHL • additive_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 487 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 120 shift_expression → shift_expression SHR • additive_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 488 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 122 relational_expression → relational_expression '<' • shift_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 489 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 123 relational_expression → relational_expression '>' • shift_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 490 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 125 relational_expression → relational_expression GE • shift_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 491 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 124 relational_expression → relational_expression LE • shift_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 492 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 127 equality_expression → equality_expression EQ • relational_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 493 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 128 equality_expression → equality_expression NE • relational_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 494 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 130 and_expression → and_expression '&' • equality_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 495 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 132 exclusive_or_expression → exclusive_or_expression '^' • and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 496 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 134 inclusive_or_expression → inclusive_or_expression '|' • exclusive_or_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 497 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 136 logical_and_expression → logical_and_expression LOG_AND • inclusive_or_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 498 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
143 assignment_expression → logical_or_expression '=' • braced_initializer 145 assignment_operator → '=' • ['+', '-', '*', '&', '~', '!', '[', '(', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] 406 braced_initializer → • '{' initializer_list '}' 407 | • '{' initializer_list ',' '}' 408 | • '{' '}' 409 | • '{' looping_initializer_clause '#' bang error '}' 410 | • '{' initializer_list ',' looping_initializer_clause '#' bang error '}' '{' shift, and go to state 499 $default reduce using rule 145 (assignment_operator) braced_initializer go to state 500
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 140 | logical_or_expression '?' • expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression go to state 501 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 138 logical_or_expression → logical_or_expression LOG_OR • logical_and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 502 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
146 assignment_operator → ASS_ADD • $default reduce using rule 146 (assignment_operator)
147 assignment_operator → ASS_AND • $default reduce using rule 147 (assignment_operator)
148 assignment_operator → ASS_DIV • $default reduce using rule 148 (assignment_operator)
149 assignment_operator → ASS_MOD • $default reduce using rule 149 (assignment_operator)
150 assignment_operator → ASS_MUL • $default reduce using rule 150 (assignment_operator)
151 assignment_operator → ASS_OR • $default reduce using rule 151 (assignment_operator)
152 assignment_operator → ASS_SHL • $default reduce using rule 152 (assignment_operator)
153 assignment_operator → ASS_SHR • $default reduce using rule 153 (assignment_operator)
154 assignment_operator → ASS_SUB • $default reduce using rule 154 (assignment_operator)
155 assignment_operator → ASS_XOR • $default reduce using rule 155 (assignment_operator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 142 | logical_or_expression assignment_operator • assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 503 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 452 bit_field_declaration → assignment_expression ':' • bit_field_width 454 bit_field_width → • logical_or_expression 455 | • logical_or_expression '?' bit_field_width ':' bit_field_width 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 167 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_width go to state 504 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
202 compound_statement → '{' • statement_seq.opt '}' 203 | '{' • statement_seq.opt looping_statement '#' bang error '}' 204 statement_seq.opt → • %empty 205 | • statement_seq.opt looping_statement 206 | • statement_seq.opt looping_statement '#' bang error ';' $default reduce using rule 204 (statement_seq.opt) statement_seq.opt go to state 505
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 337 init_declarations → assignment_expression ',' • init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 506 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 init_declaration go to state 507 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
401 function_try_block → TRY • function_block handler_seq 402 function_block → • ctor_initializer.opt function_body 469 ctor_initializer.opt → • %empty ['{'] 470 | • ctor_initializer 471 ctor_initializer → • ':' mem_initializer_list 472 | • ':' mem_initializer_list bang error ':' shift, and go to state 508 $default reduce using rule 469 (ctor_initializer.opt) function_block go to state 509 ctor_initializer.opt go to state 510 ctor_initializer go to state 511
403 function_body → compound_statement • $default reduce using rule 403 (function_body)
393 func_definition → assignment_expression function_try_block • $default reduce using rule 393 (func_definition)
394 func_definition → assignment_expression function_body • $default reduce using rule 394 (func_definition)
276 decl_specifier_suffix → decl_specifier_affix • $default reduce using rule 276 (decl_specifier_suffix)
252 suffix_built_in_decl_specifier.raw → suffix_built_in_decl_specifier.raw decl_specifier_suffix • $default reduce using rule 252 (suffix_built_in_decl_specifier.raw)
251 suffix_built_in_decl_specifier.raw → suffix_built_in_decl_specifier.raw built_in_type_specifier • $default reduce using rule 251 (suffix_built_in_decl_specifier.raw)
9 global_scope → SCOPE • [TEMPLATE, OPERATOR, Identifier] 270 suffix_decl_specified_scope → suffix_built_in_decl_specifier SCOPE • ['*'] '*' reduce using rule 270 (suffix_decl_specified_scope) $default reduce using rule 9 (global_scope)
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id SCOPE shift, and go to state 21 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 352 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 elaborate_type_specifier go to state 212 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 261 suffix_named_decl_specifiers → suffix_named_decl_specifiers • suffix_named_decl_specifier.bi 263 suffix_named_decl_specifiers.sf → suffix_named_decl_specifiers • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 264 | suffix_named_decl_specifiers • scoped_special_function_id 269 suffix_decl_specified_scope → suffix_built_in_decl_specifier suffix_named_decl_specifiers • SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 512 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 352 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 $default reduce using rule 263 (suffix_named_decl_specifiers.sf) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 219 id_scope go to state 220 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 358 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 359 elaborate_type_specifier go to state 124 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
266 suffix_decl_specified_ids → suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf • $default reduce using rule 266 (suffix_decl_specified_ids)
251 suffix_built_in_decl_specifier.raw → suffix_built_in_decl_specifier.raw • built_in_type_specifier 252 | suffix_built_in_decl_specifier.raw • decl_specifier_suffix 259 suffix_named_decl_specifier.bi → suffix_named_decl_specifier suffix_built_in_decl_specifier.raw • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, OPERATOR, TRY, Identifier, '#'] 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 276 decl_specifier_suffix → • decl_specifier_affix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 353 cv_qualifier → • CONST 354 | • VOLATILE BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 $default reduce using rule 259 (suffix_named_decl_specifier.bi) decl_specifier_affix go to state 348 decl_specifier_suffix go to state 349 storage_class_specifier go to state 122 function_specifier go to state 123 built_in_type_specifier go to state 350 cv_qualifier go to state 140
257 suffix_named_decl_specifier → suffix_named_decl_specifier decl_specifier_suffix • $default reduce using rule 257 (suffix_named_decl_specifier)
9 global_scope → SCOPE • [TEMPLATE, OPERATOR, Identifier] 268 suffix_decl_specified_scope → suffix_named_decl_specifiers SCOPE • ['*'] '*' reduce using rule 268 (suffix_decl_specified_scope) $default reduce using rule 9 (global_scope)
264 suffix_named_decl_specifiers.sf → suffix_named_decl_specifiers scoped_special_function_id • $default reduce using rule 264 (suffix_named_decl_specifiers.sf)
261 suffix_named_decl_specifiers → suffix_named_decl_specifiers suffix_named_decl_specifier.bi • $default reduce using rule 261 (suffix_named_decl_specifiers)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 82 | suffix_decl_specified_scope star_ptr_operator • cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 341 | star_ptr_operator • cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 513 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 367 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
249 simple_declaration → decl_specifier_prefix simple_declaration • $default reduce using rule 249 (simple_declaration)
395 func_definition → decl_specifier_prefix func_definition • $default reduce using rule 395 (func_definition)
398 ctor_definition → decl_specifier_prefix ctor_definition • $default reduce using rule 398 (ctor_definition)
248 simple_declaration → init_declarations ';' • $default reduce using rule 248 (simple_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 338 init_declarations → init_declarations ',' • init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 506 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 init_declaration go to state 514 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
247 simple_declaration → init_declaration ';' • $default reduce using rule 247 (simple_declaration)
341 star_ptr_operator → star_ptr_operator cv_qualifier • $default reduce using rule 341 (star_ptr_operator)
81 unary_expression → ptr_operator cast_expression • $default reduce using rule 81 (unary_expression)
352 cv_qualifier_seq.opt → cv_qualifier_seq.opt • cv_qualifier 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → parameters_clause cv_qualifier_seq.opt • [error, '+', '-', '*', '/', '%', '^', '&', '|', '~', '!', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, TRUE, TRY, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral, '#'] 366 | parameters_clause cv_qualifier_seq.opt • exception_specification 550 exception_specification → • THROW '(' ')' 551 | • THROW '(' type_id_list ')' CONST shift, and go to state 39 VOLATILE shift, and go to state 40 THROW shift, and go to state 515 $default reduce using rule 365 (parenthesis_clause) cv_qualifier go to state 516 exception_specification go to state 517
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 400 constructor_head → constructor_head ',' • assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 518 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
396 ctor_definition → constructor_head function_try_block • $default reduce using rule 396 (ctor_definition)
397 ctor_definition → constructor_head function_body • $default reduce using rule 397 (ctor_definition)
427 class_specifier → class_specifier_head member_specification.opt • '}' 428 | class_specifier_head member_specification.opt • util looping_member_declaration '#' bang error '}' 430 member_specification.opt → member_specification.opt • util looping_member_declaration 431 | member_specification.opt • util looping_member_declaration '#' bang error ';' 560 util → • %empty [error, '+', '-', '*', '&', '~', '!', ':', '[', '(', ';', DEC, INC, SCOPE, PRIVATE, PROTECTED, PUBLIC, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] '}' shift, and go to state 519 $default reduce using rule 560 (util) util go to state 520
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 421 class_specifier_head → class_key ':' • base_specifier_list '{' 458 base_specifier_list → • base_specifier 459 | • base_specifier_list ',' base_specifier 460 base_specifier → • scoped_id 461 | • access_specifier base_specifier 462 | • VIRTUAL base_specifier 463 access_specifier → • PRIVATE 464 | • PROTECTED 465 | • PUBLIC 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 PRIVATE shift, and go to state 521 PROTECTED shift, and go to state 522 PUBLIC shift, and go to state 523 TEMPLATE shift, and go to state 191 VIRTUAL shift, and go to state 524 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 525 base_specifier_list go to state 526 base_specifier go to state 527 access_specifier go to state 528 template_id go to state 157
423 class_specifier_head → class_key '{' • $default reduce using rule 423 (class_specifier_head)
417 colon_mark → • ':' 418 elaborated_class_specifier → class_key scoped_id • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', '[', ']', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, VIRTUAL, OPERATOR, TRY, Identifier, '#'] 419 | class_key scoped_id • colon_mark error 420 class_specifier_head → class_key scoped_id • colon_mark base_specifier_list '{' 422 | class_key scoped_id • '{' ':' shift, and go to state 529 '{' shift, and go to state 530 $default reduce using rule 418 (elaborated_class_specifier) colon_mark go to state 531 Conflict between rule 418 and token ':' resolved as shift (SHIFT_THERE < ':'). Conflict between rule 418 and token '{' resolved as shift (SHIFT_THERE < '{').
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 404 initializer_clause → • assignment_expression 405 | • braced_initializer 406 braced_initializer → • '{' initializer_list '}' 407 | • '{' initializer_list ',' '}' 408 | • '{' '}' 409 | • '{' looping_initializer_clause '#' bang error '}' 410 | • '{' initializer_list ',' looping_initializer_clause '#' bang error '}' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 457 bit_field_init_declaration → bit_field_declaration '=' • initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '{' shift, and go to state 499 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 532 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 initializer_clause go to state 533 braced_initializer go to state 534 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
520 template_declaration → template_parameter_clause declaration • $default reduce using rule 520 (template_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 228 looped_declaration → • declaration 229 | • advance_search '+' looped_declaration 229 | advance_search '+' • looped_declaration 230 | • advance_search '-' 231 declaration → • block_declaration 232 | • function_definition 233 | • template_declaration 234 | • explicit_specialization 235 | • specialised_declaration 236 specialised_declaration → • linkage_specification 237 | • namespace_definition 238 | • TEMPLATE specialised_declaration 239 block_declaration → • simple_declaration 240 | • specialised_block_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 328 namespace_definition → • NAMESPACE scoped_id compound_declaration 329 | • NAMESPACE compound_declaration 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 335 linkage_specification → • EXTERN string looping_declaration 336 | • EXTERN string compound_declaration 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 391 function_definition → • ctor_definition 392 | • func_definition 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 520 template_declaration → • template_parameter_clause declaration 521 | • EXPORT template_declaration 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 540 explicit_specialization → • TEMPLATE '<' '>' declaration 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 35 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXPORT shift, and go to state 43 EXTERN shift, and go to state 44 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 50 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 105 looped_declaration go to state 535 declaration go to state 107 specialised_declaration go to state 108 block_declaration go to state 109 specialised_block_declaration go to state 110 simple_declaration go to state 111 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 121 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_definition go to state 129 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 linkage_specification go to state 134 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 function_definition go to state 143 func_definition go to state 144 ctor_definition go to state 145 constructor_head go to state 146 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 conversion_function_id go to state 153 operator_function_id go to state 154 template_declaration go to state 155 template_parameter_clause go to state 156 template_id go to state 157 explicit_specialization go to state 158 throw_expression go to state 159 advance_search go to state 160
230 looped_declaration → advance_search '-' • $default reduce using rule 230 (looped_declaration)
226 declaration_seq.opt → declaration_seq.opt util looping_declaration '#' bang error • ';' ';' shift, and go to state 536
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 382 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 454 bit_field_width → • logical_or_expression 455 | • logical_or_expression '?' bit_field_width ':' bit_field_width 455 | logical_or_expression '?' • bit_field_width ':' bit_field_width 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 167 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_width go to state 537 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 77 expression_list → expression_list ',' • assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 159 expression → expression_list ',' • assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 538 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
52 abstract_expression → '[' expression.opt ']' • $default reduce using rule 52 (abstract_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 278 | TEMPLATE • decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 386 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 211 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 140 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 112 multiplicative_expression → multiplicative_expression star_ptr_operator • pm_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 341 | star_ptr_operator • cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 349 ptr_operator_seq.opt → • %empty ['>', '=', ')', ';', ',', ELLIPSIS] 350 | • ptr_operator ptr_operator_seq.opt 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 374 abstract_pointer_declaration → multiplicative_expression star_ptr_operator • ptr_operator_seq.opt 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 349 (ptr_operator_seq.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 484 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 539 ptr_operator_seq.opt go to state 540 cv_qualifier go to state 367 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 130 and_expression → and_expression '&' • equality_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 376 abstract_parameter_declaration → and_expression '&' • ['=', ')', ';', ',', ELLIPSIS] 377 | and_expression '&' • abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 376 (abstract_parameter_declaration) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 495 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 541 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
383 parameter_declaration → decl_specifier_prefix parameter_declaration • $default reduce using rule 383 (parameter_declaration)
348 ptr_operator_seq → ptr_operator ptr_operator_seq • $default reduce using rule 348 (ptr_operator_seq)
367 parameters_clause → '(' parameter_declaration_clause ')' • $default reduce using rule 367 (parameters_clause)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 372 parameter_declaration_list → parameter_declaration_list ',' • parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 542 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
370 parameter_declaration_clause → parameter_declaration_list ELLIPSIS • $default reduce using rule 370 (parameter_declaration_clause)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 379 special_parameter_declaration → abstract_parameter_declaration '=' • assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 543 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
316 enumerator_list_ecarb → '}' • $default reduce using rule 316 (enumerator_list_ecarb)
313 enumerator_clause → '{' enumerator_list_ecarb • $default reduce using rule 313 (enumerator_clause)
322 enumerator_list_head → enumerator_definition_filler • $default reduce using rule 322 (enumerator_list_head)
1 identifier_word → • Identifier 2 identifier → • identifier_word 324 enumerator_list → enumerator_list_head • enumerator_definition 325 enumerator_definition → • enumerator 326 | • enumerator '=' constant_expression 327 enumerator → • identifier Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 544 enumerator_definition go to state 545 enumerator go to state 546
314 enumerator_clause → '{' enumerator_list • enumerator_list_ecarb 315 | '{' enumerator_list • ',' enumerator_definition_ecarb 316 enumerator_list_ecarb → • '}' 317 | • bang error '}' 323 enumerator_list_head → enumerator_list • ',' enumerator_definition_filler 555 bang → • %empty [error] '}' shift, and go to state 395 ',' shift, and go to state 547 $default reduce using rule 555 (bang) enumerator_list_ecarb go to state 548 bang go to state 549
317 enumerator_list_ecarb → bang • error '}' 321 enumerator_definition_filler → bang • error ',' error shift, and go to state 550
1 identifier_word → • Identifier 2 identifier → • identifier_word 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 template_id go to state 214
311 enum_specifier → ENUM scoped_id enumerator_clause • $default reduce using rule 311 (enum_specifier)
222 compound_declaration → '{' nest • declaration_seq.opt '}' 223 | '{' nest • declaration_seq.opt util looping_declaration '#' bang error '}' 224 declaration_seq.opt → • %empty 225 | • declaration_seq.opt util looping_declaration 226 | • declaration_seq.opt util looping_declaration '#' bang error ';' $default reduce using rule 224 (declaration_seq.opt) declaration_seq.opt go to state 551
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 330 namespace_alias_definition → NAMESPACE scoped_id '=' • scoped_id ';' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 552 template_id go to state 157
328 namespace_definition → NAMESPACE scoped_id compound_declaration • $default reduce using rule 328 (namespace_definition)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 384 templated_parameter_declaration → • templated_assignment_expression 385 | • templated_abstract_declaration 386 | • templated_abstract_declaration '=' templated_assignment_expression 387 | • decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declaration → • abstract_pointer_declaration 389 | • templated_and_expression '&' 390 | • templated_and_expression '&' abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 522 | TEMPLATE '<' • template_parameter_list '>' 523 template_parameter_list → • template_parameter 524 | • template_parameter_list ',' template_parameter 525 template_parameter → • simple_type_parameter 526 | • simple_type_parameter '=' type_id 527 | • templated_type_parameter 528 | • templated_type_parameter '=' identifier 529 | • templated_parameter_declaration 530 | • bang error 531 simple_type_parameter → • CLASS 532 | • TYPENAME 533 templated_type_parameter → • template_parameter_clause CLASS 534 | • template_parameter_clause CLASS identifier 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression 555 bang → • %empty [error] '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 410 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 411 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 412 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 555 (bang) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 417 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 423 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 424 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 425 templated_parameter_declaration go to state 426 templated_abstract_declaration go to state 427 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_parameter_clause go to state 428 template_parameter_list go to state 429 template_parameter go to state 430 simple_type_parameter go to state 431 templated_type_parameter go to state 432 template_id go to state 157 templated_throw_expression go to state 433 bang go to state 434
336 linkage_specification → EXTERN string compound_declaration • $default reduce using rule 336 (linkage_specification)
335 linkage_specification → EXTERN string looping_declaration • $default reduce using rule 335 (linkage_specification)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 231 declaration → • block_declaration 232 | • function_definition 233 | • template_declaration 234 | • explicit_specialization 235 | • specialised_declaration 236 specialised_declaration → • linkage_specification 237 | • namespace_definition 238 | • TEMPLATE specialised_declaration 239 block_declaration → • simple_declaration 240 | • specialised_block_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 328 namespace_definition → • NAMESPACE scoped_id compound_declaration 329 | • NAMESPACE compound_declaration 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 335 linkage_specification → • EXTERN string looping_declaration 336 | • EXTERN string compound_declaration 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 391 function_definition → • ctor_definition 392 | • func_definition 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 520 template_declaration → • template_parameter_clause declaration 521 | • EXPORT template_declaration 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 540 explicit_specialization → • TEMPLATE '<' '>' declaration 540 | TEMPLATE '<' '>' • declaration 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 35 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXPORT shift, and go to state 43 EXTERN shift, and go to state 44 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 50 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 105 declaration go to state 553 specialised_declaration go to state 108 block_declaration go to state 109 specialised_block_declaration go to state 110 simple_declaration go to state 111 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 121 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_definition go to state 129 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 linkage_specification go to state 134 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 function_definition go to state 143 func_definition go to state 144 ctor_definition go to state 145 constructor_head go to state 146 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 conversion_function_id go to state 153 operator_function_id go to state 154 template_declaration go to state 155 template_parameter_clause go to state 156 template_id go to state 157 explicit_specialization go to state 158 throw_expression go to state 159
424 class_key → CLASS • [':', '{', SCOPE, TEMPLATE, Identifier] 531 simple_type_parameter → CLASS • ['>', '=', ','] '>' reduce using rule 531 (simple_type_parameter) '=' reduce using rule 531 (simple_type_parameter) ',' reduce using rule 531 (simple_type_parameter) $default reduce using rule 424 (class_key)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 309 elaborated_type_specifier → TYPENAME • scoped_id 532 simple_type_parameter → TYPENAME • ['>', '=', ','] 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 $default reduce using rule 532 (simple_type_parameter) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 199 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 53 abstract_expression → TEMPLATE • parenthesis_clause 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 278 | TEMPLATE • decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 522 template_parameter_clause → TEMPLATE • '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '<' shift, and go to state 406 '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 386 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 211 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 140 parenthesis_clause go to state 213 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 548 | THROW • ['>', ':', ','] 549 | • THROW templated_assignment_expression 549 | THROW • templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 548 (templated_throw_expression) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 555 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 templated_throw_expression go to state 433
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 161 templated_relational_expression → shift_expression • ['^', '&', '|', '<', '>', '=', ':', '?', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 161 (templated_relational_expression)
162 templated_relational_expression → templated_relational_expression • '<' shift_expression 163 | templated_relational_expression • LE shift_expression 164 | templated_relational_expression • GE shift_expression 165 templated_equality_expression → templated_relational_expression • ['^', '&', '|', '>', '=', ':', '?', ',', EQ, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '<' shift, and go to state 556 GE shift, and go to state 557 LE shift, and go to state 558 $default reduce using rule 165 (templated_equality_expression)
166 templated_equality_expression → templated_equality_expression • EQ templated_relational_expression 167 | templated_equality_expression • NE templated_relational_expression 168 templated_and_expression → templated_equality_expression • ['^', '&', '|', '>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] EQ shift, and go to state 559 NE shift, and go to state 560 $default reduce using rule 168 (templated_and_expression)
169 templated_and_expression → templated_and_expression • '&' templated_equality_expression 170 templated_exclusive_or_expression → templated_and_expression • ['^', '|', '>', '=', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] 389 templated_abstract_declaration → templated_and_expression • '&' 390 | templated_and_expression • '&' abstract_pointer_declaration '&' shift, and go to state 561 $default reduce using rule 170 (templated_exclusive_or_expression)
171 templated_exclusive_or_expression → templated_exclusive_or_expression • '^' templated_and_expression 172 templated_inclusive_or_expression → templated_exclusive_or_expression • ['|', '>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '^' shift, and go to state 562 $default reduce using rule 172 (templated_inclusive_or_expression)
173 templated_inclusive_or_expression → templated_inclusive_or_expression • '|' templated_exclusive_or_expression 174 templated_logical_and_expression → templated_inclusive_or_expression • ['>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '|' shift, and go to state 563 $default reduce using rule 174 (templated_logical_and_expression)
175 templated_logical_and_expression → templated_logical_and_expression • LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → templated_logical_and_expression • ['>', '=', ':', '?', ',', LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] LOG_AND shift, and go to state 564 $default reduce using rule 176 (templated_logical_or_expression)
145 assignment_operator → • '=' 146 | • ASS_ADD 147 | • ASS_AND 148 | • ASS_DIV 149 | • ASS_MOD 150 | • ASS_MUL 151 | • ASS_OR 152 | • ASS_SHL 153 | • ASS_SHR 154 | • ASS_SUB 155 | • ASS_XOR 177 templated_logical_or_expression → templated_logical_or_expression • LOG_OR templated_logical_and_expression 178 templated_conditional_expression → templated_logical_or_expression • ['>', ':', ','] 179 | templated_logical_or_expression • '?' templated_expression ':' templated_assignment_expression 181 templated_assignment_expression → templated_logical_or_expression • assignment_operator templated_assignment_expression '=' shift, and go to state 565 '?' shift, and go to state 566 LOG_OR shift, and go to state 567 ASS_ADD shift, and go to state 330 ASS_AND shift, and go to state 331 ASS_DIV shift, and go to state 332 ASS_MOD shift, and go to state 333 ASS_MUL shift, and go to state 334 ASS_OR shift, and go to state 335 ASS_SHL shift, and go to state 336 ASS_SHR shift, and go to state 337 ASS_SUB shift, and go to state 338 ASS_XOR shift, and go to state 339 $default reduce using rule 178 (templated_conditional_expression) assignment_operator go to state 568
180 templated_assignment_expression → templated_conditional_expression • $default reduce using rule 180 (templated_assignment_expression)
384 templated_parameter_declaration → templated_assignment_expression • $default reduce using rule 384 (templated_parameter_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 384 templated_parameter_declaration → • templated_assignment_expression 385 | • templated_abstract_declaration 386 | • templated_abstract_declaration '=' templated_assignment_expression 387 | • decl_specifier_prefix templated_parameter_declaration 387 | decl_specifier_prefix • templated_parameter_declaration 388 templated_abstract_declaration → • abstract_pointer_declaration 389 | • templated_and_expression '&' 390 | • templated_and_expression '&' abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 417 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 423 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 424 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 425 templated_parameter_declaration go to state 569 templated_abstract_declaration go to state 427 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 templated_throw_expression go to state 433
388 templated_abstract_declaration → abstract_pointer_declaration • $default reduce using rule 388 (templated_abstract_declaration)
529 template_parameter → templated_parameter_declaration • $default reduce using rule 529 (template_parameter)
385 templated_parameter_declaration → templated_abstract_declaration • ['>', ','] 386 | templated_abstract_declaration • '=' templated_assignment_expression '=' shift, and go to state 570 $default reduce using rule 385 (templated_parameter_declaration)
533 templated_type_parameter → template_parameter_clause • CLASS 534 | template_parameter_clause • CLASS identifier CLASS shift, and go to state 571
522 template_parameter_clause → TEMPLATE '<' template_parameter_list • '>' 524 template_parameter_list → template_parameter_list • ',' template_parameter '>' shift, and go to state 572 ',' shift, and go to state 573
523 template_parameter_list → template_parameter • $default reduce using rule 523 (template_parameter_list)
525 template_parameter → simple_type_parameter • ['>', ','] 526 | simple_type_parameter • '=' type_id '=' shift, and go to state 574 $default reduce using rule 525 (template_parameter)
527 template_parameter → templated_type_parameter • ['>', ','] 528 | templated_type_parameter • '=' identifier '=' shift, and go to state 575 $default reduce using rule 527 (template_parameter)
182 templated_assignment_expression → templated_throw_expression • $default reduce using rule 182 (templated_assignment_expression)
530 template_parameter → bang • error error shift, and go to state 576
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 384 templated_parameter_declaration → • templated_assignment_expression 385 | • templated_abstract_declaration 386 | • templated_abstract_declaration '=' templated_assignment_expression 387 | • decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declaration → • abstract_pointer_declaration 389 | • templated_and_expression '&' 390 | • templated_and_expression '&' abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE identifier '<' • template_argument_list '>' 536 | • TEMPLATE template_id 537 template_argument_list → • template_argument 538 | • template_argument_list ',' template_argument 539 template_argument → • templated_parameter_declaration 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 417 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 423 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 424 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 425 templated_parameter_declaration go to state 577 templated_abstract_declaration go to state 427 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 template_argument_list go to state 578 template_argument go to state 579 templated_throw_expression go to state 433
16 destructor_id → '~' id • $default reduce using rule 16 (destructor_id)
333 using_directive → USING NAMESPACE scoped_id • ';' ';' shift, and go to state 580
332 using_declaration → USING TYPENAME declarator_id • ';' ';' shift, and go to state 581
17 destructor_id → TEMPLATE destructor_id • $default reduce using rule 17 (destructor_id)
331 using_declaration → USING declarator_id ';' • $default reduce using rule 331 (using_declaration)
334 asm_definition → ASM '(' string • ')' ';' ')' shift, and go to state 582
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 355 | type_specifier • abstract_declarator.opt 356 | • type_specifier type_id 356 | type_specifier • type_id 357 abstract_declarator.opt → • %empty ['>', ')', ','] 358 | • ptr_operator abstract_declarator.opt 359 | • direct_abstract_declarator 360 direct_abstract_declarator.opt → • %empty ['[', '('] 361 | • direct_abstract_declarator 362 direct_abstract_declarator → • direct_abstract_declarator.opt parenthesis_clause 363 | • direct_abstract_declarator.opt '[' ']' 364 | • direct_abstract_declarator.opt '[' constant_expression ']' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 '&' shift, and go to state 12 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 '[' reduce using rule 360 (direct_abstract_declarator.opt) '(' reduce using rule 360 (direct_abstract_declarator.opt) $default reduce using rule 357 (abstract_declarator.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 448 id_scope go to state 449 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 583 cv_qualifier go to state 236 type_id go to state 584 abstract_declarator.opt go to state 585 direct_abstract_declarator.opt go to state 586 direct_abstract_declarator go to state 587 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
72 postfix_expression → CONST_CAST '<' type_id • '>' '(' expression ')' '>' shift, and go to state 588
69 postfix_expression → DYNAMIC_CAST '<' type_id • '>' '(' expression ')' '>' shift, and go to state 589
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 74 expression_list.opt → • %empty [')'] 75 | • expression_list 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 105 new_initializer.opt → '(' • expression_list.opt ')' 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 74 (expression_list.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list.opt go to state 590 expression_list go to state 591 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 592 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
93 new_expression → NEW new_type_id new_initializer.opt • $default reduce using rule 93 (new_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 102 direct_new_declarator → '[' • expression ']' 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression go to state 593 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 15 scoped_id → global_scope • nested_id 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 346 ptr_operator → global_scope • nested_ptr_operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 449 nested_id go to state 291 star_ptr_operator go to state 137 nested_ptr_operator go to state 295 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 13 | id_scope • nested_id 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 343 | id_scope • nested_ptr_operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 449 nested_id go to state 297 star_ptr_operator go to state 137 nested_ptr_operator go to state 300 template_id go to state 157
99 new_type_id → type_specifier new_type_id • $default reduce using rule 99 (new_type_id)
98 new_type_id → type_specifier new_declarator • $default reduce using rule 98 (new_type_id)
101 new_declarator → direct_new_declarator • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', '(', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 103 direct_new_declarator → direct_new_declarator • '[' constant_expression ']' '[' shift, and go to state 594 $default reduce using rule 101 (new_declarator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 100 new_declarator → • ptr_operator new_declarator 100 | ptr_operator • new_declarator 101 | • direct_new_declarator 102 direct_new_declarator → • '[' expression ']' 103 | • direct_new_declarator '[' constant_expression ']' 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 349 ptr_operator_seq.opt → • %empty [error, '+', '-', '/', '%', '^', '|', '<', '>', '=', ':', ']', '{', '}', '(', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 350 | • ptr_operator ptr_operator_seq.opt 350 | ptr_operator • ptr_operator_seq.opt 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 '&' shift, and go to state 12 '[' shift, and go to state 447 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 $default reduce using rule 349 (ptr_operator_seq.opt) identifier_word go to state 73 identifier go to state 74 id go to state 595 global_scope go to state 596 id_scope go to state 597 new_declarator go to state 598 direct_new_declarator go to state 452 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 453 ptr_operator_seq.opt go to state 599 template_id go to state 157 Conflict between rule 349 and token '*' resolved as shift (SHIFT_THERE < '*'). Conflict between rule 349 and token '&' resolved as shift (SHIFT_THERE < '&').
97 new_type_id → type_specifier ptr_operator_seq.opt • $default reduce using rule 97 (new_type_id)
94 new_expression → NEW parameters_clause new_type_id • new_initializer.opt 104 new_initializer.opt → • %empty [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 105 | • '(' expression_list.opt ')' '(' shift, and go to state 445 $default reduce using rule 104 (new_initializer.opt) new_initializer.opt go to state 600
96 new_expression → NEW parameters_clause parameters_clause • new_initializer.opt 104 new_initializer.opt → • %empty [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', ARROW_STAR, EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 105 | • '(' expression_list.opt ')' '(' shift, and go to state 445 $default reduce using rule 104 (new_initializer.opt) new_initializer.opt go to state 601
519 operator → '[' ']' • $default reduce using rule 519 (operator)
518 operator → '(' ')' • $default reduce using rule 518 (operator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 349 ptr_operator_seq.opt → • %empty [error, '+', '-', '/', '%', '^', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 350 | • ptr_operator ptr_operator_seq.opt 350 | ptr_operator • ptr_operator_seq.opt 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 '&' shift, and go to state 12 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 $default reduce using rule 349 (ptr_operator_seq.opt) identifier_word go to state 73 identifier go to state 74 id go to state 595 global_scope go to state 596 id_scope go to state 597 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 459 ptr_operator_seq.opt go to state 599 template_id go to state 157 Conflict between rule 349 and token '*' resolved as shift (SHIFT_THERE < '*'). Conflict between rule 349 and token '&' resolved as shift (SHIFT_THERE < '&').
467 conversion_type_id → type_specifier ptr_operator_seq.opt • $default reduce using rule 467 (conversion_type_id)
468 conversion_type_id → type_specifier conversion_type_id • $default reduce using rule 468 (conversion_type_id)
71 postfix_expression → REINTERPRET_CAST '<' type_id • '>' '(' expression ')' '>' shift, and go to state 602
70 postfix_expression → STATIC_CAST '<' type_id • '>' '(' expression ')' '>' shift, and go to state 603
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 4 | identifier template_test '+' • template_argument_list '>' 5 | • identifier template_test '+' '>' 5 | identifier template_test '+' • '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 384 templated_parameter_declaration → • templated_assignment_expression 385 | • templated_abstract_declaration 386 | • templated_abstract_declaration '=' templated_assignment_expression 387 | • decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declaration → • abstract_pointer_declaration 389 | • templated_and_expression '&' 390 | • templated_and_expression '&' abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 537 template_argument_list → • template_argument 538 | • template_argument_list ',' template_argument 539 template_argument → • templated_parameter_declaration 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '>' shift, and go to state 604 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 417 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 423 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 424 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 425 templated_parameter_declaration go to state 577 templated_abstract_declaration go to state 427 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 template_argument_list go to state 605 template_argument go to state 579 templated_throw_expression go to state 433
6 id → identifier template_test '-' • $default reduce using rule 6 (id)
62 postfix_expression → postfix_expression '[' expression.opt • ']' ']' shift, and go to state 606
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 16 destructor_id → '~' • id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 32 pseudo_destructor_id → '~' • built_in_type_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 436 built_in_type_id go to state 607 built_in_type_specifier go to state 476 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 17 | TEMPLATE • destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 33 | TEMPLATE • pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '~' shift, and go to state 467 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 468 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 destructor_id go to state 439 special_function_id go to state 207 built_in_type_id go to state 472 pseudo_destructor_id go to state 608 built_in_type_specifier go to state 476 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 15 scoped_id → global_scope • nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 25 scoped_special_function_id → global_scope • nested_special_function_id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_id → • pseudo_destructor_id 35 | • id_scope nested_pseudo_destructor_id 36 scoped_pseudo_destructor_id → • nested_pseudo_destructor_id 37 | • global_scope scoped_pseudo_destructor_id 37 | global_scope • scoped_pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 609 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 610 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 611 id_scope go to state 470 nested_id go to state 291 special_function_id go to state 80 nested_special_function_id go to state 292 built_in_type_id go to state 472 pseudo_destructor_id go to state 473 nested_pseudo_destructor_id go to state 474 scoped_pseudo_destructor_id go to state 612 built_in_type_specifier go to state 476 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 13 | id_scope • nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 22 | id_scope • destructor_id 23 | • id_scope nested_special_function_id 23 | id_scope • nested_special_function_id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_id → • pseudo_destructor_id 35 | • id_scope nested_pseudo_destructor_id 35 | id_scope • nested_pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 467 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 613 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 id_scope go to state 470 nested_id go to state 297 destructor_id go to state 298 special_function_id go to state 80 nested_special_function_id go to state 299 built_in_type_id go to state 472 pseudo_destructor_id go to state 473 nested_pseudo_destructor_id go to state 614 built_in_type_specifier go to state 476 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
63 postfix_expression → postfix_expression '.' declarator_id • $default reduce using rule 63 (postfix_expression)
30 built_in_type_id → built_in_type_id • built_in_type_specifier 31 pseudo_destructor_id → built_in_type_id • SCOPE '~' built_in_type_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID SCOPE shift, and go to state 615 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 built_in_type_specifier go to state 616
34 nested_pseudo_destructor_id → pseudo_destructor_id • $default reduce using rule 34 (nested_pseudo_destructor_id)
36 scoped_pseudo_destructor_id → nested_pseudo_destructor_id • $default reduce using rule 36 (scoped_pseudo_destructor_id)
64 postfix_expression → postfix_expression '.' scoped_pseudo_destructor_id • $default reduce using rule 64 (postfix_expression)
29 built_in_type_id → built_in_type_specifier • $default reduce using rule 29 (built_in_type_id)
65 postfix_expression → postfix_expression ARROW declarator_id • $default reduce using rule 65 (postfix_expression)
66 postfix_expression → postfix_expression ARROW scoped_pseudo_destructor_id • $default reduce using rule 66 (postfix_expression)
58 postfix_expression → postfix_expression parenthesis_clause mark_type1 • '-' 59 | postfix_expression parenthesis_clause mark_type1 • '+' type1_parameters mark '{' error 60 | postfix_expression parenthesis_clause mark_type1 • '+' type1_parameters mark error 61 | postfix_expression parenthesis_clause mark_type1 • '+' error '+' shift, and go to state 617 '-' shift, and go to state 618
110 pm_expression → pm_expression ARROW_STAR cast_expression • $default reduce using rule 110 (pm_expression)
109 pm_expression → pm_expression DOT_STAR cast_expression • $default reduce using rule 109 (pm_expression)
109 pm_expression → pm_expression • DOT_STAR cast_expression 110 | pm_expression • ARROW_STAR cast_expression 113 multiplicative_expression → multiplicative_expression '/' pm_expression • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] ARROW_STAR shift, and go to state 308 DOT_STAR shift, and go to state 309 $default reduce using rule 113 (multiplicative_expression)
109 pm_expression → pm_expression • DOT_STAR cast_expression 110 | pm_expression • ARROW_STAR cast_expression 114 multiplicative_expression → multiplicative_expression '%' pm_expression • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] ARROW_STAR shift, and go to state 308 DOT_STAR shift, and go to state 309 $default reduce using rule 114 (multiplicative_expression)
109 pm_expression → pm_expression • DOT_STAR cast_expression 110 | pm_expression • ARROW_STAR cast_expression 112 multiplicative_expression → multiplicative_expression star_ptr_operator pm_expression • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] ARROW_STAR shift, and go to state 308 DOT_STAR shift, and go to state 309 $default reduce using rule 112 (multiplicative_expression)
112 multiplicative_expression → multiplicative_expression • star_ptr_operator pm_expression 113 | multiplicative_expression • '/' pm_expression 114 | multiplicative_expression • '%' pm_expression 116 additive_expression → additive_expression '+' multiplicative_expression • [error, '+', '-', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier '*' shift, and go to state 11 '/' shift, and go to state 310 '%' shift, and go to state 311 $default reduce using rule 116 (additive_expression) star_ptr_operator go to state 312
112 multiplicative_expression → multiplicative_expression • star_ptr_operator pm_expression 113 | multiplicative_expression • '/' pm_expression 114 | multiplicative_expression • '%' pm_expression 117 additive_expression → additive_expression '-' multiplicative_expression • [error, '+', '-', '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier '*' shift, and go to state 11 '/' shift, and go to state 310 '%' shift, and go to state 311 $default reduce using rule 117 (additive_expression) star_ptr_operator go to state 312
116 additive_expression → additive_expression • '+' multiplicative_expression 117 | additive_expression • '-' multiplicative_expression 119 shift_expression → shift_expression SHL additive_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '+' shift, and go to state 313 '-' shift, and go to state 314 $default reduce using rule 119 (shift_expression)
116 additive_expression → additive_expression • '+' multiplicative_expression 117 | additive_expression • '-' multiplicative_expression 120 shift_expression → shift_expression SHR additive_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '+' shift, and go to state 313 '-' shift, and go to state 314 $default reduce using rule 120 (shift_expression)
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 122 relational_expression → relational_expression '<' shift_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 122 (relational_expression)
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 123 relational_expression → relational_expression '>' shift_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 123 (relational_expression)
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 125 relational_expression → relational_expression GE shift_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 125 (relational_expression)
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 124 relational_expression → relational_expression LE shift_expression • [error, '^', '&', '|', '<', '>', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 124 (relational_expression)
122 relational_expression → relational_expression • '<' shift_expression 123 | relational_expression • '>' shift_expression 124 | relational_expression • LE shift_expression 125 | relational_expression • GE shift_expression 127 equality_expression → equality_expression EQ relational_expression • [error, '^', '&', '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '<' shift, and go to state 317 '>' shift, and go to state 318 GE shift, and go to state 319 LE shift, and go to state 320 $default reduce using rule 127 (equality_expression)
122 relational_expression → relational_expression • '<' shift_expression 123 | relational_expression • '>' shift_expression 124 | relational_expression • LE shift_expression 125 | relational_expression • GE shift_expression 128 equality_expression → equality_expression NE relational_expression • [error, '^', '&', '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', EQ, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '<' shift, and go to state 317 '>' shift, and go to state 318 GE shift, and go to state 319 LE shift, and go to state 320 $default reduce using rule 128 (equality_expression)
127 equality_expression → equality_expression • EQ relational_expression 128 | equality_expression • NE relational_expression 130 and_expression → and_expression '&' equality_expression • [error, '^', '&', '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] EQ shift, and go to state 321 NE shift, and go to state 322 $default reduce using rule 130 (and_expression)
130 and_expression → and_expression • '&' equality_expression 132 exclusive_or_expression → exclusive_or_expression '^' and_expression • [error, '^', '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '&' shift, and go to state 323 $default reduce using rule 132 (exclusive_or_expression)
132 exclusive_or_expression → exclusive_or_expression • '^' and_expression 134 inclusive_or_expression → inclusive_or_expression '|' exclusive_or_expression • [error, '|', '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '^' shift, and go to state 324 $default reduce using rule 134 (inclusive_or_expression)
134 inclusive_or_expression → inclusive_or_expression • '|' exclusive_or_expression 136 logical_and_expression → logical_and_expression LOG_AND inclusive_or_expression • [error, '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] '|' shift, and go to state 325 $default reduce using rule 136 (logical_and_expression)
406 braced_initializer → '{' • initializer_list '}' 407 | '{' • initializer_list ',' '}' 408 | '{' • '}' 409 | '{' • looping_initializer_clause '#' bang error '}' 410 | '{' • initializer_list ',' looping_initializer_clause '#' bang error '}' 411 initializer_list → • looping_initializer_clause 412 | • initializer_list ',' looping_initializer_clause 413 looping_initializer_clause → • start_search looped_initializer_clause 558 start_search → • %empty [error, '+', '-', '*', '&', '~', '!', '[', '{', '(', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] '}' shift, and go to state 619 $default reduce using rule 558 (start_search) initializer_list go to state 620 looping_initializer_clause go to state 621 start_search go to state 622
143 assignment_expression → logical_or_expression '=' braced_initializer • $default reduce using rule 143 (assignment_expression)
140 conditional_expression → logical_or_expression '?' expression • ':' assignment_expression ':' shift, and go to state 623
136 logical_and_expression → logical_and_expression • LOG_AND inclusive_or_expression 138 logical_or_expression → logical_or_expression LOG_OR logical_and_expression • [error, '=', ':', ']', '{', '}', ')', '?', ';', ',', LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, ELLIPSIS, TRY, '#'] LOG_AND shift, and go to state 326 $default reduce using rule 138 (logical_or_expression)
142 assignment_expression → logical_or_expression assignment_operator assignment_expression • $default reduce using rule 142 (assignment_expression)
452 bit_field_declaration → assignment_expression ':' bit_field_width • $default reduce using rule 452 (bit_field_declaration)
187 looping_statement → • start_search looped_statement 202 compound_statement → '{' statement_seq.opt • '}' 203 | '{' statement_seq.opt • looping_statement '#' bang error '}' 205 statement_seq.opt → statement_seq.opt • looping_statement 206 | statement_seq.opt • looping_statement '#' bang error ';' 558 start_search → • %empty [error, '+', '-', '*', '&', '~', '!', '[', '{', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, BREAK, CASE, CONST_CAST, CONTINUE, DEFAULT, DELETE, DO, DYNAMIC_CAST, FALSE, FOR, GOTO, IF, NEW, OPERATOR, REINTERPRET_CAST, RETURN, SIZEOF, STATIC_CAST, SWITCH, THIS, THROW, TRUE, TRY, TYPEID, WHILE, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] '}' shift, and go to state 624 $default reduce using rule 558 (start_search) looping_statement go to state 625 start_search go to state 626
339 init_declaration → assignment_expression • $default reduce using rule 339 (init_declaration)
337 init_declarations → assignment_expression ',' init_declaration • $default reduce using rule 337 (init_declarations)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 471 ctor_initializer → ':' • mem_initializer_list 472 | ':' • mem_initializer_list bang error 473 mem_initializer_list → • mem_initializer 474 | • mem_initializer_list_head mem_initializer 475 mem_initializer_list_head → • mem_initializer_list ',' 476 | • mem_initializer_list bang error ',' 477 mem_initializer → • mem_initializer_id '(' expression_list.opt ')' 478 mem_initializer_id → • scoped_id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 627 mem_initializer_list go to state 628 mem_initializer_list_head go to state 629 mem_initializer go to state 630 mem_initializer_id go to state 631 template_id go to state 157
401 function_try_block → TRY function_block • handler_seq 542 handler_seq → • handler 543 | • handler handler_seq 544 handler → • CATCH '(' exception_declaration ')' compound_statement CATCH shift, and go to state 632 handler_seq go to state 633 handler go to state 634
202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 402 function_block → ctor_initializer.opt • function_body 403 function_body → • compound_statement '{' shift, and go to state 342 compound_statement go to state 345 function_body go to state 635
470 ctor_initializer.opt → ctor_initializer • $default reduce using rule 470 (ctor_initializer.opt)
9 global_scope → SCOPE • [TEMPLATE, OPERATOR, Identifier] 269 suffix_decl_specified_scope → suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE • ['*'] '*' reduce using rule 269 (suffix_decl_specified_scope) $default reduce using rule 9 (global_scope)
82 unary_expression → suffix_decl_specified_scope star_ptr_operator cast_expression • $default reduce using rule 82 (unary_expression)
338 init_declarations → init_declarations ',' init_declaration • $default reduce using rule 338 (init_declarations)
550 exception_specification → THROW • '(' ')' 551 | THROW • '(' type_id_list ')' '(' shift, and go to state 636
352 cv_qualifier_seq.opt → cv_qualifier_seq.opt cv_qualifier • $default reduce using rule 352 (cv_qualifier_seq.opt)
366 parenthesis_clause → parameters_clause cv_qualifier_seq.opt exception_specification • $default reduce using rule 366 (parenthesis_clause)
400 constructor_head → constructor_head ',' assignment_expression • $default reduce using rule 400 (constructor_head)
427 class_specifier → class_specifier_head member_specification.opt '}' • $default reduce using rule 427 (class_specifier)
428 class_specifier → class_specifier_head member_specification.opt util • looping_member_declaration '#' bang error '}' 430 member_specification.opt → member_specification.opt util • looping_member_declaration 431 | member_specification.opt util • looping_member_declaration '#' bang error ';' 432 looping_member_declaration → • start_search looped_member_declaration 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_member_declaration go to state 637 start_search go to state 638
463 access_specifier → PRIVATE • $default reduce using rule 463 (access_specifier)
464 access_specifier → PROTECTED • $default reduce using rule 464 (access_specifier)
465 access_specifier → PUBLIC • $default reduce using rule 465 (access_specifier)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 460 base_specifier → • scoped_id 461 | • access_specifier base_specifier 462 | • VIRTUAL base_specifier 462 | VIRTUAL • base_specifier 463 access_specifier → • PRIVATE 464 | • PROTECTED 465 | • PUBLIC 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 PRIVATE shift, and go to state 521 PROTECTED shift, and go to state 522 PUBLIC shift, and go to state 523 TEMPLATE shift, and go to state 191 VIRTUAL shift, and go to state 524 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 525 base_specifier go to state 639 access_specifier go to state 528 template_id go to state 157
460 base_specifier → scoped_id • $default reduce using rule 460 (base_specifier)
421 class_specifier_head → class_key ':' base_specifier_list • '{' 459 base_specifier_list → base_specifier_list • ',' base_specifier '{' shift, and go to state 640 ',' shift, and go to state 641
458 base_specifier_list → base_specifier • $default reduce using rule 458 (base_specifier_list)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 460 base_specifier → • scoped_id 461 | • access_specifier base_specifier 461 | access_specifier • base_specifier 462 | • VIRTUAL base_specifier 463 access_specifier → • PRIVATE 464 | • PROTECTED 465 | • PUBLIC 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 PRIVATE shift, and go to state 521 PROTECTED shift, and go to state 522 PUBLIC shift, and go to state 523 TEMPLATE shift, and go to state 191 VIRTUAL shift, and go to state 524 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 525 base_specifier go to state 642 access_specifier go to state 528 template_id go to state 157
417 colon_mark → ':' • $default reduce using rule 417 (colon_mark)
422 class_specifier_head → class_key scoped_id '{' • $default reduce using rule 422 (class_specifier_head)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 419 elaborated_class_specifier → class_key scoped_id colon_mark • error 420 class_specifier_head → class_key scoped_id colon_mark • base_specifier_list '{' 458 base_specifier_list → • base_specifier 459 | • base_specifier_list ',' base_specifier 460 base_specifier → • scoped_id 461 | • access_specifier base_specifier 462 | • VIRTUAL base_specifier 463 access_specifier → • PRIVATE 464 | • PROTECTED 465 | • PUBLIC 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id error shift, and go to state 643 SCOPE shift, and go to state 21 PRIVATE shift, and go to state 521 PROTECTED shift, and go to state 522 PUBLIC shift, and go to state 523 TEMPLATE shift, and go to state 191 VIRTUAL shift, and go to state 524 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 525 base_specifier_list go to state 644 base_specifier go to state 527 access_specifier go to state 528 template_id go to state 157
404 initializer_clause → assignment_expression • $default reduce using rule 404 (initializer_clause)
457 bit_field_init_declaration → bit_field_declaration '=' initializer_clause • $default reduce using rule 457 (bit_field_init_declaration)
405 initializer_clause → braced_initializer • $default reduce using rule 405 (initializer_clause)
229 looped_declaration → advance_search '+' looped_declaration • $default reduce using rule 229 (looped_declaration)
226 declaration_seq.opt → declaration_seq.opt util looping_declaration '#' bang error ';' • $default reduce using rule 226 (declaration_seq.opt)
455 bit_field_width → logical_or_expression '?' bit_field_width • ':' bit_field_width ':' shift, and go to state 645
77 expression_list → expression_list ',' assignment_expression • [','] 159 expression → expression_list ',' assignment_expression • [':', ']', ')', ';'] ',' reduce using rule 77 (expression_list) $default reduce using rule 159 (expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 81 | ptr_operator • cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 349 ptr_operator_seq.opt → • %empty ['>', '=', ')', ';', ',', ELLIPSIS] 350 | • ptr_operator ptr_operator_seq.opt 350 | ptr_operator • ptr_operator_seq.opt 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 349 (ptr_operator_seq.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 368 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 539 ptr_operator_seq.opt go to state 599 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
374 abstract_pointer_declaration → multiplicative_expression star_ptr_operator ptr_operator_seq.opt • $default reduce using rule 374 (abstract_pointer_declaration)
377 abstract_parameter_declaration → and_expression '&' abstract_pointer_declaration • $default reduce using rule 377 (abstract_parameter_declaration)
372 parameter_declaration_list → parameter_declaration_list ',' parameter_declaration • $default reduce using rule 372 (parameter_declaration_list)
379 special_parameter_declaration → abstract_parameter_declaration '=' assignment_expression • $default reduce using rule 379 (special_parameter_declaration)
327 enumerator → identifier • $default reduce using rule 327 (enumerator)
324 enumerator_list → enumerator_list_head enumerator_definition • $default reduce using rule 324 (enumerator_list)
325 enumerator_definition → enumerator • [error, '}', ','] 326 | enumerator • '=' constant_expression '=' shift, and go to state 646 $default reduce using rule 325 (enumerator_definition)
315 enumerator_clause → '{' enumerator_list ',' • enumerator_definition_ecarb 318 enumerator_definition_ecarb → • '}' 319 | • bang error '}' 320 enumerator_definition_filler → • %empty [Identifier] 321 | • bang error ',' 323 enumerator_list_head → enumerator_list ',' • enumerator_definition_filler 555 bang → • %empty [error] '}' shift, and go to state 647 error reduce using rule 555 (bang) $default reduce using rule 320 (enumerator_definition_filler) enumerator_definition_ecarb go to state 648 enumerator_definition_filler go to state 649 bang go to state 650
314 enumerator_clause → '{' enumerator_list enumerator_list_ecarb • $default reduce using rule 314 (enumerator_clause)
317 enumerator_list_ecarb → bang • error '}' error shift, and go to state 651
317 enumerator_list_ecarb → bang error • '}' 321 enumerator_definition_filler → bang error • ',' '}' shift, and go to state 652 ',' shift, and go to state 653
222 compound_declaration → '{' nest declaration_seq.opt • '}' 223 | '{' nest declaration_seq.opt • util looping_declaration '#' bang error '}' 225 declaration_seq.opt → declaration_seq.opt • util looping_declaration 226 | declaration_seq.opt • util looping_declaration '#' bang error ';' 560 util → • %empty [error, '+', '-', '*', '&', '~', '!', ':', '[', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] '}' shift, and go to state 654 $default reduce using rule 560 (util) util go to state 655
330 namespace_alias_definition → NAMESPACE scoped_id '=' scoped_id • ';' ';' shift, and go to state 656
540 explicit_specialization → TEMPLATE '<' '>' declaration • $default reduce using rule 540 (explicit_specialization)
169 templated_and_expression → templated_and_expression • '&' templated_equality_expression 170 templated_exclusive_or_expression → templated_and_expression • ['^', '|', '>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '&' shift, and go to state 657 $default reduce using rule 170 (templated_exclusive_or_expression)
549 templated_throw_expression → THROW templated_assignment_expression • $default reduce using rule 549 (templated_throw_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 162 templated_relational_expression → templated_relational_expression '<' • shift_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 658 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 164 templated_relational_expression → templated_relational_expression GE • shift_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 659 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 163 templated_relational_expression → templated_relational_expression LE • shift_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 660 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 166 templated_equality_expression → templated_equality_expression EQ • templated_relational_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 661 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 167 templated_equality_expression → templated_equality_expression NE • templated_relational_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 662 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 169 templated_and_expression → templated_and_expression '&' • templated_equality_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 389 templated_abstract_declaration → templated_and_expression '&' • ['>', '=', ','] 390 | templated_and_expression '&' • abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 389 (templated_abstract_declaration) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 663 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 664 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 171 templated_exclusive_or_expression → templated_exclusive_or_expression '^' • templated_and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 665 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 173 templated_inclusive_or_expression → templated_inclusive_or_expression '|' • templated_exclusive_or_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 666 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 175 templated_logical_and_expression → templated_logical_and_expression LOG_AND • templated_inclusive_or_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 667 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
145 assignment_operator → '=' • $default reduce using rule 145 (assignment_operator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 179 | templated_logical_or_expression '?' • templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 183 templated_expression → • templated_assignment_expression 184 | • templated_expression_list ',' templated_assignment_expression 185 templated_expression_list → • templated_assignment_expression 186 | • templated_expression_list ',' templated_assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 668 templated_expression go to state 669 templated_expression_list go to state 670 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 templated_throw_expression go to state 433
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 177 templated_logical_or_expression → templated_logical_or_expression LOG_OR • templated_logical_and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 671 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 181 | templated_logical_or_expression assignment_operator • templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 672 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 templated_throw_expression go to state 433
387 templated_parameter_declaration → decl_specifier_prefix templated_parameter_declaration • $default reduce using rule 387 (templated_parameter_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 386 templated_parameter_declaration → templated_abstract_declaration '=' • templated_assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 673 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 templated_throw_expression go to state 433
1 identifier_word → • Identifier 2 identifier → • identifier_word 533 templated_type_parameter → template_parameter_clause CLASS • ['>', '=', ','] 534 | template_parameter_clause CLASS • identifier Identifier shift, and go to state 70 $default reduce using rule 533 (templated_type_parameter) identifier_word go to state 73 identifier go to state 674
522 template_parameter_clause → TEMPLATE '<' template_parameter_list '>' • $default reduce using rule 522 (template_parameter_clause)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 384 templated_parameter_declaration → • templated_assignment_expression 385 | • templated_abstract_declaration 386 | • templated_abstract_declaration '=' templated_assignment_expression 387 | • decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declaration → • abstract_pointer_declaration 389 | • templated_and_expression '&' 390 | • templated_and_expression '&' abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 524 template_parameter_list → template_parameter_list ',' • template_parameter 525 template_parameter → • simple_type_parameter 526 | • simple_type_parameter '=' type_id 527 | • templated_type_parameter 528 | • templated_type_parameter '=' identifier 529 | • templated_parameter_declaration 530 | • bang error 531 simple_type_parameter → • CLASS 532 | • TYPENAME 533 templated_type_parameter → • template_parameter_clause CLASS 534 | • template_parameter_clause CLASS identifier 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression 555 bang → • %empty [error] '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 410 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 411 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 412 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 555 (bang) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 417 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 423 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 424 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 425 templated_parameter_declaration go to state 426 templated_abstract_declaration go to state 427 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_parameter_clause go to state 428 template_parameter go to state 675 simple_type_parameter go to state 431 templated_type_parameter go to state 432 template_id go to state 157 templated_throw_expression go to state 433 bang go to state 434
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 356 | • type_specifier type_id 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 526 template_parameter → simple_type_parameter '=' • type_id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 type_id go to state 676 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 528 template_parameter → templated_type_parameter '=' • identifier Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 677
530 template_parameter → bang error • $default reduce using rule 530 (template_parameter)
539 template_argument → templated_parameter_declaration • $default reduce using rule 539 (template_argument)
535 template_id → TEMPLATE identifier '<' template_argument_list • '>' 538 template_argument_list → template_argument_list • ',' template_argument '>' shift, and go to state 678 ',' shift, and go to state 679
537 template_argument_list → template_argument • $default reduce using rule 537 (template_argument_list)
333 using_directive → USING NAMESPACE scoped_id ';' • $default reduce using rule 333 (using_directive)
332 using_declaration → USING TYPENAME declarator_id ';' • $default reduce using rule 332 (using_declaration)
334 asm_definition → ASM '(' string ')' • ';' ';' shift, and go to state 680
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 357 abstract_declarator.opt → • %empty ['>', ')', ','] 358 | • ptr_operator abstract_declarator.opt 358 | ptr_operator • abstract_declarator.opt 359 | • direct_abstract_declarator 360 direct_abstract_declarator.opt → • %empty ['[', '('] 361 | • direct_abstract_declarator 362 direct_abstract_declarator → • direct_abstract_declarator.opt parenthesis_clause 363 | • direct_abstract_declarator.opt '[' ']' 364 | • direct_abstract_declarator.opt '[' constant_expression ']' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 '&' shift, and go to state 12 SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 '[' reduce using rule 360 (direct_abstract_declarator.opt) '(' reduce using rule 360 (direct_abstract_declarator.opt) $default reduce using rule 357 (abstract_declarator.opt) identifier_word go to state 73 identifier go to state 74 id go to state 595 global_scope go to state 596 id_scope go to state 597 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 583 abstract_declarator.opt go to state 681 direct_abstract_declarator.opt go to state 586 direct_abstract_declarator go to state 587 template_id go to state 157
356 type_id → type_specifier type_id • $default reduce using rule 356 (type_id)
355 type_id → type_specifier abstract_declarator.opt • $default reduce using rule 355 (type_id)
362 direct_abstract_declarator → direct_abstract_declarator.opt • parenthesis_clause 363 | direct_abstract_declarator.opt • '[' ']' 364 | direct_abstract_declarator.opt • '[' constant_expression ']' 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' '[' shift, and go to state 682 '(' shift, and go to state 17 parenthesis_clause go to state 683 parameters_clause go to state 142
359 abstract_declarator.opt → direct_abstract_declarator • ['>', ')', ','] 361 direct_abstract_declarator.opt → direct_abstract_declarator • ['[', '('] '[' reduce using rule 361 (direct_abstract_declarator.opt) '(' reduce using rule 361 (direct_abstract_declarator.opt) $default reduce using rule 359 (abstract_declarator.opt)
72 postfix_expression → CONST_CAST '<' type_id '>' • '(' expression ')' '(' shift, and go to state 684
69 postfix_expression → DYNAMIC_CAST '<' type_id '>' • '(' expression ')' '(' shift, and go to state 685
105 new_initializer.opt → '(' expression_list.opt • ')' ')' shift, and go to state 686
75 expression_list.opt → expression_list • [')'] 77 expression_list → expression_list • ',' assignment_expression ',' shift, and go to state 687 $default reduce using rule 75 (expression_list.opt)
76 expression_list → assignment_expression • $default reduce using rule 76 (expression_list)
102 direct_new_declarator → '[' expression • ']' ']' shift, and go to state 688
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 103 direct_new_declarator → direct_new_declarator '[' • constant_expression ']' 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 160 constant_expression → • conditional_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 689 conditional_expression go to state 690 constant_expression go to state 691 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
11 id_scope → id • SCOPE SCOPE shift, and go to state 289
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 346 ptr_operator → global_scope • nested_ptr_operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 595 id_scope go to state 597 star_ptr_operator go to state 137 nested_ptr_operator go to state 295 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 343 | id_scope • nested_ptr_operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '*' shift, and go to state 11 TEMPLATE shift, and go to state 401 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 595 id_scope go to state 597 star_ptr_operator go to state 137 nested_ptr_operator go to state 300 template_id go to state 157
100 new_declarator → ptr_operator new_declarator • $default reduce using rule 100 (new_declarator)
350 ptr_operator_seq.opt → ptr_operator ptr_operator_seq.opt • $default reduce using rule 350 (ptr_operator_seq.opt)
94 new_expression → NEW parameters_clause new_type_id new_initializer.opt • $default reduce using rule 94 (new_expression)
96 new_expression → NEW parameters_clause parameters_clause new_initializer.opt • $default reduce using rule 96 (new_expression)
71 postfix_expression → REINTERPRET_CAST '<' type_id '>' • '(' expression ')' '(' shift, and go to state 692
70 postfix_expression → STATIC_CAST '<' type_id '>' • '(' expression ')' '(' shift, and go to state 693
5 id → identifier template_test '+' '>' • $default reduce using rule 5 (id)
4 id → identifier template_test '+' template_argument_list • '>' 538 template_argument_list → template_argument_list • ',' template_argument '>' shift, and go to state 694 ',' shift, and go to state 679
62 postfix_expression → postfix_expression '[' expression.opt ']' • $default reduce using rule 62 (postfix_expression)
30 built_in_type_id → built_in_type_id • built_in_type_specifier 32 pseudo_destructor_id → '~' built_in_type_id • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 $default reduce using rule 32 (pseudo_destructor_id) built_in_type_specifier go to state 616
33 pseudo_destructor_id → TEMPLATE pseudo_destructor_id • $default reduce using rule 33 (pseudo_destructor_id)
29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 32 pseudo_destructor_id → '~' • built_in_type_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 built_in_type_id go to state 607 built_in_type_specifier go to state 476
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 33 | TEMPLATE • pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '~' shift, and go to state 609 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 610 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 built_in_type_id go to state 472 pseudo_destructor_id go to state 608 built_in_type_specifier go to state 476 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_id → • pseudo_destructor_id 35 | • id_scope nested_pseudo_destructor_id 36 scoped_pseudo_destructor_id → • nested_pseudo_destructor_id 37 | • global_scope scoped_pseudo_destructor_id 37 | global_scope • scoped_pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 609 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 695 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 595 global_scope go to state 611 id_scope go to state 696 built_in_type_id go to state 472 pseudo_destructor_id go to state 473 nested_pseudo_destructor_id go to state 474 scoped_pseudo_destructor_id go to state 612 built_in_type_specifier go to state 476 template_id go to state 157
37 scoped_pseudo_destructor_id → global_scope scoped_pseudo_destructor_id • $default reduce using rule 37 (scoped_pseudo_destructor_id)
1 identifier_word → • Identifier 2 identifier → • identifier_word 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 17 | TEMPLATE • destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 33 | TEMPLATE • pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '~' shift, and go to state 467 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 613 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 destructor_id go to state 439 special_function_id go to state 207 built_in_type_id go to state 472 pseudo_destructor_id go to state 608 built_in_type_specifier go to state 476 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
35 nested_pseudo_destructor_id → id_scope nested_pseudo_destructor_id • $default reduce using rule 35 (nested_pseudo_destructor_id)
31 pseudo_destructor_id → built_in_type_id SCOPE • '~' built_in_type_id '~' shift, and go to state 697
30 built_in_type_id → built_in_type_id built_in_type_specifier • $default reduce using rule 30 (built_in_type_id)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 54 type1_parameters → • parameter_declaration_list ';' 55 | • type1_parameters parameter_declaration_list ';' 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 59 | postfix_expression parenthesis_clause mark_type1 '+' • type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 60 | postfix_expression parenthesis_clause mark_type1 '+' • type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 61 | postfix_expression parenthesis_clause mark_type1 '+' • error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 371 parameter_declaration_list → • parameter_declaration 372 | • parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression error shift, and go to state 698 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 type1_parameters go to state 699 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 parameter_declaration_list go to state 700 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 187 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
58 postfix_expression → postfix_expression parenthesis_clause mark_type1 '-' • $default reduce using rule 58 (postfix_expression)
408 braced_initializer → '{' '}' • $default reduce using rule 408 (braced_initializer)
406 braced_initializer → '{' initializer_list • '}' 407 | '{' initializer_list • ',' '}' 410 | '{' initializer_list • ',' looping_initializer_clause '#' bang error '}' 412 initializer_list → initializer_list • ',' looping_initializer_clause '}' shift, and go to state 701 ',' shift, and go to state 702
409 braced_initializer → '{' looping_initializer_clause • '#' bang error '}' 411 initializer_list → looping_initializer_clause • ['}', ','] '#' shift, and go to state 703 $default reduce using rule 411 (initializer_list)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 404 initializer_clause → • assignment_expression 405 | • braced_initializer 406 braced_initializer → • '{' initializer_list '}' 407 | • '{' initializer_list ',' '}' 408 | • '{' '}' 409 | • '{' looping_initializer_clause '#' bang error '}' 410 | • '{' initializer_list ',' looping_initializer_clause '#' bang error '}' 413 looping_initializer_clause → start_search • looped_initializer_clause 414 looped_initializer_clause → • initializer_clause 415 | • advance_search '+' looped_initializer_clause 416 | • advance_search '-' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '{' shift, and go to state 499 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 532 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 initializer_clause go to state 704 braced_initializer go to state 534 looped_initializer_clause go to state 705 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159 advance_search go to state 706
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 140 | logical_or_expression '?' expression ':' • assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 707 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
202 compound_statement → '{' statement_seq.opt '}' • $default reduce using rule 202 (compound_statement)
203 compound_statement → '{' statement_seq.opt looping_statement • '#' bang error '}' 205 statement_seq.opt → statement_seq.opt looping_statement • [error, '+', '-', '*', '&', '~', '!', '[', '{', '}', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, BREAK, CASE, CONST_CAST, CONTINUE, DEFAULT, DELETE, DO, DYNAMIC_CAST, FALSE, FOR, GOTO, IF, NEW, OPERATOR, REINTERPRET_CAST, RETURN, SIZEOF, STATIC_CAST, SWITCH, THIS, THROW, TRUE, TRY, TYPEID, WHILE, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] 206 | statement_seq.opt looping_statement • '#' bang error ';' '#' shift, and go to state 708 $default reduce using rule 205 (statement_seq.opt)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 187 looping_statement → start_search • looped_statement 188 looped_statement → • statement 189 | • advance_search '+' looped_statement 190 | • advance_search '-' 191 statement → • control_statement 192 | • compound_statement 193 | • declaration_statement 194 | • try_block 195 control_statement → • labeled_statement 196 | • selection_statement 197 | • iteration_statement 198 | • jump_statement 199 labeled_statement → • identifier_word ':' looping_statement 200 | • CASE constant_expression ':' looping_statement 201 | • DEFAULT ':' looping_statement 202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 207 selection_statement → • IF '(' condition ')' looping_statement 208 | • IF '(' condition ')' looping_statement ELSE looping_statement 209 | • SWITCH '(' condition ')' looping_statement 213 iteration_statement → • WHILE '(' condition ')' looping_statement 214 | • DO looping_statement WHILE '(' expression ')' ';' 215 | • FOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement 217 jump_statement → • BREAK ';' 218 | • CONTINUE ';' 219 | • RETURN expression.opt ';' 220 | • GOTO identifier ';' 221 declaration_statement → • block_declaration 239 block_declaration → • simple_declaration 240 | • specialised_block_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 541 try_block → • TRY compound_statement handler_seq 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '{' shift, and go to state 342 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 709 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 710 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 BREAK shift, and go to state 711 CASE shift, and go to state 712 CONST_CAST shift, and go to state 55 CONTINUE shift, and go to state 713 DEFAULT shift, and go to state 714 DELETE shift, and go to state 56 DO shift, and go to state 715 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 FOR shift, and go to state 716 GOTO shift, and go to state 717 IF shift, and go to state 718 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 RETURN shift, and go to state 719 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 SWITCH shift, and go to state 720 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TRY shift, and go to state 721 TYPEID shift, and go to state 67 WHILE shift, and go to state 722 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 723 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 724 looped_statement go to state 725 statement go to state 726 control_statement go to state 727 labeled_statement go to state 728 compound_statement go to state 729 selection_statement go to state 730 iteration_statement go to state 731 jump_statement go to state 732 declaration_statement go to state 733 block_declaration go to state 734 specialised_block_declaration go to state 110 simple_declaration go to state 111 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 735 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 try_block go to state 736 throw_expression go to state 159 advance_search go to state 737
478 mem_initializer_id → scoped_id • $default reduce using rule 478 (mem_initializer_id)
471 ctor_initializer → ':' mem_initializer_list • ['{'] 472 | ':' mem_initializer_list • bang error 475 mem_initializer_list_head → mem_initializer_list • ',' 476 | mem_initializer_list • bang error ',' 555 bang → • %empty [error] ',' shift, and go to state 738 error reduce using rule 555 (bang) $default reduce using rule 471 (ctor_initializer) bang go to state 739
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 474 mem_initializer_list → mem_initializer_list_head • mem_initializer 477 mem_initializer → • mem_initializer_id '(' expression_list.opt ')' 478 mem_initializer_id → • scoped_id 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 627 mem_initializer go to state 740 mem_initializer_id go to state 631 template_id go to state 157
473 mem_initializer_list → mem_initializer • $default reduce using rule 473 (mem_initializer_list)
477 mem_initializer → mem_initializer_id • '(' expression_list.opt ')' '(' shift, and go to state 741
544 handler → CATCH • '(' exception_declaration ')' compound_statement '(' shift, and go to state 742
401 function_try_block → TRY function_block handler_seq • $default reduce using rule 401 (function_try_block)
542 handler_seq → • handler 542 | handler • [$end, error, '+', '-', '*', '&', '~', '!', ':', '[', '{', '}', '(', ';', DEC, INC, SCOPE, PRIVATE, PROTECTED, PUBLIC, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, BREAK, CASE, CONST_CAST, CONTINUE, DEFAULT, DELETE, DO, DYNAMIC_CAST, ELSE, FALSE, FOR, GOTO, IF, NEW, OPERATOR, REINTERPRET_CAST, RETURN, SIZEOF, STATIC_CAST, SWITCH, THIS, THROW, TRUE, TRY, TYPEID, WHILE, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral, '#'] 543 | • handler handler_seq 543 | handler • handler_seq 544 handler → • CATCH '(' exception_declaration ')' compound_statement CATCH shift, and go to state 632 $default reduce using rule 542 (handler_seq) handler_seq go to state 743 handler go to state 634
402 function_block → ctor_initializer.opt function_body • $default reduce using rule 402 (function_block)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 356 | • type_specifier type_id 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 550 exception_specification → THROW '(' • ')' 551 | THROW '(' • type_id_list ')' 552 type_id_list → • type_id 553 | • type_id_list ',' type_id ')' shift, and go to state 744 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 type_id go to state 745 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157 type_id_list go to state 746
428 class_specifier → class_specifier_head member_specification.opt util looping_member_declaration • '#' bang error '}' 430 member_specification.opt → member_specification.opt util looping_member_declaration • [error, '+', '-', '*', '&', '~', '!', ':', '[', '}', '(', ';', DEC, INC, SCOPE, PRIVATE, PROTECTED, PUBLIC, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] 431 | member_specification.opt util looping_member_declaration • '#' bang error ';' '#' shift, and go to state 747 $default reduce using rule 430 (member_specification.opt)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 391 function_definition → • ctor_definition 392 | • func_definition 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 432 looping_member_declaration → start_search • looped_member_declaration 433 looped_member_declaration → • member_declaration 434 | • advance_search '+' looped_member_declaration 435 | • advance_search '-' 436 member_declaration → • accessibility_specifier 437 | • simple_member_declaration 438 | • function_definition 439 | • using_declaration 440 | • template_declaration 441 simple_member_declaration → • ';' 442 | • assignment_expression ';' 443 | • constructor_head ';' 444 | • member_init_declarations ';' 445 | • decl_specifier_prefix simple_member_declaration 446 member_init_declarations → • assignment_expression ',' member_init_declaration 447 | • constructor_head ',' bit_field_init_declaration 448 | • member_init_declarations ',' member_init_declaration 451 accessibility_specifier → • access_specifier ':' 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 463 access_specifier → • PRIVATE 464 | • PROTECTED 465 | • PUBLIC 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 520 template_declaration → • template_parameter_clause declaration 521 | • EXPORT template_declaration 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 748 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 PRIVATE shift, and go to state 521 PROTECTED shift, and go to state 522 PUBLIC shift, and go to state 523 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXPORT shift, and go to state 43 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 412 TYPEDEF shift, and go to state 51 USING shift, and go to state 749 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 750 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 751 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 using_declaration go to state 752 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 function_definition go to state 753 func_definition go to state 144 ctor_definition go to state 145 constructor_head go to state 754 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 looped_member_declaration go to state 755 member_declaration go to state 756 simple_member_declaration go to state 757 member_init_declarations go to state 758 accessibility_specifier go to state 759 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 access_specifier go to state 760 conversion_function_id go to state 153 operator_function_id go to state 154 template_declaration go to state 761 template_parameter_clause go to state 156 template_id go to state 157 throw_expression go to state 159 advance_search go to state 762
462 base_specifier → VIRTUAL base_specifier • $default reduce using rule 462 (base_specifier)
421 class_specifier_head → class_key ':' base_specifier_list '{' • $default reduce using rule 421 (class_specifier_head)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 459 base_specifier_list → base_specifier_list ',' • base_specifier 460 base_specifier → • scoped_id 461 | • access_specifier base_specifier 462 | • VIRTUAL base_specifier 463 access_specifier → • PRIVATE 464 | • PROTECTED 465 | • PUBLIC 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 PRIVATE shift, and go to state 521 PROTECTED shift, and go to state 522 PUBLIC shift, and go to state 523 TEMPLATE shift, and go to state 191 VIRTUAL shift, and go to state 524 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 525 base_specifier go to state 763 access_specifier go to state 528 template_id go to state 157
461 base_specifier → access_specifier base_specifier • $default reduce using rule 461 (base_specifier)
419 elaborated_class_specifier → class_key scoped_id colon_mark error • $default reduce using rule 419 (elaborated_class_specifier)
420 class_specifier_head → class_key scoped_id colon_mark base_specifier_list • '{' 459 base_specifier_list → base_specifier_list • ',' base_specifier '{' shift, and go to state 764 ',' shift, and go to state 641
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 454 bit_field_width → • logical_or_expression 455 | • logical_or_expression '?' bit_field_width ':' bit_field_width 455 | logical_or_expression '?' bit_field_width ':' • bit_field_width 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 167 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_width go to state 765 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 160 constant_expression → • conditional_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 326 enumerator_definition → enumerator '=' • constant_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 689 conditional_expression go to state 690 constant_expression go to state 766 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
318 enumerator_definition_ecarb → '}' • $default reduce using rule 318 (enumerator_definition_ecarb)
315 enumerator_clause → '{' enumerator_list ',' enumerator_definition_ecarb • $default reduce using rule 315 (enumerator_clause)
323 enumerator_list_head → enumerator_list ',' enumerator_definition_filler • $default reduce using rule 323 (enumerator_list_head)
319 enumerator_definition_ecarb → bang • error '}' 321 enumerator_definition_filler → bang • error ',' error shift, and go to state 767
317 enumerator_list_ecarb → bang error • '}' '}' shift, and go to state 652
317 enumerator_list_ecarb → bang error '}' • $default reduce using rule 317 (enumerator_list_ecarb)
321 enumerator_definition_filler → bang error ',' • $default reduce using rule 321 (enumerator_definition_filler)
222 compound_declaration → '{' nest declaration_seq.opt '}' • $default reduce using rule 222 (compound_declaration)
223 compound_declaration → '{' nest declaration_seq.opt util • looping_declaration '#' bang error '}' 225 declaration_seq.opt → declaration_seq.opt util • looping_declaration 226 | declaration_seq.opt util • looping_declaration '#' bang error ';' 227 looping_declaration → • start_search1 looped_declaration 559 start_search1 → • %empty $default reduce using rule 559 (start_search1) looping_declaration go to state 768 start_search1 go to state 6
330 namespace_alias_definition → NAMESPACE scoped_id '=' scoped_id ';' • $default reduce using rule 330 (namespace_alias_definition)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 169 templated_and_expression → templated_and_expression '&' • templated_equality_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 663 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 162 templated_relational_expression → templated_relational_expression '<' shift_expression • ['^', '&', '|', '<', '>', '=', ':', '?', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 162 (templated_relational_expression)
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 164 templated_relational_expression → templated_relational_expression GE shift_expression • ['^', '&', '|', '<', '>', '=', ':', '?', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 164 (templated_relational_expression)
119 shift_expression → shift_expression • SHL additive_expression 120 | shift_expression • SHR additive_expression 163 templated_relational_expression → templated_relational_expression LE shift_expression • ['^', '&', '|', '<', '>', '=', ':', '?', ',', EQ, GE, LE, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] SHL shift, and go to state 315 SHR shift, and go to state 316 $default reduce using rule 163 (templated_relational_expression)
162 templated_relational_expression → templated_relational_expression • '<' shift_expression 163 | templated_relational_expression • LE shift_expression 164 | templated_relational_expression • GE shift_expression 166 templated_equality_expression → templated_equality_expression EQ templated_relational_expression • ['^', '&', '|', '>', '=', ':', '?', ',', EQ, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '<' shift, and go to state 556 GE shift, and go to state 557 LE shift, and go to state 558 $default reduce using rule 166 (templated_equality_expression)
162 templated_relational_expression → templated_relational_expression • '<' shift_expression 163 | templated_relational_expression • LE shift_expression 164 | templated_relational_expression • GE shift_expression 167 templated_equality_expression → templated_equality_expression NE templated_relational_expression • ['^', '&', '|', '>', '=', ':', '?', ',', EQ, LOG_AND, LOG_OR, NE, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '<' shift, and go to state 556 GE shift, and go to state 557 LE shift, and go to state 558 $default reduce using rule 167 (templated_equality_expression)
166 templated_equality_expression → templated_equality_expression • EQ templated_relational_expression 167 | templated_equality_expression • NE templated_relational_expression 169 templated_and_expression → templated_and_expression '&' templated_equality_expression • ['^', '&', '|', '>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] EQ shift, and go to state 559 NE shift, and go to state 560 $default reduce using rule 169 (templated_and_expression)
390 templated_abstract_declaration → templated_and_expression '&' abstract_pointer_declaration • $default reduce using rule 390 (templated_abstract_declaration)
169 templated_and_expression → templated_and_expression • '&' templated_equality_expression 171 templated_exclusive_or_expression → templated_exclusive_or_expression '^' templated_and_expression • ['^', '|', '>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '&' shift, and go to state 657 $default reduce using rule 171 (templated_exclusive_or_expression)
171 templated_exclusive_or_expression → templated_exclusive_or_expression • '^' templated_and_expression 173 templated_inclusive_or_expression → templated_inclusive_or_expression '|' templated_exclusive_or_expression • ['|', '>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '^' shift, and go to state 562 $default reduce using rule 173 (templated_inclusive_or_expression)
173 templated_inclusive_or_expression → templated_inclusive_or_expression • '|' templated_exclusive_or_expression 175 templated_logical_and_expression → templated_logical_and_expression LOG_AND templated_inclusive_or_expression • ['>', '=', ':', '?', ',', LOG_AND, LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] '|' shift, and go to state 563 $default reduce using rule 175 (templated_logical_and_expression)
183 templated_expression → templated_assignment_expression • [':'] 185 templated_expression_list → templated_assignment_expression • [','] ',' reduce using rule 185 (templated_expression_list) $default reduce using rule 183 (templated_expression)
179 templated_conditional_expression → templated_logical_or_expression '?' templated_expression • ':' templated_assignment_expression ':' shift, and go to state 769
184 templated_expression → templated_expression_list • ',' templated_assignment_expression 186 templated_expression_list → templated_expression_list • ',' templated_assignment_expression ',' shift, and go to state 770
175 templated_logical_and_expression → templated_logical_and_expression • LOG_AND templated_inclusive_or_expression 177 templated_logical_or_expression → templated_logical_or_expression LOG_OR templated_logical_and_expression • ['>', '=', ':', '?', ',', LOG_OR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR] LOG_AND shift, and go to state 564 $default reduce using rule 177 (templated_logical_or_expression)
181 templated_assignment_expression → templated_logical_or_expression assignment_operator templated_assignment_expression • $default reduce using rule 181 (templated_assignment_expression)
386 templated_parameter_declaration → templated_abstract_declaration '=' templated_assignment_expression • $default reduce using rule 386 (templated_parameter_declaration)
534 templated_type_parameter → template_parameter_clause CLASS identifier • $default reduce using rule 534 (templated_type_parameter)
524 template_parameter_list → template_parameter_list ',' template_parameter • $default reduce using rule 524 (template_parameter_list)
526 template_parameter → simple_type_parameter '=' type_id • $default reduce using rule 526 (template_parameter)
528 template_parameter → templated_type_parameter '=' identifier • $default reduce using rule 528 (template_parameter)
535 template_id → TEMPLATE identifier '<' template_argument_list '>' • $default reduce using rule 535 (template_id)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 384 templated_parameter_declaration → • templated_assignment_expression 385 | • templated_abstract_declaration 386 | • templated_abstract_declaration '=' templated_assignment_expression 387 | • decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declaration → • abstract_pointer_declaration 389 | • templated_and_expression '&' 390 | • templated_and_expression '&' abstract_pointer_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 538 template_argument_list → template_argument_list ',' • template_argument 539 template_argument → • templated_parameter_declaration 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 417 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 423 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 424 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 425 templated_parameter_declaration go to state 577 templated_abstract_declaration go to state 427 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 template_argument go to state 771 templated_throw_expression go to state 433
334 asm_definition → ASM '(' string ')' ';' • $default reduce using rule 334 (asm_definition)
358 abstract_declarator.opt → ptr_operator abstract_declarator.opt • $default reduce using rule 358 (abstract_declarator.opt)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 160 constant_expression → • conditional_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 363 direct_abstract_declarator → direct_abstract_declarator.opt '[' • ']' 364 | direct_abstract_declarator.opt '[' • constant_expression ']' 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 ']' shift, and go to state 772 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 689 conditional_expression go to state 690 constant_expression go to state 773 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
362 direct_abstract_declarator → direct_abstract_declarator.opt parenthesis_clause • $default reduce using rule 362 (direct_abstract_declarator)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 72 | CONST_CAST '<' type_id '>' '(' • expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression go to state 774 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 69 | DYNAMIC_CAST '<' type_id '>' '(' • expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression go to state 775 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
105 new_initializer.opt → '(' expression_list.opt ')' • $default reduce using rule 105 (new_initializer.opt)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 77 expression_list → expression_list ',' • assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 776 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
102 direct_new_declarator → '[' expression ']' • $default reduce using rule 102 (direct_new_declarator)
138 logical_or_expression → logical_or_expression • LOG_OR logical_and_expression 139 conditional_expression → logical_or_expression • [error, ':', ']', '}', ','] 140 | logical_or_expression • '?' expression ':' assignment_expression '?' shift, and go to state 328 LOG_OR shift, and go to state 329 $default reduce using rule 139 (conditional_expression)
160 constant_expression → conditional_expression • $default reduce using rule 160 (constant_expression)
103 direct_new_declarator → direct_new_declarator '[' constant_expression • ']' ']' shift, and go to state 777
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 71 | REINTERPRET_CAST '<' type_id '>' '(' • expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression go to state 778 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 70 | STATIC_CAST '<' type_id '>' '(' • expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression go to state 779 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
4 id → identifier template_test '+' template_argument_list '>' • $default reduce using rule 4 (id)
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 33 | TEMPLATE • pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '~' shift, and go to state 609 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 695 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 built_in_type_id go to state 472 pseudo_destructor_id go to state 608 built_in_type_specifier go to state 476 template_id go to state 214
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 11 id_scope → • id SCOPE 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_id → • pseudo_destructor_id 35 | • id_scope nested_pseudo_destructor_id 35 | id_scope • nested_pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 609 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 780 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 595 id_scope go to state 696 built_in_type_id go to state 472 pseudo_destructor_id go to state 473 nested_pseudo_destructor_id go to state 614 built_in_type_specifier go to state 476 template_id go to state 157
29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → built_in_type_id SCOPE '~' • built_in_type_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 built_in_type_id go to state 781 built_in_type_specifier go to state 476
61 postfix_expression → postfix_expression parenthesis_clause mark_type1 '+' error • $default reduce using rule 61 (postfix_expression)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 55 type1_parameters → type1_parameters • parameter_declaration_list ';' 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 59 | postfix_expression parenthesis_clause mark_type1 '+' type1_parameters • mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 60 | postfix_expression parenthesis_clause mark_type1 '+' type1_parameters • mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 371 parameter_declaration_list → • parameter_declaration 372 | • parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression 556 mark → • %empty [error, '{'] '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 556 (mark) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 parameter_declaration_list go to state 782 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 187 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159 mark go to state 783
54 type1_parameters → parameter_declaration_list • ';' 372 parameter_declaration_list → parameter_declaration_list • ',' parameter_declaration ';' shift, and go to state 784 ',' shift, and go to state 392
406 braced_initializer → '{' initializer_list '}' • $default reduce using rule 406 (braced_initializer)
407 braced_initializer → '{' initializer_list ',' • '}' 410 | '{' initializer_list ',' • looping_initializer_clause '#' bang error '}' 412 initializer_list → initializer_list ',' • looping_initializer_clause 413 looping_initializer_clause → • start_search looped_initializer_clause 558 start_search → • %empty [error, '+', '-', '*', '&', '~', '!', '[', '{', '(', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, TEMPLATE, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] '}' shift, and go to state 785 $default reduce using rule 558 (start_search) looping_initializer_clause go to state 786 start_search go to state 622
409 braced_initializer → '{' looping_initializer_clause '#' • bang error '}' 555 bang → • %empty $default reduce using rule 555 (bang) bang go to state 787
414 looped_initializer_clause → initializer_clause • $default reduce using rule 414 (looped_initializer_clause)
413 looping_initializer_clause → start_search looped_initializer_clause • $default reduce using rule 413 (looping_initializer_clause)
415 looped_initializer_clause → advance_search • '+' looped_initializer_clause 416 | advance_search • '-' '+' shift, and go to state 788 '-' shift, and go to state 789
140 conditional_expression → logical_or_expression '?' expression ':' assignment_expression • $default reduce using rule 140 (conditional_expression)
203 compound_statement → '{' statement_seq.opt looping_statement '#' • bang error '}' 206 statement_seq.opt → statement_seq.opt looping_statement '#' • bang error ';' 555 bang → • %empty $default reduce using rule 555 (bang) bang go to state 790
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 330 namespace_alias_definition → NAMESPACE • scoped_id '=' scoped_id ';' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id SCOPE shift, and go to state 21 TEMPLATE shift, and go to state 191 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 791 template_id go to state 157
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 53 abstract_expression → TEMPLATE • parenthesis_clause 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 245 | TEMPLATE • specialised_block_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 278 | TEMPLATE • decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '(' shift, and go to state 17 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 709 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 792 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 specialised_block_declaration go to state 209 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 211 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 cv_qualifier go to state 140 parenthesis_clause go to state 213 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
217 jump_statement → BREAK • ';' ';' shift, and go to state 793
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 160 constant_expression → • conditional_expression 200 labeled_statement → CASE • constant_expression ':' looping_statement 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 689 conditional_expression go to state 690 constant_expression go to state 794 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
218 jump_statement → CONTINUE • ';' ';' shift, and go to state 795
201 labeled_statement → DEFAULT • ':' looping_statement ':' shift, and go to state 796
187 looping_statement → • start_search looped_statement 214 iteration_statement → DO • looping_statement WHILE '(' expression ')' ';' 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 797 start_search go to state 626
215 iteration_statement → FOR • '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement '(' shift, and go to state 798
1 identifier_word → • Identifier 2 identifier → • identifier_word 220 jump_statement → GOTO • identifier ';' Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 799
207 selection_statement → IF • '(' condition ')' looping_statement 208 | IF • '(' condition ')' looping_statement ELSE looping_statement '(' shift, and go to state 800
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 156 expression.opt → • %empty [';'] 157 | • expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 219 jump_statement → RETURN • expression.opt ';' 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 156 (expression.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression.opt go to state 801 expression go to state 172 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
209 selection_statement → SWITCH • '(' condition ')' looping_statement '(' shift, and go to state 802
202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 541 try_block → TRY • compound_statement handler_seq '{' shift, and go to state 342 compound_statement go to state 803
213 iteration_statement → WHILE • '(' condition ')' looping_statement '(' shift, and go to state 804
2 identifier → identifier_word • ['+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', '[', '(', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, VIRTUAL, OPERATOR, Identifier] 199 labeled_statement → identifier_word • ':' looping_statement ':' shift, and go to state 805 $default reduce using rule 2 (identifier)
337 init_declarations → assignment_expression • ',' init_declaration 339 init_declaration → assignment_expression • [';'] ',' shift, and go to state 343 $default reduce using rule 339 (init_declaration)
187 looping_statement → start_search looped_statement • $default reduce using rule 187 (looping_statement)
188 looped_statement → statement • $default reduce using rule 188 (looped_statement)
191 statement → control_statement • $default reduce using rule 191 (statement)
195 control_statement → labeled_statement • $default reduce using rule 195 (control_statement)
192 statement → compound_statement • $default reduce using rule 192 (statement)
196 control_statement → selection_statement • $default reduce using rule 196 (control_statement)
197 control_statement → iteration_statement • $default reduce using rule 197 (control_statement)
198 control_statement → jump_statement • $default reduce using rule 198 (control_statement)
193 statement → declaration_statement • $default reduce using rule 193 (statement)
221 declaration_statement → block_declaration • $default reduce using rule 221 (declaration_statement)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 249 | decl_specifier_prefix • simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 724 simple_declaration go to state 361 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 735 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
194 statement → try_block • $default reduce using rule 194 (statement)
189 looped_statement → advance_search • '+' looped_statement 190 | advance_search • '-' '+' shift, and go to state 806 '-' shift, and go to state 807
475 mem_initializer_list_head → mem_initializer_list ',' • $default reduce using rule 475 (mem_initializer_list_head)
472 ctor_initializer → ':' mem_initializer_list bang • error 476 mem_initializer_list_head → mem_initializer_list bang • error ',' error shift, and go to state 808
474 mem_initializer_list → mem_initializer_list_head mem_initializer • $default reduce using rule 474 (mem_initializer_list)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 74 expression_list.opt → • %empty [')'] 75 | • expression_list 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 477 mem_initializer → mem_initializer_id '(' • expression_list.opt ')' 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 74 (expression_list.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list.opt go to state 809 expression_list go to state 591 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 592 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 544 handler → CATCH '(' • exception_declaration ')' compound_statement 545 exception_declaration → • parameter_declaration 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 810 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 exception_declaration go to state 811 throw_expression go to state 159
543 handler_seq → handler handler_seq • $default reduce using rule 543 (handler_seq)
550 exception_specification → THROW '(' ')' • $default reduce using rule 550 (exception_specification)
552 type_id_list → type_id • $default reduce using rule 552 (type_id_list)
551 exception_specification → THROW '(' type_id_list • ')' 553 type_id_list → type_id_list • ',' type_id ')' shift, and go to state 812 ',' shift, and go to state 813
428 class_specifier → class_specifier_head member_specification.opt util looping_member_declaration '#' • bang error '}' 431 member_specification.opt → member_specification.opt util looping_member_declaration '#' • bang error ';' 555 bang → • %empty $default reduce using rule 555 (bang) bang go to state 814
441 simple_member_declaration → ';' • $default reduce using rule 441 (simple_member_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 16 destructor_id → • '~' id 17 | • TEMPLATE destructor_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 26 declarator_id → • scoped_id 27 | • scoped_special_function_id 28 | • destructor_id 331 using_declaration → USING • declarator_id ';' 332 | USING • TYPENAME declarator_id ';' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id '~' shift, and go to state 215 SCOPE shift, and go to state 21 TYPENAME shift, and go to state 217 TEMPLATE shift, and go to state 218 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 219 id_scope go to state 220 nested_id go to state 78 scoped_id go to state 221 destructor_id go to state 222 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 223 declarator_id go to state 224 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157
202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 393 func_definition → assignment_expression • function_try_block 394 | assignment_expression • function_body 401 function_try_block → • TRY function_block handler_seq 403 function_body → • compound_statement 442 simple_member_declaration → assignment_expression • ';' 446 member_init_declarations → assignment_expression • ',' member_init_declaration 452 bit_field_declaration → assignment_expression • ':' bit_field_width ':' shift, and go to state 341 '{' shift, and go to state 342 ';' shift, and go to state 815 ',' shift, and go to state 816 TRY shift, and go to state 344 compound_statement go to state 345 function_try_block go to state 346 function_body go to state 347
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 395 | decl_specifier_prefix • func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 398 | decl_specifier_prefix • ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 441 simple_member_declaration → • ';' 442 | • assignment_expression ';' 443 | • constructor_head ';' 444 | • member_init_declarations ';' 445 | • decl_specifier_prefix simple_member_declaration 445 | decl_specifier_prefix • simple_member_declaration 446 member_init_declarations → • assignment_expression ',' member_init_declaration 447 | • constructor_head ',' bit_field_init_declaration 448 | • member_init_declarations ',' member_init_declaration 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 748 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 750 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 751 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 func_definition go to state 362 ctor_definition go to state 363 constructor_head go to state 754 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 simple_member_declaration go to state 817 member_init_declarations go to state 758 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
439 member_declaration → using_declaration • $default reduce using rule 439 (member_declaration)
438 member_declaration → function_definition • $default reduce using rule 438 (member_declaration)
202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 396 ctor_definition → constructor_head • function_try_block 397 | constructor_head • function_body 400 constructor_head → constructor_head • ',' assignment_expression 401 function_try_block → • TRY function_block handler_seq 403 function_body → • compound_statement 443 simple_member_declaration → constructor_head • ';' 447 member_init_declarations → constructor_head • ',' bit_field_init_declaration '{' shift, and go to state 342 ';' shift, and go to state 818 ',' shift, and go to state 819 TRY shift, and go to state 344 compound_statement go to state 345 function_try_block go to state 371 function_body go to state 372
432 looping_member_declaration → start_search looped_member_declaration • $default reduce using rule 432 (looping_member_declaration)
433 looped_member_declaration → member_declaration • $default reduce using rule 433 (looped_member_declaration)
437 member_declaration → simple_member_declaration • $default reduce using rule 437 (member_declaration)
444 simple_member_declaration → member_init_declarations • ';' 448 member_init_declarations → member_init_declarations • ',' member_init_declaration ';' shift, and go to state 820 ',' shift, and go to state 821
436 member_declaration → accessibility_specifier • $default reduce using rule 436 (member_declaration)
451 accessibility_specifier → access_specifier • ':' ':' shift, and go to state 822
440 member_declaration → template_declaration • $default reduce using rule 440 (member_declaration)
434 looped_member_declaration → advance_search • '+' looped_member_declaration 435 | advance_search • '-' '+' shift, and go to state 823 '-' shift, and go to state 824
459 base_specifier_list → base_specifier_list ',' base_specifier • $default reduce using rule 459 (base_specifier_list)
420 class_specifier_head → class_key scoped_id colon_mark base_specifier_list '{' • $default reduce using rule 420 (class_specifier_head)
455 bit_field_width → logical_or_expression '?' bit_field_width ':' bit_field_width • $default reduce using rule 455 (bit_field_width)
326 enumerator_definition → enumerator '=' constant_expression • $default reduce using rule 326 (enumerator_definition)
319 enumerator_definition_ecarb → bang error • '}' 321 enumerator_definition_filler → bang error • ',' '}' shift, and go to state 825 ',' shift, and go to state 653
223 compound_declaration → '{' nest declaration_seq.opt util looping_declaration • '#' bang error '}' 225 declaration_seq.opt → declaration_seq.opt util looping_declaration • [error, '+', '-', '*', '&', '~', '!', ':', '[', '}', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXPORT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, CONST_CAST, DELETE, DYNAMIC_CAST, FALSE, NEW, OPERATOR, REINTERPRET_CAST, SIZEOF, STATIC_CAST, THIS, THROW, TRUE, TYPEID, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral] 226 | declaration_seq.opt util looping_declaration • '#' bang error ';' '#' shift, and go to state 826 $default reduce using rule 225 (declaration_seq.opt)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 179 | templated_logical_or_expression '?' templated_expression ':' • templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 827 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 templated_throw_expression go to state 433
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 161 templated_relational_expression → • shift_expression 162 | • templated_relational_expression '<' shift_expression 163 | • templated_relational_expression LE shift_expression 164 | • templated_relational_expression GE shift_expression 165 templated_equality_expression → • templated_relational_expression 166 | • templated_equality_expression EQ templated_relational_expression 167 | • templated_equality_expression NE templated_relational_expression 168 templated_and_expression → • templated_equality_expression 169 | • templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expression → • templated_and_expression 171 | • templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expression → • templated_exclusive_or_expression 173 | • templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expression → • templated_inclusive_or_expression 175 | • templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expression → • templated_logical_and_expression 177 | • templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expression → • templated_logical_or_expression 179 | • templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expression → • templated_conditional_expression 181 | • templated_logical_or_expression assignment_operator templated_assignment_expression 182 | • templated_throw_expression 184 templated_expression → templated_expression_list ',' • templated_assignment_expression 186 templated_expression_list → templated_expression_list ',' • templated_assignment_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 548 templated_throw_expression → • THROW 549 | • THROW templated_assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 413 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 414 templated_relational_expression go to state 415 templated_equality_expression go to state 416 templated_and_expression go to state 554 templated_exclusive_or_expression go to state 418 templated_inclusive_or_expression go to state 419 templated_logical_and_expression go to state 420 templated_logical_or_expression go to state 421 templated_conditional_expression go to state 422 templated_assignment_expression go to state 828 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 templated_throw_expression go to state 433
538 template_argument_list → template_argument_list ',' template_argument • $default reduce using rule 538 (template_argument_list)
363 direct_abstract_declarator → direct_abstract_declarator.opt '[' ']' • $default reduce using rule 363 (direct_abstract_declarator)
364 direct_abstract_declarator → direct_abstract_declarator.opt '[' constant_expression • ']' ']' shift, and go to state 829
72 postfix_expression → CONST_CAST '<' type_id '>' '(' expression • ')' ')' shift, and go to state 830
69 postfix_expression → DYNAMIC_CAST '<' type_id '>' '(' expression • ')' ')' shift, and go to state 831
77 expression_list → expression_list ',' assignment_expression • $default reduce using rule 77 (expression_list)
103 direct_new_declarator → direct_new_declarator '[' constant_expression ']' • $default reduce using rule 103 (direct_new_declarator)
71 postfix_expression → REINTERPRET_CAST '<' type_id '>' '(' expression • ')' ')' shift, and go to state 832
70 postfix_expression → STATIC_CAST '<' type_id '>' '(' expression • ')' ')' shift, and go to state 833
1 identifier_word → • Identifier 2 identifier → • identifier_word 29 built_in_type_id → • built_in_type_specifier 30 | • built_in_type_id built_in_type_specifier 31 pseudo_destructor_id → • built_in_type_id SCOPE '~' built_in_type_id 32 | • '~' built_in_type_id 33 | • TEMPLATE pseudo_destructor_id 33 | TEMPLATE • pseudo_destructor_id 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id '~' shift, and go to state 609 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 TEMPLATE shift, and go to state 780 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 built_in_type_id go to state 472 pseudo_destructor_id go to state 608 built_in_type_specifier go to state 476 template_id go to state 214
30 built_in_type_id → built_in_type_id • built_in_type_specifier 31 pseudo_destructor_id → built_in_type_id SCOPE '~' built_in_type_id • [error, '+', '-', '*', '/', '%', '^', '&', '|', '<', '>', '=', ':', '[', ']', '{', '}', '(', ')', '?', '.', ';', ',', ARROW, ARROW_STAR, DEC, EQ, GE, INC, LE, LOG_AND, LOG_OR, NE, SHL, SHR, ASS_ADD, ASS_AND, ASS_DIV, ASS_MOD, ASS_MUL, ASS_OR, ASS_SHL, ASS_SHR, ASS_SUB, ASS_XOR, DOT_STAR, ELLIPSIS, TRY, '#'] 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 $default reduce using rule 31 (pseudo_destructor_id) built_in_type_specifier go to state 616
55 type1_parameters → type1_parameters parameter_declaration_list • ';' 372 parameter_declaration_list → parameter_declaration_list • ',' parameter_declaration ';' shift, and go to state 834 ',' shift, and go to state 392
59 postfix_expression → postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark • '{' error 60 | postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark • error error shift, and go to state 835 '{' shift, and go to state 836
54 type1_parameters → parameter_declaration_list ';' • $default reduce using rule 54 (type1_parameters)
407 braced_initializer → '{' initializer_list ',' '}' • $default reduce using rule 407 (braced_initializer)
410 braced_initializer → '{' initializer_list ',' looping_initializer_clause • '#' bang error '}' 412 initializer_list → initializer_list ',' looping_initializer_clause • ['}', ','] '#' shift, and go to state 837 $default reduce using rule 412 (initializer_list)
409 braced_initializer → '{' looping_initializer_clause '#' bang • error '}' error shift, and go to state 838
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 404 initializer_clause → • assignment_expression 405 | • braced_initializer 406 braced_initializer → • '{' initializer_list '}' 407 | • '{' initializer_list ',' '}' 408 | • '{' '}' 409 | • '{' looping_initializer_clause '#' bang error '}' 410 | • '{' initializer_list ',' looping_initializer_clause '#' bang error '}' 414 looped_initializer_clause → • initializer_clause 415 | • advance_search '+' looped_initializer_clause 415 | advance_search '+' • looped_initializer_clause 416 | • advance_search '-' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '{' shift, and go to state 499 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 532 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 initializer_clause go to state 704 braced_initializer go to state 534 looped_initializer_clause go to state 839 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159 advance_search go to state 706
416 looped_initializer_clause → advance_search '-' • $default reduce using rule 416 (looped_initializer_clause)
203 compound_statement → '{' statement_seq.opt looping_statement '#' bang • error '}' 206 statement_seq.opt → statement_seq.opt looping_statement '#' bang • error ';' error shift, and go to state 840
330 namespace_alias_definition → NAMESPACE scoped_id • '=' scoped_id ';' '=' shift, and go to state 404
1 identifier_word → • Identifier 2 identifier → • identifier_word 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 10 | TEMPLATE • global_scope 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 20 | TEMPLATE • special_function_id 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 245 | TEMPLATE • specialised_block_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 254 | TEMPLATE • suffix_built_in_decl_specifier 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 278 | TEMPLATE • decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 293 | TEMPLATE • elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 353 cv_qualifier → • CONST 354 | • VOLATILE 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 535 | TEMPLATE • identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 536 | TEMPLATE • template_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 709 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 792 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 OPERATOR shift, and go to state 60 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 205 global_scope go to state 206 special_function_id go to state 207 specialised_block_declaration go to state 209 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 210 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 211 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 212 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 cv_qualifier go to state 140 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 214
217 jump_statement → BREAK ';' • $default reduce using rule 217 (jump_statement)
200 labeled_statement → CASE constant_expression • ':' looping_statement ':' shift, and go to state 841
218 jump_statement → CONTINUE ';' • $default reduce using rule 218 (jump_statement)
187 looping_statement → • start_search looped_statement 201 labeled_statement → DEFAULT ':' • looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 842 start_search go to state 626
214 iteration_statement → DO looping_statement • WHILE '(' expression ')' ';' WHILE shift, and go to state 843
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 215 iteration_statement → FOR '(' • for_init_statement condition.opt ';' expression.opt ')' looping_statement 216 for_init_statement → • simple_declaration 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 724 for_init_statement go to state 844 simple_declaration go to state 845 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 735 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
220 jump_statement → GOTO identifier • ';' ';' shift, and go to state 846
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 207 selection_statement → IF '(' • condition ')' looping_statement 208 | IF '(' • condition ')' looping_statement ELSE looping_statement 212 condition → • parameter_declaration_list 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 371 parameter_declaration_list → • parameter_declaration 372 | • parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 condition go to state 847 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 parameter_declaration_list go to state 848 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 187 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
219 jump_statement → RETURN expression.opt • ';' ';' shift, and go to state 849
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 209 selection_statement → SWITCH '(' • condition ')' looping_statement 212 condition → • parameter_declaration_list 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 371 parameter_declaration_list → • parameter_declaration 372 | • parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 condition go to state 850 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 parameter_declaration_list go to state 848 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 187 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
541 try_block → TRY compound_statement • handler_seq 542 handler_seq → • handler 543 | • handler handler_seq 544 handler → • CATCH '(' exception_declaration ')' compound_statement CATCH shift, and go to state 632 handler_seq go to state 851 handler go to state 634
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 212 condition → • parameter_declaration_list 213 iteration_statement → WHILE '(' • condition ')' looping_statement 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 371 parameter_declaration_list → • parameter_declaration 372 | • parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 condition go to state 852 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 parameter_declaration_list go to state 848 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 187 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
187 looping_statement → • start_search looped_statement 199 labeled_statement → identifier_word ':' • looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 853 start_search go to state 626
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 188 looped_statement → • statement 189 | • advance_search '+' looped_statement 189 | advance_search '+' • looped_statement 190 | • advance_search '-' 191 statement → • control_statement 192 | • compound_statement 193 | • declaration_statement 194 | • try_block 195 control_statement → • labeled_statement 196 | • selection_statement 197 | • iteration_statement 198 | • jump_statement 199 labeled_statement → • identifier_word ':' looping_statement 200 | • CASE constant_expression ':' looping_statement 201 | • DEFAULT ':' looping_statement 202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 207 selection_statement → • IF '(' condition ')' looping_statement 208 | • IF '(' condition ')' looping_statement ELSE looping_statement 209 | • SWITCH '(' condition ')' looping_statement 213 iteration_statement → • WHILE '(' condition ')' looping_statement 214 | • DO looping_statement WHILE '(' expression ')' ';' 215 | • FOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement 217 jump_statement → • BREAK ';' 218 | • CONTINUE ';' 219 | • RETURN expression.opt ';' 220 | • GOTO identifier ';' 221 declaration_statement → • block_declaration 239 block_declaration → • simple_declaration 240 | • specialised_block_declaration 241 specialised_block_declaration → • asm_definition 242 | • namespace_alias_definition 243 | • using_declaration 244 | • using_directive 245 | • TEMPLATE specialised_block_declaration 246 simple_declaration → • ';' 247 | • init_declaration ';' 248 | • init_declarations ';' 249 | • decl_specifier_prefix simple_declaration 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 330 namespace_alias_definition → • NAMESPACE scoped_id '=' scoped_id ';' 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 333 using_directive → • USING NAMESPACE scoped_id ';' 334 asm_definition → • ASM '(' string ')' ';' 337 init_declarations → • assignment_expression ',' init_declaration 338 | • init_declarations ',' init_declaration 339 init_declaration → • assignment_expression 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 541 try_block → • TRY compound_statement handler_seq 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '{' shift, and go to state 342 '(' shift, and go to state 17 ';' shift, and go to state 18 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 NAMESPACE shift, and go to state 709 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 710 TYPEDEF shift, and go to state 51 USING shift, and go to state 52 VIRTUAL shift, and go to state 53 ASM shift, and go to state 54 BREAK shift, and go to state 711 CASE shift, and go to state 712 CONST_CAST shift, and go to state 55 CONTINUE shift, and go to state 713 DEFAULT shift, and go to state 714 DELETE shift, and go to state 56 DO shift, and go to state 715 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 FOR shift, and go to state 716 GOTO shift, and go to state 717 IF shift, and go to state 718 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 RETURN shift, and go to state 719 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 SWITCH shift, and go to state 720 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TRY shift, and go to state 721 TYPEID shift, and go to state 67 WHILE shift, and go to state 722 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 723 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 724 looped_statement go to state 854 statement go to state 726 control_statement go to state 727 labeled_statement go to state 728 compound_statement go to state 729 selection_statement go to state 730 iteration_statement go to state 731 jump_statement go to state 732 declaration_statement go to state 733 block_declaration go to state 734 specialised_block_declaration go to state 110 simple_declaration go to state 111 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 735 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 namespace_alias_definition go to state 130 using_declaration go to state 131 using_directive go to state 132 asm_definition go to state 133 init_declarations go to state 135 init_declaration go to state 136 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 try_block go to state 736 throw_expression go to state 159 advance_search go to state 737
190 looped_statement → advance_search '-' • $default reduce using rule 190 (looped_statement)
472 ctor_initializer → ':' mem_initializer_list bang error • ['{'] 476 mem_initializer_list_head → mem_initializer_list bang error • ',' ',' shift, and go to state 855 $default reduce using rule 472 (ctor_initializer)
477 mem_initializer → mem_initializer_id '(' expression_list.opt • ')' ')' shift, and go to state 856
545 exception_declaration → parameter_declaration • $default reduce using rule 545 (exception_declaration)
544 handler → CATCH '(' exception_declaration • ')' compound_statement ')' shift, and go to state 857
551 exception_specification → THROW '(' type_id_list ')' • $default reduce using rule 551 (exception_specification)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 287 type_specifier → • simple_type_specifier 288 | • elaborate_type_specifier 289 | • cv_qualifier 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 294 simple_type_specifier → • scoped_id 295 | • built_in_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 353 cv_qualifier → • CONST 354 | • VOLATILE 355 type_id → • type_specifier abstract_declarator.opt 356 | • type_specifier type_id 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 553 type_id_list → type_id_list ',' • type_id SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 TEMPLATE shift, and go to state 229 Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 192 id_scope go to state 193 nested_id go to state 78 scoped_id go to state 230 type_specifier go to state 442 elaborate_type_specifier go to state 233 simple_type_specifier go to state 234 built_in_type_specifier go to state 235 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 cv_qualifier go to state 236 type_id go to state 858 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 template_id go to state 157
428 class_specifier → class_specifier_head member_specification.opt util looping_member_declaration '#' bang • error '}' 431 member_specification.opt → member_specification.opt util looping_member_declaration '#' bang • error ';' error shift, and go to state 859
442 simple_member_declaration → assignment_expression ';' • $default reduce using rule 442 (simple_member_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 446 member_init_declarations → assignment_expression ',' • member_init_declaration 449 member_init_declaration → • assignment_expression 450 | • bit_field_init_declaration 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 860 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 member_init_declaration go to state 861 bit_field_declaration go to state 151 bit_field_init_declaration go to state 862 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
445 simple_member_declaration → decl_specifier_prefix simple_member_declaration • $default reduce using rule 445 (simple_member_declaration)
443 simple_member_declaration → constructor_head ';' • $default reduce using rule 443 (simple_member_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 400 constructor_head → constructor_head ',' • assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 447 member_init_declarations → constructor_head ',' • bit_field_init_declaration 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 863 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 bit_field_declaration go to state 151 bit_field_init_declaration go to state 864 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
444 simple_member_declaration → member_init_declarations ';' • $default reduce using rule 444 (simple_member_declaration)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 448 member_init_declarations → member_init_declarations ',' • member_init_declaration 449 member_init_declaration → • assignment_expression 450 | • bit_field_init_declaration 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 860 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 member_init_declaration go to state 865 bit_field_declaration go to state 151 bit_field_init_declaration go to state 862 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
451 accessibility_specifier → access_specifier ':' • $default reduce using rule 451 (accessibility_specifier)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 331 using_declaration → • USING declarator_id ';' 332 | • USING TYPENAME declarator_id ';' 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 391 function_definition → • ctor_definition 392 | • func_definition 393 func_definition → • assignment_expression function_try_block 394 | • assignment_expression function_body 395 | • decl_specifier_prefix func_definition 396 ctor_definition → • constructor_head function_try_block 397 | • constructor_head function_body 398 | • decl_specifier_prefix ctor_definition 399 constructor_head → • bit_field_init_declaration 400 | • constructor_head ',' assignment_expression 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 433 looped_member_declaration → • member_declaration 434 | • advance_search '+' looped_member_declaration 434 | advance_search '+' • looped_member_declaration 435 | • advance_search '-' 436 member_declaration → • accessibility_specifier 437 | • simple_member_declaration 438 | • function_definition 439 | • using_declaration 440 | • template_declaration 441 simple_member_declaration → • ';' 442 | • assignment_expression ';' 443 | • constructor_head ';' 444 | • member_init_declarations ';' 445 | • decl_specifier_prefix simple_member_declaration 446 member_init_declarations → • assignment_expression ',' member_init_declaration 447 | • constructor_head ',' bit_field_init_declaration 448 | • member_init_declarations ',' member_init_declaration 451 accessibility_specifier → • access_specifier ':' 452 bit_field_declaration → • assignment_expression ':' bit_field_width 453 | • ':' bit_field_width 456 bit_field_init_declaration → • bit_field_declaration 457 | • bit_field_declaration '=' initializer_clause 463 access_specifier → • PRIVATE 464 | • PROTECTED 465 | • PUBLIC 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 520 template_declaration → • template_parameter_clause declaration 521 | • EXPORT template_declaration 522 template_parameter_clause → • TEMPLATE '<' template_parameter_list '>' 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression 554 advance_search → • error error shift, and go to state 8 '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 ':' shift, and go to state 15 '[' shift, and go to state 16 '(' shift, and go to state 17 ';' shift, and go to state 748 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 PRIVATE shift, and go to state 521 PROTECTED shift, and go to state 522 PUBLIC shift, and go to state 523 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXPORT shift, and go to state 43 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 412 TYPEDEF shift, and go to state 51 USING shift, and go to state 749 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 750 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 751 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 using_declaration go to state 752 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 function_definition go to state 753 func_definition go to state 144 ctor_definition go to state 145 constructor_head go to state 754 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 looped_member_declaration go to state 866 member_declaration go to state 756 simple_member_declaration go to state 757 member_init_declarations go to state 758 accessibility_specifier go to state 759 bit_field_declaration go to state 151 bit_field_init_declaration go to state 152 access_specifier go to state 760 conversion_function_id go to state 153 operator_function_id go to state 154 template_declaration go to state 761 template_parameter_clause go to state 156 template_id go to state 157 throw_expression go to state 159 advance_search go to state 762
435 looped_member_declaration → advance_search '-' • $default reduce using rule 435 (looped_member_declaration)
319 enumerator_definition_ecarb → bang error '}' • $default reduce using rule 319 (enumerator_definition_ecarb)
223 compound_declaration → '{' nest declaration_seq.opt util looping_declaration '#' • bang error '}' 226 declaration_seq.opt → declaration_seq.opt util looping_declaration '#' • bang error ';' 555 bang → • %empty $default reduce using rule 555 (bang) bang go to state 867
179 templated_conditional_expression → templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression • $default reduce using rule 179 (templated_conditional_expression)
184 templated_expression → templated_expression_list ',' templated_assignment_expression • [':'] 186 templated_expression_list → templated_expression_list ',' templated_assignment_expression • [','] ',' reduce using rule 186 (templated_expression_list) $default reduce using rule 184 (templated_expression)
364 direct_abstract_declarator → direct_abstract_declarator.opt '[' constant_expression ']' • $default reduce using rule 364 (direct_abstract_declarator)
72 postfix_expression → CONST_CAST '<' type_id '>' '(' expression ')' • $default reduce using rule 72 (postfix_expression)
69 postfix_expression → DYNAMIC_CAST '<' type_id '>' '(' expression ')' • $default reduce using rule 69 (postfix_expression)
71 postfix_expression → REINTERPRET_CAST '<' type_id '>' '(' expression ')' • $default reduce using rule 71 (postfix_expression)
70 postfix_expression → STATIC_CAST '<' type_id '>' '(' expression ')' • $default reduce using rule 70 (postfix_expression)
55 type1_parameters → type1_parameters parameter_declaration_list ';' • $default reduce using rule 55 (type1_parameters)
60 postfix_expression → postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error • $default reduce using rule 60 (postfix_expression)
59 postfix_expression → postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' • error error shift, and go to state 868
410 braced_initializer → '{' initializer_list ',' looping_initializer_clause '#' • bang error '}' 555 bang → • %empty $default reduce using rule 555 (bang) bang go to state 869
409 braced_initializer → '{' looping_initializer_clause '#' bang error • '}' '}' shift, and go to state 870
415 looped_initializer_clause → advance_search '+' looped_initializer_clause • $default reduce using rule 415 (looped_initializer_clause)
203 compound_statement → '{' statement_seq.opt looping_statement '#' bang error • '}' 206 statement_seq.opt → statement_seq.opt looping_statement '#' bang error • ';' '}' shift, and go to state 871 ';' shift, and go to state 872
187 looping_statement → • start_search looped_statement 200 labeled_statement → CASE constant_expression ':' • looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 873 start_search go to state 626
201 labeled_statement → DEFAULT ':' looping_statement • $default reduce using rule 201 (labeled_statement)
214 iteration_statement → DO looping_statement WHILE • '(' expression ')' ';' '(' shift, and go to state 874
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 210 condition.opt → • %empty [';'] 211 | • condition 212 condition → • parameter_declaration_list 215 iteration_statement → FOR '(' for_init_statement • condition.opt ';' expression.opt ')' looping_statement 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 271 decl_specifier_affix → • storage_class_specifier 272 | • function_specifier 273 | • FRIEND 274 | • TYPEDEF 275 | • cv_qualifier 277 decl_specifier_prefix → • decl_specifier_affix 278 | • TEMPLATE decl_specifier_prefix 279 storage_class_specifier → • REGISTER 280 | • STATIC 281 | • MUTABLE 282 | • EXTERN 283 | • AUTO 284 function_specifier → • EXPLICIT 285 | • INLINE 286 | • VIRTUAL 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 347 ptr_operator_seq → • ptr_operator 348 | • ptr_operator ptr_operator_seq 353 cv_qualifier → • CONST 354 | • VOLATILE 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 371 parameter_declaration_list → • parameter_declaration 372 | • parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declaration → • ptr_operator_seq 374 | • multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declaration → • abstract_pointer_declaration 376 | • and_expression '&' 377 | • and_expression '&' abstract_pointer_declaration 378 special_parameter_declaration → • abstract_parameter_declaration 379 | • abstract_parameter_declaration '=' assignment_expression 380 | • ELLIPSIS 381 parameter_declaration → • assignment_expression 382 | • special_parameter_declaration 383 | • decl_specifier_prefix parameter_declaration 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 ELLIPSIS shift, and go to state 173 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 CONST shift, and go to state 39 VOLATILE shift, and go to state 40 AUTO shift, and go to state 41 EXPLICIT shift, and go to state 42 EXTERN shift, and go to state 174 FRIEND shift, and go to state 45 INLINE shift, and go to state 46 MUTABLE shift, and go to state 47 REGISTER shift, and go to state 48 STATIC shift, and go to state 49 TEMPLATE shift, and go to state 175 TYPEDEF shift, and go to state 51 VIRTUAL shift, and go to state 53 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 210 (condition.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 176 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 177 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 178 condition.opt go to state 875 condition go to state 876 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 decl_specifier_affix go to state 120 decl_specifier_prefix go to state 179 storage_class_specifier go to state 122 function_specifier go to state 123 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 180 ptr_operator_seq go to state 181 cv_qualifier go to state 140 parenthesis_clause go to state 141 parameters_clause go to state 142 parameter_declaration_list go to state 848 abstract_pointer_declaration go to state 184 abstract_parameter_declaration go to state 185 special_parameter_declaration go to state 186 parameter_declaration go to state 187 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
216 for_init_statement → simple_declaration • $default reduce using rule 216 (for_init_statement)
220 jump_statement → GOTO identifier ';' • $default reduce using rule 220 (jump_statement)
207 selection_statement → IF '(' condition • ')' looping_statement 208 | IF '(' condition • ')' looping_statement ELSE looping_statement ')' shift, and go to state 877
212 condition → parameter_declaration_list • [')', ';'] 372 parameter_declaration_list → parameter_declaration_list • ',' parameter_declaration ',' shift, and go to state 392 $default reduce using rule 212 (condition)
219 jump_statement → RETURN expression.opt ';' • $default reduce using rule 219 (jump_statement)
209 selection_statement → SWITCH '(' condition • ')' looping_statement ')' shift, and go to state 878
541 try_block → TRY compound_statement handler_seq • $default reduce using rule 541 (try_block)
213 iteration_statement → WHILE '(' condition • ')' looping_statement ')' shift, and go to state 879
199 labeled_statement → identifier_word ':' looping_statement • $default reduce using rule 199 (labeled_statement)
189 looped_statement → advance_search '+' looped_statement • $default reduce using rule 189 (looped_statement)
476 mem_initializer_list_head → mem_initializer_list bang error ',' • $default reduce using rule 476 (mem_initializer_list_head)
477 mem_initializer → mem_initializer_id '(' expression_list.opt ')' • $default reduce using rule 477 (mem_initializer)
202 compound_statement → • '{' statement_seq.opt '}' 203 | • '{' statement_seq.opt looping_statement '#' bang error '}' 544 handler → CATCH '(' exception_declaration ')' • compound_statement '{' shift, and go to state 342 compound_statement go to state 880
553 type_id_list → type_id_list ',' type_id • $default reduce using rule 553 (type_id_list)
428 class_specifier → class_specifier_head member_specification.opt util looping_member_declaration '#' bang error • '}' 431 member_specification.opt → member_specification.opt util looping_member_declaration '#' bang error • ';' '}' shift, and go to state 881 ';' shift, and go to state 882
449 member_init_declaration → assignment_expression • [';', ','] 452 bit_field_declaration → assignment_expression • ':' bit_field_width ':' shift, and go to state 341 $default reduce using rule 449 (member_init_declaration)
446 member_init_declarations → assignment_expression ',' member_init_declaration • $default reduce using rule 446 (member_init_declarations)
450 member_init_declaration → bit_field_init_declaration • $default reduce using rule 450 (member_init_declaration)
400 constructor_head → constructor_head ',' assignment_expression • ['{', ';', ',', TRY] 452 bit_field_declaration → assignment_expression • ':' bit_field_width ':' shift, and go to state 341 $default reduce using rule 400 (constructor_head)
447 member_init_declarations → constructor_head ',' bit_field_init_declaration • $default reduce using rule 447 (member_init_declarations)
448 member_init_declarations → member_init_declarations ',' member_init_declaration • $default reduce using rule 448 (member_init_declarations)
434 looped_member_declaration → advance_search '+' looped_member_declaration • $default reduce using rule 434 (looped_member_declaration)
223 compound_declaration → '{' nest declaration_seq.opt util looping_declaration '#' bang • error '}' 226 declaration_seq.opt → declaration_seq.opt util looping_declaration '#' bang • error ';' error shift, and go to state 883
59 postfix_expression → postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error • $default reduce using rule 59 (postfix_expression)
410 braced_initializer → '{' initializer_list ',' looping_initializer_clause '#' bang • error '}' error shift, and go to state 884
409 braced_initializer → '{' looping_initializer_clause '#' bang error '}' • $default reduce using rule 409 (braced_initializer)
203 compound_statement → '{' statement_seq.opt looping_statement '#' bang error '}' • $default reduce using rule 203 (compound_statement)
206 statement_seq.opt → statement_seq.opt looping_statement '#' bang error ';' • $default reduce using rule 206 (statement_seq.opt)
200 labeled_statement → CASE constant_expression ':' looping_statement • $default reduce using rule 200 (labeled_statement)
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 214 iteration_statement → DO looping_statement WHILE '(' • expression ')' ';' 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression go to state 885 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
215 iteration_statement → FOR '(' for_init_statement condition.opt • ';' expression.opt ')' looping_statement ';' shift, and go to state 886
211 condition.opt → condition • $default reduce using rule 211 (condition.opt)
187 looping_statement → • start_search looped_statement 207 selection_statement → IF '(' condition ')' • looping_statement 208 | IF '(' condition ')' • looping_statement ELSE looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 887 start_search go to state 626
187 looping_statement → • start_search looped_statement 209 selection_statement → SWITCH '(' condition ')' • looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 888 start_search go to state 626
187 looping_statement → • start_search looped_statement 213 iteration_statement → WHILE '(' condition ')' • looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 889 start_search go to state 626
544 handler → CATCH '(' exception_declaration ')' compound_statement • $default reduce using rule 544 (handler)
428 class_specifier → class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' • $default reduce using rule 428 (class_specifier)
431 member_specification.opt → member_specification.opt util looping_member_declaration '#' bang error ';' • $default reduce using rule 431 (member_specification.opt)
223 compound_declaration → '{' nest declaration_seq.opt util looping_declaration '#' bang error • '}' 226 declaration_seq.opt → declaration_seq.opt util looping_declaration '#' bang error • ';' '}' shift, and go to state 890 ';' shift, and go to state 536
410 braced_initializer → '{' initializer_list ',' looping_initializer_clause '#' bang error • '}' '}' shift, and go to state 891
214 iteration_statement → DO looping_statement WHILE '(' expression • ')' ';' ')' shift, and go to state 892
1 identifier_word → • Identifier 2 identifier → • identifier_word 3 id → • identifier 4 | • identifier template_test '+' template_argument_list '>' 5 | • identifier template_test '+' '>' 6 | • identifier template_test '-' 7 | • template_id 9 global_scope → • SCOPE 10 | • TEMPLATE global_scope 11 id_scope → • id SCOPE 12 nested_id → • id 13 | • id_scope nested_id 14 scoped_id → • nested_id 15 | • global_scope nested_id 18 special_function_id → • conversion_function_id 19 | • operator_function_id 20 | • TEMPLATE special_function_id 21 nested_special_function_id → • special_function_id 22 | • id_scope destructor_id 23 | • id_scope nested_special_function_id 24 scoped_special_function_id → • nested_special_function_id 25 | • global_scope nested_special_function_id 38 string → • StringLiteral 39 literal → • IntegerLiteral 40 | • CharacterLiteral 41 | • FloatingLiteral 42 | • string 43 | • boolean_literal 44 boolean_literal → • FALSE 45 | • TRUE 47 primary_expression → • literal 48 | • THIS 49 | • suffix_decl_specified_ids 50 | • abstract_expression 51 abstract_expression → • parenthesis_clause 52 | • '[' expression.opt ']' 53 | • TEMPLATE parenthesis_clause 57 postfix_expression → • primary_expression 58 | • postfix_expression parenthesis_clause mark_type1 '-' 59 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error 60 | • postfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error 61 | • postfix_expression parenthesis_clause mark_type1 '+' error 62 | • postfix_expression '[' expression.opt ']' 63 | • postfix_expression '.' declarator_id 64 | • postfix_expression '.' scoped_pseudo_destructor_id 65 | • postfix_expression ARROW declarator_id 66 | • postfix_expression ARROW scoped_pseudo_destructor_id 67 | • postfix_expression INC 68 | • postfix_expression DEC 69 | • DYNAMIC_CAST '<' type_id '>' '(' expression ')' 70 | • STATIC_CAST '<' type_id '>' '(' expression ')' 71 | • REINTERPRET_CAST '<' type_id '>' '(' expression ')' 72 | • CONST_CAST '<' type_id '>' '(' expression ')' 73 | • TYPEID parameters_clause 76 expression_list → • assignment_expression 77 | • expression_list ',' assignment_expression 78 unary_expression → • postfix_expression 79 | • INC cast_expression 80 | • DEC cast_expression 81 | • ptr_operator cast_expression 82 | • suffix_decl_specified_scope star_ptr_operator cast_expression 83 | • '+' cast_expression 84 | • '-' cast_expression 85 | • '!' cast_expression 86 | • '~' cast_expression 87 | • SIZEOF unary_expression 88 | • new_expression 89 | • global_scope new_expression 90 | • delete_expression 91 | • global_scope delete_expression 92 delete_expression → • DELETE cast_expression 93 new_expression → • NEW new_type_id new_initializer.opt 94 | • NEW parameters_clause new_type_id new_initializer.opt 95 | • NEW parameters_clause 96 | • NEW parameters_clause parameters_clause new_initializer.opt 106 cast_expression → • unary_expression 107 | • abstract_expression cast_expression 108 pm_expression → • cast_expression 109 | • pm_expression DOT_STAR cast_expression 110 | • pm_expression ARROW_STAR cast_expression 111 multiplicative_expression → • pm_expression 112 | • multiplicative_expression star_ptr_operator pm_expression 113 | • multiplicative_expression '/' pm_expression 114 | • multiplicative_expression '%' pm_expression 115 additive_expression → • multiplicative_expression 116 | • additive_expression '+' multiplicative_expression 117 | • additive_expression '-' multiplicative_expression 118 shift_expression → • additive_expression 119 | • shift_expression SHL additive_expression 120 | • shift_expression SHR additive_expression 121 relational_expression → • shift_expression 122 | • relational_expression '<' shift_expression 123 | • relational_expression '>' shift_expression 124 | • relational_expression LE shift_expression 125 | • relational_expression GE shift_expression 126 equality_expression → • relational_expression 127 | • equality_expression EQ relational_expression 128 | • equality_expression NE relational_expression 129 and_expression → • equality_expression 130 | • and_expression '&' equality_expression 131 exclusive_or_expression → • and_expression 132 | • exclusive_or_expression '^' and_expression 133 inclusive_or_expression → • exclusive_or_expression 134 | • inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expression → • inclusive_or_expression 136 | • logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expression → • logical_and_expression 138 | • logical_or_expression LOG_OR logical_and_expression 139 conditional_expression → • logical_or_expression 140 | • logical_or_expression '?' expression ':' assignment_expression 141 assignment_expression → • conditional_expression 142 | • logical_or_expression assignment_operator assignment_expression 143 | • logical_or_expression '=' braced_initializer 144 | • throw_expression 156 expression.opt → • %empty [')'] 157 | • expression 158 expression → • assignment_expression 159 | • expression_list ',' assignment_expression 215 iteration_statement → FOR '(' for_init_statement condition.opt ';' • expression.opt ')' looping_statement 250 suffix_built_in_decl_specifier.raw → • built_in_type_specifier 251 | • suffix_built_in_decl_specifier.raw built_in_type_specifier 252 | • suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifier → • suffix_built_in_decl_specifier.raw 254 | • TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifier → • scoped_id 256 | • elaborate_type_specifier 257 | • suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bi → • suffix_named_decl_specifier 259 | • suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifiers → • suffix_named_decl_specifier.bi 261 | • suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sf → • scoped_special_function_id 263 | • suffix_named_decl_specifiers 264 | • suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_ids → • suffix_built_in_decl_specifier 266 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers.sf 267 | • suffix_named_decl_specifiers.sf 268 suffix_decl_specified_scope → • suffix_named_decl_specifiers SCOPE 269 | • suffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE 270 | • suffix_built_in_decl_specifier SCOPE 290 elaborate_type_specifier → • class_specifier 291 | • enum_specifier 292 | • elaborated_type_specifier 293 | • TEMPLATE elaborate_type_specifier 296 built_in_type_specifier → • CHAR 297 | • WCHAR_T 298 | • BOOL 299 | • SHORT 300 | • INT 301 | • LONG 302 | • SIGNED 303 | • UNSIGNED 304 | • FLOAT 305 | • DOUBLE 306 | • VOID 307 elaborated_type_specifier → • elaborated_class_specifier 308 | • elaborated_enum_specifier 309 | • TYPENAME scoped_id 310 elaborated_enum_specifier → • ENUM scoped_id 311 enum_specifier → • ENUM scoped_id enumerator_clause 312 | • ENUM enumerator_clause 340 star_ptr_operator → • '*' 341 | • star_ptr_operator cv_qualifier 342 nested_ptr_operator → • star_ptr_operator 343 | • id_scope nested_ptr_operator 344 ptr_operator → • '&' 345 | • nested_ptr_operator 346 | • global_scope nested_ptr_operator 365 parenthesis_clause → • parameters_clause cv_qualifier_seq.opt 366 | • parameters_clause cv_qualifier_seq.opt exception_specification 367 parameters_clause → • '(' parameter_declaration_clause ')' 418 elaborated_class_specifier → • class_key scoped_id 419 | • class_key scoped_id colon_mark error 420 class_specifier_head → • class_key scoped_id colon_mark base_specifier_list '{' 421 | • class_key ':' base_specifier_list '{' 422 | • class_key scoped_id '{' 423 | • class_key '{' 424 class_key → • CLASS 425 | • STRUCT 426 | • UNION 427 class_specifier → • class_specifier_head member_specification.opt '}' 428 | • class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 466 conversion_function_id → • OPERATOR conversion_type_id 479 operator_function_id → • OPERATOR operator 535 template_id → • TEMPLATE identifier '<' template_argument_list '>' 536 | • TEMPLATE template_id 546 throw_expression → • THROW 547 | • THROW assignment_expression '+' shift, and go to state 9 '-' shift, and go to state 10 '*' shift, and go to state 11 '&' shift, and go to state 12 '~' shift, and go to state 13 '!' shift, and go to state 14 '[' shift, and go to state 16 '(' shift, and go to state 17 DEC shift, and go to state 19 INC shift, and go to state 20 SCOPE shift, and go to state 21 BOOL shift, and go to state 22 CHAR shift, and go to state 23 DOUBLE shift, and go to state 24 FLOAT shift, and go to state 25 INT shift, and go to state 26 LONG shift, and go to state 27 SHORT shift, and go to state 28 SIGNED shift, and go to state 29 UNSIGNED shift, and go to state 30 VOID shift, and go to state 31 WCHAR_T shift, and go to state 32 CLASS shift, and go to state 33 ENUM shift, and go to state 34 STRUCT shift, and go to state 36 TYPENAME shift, and go to state 37 UNION shift, and go to state 38 TEMPLATE shift, and go to state 162 CONST_CAST shift, and go to state 55 DELETE shift, and go to state 56 DYNAMIC_CAST shift, and go to state 57 FALSE shift, and go to state 58 NEW shift, and go to state 59 OPERATOR shift, and go to state 60 REINTERPRET_CAST shift, and go to state 61 SIZEOF shift, and go to state 62 STATIC_CAST shift, and go to state 63 THIS shift, and go to state 64 THROW shift, and go to state 65 TRUE shift, and go to state 66 TYPEID shift, and go to state 67 CharacterLiteral shift, and go to state 68 FloatingLiteral shift, and go to state 69 Identifier shift, and go to state 70 IntegerLiteral shift, and go to state 71 StringLiteral shift, and go to state 72 $default reduce using rule 156 (expression.opt) identifier_word go to state 73 identifier go to state 74 id go to state 75 global_scope go to state 76 id_scope go to state 77 nested_id go to state 78 scoped_id go to state 79 special_function_id go to state 80 nested_special_function_id go to state 81 scoped_special_function_id go to state 82 string go to state 83 literal go to state 84 boolean_literal go to state 85 primary_expression go to state 86 abstract_expression go to state 87 postfix_expression go to state 88 expression_list go to state 169 unary_expression go to state 89 delete_expression go to state 90 new_expression go to state 91 cast_expression go to state 92 pm_expression go to state 93 multiplicative_expression go to state 94 additive_expression go to state 95 shift_expression go to state 96 relational_expression go to state 97 equality_expression go to state 98 and_expression go to state 99 exclusive_or_expression go to state 100 inclusive_or_expression go to state 101 logical_and_expression go to state 102 logical_or_expression go to state 103 conditional_expression go to state 104 assignment_expression go to state 170 expression.opt go to state 893 expression go to state 172 suffix_built_in_decl_specifier.raw go to state 112 suffix_built_in_decl_specifier go to state 113 suffix_named_decl_specifier go to state 114 suffix_named_decl_specifier.bi go to state 115 suffix_named_decl_specifiers go to state 116 suffix_named_decl_specifiers.sf go to state 117 suffix_decl_specified_ids go to state 118 suffix_decl_specified_scope go to state 119 elaborate_type_specifier go to state 124 built_in_type_specifier go to state 125 elaborated_type_specifier go to state 126 elaborated_enum_specifier go to state 127 enum_specifier go to state 128 star_ptr_operator go to state 137 nested_ptr_operator go to state 138 ptr_operator go to state 139 parenthesis_clause go to state 141 parameters_clause go to state 142 elaborated_class_specifier go to state 147 class_specifier_head go to state 148 class_key go to state 149 class_specifier go to state 150 conversion_function_id go to state 153 operator_function_id go to state 154 template_id go to state 157 throw_expression go to state 159
207 selection_statement → IF '(' condition ')' looping_statement • [error, '+', '-', '*', '&', '~', '!', '[', '{', '}', '(', ';', DEC, INC, SCOPE, BOOL, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, SIGNED, UNSIGNED, VOID, WCHAR_T, CLASS, ENUM, NAMESPACE, STRUCT, TYPENAME, UNION, CONST, VOLATILE, AUTO, EXPLICIT, EXTERN, FRIEND, INLINE, MUTABLE, REGISTER, STATIC, TEMPLATE, TYPEDEF, USING, VIRTUAL, ASM, BREAK, CASE, CONST_CAST, CONTINUE, DEFAULT, DELETE, DO, DYNAMIC_CAST, FALSE, FOR, GOTO, IF, NEW, OPERATOR, REINTERPRET_CAST, RETURN, SIZEOF, STATIC_CAST, SWITCH, THIS, THROW, TRUE, TRY, TYPEID, WHILE, CharacterLiteral, FloatingLiteral, Identifier, IntegerLiteral, StringLiteral, '#'] 208 | IF '(' condition ')' looping_statement • ELSE looping_statement ELSE shift, and go to state 894 $default reduce using rule 207 (selection_statement) Conflict between rule 207 and token ELSE resolved as shift (SHIFT_THERE < ELSE).
209 selection_statement → SWITCH '(' condition ')' looping_statement • $default reduce using rule 209 (selection_statement)
213 iteration_statement → WHILE '(' condition ')' looping_statement • $default reduce using rule 213 (iteration_statement)
223 compound_declaration → '{' nest declaration_seq.opt util looping_declaration '#' bang error '}' • $default reduce using rule 223 (compound_declaration)
410 braced_initializer → '{' initializer_list ',' looping_initializer_clause '#' bang error '}' • $default reduce using rule 410 (braced_initializer)
214 iteration_statement → DO looping_statement WHILE '(' expression ')' • ';' ';' shift, and go to state 895
215 iteration_statement → FOR '(' for_init_statement condition.opt ';' expression.opt • ')' looping_statement ')' shift, and go to state 896
187 looping_statement → • start_search looped_statement 208 selection_statement → IF '(' condition ')' looping_statement ELSE • looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 897 start_search go to state 626
214 iteration_statement → DO looping_statement WHILE '(' expression ')' ';' • $default reduce using rule 214 (iteration_statement)
187 looping_statement → • start_search looped_statement 215 iteration_statement → FOR '(' for_init_statement condition.opt ';' expression.opt ')' • looping_statement 558 start_search → • %empty $default reduce using rule 558 (start_search) looping_statement go to state 898 start_search go to state 626
208 selection_statement → IF '(' condition ')' looping_statement ELSE looping_statement • $default reduce using rule 208 (selection_statement)
215 iteration_statement → FOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement • $default reduce using rule 215 (iteration_statement)