GNU Bison XML Automaton Report

input grammar: CxxParser.y

Table of Contents

Reductions

Nonterminals useless in grammar

Terminals unused in grammar

'\'' '"' '\\' '@' '$' NumberLiteral

Rules useless in grammar

Conflicts

Grammar

0 $accepttranslation_unit $end 1 identifier_wordIdentifier 2 identifieridentifier_word 3 ididentifier 4 | identifier template_test '+' template_argument_list '>' 5 | identifier template_test '+' '>' 6 | identifier template_test '-' 7 | template_id 8 template_test'<' 9 global_scopeSCOPE 10 | TEMPLATE global_scope 11 id_scopeid SCOPE 12 nested_idid 13 | id_scope nested_id 14 scoped_idnested_id 15 | global_scope nested_id 16 destructor_id'~' id 17 | TEMPLATE destructor_id 18 special_function_idconversion_function_id 19 | operator_function_id 20 | TEMPLATE special_function_id 21 nested_special_function_idspecial_function_id 22 | id_scope destructor_id 23 | id_scope nested_special_function_id 24 scoped_special_function_idnested_special_function_id 25 | global_scope nested_special_function_id 26 declarator_idscoped_id 27 | scoped_special_function_id 28 | destructor_id 29 built_in_type_idbuilt_in_type_specifier 30 | built_in_type_id built_in_type_specifier 31 pseudo_destructor_idbuilt_in_type_id SCOPE '~' built_in_type_id 32 | '~' built_in_type_id 33 | TEMPLATE pseudo_destructor_id 34 nested_pseudo_destructor_idpseudo_destructor_id 35 | id_scope nested_pseudo_destructor_id 36 scoped_pseudo_destructor_idnested_pseudo_destructor_id 37 | global_scope scoped_pseudo_destructor_id 38 stringStringLiteral 39 literalIntegerLiteral 40 | CharacterLiteral 41 | FloatingLiteral 42 | string 43 | boolean_literal 44 boolean_literalFALSE 45 | TRUE 46 translation_unitdeclaration_seq.opt 47 primary_expressionliteral 48 | THIS 49 | suffix_decl_specified_ids 50 | abstract_expression 51 abstract_expressionparenthesis_clause 52 | '[' expression.opt ']' 53 | TEMPLATE parenthesis_clause 54 type1_parametersparameter_declaration_list ';' 55 | type1_parameters parameter_declaration_list ';' 56 mark_type1 → %empty 57 postfix_expressionprimary_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_listassignment_expression 77 | expression_list ',' assignment_expression 78 unary_expressionpostfix_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_expressionDELETE cast_expression 93 new_expressionNEW 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_idtype_specifier ptr_operator_seq.opt 98 | type_specifier new_declarator 99 | type_specifier new_type_id 100 new_declaratorptr_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_expressionunary_expression 107 | abstract_expression cast_expression 108 pm_expressioncast_expression 109 | pm_expression DOT_STAR cast_expression 110 | pm_expression ARROW_STAR cast_expression 111 multiplicative_expressionpm_expression 112 | multiplicative_expression star_ptr_operator pm_expression 113 | multiplicative_expression '/' pm_expression 114 | multiplicative_expression '%' pm_expression 115 additive_expressionmultiplicative_expression 116 | additive_expression '+' multiplicative_expression 117 | additive_expression '-' multiplicative_expression 118 shift_expressionadditive_expression 119 | shift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 121 relational_expressionshift_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_expressionrelational_expression 127 | equality_expression EQ relational_expression 128 | equality_expression NE relational_expression 129 and_expressionequality_expression 130 | and_expression '&' equality_expression 131 exclusive_or_expressionand_expression 132 | exclusive_or_expression '^' and_expression 133 inclusive_or_expressionexclusive_or_expression 134 | inclusive_or_expression '|' exclusive_or_expression 135 logical_and_expressioninclusive_or_expression 136 | logical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expressionlogical_and_expression 138 | logical_or_expression LOG_OR logical_and_expression 139 conditional_expressionlogical_or_expression 140 | logical_or_expression '?' expression ':' assignment_expression 141 assignment_expressionconditional_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 expressionassignment_expression 159 | expression_list ',' assignment_expression 160 constant_expressionconditional_expression 161 templated_relational_expressionshift_expression 162 | templated_relational_expression '<' shift_expression 163 | templated_relational_expression LE shift_expression 164 | templated_relational_expression GE shift_expression 165 templated_equality_expressiontemplated_relational_expression 166 | templated_equality_expression EQ templated_relational_expression 167 | templated_equality_expression NE templated_relational_expression 168 templated_and_expressiontemplated_equality_expression 169 | templated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expressiontemplated_and_expression 171 | templated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expressiontemplated_exclusive_or_expression 173 | templated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expressiontemplated_inclusive_or_expression 175 | templated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expressiontemplated_logical_and_expression 177 | templated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expressiontemplated_logical_or_expression 179 | templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 180 templated_assignment_expressiontemplated_conditional_expression 181 | templated_logical_or_expression assignment_operator templated_assignment_expression 182 | templated_throw_expression 183 templated_expressiontemplated_assignment_expression 184 | templated_expression_list ',' templated_assignment_expression 185 templated_expression_listtemplated_assignment_expression 186 | templated_expression_list ',' templated_assignment_expression 187 looping_statementstart_search looped_statement 188 looped_statementstatement 189 | advance_search '+' looped_statement 190 | advance_search '-' 191 statementcontrol_statement 192 | compound_statement 193 | declaration_statement 194 | try_block 195 control_statementlabeled_statement 196 | selection_statement 197 | iteration_statement 198 | jump_statement 199 labeled_statementidentifier_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_statementIF '(' condition ')' looping_statement 208 | IF '(' condition ')' looping_statement ELSE looping_statement 209 | SWITCH '(' condition ')' looping_statement 210 condition.opt → %empty 211 | condition 212 conditionparameter_declaration_list 213 iteration_statementWHILE '(' condition ')' looping_statement 214 | DO looping_statement WHILE '(' expression ')' ';' 215 | FOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement 216 for_init_statementsimple_declaration 217 jump_statementBREAK ';' 218 | CONTINUE ';' 219 | RETURN expression.opt ';' 220 | GOTO identifier ';' 221 declaration_statementblock_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_declarationstart_search1 looped_declaration 228 looped_declarationdeclaration 229 | advance_search '+' looped_declaration 230 | advance_search '-' 231 declarationblock_declaration 232 | function_definition 233 | template_declaration 234 | explicit_specialization 235 | specialised_declaration 236 specialised_declarationlinkage_specification 237 | namespace_definition 238 | TEMPLATE specialised_declaration 239 block_declarationsimple_declaration 240 | specialised_block_declaration 241 specialised_block_declarationasm_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.rawbuilt_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_specifiersuffix_built_in_decl_specifier.raw 254 | TEMPLATE suffix_built_in_decl_specifier 255 suffix_named_decl_specifierscoped_id 256 | elaborate_type_specifier 257 | suffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bisuffix_named_decl_specifier 259 | suffix_named_decl_specifier suffix_built_in_decl_specifier.raw 260 suffix_named_decl_specifierssuffix_named_decl_specifier.bi 261 | suffix_named_decl_specifiers suffix_named_decl_specifier.bi 262 suffix_named_decl_specifiers.sfscoped_special_function_id 263 | suffix_named_decl_specifiers 264 | suffix_named_decl_specifiers scoped_special_function_id 265 suffix_decl_specified_idssuffix_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_scopesuffix_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_affixstorage_class_specifier 272 | function_specifier 273 | FRIEND 274 | TYPEDEF 275 | cv_qualifier 276 decl_specifier_suffixdecl_specifier_affix 277 decl_specifier_prefixdecl_specifier_affix 278 | TEMPLATE decl_specifier_prefix 279 storage_class_specifierREGISTER 280 | STATIC 281 | MUTABLE 282 | EXTERN 283 | AUTO 284 function_specifierEXPLICIT 285 | INLINE 286 | VIRTUAL 287 type_specifiersimple_type_specifier 288 | elaborate_type_specifier 289 | cv_qualifier 290 elaborate_type_specifierclass_specifier 291 | enum_specifier 292 | elaborated_type_specifier 293 | TEMPLATE elaborate_type_specifier 294 simple_type_specifierscoped_id 295 | built_in_type_specifier 296 built_in_type_specifierCHAR 297 | WCHAR_T 298 | BOOL 299 | SHORT 300 | INT 301 | LONG 302 | SIGNED 303 | UNSIGNED 304 | FLOAT 305 | DOUBLE 306 | VOID 307 elaborated_type_specifierelaborated_class_specifier 308 | elaborated_enum_specifier 309 | TYPENAME scoped_id 310 elaborated_enum_specifierENUM scoped_id 311 enum_specifierENUM 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_headenumerator_definition_filler 323 | enumerator_list ',' enumerator_definition_filler 324 enumerator_listenumerator_list_head enumerator_definition 325 enumerator_definitionenumerator 326 | enumerator '=' constant_expression 327 enumeratoridentifier 328 namespace_definitionNAMESPACE scoped_id compound_declaration 329 | NAMESPACE compound_declaration 330 namespace_alias_definitionNAMESPACE scoped_id '=' scoped_id ';' 331 using_declarationUSING declarator_id ';' 332 | USING TYPENAME declarator_id ';' 333 using_directiveUSING NAMESPACE scoped_id ';' 334 asm_definitionASM '(' string ')' ';' 335 linkage_specificationEXTERN string looping_declaration 336 | EXTERN string compound_declaration 337 init_declarationsassignment_expression ',' init_declaration 338 | init_declarations ',' init_declaration 339 init_declarationassignment_expression 340 star_ptr_operator'*' 341 | star_ptr_operator cv_qualifier 342 nested_ptr_operatorstar_ptr_operator 343 | id_scope nested_ptr_operator 344 ptr_operator'&' 345 | nested_ptr_operator 346 | global_scope nested_ptr_operator 347 ptr_operator_seqptr_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_qualifierCONST 354 | VOLATILE 355 type_idtype_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_declaratordirect_abstract_declarator.opt parenthesis_clause 363 | direct_abstract_declarator.opt '[' ']' 364 | direct_abstract_declarator.opt '[' constant_expression ']' 365 parenthesis_clauseparameters_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_listparameter_declaration 372 | parameter_declaration_list ',' parameter_declaration 373 abstract_pointer_declarationptr_operator_seq 374 | multiplicative_expression star_ptr_operator ptr_operator_seq.opt 375 abstract_parameter_declarationabstract_pointer_declaration 376 | and_expression '&' 377 | and_expression '&' abstract_pointer_declaration 378 special_parameter_declarationabstract_parameter_declaration 379 | abstract_parameter_declaration '=' assignment_expression 380 | ELLIPSIS 381 parameter_declarationassignment_expression 382 | special_parameter_declaration 383 | decl_specifier_prefix parameter_declaration 384 templated_parameter_declarationtemplated_assignment_expression 385 | templated_abstract_declaration 386 | templated_abstract_declaration '=' templated_assignment_expression 387 | decl_specifier_prefix templated_parameter_declaration 388 templated_abstract_declarationabstract_pointer_declaration 389 | templated_and_expression '&' 390 | templated_and_expression '&' abstract_pointer_declaration 391 function_definitionctor_definition 392 | func_definition 393 func_definitionassignment_expression function_try_block 394 | assignment_expression function_body 395 | decl_specifier_prefix func_definition 396 ctor_definitionconstructor_head function_try_block 397 | constructor_head function_body 398 | decl_specifier_prefix ctor_definition 399 constructor_headbit_field_init_declaration 400 | constructor_head ',' assignment_expression 401 function_try_blockTRY function_block handler_seq 402 function_blockctor_initializer.opt function_body 403 function_bodycompound_statement 404 initializer_clauseassignment_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_listlooping_initializer_clause 412 | initializer_list ',' looping_initializer_clause 413 looping_initializer_clausestart_search looped_initializer_clause 414 looped_initializer_clauseinitializer_clause 415 | advance_search '+' looped_initializer_clause 416 | advance_search '-' 417 colon_mark':' 418 elaborated_class_specifierclass_key scoped_id 419 | class_key scoped_id colon_mark error 420 class_specifier_headclass_key scoped_id colon_mark base_specifier_list '{' 421 | class_key ':' base_specifier_list '{' 422 | class_key scoped_id '{' 423 | class_key '{' 424 class_keyCLASS 425 | STRUCT 426 | UNION 427 class_specifierclass_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_declarationstart_search looped_member_declaration 433 looped_member_declarationmember_declaration 434 | advance_search '+' looped_member_declaration 435 | advance_search '-' 436 member_declarationaccessibility_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_declarationsassignment_expression ',' member_init_declaration 447 | constructor_head ',' bit_field_init_declaration 448 | member_init_declarations ',' member_init_declaration 449 member_init_declarationassignment_expression 450 | bit_field_init_declaration 451 accessibility_specifieraccess_specifier ':' 452 bit_field_declarationassignment_expression ':' bit_field_width 453 | ':' bit_field_width 454 bit_field_widthlogical_or_expression 455 | logical_or_expression '?' bit_field_width ':' bit_field_width 456 bit_field_init_declarationbit_field_declaration 457 | bit_field_declaration '=' initializer_clause 458 base_specifier_listbase_specifier 459 | base_specifier_list ',' base_specifier 460 base_specifierscoped_id 461 | access_specifier base_specifier 462 | VIRTUAL base_specifier 463 access_specifierPRIVATE 464 | PROTECTED 465 | PUBLIC 466 conversion_function_idOPERATOR conversion_type_id 467 conversion_type_idtype_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_listmem_initializer 474 | mem_initializer_list_head mem_initializer 475 mem_initializer_list_headmem_initializer_list ',' 476 | mem_initializer_list bang error ',' 477 mem_initializermem_initializer_id '(' expression_list.opt ')' 478 mem_initializer_idscoped_id 479 operator_function_idOPERATOR operator 480 operatorNEW 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_declarationtemplate_parameter_clause declaration 521 | EXPORT template_declaration 522 template_parameter_clauseTEMPLATE '<' template_parameter_list '>' 523 template_parameter_listtemplate_parameter 524 | template_parameter_list ',' template_parameter 525 template_parametersimple_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_parameterCLASS 532 | TYPENAME 533 templated_type_parametertemplate_parameter_clause CLASS 534 | template_parameter_clause CLASS identifier 535 template_idTEMPLATE identifier '<' template_argument_list '>' 536 | TEMPLATE template_id 537 template_argument_listtemplate_argument 538 | template_argument_list ',' template_argument 539 template_argumenttemplated_parameter_declaration 540 explicit_specializationTEMPLATE '<' '>' declaration 541 try_blockTRY compound_statement handler_seq 542 handler_seqhandler 543 | handler handler_seq 544 handlerCATCH '(' exception_declaration ')' compound_statement 545 exception_declarationparameter_declaration 546 throw_expressionTHROW 547 | THROW assignment_expression 548 templated_throw_expressionTHROW 549 | THROW templated_assignment_expression 550 exception_specificationTHROW '(' ')' 551 | THROW '(' type_id_list ')' 552 type_id_listtype_id 553 | type_id_list ',' type_id 554 advance_searcherror 555 bang → %empty 556 mark → %empty 557 nest → %empty 558 start_search → %empty 559 start_search1 → %empty 560 util → %empty

Terminals, with rules where they appear

Nonterminals, with rules where they appear

Automaton

State 0

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

State 1

0 $accepttranslation_unit $end $end shift, and go to state 3

State 2

46 translation_unitdeclaration_seq.opt [$end] 225 declaration_seq.optdeclaration_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

State 3

0 $accepttranslation_unit $end $default accept

State 4

225 declaration_seq.optdeclaration_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

State 5

225 declaration_seq.optdeclaration_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)

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 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_declarationstart_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

State 7

226 declaration_seq.optdeclaration_seq.opt util looping_declaration '#' bang error ';' 555 bang %empty $default reduce using rule 555 (bang) bang go to state 161

State 8

554 advance_searcherror $default reduce using rule 554 (advance_search)

State 9

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

State 10

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

State 11

340 star_ptr_operator'*' $default reduce using rule 340 (star_ptr_operator)

State 12

344 ptr_operator'&' $default reduce using rule 344 (ptr_operator)

State 13

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

State 14

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

State 15

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

State 16

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

State 17

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

State 18

246 simple_declaration';' $default reduce using rule 246 (simple_declaration)

State 19

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

State 20

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

State 21

9 global_scopeSCOPE $default reduce using rule 9 (global_scope)

State 22

298 built_in_type_specifierBOOL $default reduce using rule 298 (built_in_type_specifier)

State 23

296 built_in_type_specifierCHAR $default reduce using rule 296 (built_in_type_specifier)

State 24

305 built_in_type_specifierDOUBLE $default reduce using rule 305 (built_in_type_specifier)

State 25

304 built_in_type_specifierFLOAT $default reduce using rule 304 (built_in_type_specifier)

State 26

300 built_in_type_specifierINT $default reduce using rule 300 (built_in_type_specifier)

State 27

301 built_in_type_specifierLONG $default reduce using rule 301 (built_in_type_specifier)

State 28

299 built_in_type_specifierSHORT $default reduce using rule 299 (built_in_type_specifier)

State 29

302 built_in_type_specifierSIGNED $default reduce using rule 302 (built_in_type_specifier)

State 30

303 built_in_type_specifierUNSIGNED $default reduce using rule 303 (built_in_type_specifier)

State 31

306 built_in_type_specifierVOID $default reduce using rule 306 (built_in_type_specifier)

State 32

297 built_in_type_specifierWCHAR_T $default reduce using rule 297 (built_in_type_specifier)

State 33

424 class_keyCLASS $default reduce using rule 424 (class_key)

State 34

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_specifierENUM scoped_id 311 enum_specifierENUM 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

State 35

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_definitionNAMESPACE scoped_id compound_declaration 329 | NAMESPACE compound_declaration 330 namespace_alias_definitionNAMESPACE 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

State 36

425 class_keySTRUCT $default reduce using rule 425 (class_key)

State 37

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_specifierTYPENAME 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

State 38

426 class_keyUNION $default reduce using rule 426 (class_key)

State 39

353 cv_qualifierCONST $default reduce using rule 353 (cv_qualifier)

State 40

354 cv_qualifierVOLATILE $default reduce using rule 354 (cv_qualifier)

State 41

283 storage_class_specifierAUTO $default reduce using rule 283 (storage_class_specifier)

State 42

284 function_specifierEXPLICIT $default reduce using rule 284 (function_specifier)

State 43

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

State 44

38 string StringLiteral 282 storage_class_specifierEXTERN ['+', '-', '*', '&', '~', '!', ':', '[', '(', ';', 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_specificationEXTERN 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).

State 45

273 decl_specifier_affixFRIEND $default reduce using rule 273 (decl_specifier_affix)

State 46

285 function_specifierINLINE $default reduce using rule 285 (function_specifier)

State 47

281 storage_class_specifierMUTABLE $default reduce using rule 281 (storage_class_specifier)

State 48

279 storage_class_specifierREGISTER $default reduce using rule 279 (storage_class_specifier)

State 49

280 storage_class_specifierSTATIC $default reduce using rule 280 (storage_class_specifier)

State 50

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_expressionTEMPLATE 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_clauseTEMPLATE '<' 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_specializationTEMPLATE '<' '>' 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

State 51

274 decl_specifier_affixTYPEDEF $default reduce using rule 274 (decl_specifier_affix)

State 52

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_declarationUSING declarator_id ';' 332 | USING TYPENAME declarator_id ';' 333 using_directiveUSING 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

State 53

286 function_specifierVIRTUAL $default reduce using rule 286 (function_specifier)

State 54

334 asm_definitionASM '(' string ')' ';' '(' shift, and go to state 225

State 55

72 postfix_expressionCONST_CAST '<' type_id '>' '(' expression ')' '<' shift, and go to state 226

State 56

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

State 57

69 postfix_expressionDYNAMIC_CAST '<' type_id '>' '(' expression ')' '<' shift, and go to state 228

State 58

44 boolean_literalFALSE $default reduce using rule 44 (boolean_literal)

State 59

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_expressionNEW 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

State 60

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_idOPERATOR conversion_type_id 467 conversion_type_id type_specifier ptr_operator_seq.opt 468 | type_specifier conversion_type_id 479 operator_function_idOPERATOR 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

State 61

71 postfix_expressionREINTERPRET_CAST '<' type_id '>' '(' expression ')' '<' shift, and go to state 281

State 62

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

State 63

70 postfix_expressionSTATIC_CAST '<' type_id '>' '(' expression ')' '<' shift, and go to state 284

State 64

48 primary_expressionTHIS $default reduce using rule 48 (primary_expression)

State 65

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

State 66

45 boolean_literalTRUE $default reduce using rule 45 (boolean_literal)

State 67

73 postfix_expressionTYPEID parameters_clause 367 parameters_clause '(' parameter_declaration_clause ')' '(' shift, and go to state 17 parameters_clause go to state 286

State 68

40 literalCharacterLiteral $default reduce using rule 40 (literal)

State 69

41 literalFloatingLiteral $default reduce using rule 41 (literal)

State 70

1 identifier_wordIdentifier $default reduce using rule 1 (identifier_word)

State 71

39 literalIntegerLiteral $default reduce using rule 39 (literal)

State 72

38 stringStringLiteral $default reduce using rule 38 (string)

State 73

2 identifieridentifier_word $default reduce using rule 2 (identifier)

State 74

3 ididentifier [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 < '<').

State 75

11 id_scopeid SCOPE 12 nested_idid [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).

State 76

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_idglobal_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_idglobal_scope nested_special_function_id 89 unary_expressionglobal_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_operatorglobal_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

State 77

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

State 78

14 scoped_idnested_id $default reduce using rule 14 (scoped_id)

State 79

255 suffix_named_decl_specifierscoped_id $default reduce using rule 255 (suffix_named_decl_specifier)

State 80

21 nested_special_function_idspecial_function_id $default reduce using rule 21 (nested_special_function_id)

State 81

24 scoped_special_function_idnested_special_function_id $default reduce using rule 24 (scoped_special_function_id)

State 82

262 suffix_named_decl_specifiers.sfscoped_special_function_id $default reduce using rule 262 (suffix_named_decl_specifiers.sf)

State 83

42 literalstring $default reduce using rule 42 (literal)

State 84

47 primary_expressionliteral $default reduce using rule 47 (primary_expression)

State 85

43 literalboolean_literal $default reduce using rule 43 (literal)

State 86

57 postfix_expressionprimary_expression $default reduce using rule 57 (postfix_expression)

State 87

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).

State 88

58 postfix_expressionpostfix_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_expressionpostfix_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

State 89

106 cast_expressionunary_expression $default reduce using rule 106 (cast_expression)

State 90

90 unary_expressiondelete_expression $default reduce using rule 90 (unary_expression)

State 91

88 unary_expressionnew_expression $default reduce using rule 88 (unary_expression)

State 92

108 pm_expressioncast_expression $default reduce using rule 108 (pm_expression)

State 93

109 pm_expressionpm_expression DOT_STAR cast_expression 110 | pm_expression ARROW_STAR cast_expression 111 multiplicative_expressionpm_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)

State 94

112 multiplicative_expressionmultiplicative_expression star_ptr_operator pm_expression 113 | multiplicative_expression '/' pm_expression 114 | multiplicative_expression '%' pm_expression 115 additive_expressionmultiplicative_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

State 95

116 additive_expressionadditive_expression '+' multiplicative_expression 117 | additive_expression '-' multiplicative_expression 118 shift_expressionadditive_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)

State 96

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 121 relational_expressionshift_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)

State 97

122 relational_expressionrelational_expression '<' shift_expression 123 | relational_expression '>' shift_expression 124 | relational_expression LE shift_expression 125 | relational_expression GE shift_expression 126 equality_expressionrelational_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)

State 98

127 equality_expressionequality_expression EQ relational_expression 128 | equality_expression NE relational_expression 129 and_expressionequality_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)

State 99

130 and_expressionand_expression '&' equality_expression 131 exclusive_or_expressionand_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)

State 100

132 exclusive_or_expressionexclusive_or_expression '^' and_expression 133 inclusive_or_expressionexclusive_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)

State 101

134 inclusive_or_expressioninclusive_or_expression '|' exclusive_or_expression 135 logical_and_expressioninclusive_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)

State 102

136 logical_and_expressionlogical_and_expression LOG_AND inclusive_or_expression 137 logical_or_expressionlogical_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)

State 103

138 logical_or_expressionlogical_or_expression LOG_OR logical_and_expression 139 conditional_expressionlogical_or_expression [error, ':', ']', '{', '}', ')', ';', ',', ELLIPSIS, TRY, '#'] 140 | logical_or_expression '?' expression ':' assignment_expression 142 assignment_expressionlogical_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

State 104

141 assignment_expressionconditional_expression $default reduce using rule 141 (assignment_expression)

State 105

202 compound_statement '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 337 init_declarationsassignment_expression ',' init_declaration 339 init_declarationassignment_expression [';'] 393 func_definitionassignment_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_declarationassignment_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

State 106

227 looping_declarationstart_search1 looped_declaration $default reduce using rule 227 (looping_declaration)

State 107

228 looped_declarationdeclaration $default reduce using rule 228 (looped_declaration)

State 108

235 declarationspecialised_declaration $default reduce using rule 235 (declaration)

State 109

231 declarationblock_declaration $default reduce using rule 231 (declaration)

State 110

240 block_declarationspecialised_block_declaration $default reduce using rule 240 (block_declaration)

State 111

239 block_declarationsimple_declaration $default reduce using rule 239 (block_declaration)

State 112

251 suffix_built_in_decl_specifier.rawsuffix_built_in_decl_specifier.raw built_in_type_specifier 252 | suffix_built_in_decl_specifier.raw decl_specifier_suffix 253 suffix_built_in_decl_specifiersuffix_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

State 113

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_idssuffix_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_scopesuffix_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

State 114

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_specifiersuffix_named_decl_specifier decl_specifier_suffix 258 suffix_named_decl_specifier.bisuffix_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

State 115

260 suffix_named_decl_specifierssuffix_named_decl_specifier.bi $default reduce using rule 260 (suffix_named_decl_specifiers)

State 116

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_specifierssuffix_named_decl_specifiers suffix_named_decl_specifier.bi 263 suffix_named_decl_specifiers.sfsuffix_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_scopesuffix_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

State 117

267 suffix_decl_specified_idssuffix_named_decl_specifiers.sf $default reduce using rule 267 (suffix_decl_specified_ids)

State 118

49 primary_expressionsuffix_decl_specified_ids $default reduce using rule 49 (primary_expression)

State 119

82 unary_expressionsuffix_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

State 120

277 decl_specifier_prefixdecl_specifier_affix $default reduce using rule 277 (decl_specifier_prefix)

State 121

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

State 122

271 decl_specifier_affixstorage_class_specifier $default reduce using rule 271 (decl_specifier_affix)

State 123

272 decl_specifier_affixfunction_specifier $default reduce using rule 272 (decl_specifier_affix)

State 124

256 suffix_named_decl_specifierelaborate_type_specifier $default reduce using rule 256 (suffix_named_decl_specifier)

State 125

250 suffix_built_in_decl_specifier.rawbuilt_in_type_specifier $default reduce using rule 250 (suffix_built_in_decl_specifier.raw)

State 126

292 elaborate_type_specifierelaborated_type_specifier $default reduce using rule 292 (elaborate_type_specifier)

State 127

308 elaborated_type_specifierelaborated_enum_specifier $default reduce using rule 308 (elaborated_type_specifier)

State 128

291 elaborate_type_specifierenum_specifier $default reduce using rule 291 (elaborate_type_specifier)

State 129

237 specialised_declarationnamespace_definition $default reduce using rule 237 (specialised_declaration)

State 130

242 specialised_block_declarationnamespace_alias_definition $default reduce using rule 242 (specialised_block_declaration)

State 131

243 specialised_block_declarationusing_declaration $default reduce using rule 243 (specialised_block_declaration)

State 132

244 specialised_block_declarationusing_directive $default reduce using rule 244 (specialised_block_declaration)

State 133

241 specialised_block_declarationasm_definition $default reduce using rule 241 (specialised_block_declaration)

State 134

236 specialised_declarationlinkage_specification $default reduce using rule 236 (specialised_declaration)

State 135

248 simple_declarationinit_declarations ';' 338 init_declarationsinit_declarations ',' init_declaration ';' shift, and go to state 364 ',' shift, and go to state 365

State 136

247 simple_declarationinit_declaration ';' ';' shift, and go to state 366

State 137

341 star_ptr_operatorstar_ptr_operator cv_qualifier 342 nested_ptr_operatorstar_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

State 138

345 ptr_operatornested_ptr_operator $default reduce using rule 345 (ptr_operator)

State 139

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

State 140

275 decl_specifier_affixcv_qualifier $default reduce using rule 275 (decl_specifier_affix)

State 141

51 abstract_expressionparenthesis_clause $default reduce using rule 51 (abstract_expression)

State 142

351 cv_qualifier_seq.opt %empty 352 | cv_qualifier_seq.opt cv_qualifier 365 parenthesis_clauseparameters_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

State 143

232 declarationfunction_definition $default reduce using rule 232 (declaration)

State 144

392 function_definitionfunc_definition $default reduce using rule 392 (function_definition)

State 145

391 function_definitionctor_definition $default reduce using rule 391 (function_definition)

State 146

202 compound_statement '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 396 ctor_definitionconstructor_head function_try_block 397 | constructor_head function_body 400 constructor_headconstructor_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

State 147

307 elaborated_type_specifierelaborated_class_specifier $default reduce using rule 307 (elaborated_type_specifier)

State 148

427 class_specifierclass_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

State 149

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_specifierclass_key scoped_id 419 | class_key scoped_id colon_mark error 420 class_specifier_headclass_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

State 150

290 elaborate_type_specifierclass_specifier $default reduce using rule 290 (elaborate_type_specifier)

State 151

456 bit_field_init_declarationbit_field_declaration ['{', ';', ',', TRY] 457 | bit_field_declaration '=' initializer_clause '=' shift, and go to state 377 $default reduce using rule 456 (bit_field_init_declaration)

State 152

399 constructor_headbit_field_init_declaration $default reduce using rule 399 (constructor_head)

State 153

18 special_function_idconversion_function_id $default reduce using rule 18 (special_function_id)

State 154

19 special_function_idoperator_function_id $default reduce using rule 19 (special_function_id)

State 155

233 declarationtemplate_declaration $default reduce using rule 233 (declaration)

State 156

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

State 157

7 idtemplate_id $default reduce using rule 7 (id)

State 158

234 declarationexplicit_specialization $default reduce using rule 234 (declaration)

State 159

144 assignment_expressionthrow_expression $default reduce using rule 144 (assignment_expression)

State 160

229 looped_declarationadvance_search '+' looped_declaration 230 | advance_search '-' '+' shift, and go to state 379 '-' shift, and go to state 380

State 161

226 declaration_seq.optdeclaration_seq.opt util looping_declaration '#' bang error ';' error shift, and go to state 381

State 162

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_expressionTEMPLATE 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

State 163

83 unary_expression'+' cast_expression $default reduce using rule 83 (unary_expression)

State 164

84 unary_expression'-' cast_expression $default reduce using rule 84 (unary_expression)

State 165

86 unary_expression'~' cast_expression $default reduce using rule 86 (unary_expression)

State 166

85 unary_expression'!' cast_expression $default reduce using rule 85 (unary_expression)

State 167

138 logical_or_expressionlogical_or_expression LOG_OR logical_and_expression 454 bit_field_widthlogical_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)

State 168

453 bit_field_declaration':' bit_field_width $default reduce using rule 453 (bit_field_declaration)

State 169

77 expression_listexpression_list ',' assignment_expression 159 expressionexpression_list ',' assignment_expression ',' shift, and go to state 384

State 170

76 expression_listassignment_expression [','] 158 expressionassignment_expression [':', ']', ')', ';'] ',' reduce using rule 76 (expression_list) $default reduce using rule 158 (expression)

State 171

52 abstract_expression'[' expression.opt ']' ']' shift, and go to state 385

State 172

157 expression.optexpression $default reduce using rule 157 (expression.opt)

State 173

380 special_parameter_declarationELLIPSIS $default reduce using rule 380 (special_parameter_declaration)

State 174

282 storage_class_specifierEXTERN $default reduce using rule 282 (storage_class_specifier)

State 175

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_expressionTEMPLATE 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

State 176

112 multiplicative_expressionmultiplicative_expression star_ptr_operator pm_expression 113 | multiplicative_expression '/' pm_expression 114 | multiplicative_expression '%' pm_expression 115 additive_expressionmultiplicative_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_declarationmultiplicative_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

State 177

130 and_expressionand_expression '&' equality_expression 131 exclusive_or_expressionand_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_declarationand_expression '&' 377 | and_expression '&' abstract_pointer_declaration '&' shift, and go to state 388 $default reduce using rule 131 (exclusive_or_expression)

State 178

381 parameter_declarationassignment_expression $default reduce using rule 381 (parameter_declaration)

State 179

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

State 180

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

State 181

373 abstract_pointer_declarationptr_operator_seq $default reduce using rule 373 (abstract_pointer_declaration)

State 182

367 parameters_clause'(' parameter_declaration_clause ')' ')' shift, and go to state 391

State 183

369 parameter_declaration_clauseparameter_declaration_list [')'] 370 | parameter_declaration_list ELLIPSIS 372 parameter_declaration_listparameter_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)

State 184

375 abstract_parameter_declarationabstract_pointer_declaration $default reduce using rule 375 (abstract_parameter_declaration)

State 185

378 special_parameter_declarationabstract_parameter_declaration [')', ';', ',', ELLIPSIS] 379 | abstract_parameter_declaration '=' assignment_expression '=' shift, and go to state 394 $default reduce using rule 378 (special_parameter_declaration)

State 186

382 parameter_declarationspecial_parameter_declaration $default reduce using rule 382 (parameter_declaration)

State 187

371 parameter_declaration_listparameter_declaration $default reduce using rule 371 (parameter_declaration_list)

State 188

80 unary_expressionDEC cast_expression $default reduce using rule 80 (unary_expression)

State 189

79 unary_expressionINC cast_expression $default reduce using rule 79 (unary_expression)

State 190

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

State 191

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

State 192

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_idglobal_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

State 193

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

State 194

310 elaborated_enum_specifierENUM 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_specifierENUM 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 < '{').

State 195

312 enum_specifierENUM enumerator_clause $default reduce using rule 312 (enum_specifier)

State 196

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

State 197

222 compound_declaration '{' nest declaration_seq.opt '}' 223 | '{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 328 namespace_definitionNAMESPACE scoped_id compound_declaration 330 namespace_alias_definitionNAMESPACE scoped_id '=' scoped_id ';' '=' shift, and go to state 404 '{' shift, and go to state 196 compound_declaration go to state 405

State 198

329 namespace_definitionNAMESPACE compound_declaration $default reduce using rule 329 (namespace_definition)

State 199

309 elaborated_type_specifierTYPENAME scoped_id $default reduce using rule 309 (elaborated_type_specifier)

State 200

522 template_parameter_clauseTEMPLATE '<' template_parameter_list '>' '<' shift, and go to state 406

State 201

521 template_declarationEXPORT template_declaration $default reduce using rule 521 (template_declaration)

State 202

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_specificationEXTERN 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

State 203

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_specializationTEMPLATE '<' '>' 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

State 204

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

State 205

535 template_idTEMPLATE identifier '<' template_argument_list '>' '<' shift, and go to state 435

State 206

10 global_scopeTEMPLATE global_scope $default reduce using rule 10 (global_scope)

State 207

20 special_function_idTEMPLATE special_function_id $default reduce using rule 20 (special_function_id)

State 208

238 specialised_declarationTEMPLATE specialised_declaration $default reduce using rule 238 (specialised_declaration)

State 209

245 specialised_block_declarationTEMPLATE specialised_block_declaration $default reduce using rule 245 (specialised_block_declaration)

State 210

254 suffix_built_in_decl_specifierTEMPLATE suffix_built_in_decl_specifier $default reduce using rule 254 (suffix_built_in_decl_specifier)

State 211

278 decl_specifier_prefixTEMPLATE decl_specifier_prefix $default reduce using rule 278 (decl_specifier_prefix)

State 212

293 elaborate_type_specifierTEMPLATE elaborate_type_specifier $default reduce using rule 293 (elaborate_type_specifier)

State 213

53 abstract_expressionTEMPLATE parenthesis_clause $default reduce using rule 53 (abstract_expression)

State 214

536 template_idTEMPLATE template_id $default reduce using rule 536 (template_id)

State 215

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

State 216

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_directiveUSING 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

State 217

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_declarationUSING 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

State 218

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

State 219

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_idglobal_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_idglobal_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

State 220

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

State 221

26 declarator_idscoped_id $default reduce using rule 26 (declarator_id)

State 222

28 declarator_iddestructor_id $default reduce using rule 28 (declarator_id)

State 223

27 declarator_idscoped_special_function_id $default reduce using rule 27 (declarator_id)

State 224

331 using_declarationUSING declarator_id ';' ';' shift, and go to state 440

State 225

38 string StringLiteral 334 asm_definitionASM '(' string ')' ';' StringLiteral shift, and go to state 72 string go to state 441

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 72 postfix_expressionCONST_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

State 227

92 delete_expressionDELETE cast_expression $default reduce using rule 92 (delete_expression)

State 228

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_expressionDYNAMIC_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

State 229

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

State 230

294 simple_type_specifierscoped_id $default reduce using rule 294 (simple_type_specifier)

State 231

93 new_expressionNEW 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

State 232

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 < '&').

State 233

288 type_specifierelaborate_type_specifier $default reduce using rule 288 (type_specifier)

State 234

287 type_specifiersimple_type_specifier $default reduce using rule 287 (type_specifier)

State 235

295 simple_type_specifierbuilt_in_type_specifier $default reduce using rule 295 (simple_type_specifier)

State 236

289 type_specifiercv_qualifier $default reduce using rule 289 (type_specifier)

State 237

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_expressionNEW 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

State 238

482 operator'+' $default reduce using rule 482 (operator)

State 239

483 operator'-' $default reduce using rule 483 (operator)

State 240

484 operator'*' $default reduce using rule 484 (operator)

State 241

485 operator'/' $default reduce using rule 485 (operator)

State 242

486 operator'%' $default reduce using rule 486 (operator)

State 243

487 operator'^' $default reduce using rule 487 (operator)

State 244

488 operator'&' $default reduce using rule 488 (operator)

State 245

489 operator'|' $default reduce using rule 489 (operator)

State 246

490 operator'~' $default reduce using rule 490 (operator)

State 247

491 operator'!' $default reduce using rule 491 (operator)

State 248

493 operator'<' $default reduce using rule 493 (operator)

State 249

494 operator'>' $default reduce using rule 494 (operator)

State 250

492 operator'=' $default reduce using rule 492 (operator)

State 251

519 operator'[' ']' ']' shift, and go to state 457

State 252

518 operator'(' ')' ')' shift, and go to state 458

State 253

515 operator',' $default reduce using rule 515 (operator)

State 254

517 operatorARROW $default reduce using rule 517 (operator)

State 255

516 operatorARROW_STAR $default reduce using rule 516 (operator)

State 256

514 operatorDEC $default reduce using rule 514 (operator)

State 257

507 operatorEQ $default reduce using rule 507 (operator)

State 258

510 operatorGE $default reduce using rule 510 (operator)

State 259

513 operatorINC $default reduce using rule 513 (operator)

State 260

509 operatorLE $default reduce using rule 509 (operator)

State 261

511 operatorLOG_AND $default reduce using rule 511 (operator)

State 262

512 operatorLOG_OR $default reduce using rule 512 (operator)

State 263

508 operatorNE $default reduce using rule 508 (operator)

State 264

503 operatorSHL $default reduce using rule 503 (operator)

State 265

504 operatorSHR $default reduce using rule 504 (operator)

State 266

495 operatorASS_ADD $default reduce using rule 495 (operator)

State 267

501 operatorASS_AND $default reduce using rule 501 (operator)

State 268

498 operatorASS_DIV $default reduce using rule 498 (operator)

State 269

499 operatorASS_MOD $default reduce using rule 499 (operator)

State 270

497 operatorASS_MUL $default reduce using rule 497 (operator)

State 271

502 operatorASS_OR $default reduce using rule 502 (operator)

State 272

506 operatorASS_SHL $default reduce using rule 506 (operator)

State 273

505 operatorASS_SHR $default reduce using rule 505 (operator)

State 274

496 operatorASS_SUB $default reduce using rule 496 (operator)

State 275

500 operatorASS_XOR $default reduce using rule 500 (operator)

State 276

481 operatorDELETE $default reduce using rule 481 (operator)

State 277

480 operatorNEW $default reduce using rule 480 (operator)

State 278

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 < '&').

State 279

466 conversion_function_idOPERATOR conversion_type_id $default reduce using rule 466 (conversion_function_id)

State 280

479 operator_function_idOPERATOR operator $default reduce using rule 479 (operator_function_id)

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 71 postfix_expressionREINTERPRET_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

State 282

50 primary_expressionabstract_expression $default reduce using rule 50 (primary_expression)

State 283

87 unary_expressionSIZEOF unary_expression $default reduce using rule 87 (unary_expression)

State 284

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_expressionSTATIC_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

State 285

547 throw_expressionTHROW assignment_expression $default reduce using rule 547 (throw_expression)

State 286

73 postfix_expressionTYPEID parameters_clause $default reduce using rule 73 (postfix_expression)

State 287

8 template_test'<' $default reduce using rule 8 (template_test)

State 288

4 ididentifier 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

State 289

11 id_scopeid SCOPE $default reduce using rule 11 (id_scope)

State 290

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

State 291

15 scoped_idglobal_scope nested_id $default reduce using rule 15 (scoped_id)

State 292

25 scoped_special_function_idglobal_scope nested_special_function_id $default reduce using rule 25 (scoped_special_function_id)

State 293

91 unary_expressionglobal_scope delete_expression $default reduce using rule 91 (unary_expression)

State 294

89 unary_expressionglobal_scope new_expression $default reduce using rule 89 (unary_expression)

State 295

346 ptr_operatorglobal_scope nested_ptr_operator $default reduce using rule 346 (ptr_operator)

State 296

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

State 297

13 nested_idid_scope nested_id $default reduce using rule 13 (nested_id)

State 298

22 nested_special_function_idid_scope destructor_id $default reduce using rule 22 (nested_special_function_id)

State 299

23 nested_special_function_idid_scope nested_special_function_id $default reduce using rule 23 (nested_special_function_id)

State 300

343 nested_ptr_operatorid_scope nested_ptr_operator $default reduce using rule 343 (nested_ptr_operator)

State 301

107 cast_expressionabstract_expression cast_expression $default reduce using rule 107 (cast_expression)

State 302

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

State 303

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_expressionpostfix_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

State 304

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_expressionpostfix_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

State 305

68 postfix_expressionpostfix_expression DEC $default reduce using rule 68 (postfix_expression)

State 306

67 postfix_expressionpostfix_expression INC $default reduce using rule 67 (postfix_expression)

State 307

56 mark_type1 %empty 58 postfix_expressionpostfix_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

State 308

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_expressionpm_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

State 309

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_expressionpm_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

State 310

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_expressionmultiplicative_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

State 311

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_expressionmultiplicative_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

State 312

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_expressionmultiplicative_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

State 313

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_expressionadditive_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

State 314

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_expressionadditive_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

State 315

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_expressionshift_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

State 316

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_expressionshift_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

State 317

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_expressionrelational_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

State 318

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_expressionrelational_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

State 319

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_expressionrelational_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

State 320

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_expressionrelational_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

State 321

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_expressionequality_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

State 322

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_expressionequality_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

State 323

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_expressionand_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

State 324

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_expressionexclusive_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

State 325

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_expressioninclusive_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

State 326

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_expressionlogical_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

State 327

143 assignment_expressionlogical_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

State 328

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

State 329

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_expressionlogical_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

State 330

146 assignment_operatorASS_ADD $default reduce using rule 146 (assignment_operator)

State 331

147 assignment_operatorASS_AND $default reduce using rule 147 (assignment_operator)

State 332

148 assignment_operatorASS_DIV $default reduce using rule 148 (assignment_operator)

State 333

149 assignment_operatorASS_MOD $default reduce using rule 149 (assignment_operator)

State 334

150 assignment_operatorASS_MUL $default reduce using rule 150 (assignment_operator)

State 335

151 assignment_operatorASS_OR $default reduce using rule 151 (assignment_operator)

State 336

152 assignment_operatorASS_SHL $default reduce using rule 152 (assignment_operator)

State 337

153 assignment_operatorASS_SHR $default reduce using rule 153 (assignment_operator)

State 338

154 assignment_operatorASS_SUB $default reduce using rule 154 (assignment_operator)

State 339

155 assignment_operatorASS_XOR $default reduce using rule 155 (assignment_operator)

State 340

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

State 341

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_declarationassignment_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

State 342

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

State 343

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_declarationsassignment_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

State 344

401 function_try_blockTRY 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

State 345

403 function_bodycompound_statement $default reduce using rule 403 (function_body)

State 346

393 func_definitionassignment_expression function_try_block $default reduce using rule 393 (func_definition)

State 347

394 func_definitionassignment_expression function_body $default reduce using rule 394 (func_definition)

State 348

276 decl_specifier_suffixdecl_specifier_affix $default reduce using rule 276 (decl_specifier_suffix)

State 349

252 suffix_built_in_decl_specifier.rawsuffix_built_in_decl_specifier.raw decl_specifier_suffix $default reduce using rule 252 (suffix_built_in_decl_specifier.raw)

State 350

251 suffix_built_in_decl_specifier.rawsuffix_built_in_decl_specifier.raw built_in_type_specifier $default reduce using rule 251 (suffix_built_in_decl_specifier.raw)

State 351

9 global_scopeSCOPE [TEMPLATE, OPERATOR, Identifier] 270 suffix_decl_specified_scopesuffix_built_in_decl_specifier SCOPE ['*'] '*' reduce using rule 270 (suffix_decl_specified_scope) $default reduce using rule 9 (global_scope)

State 352

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

State 353

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_specifierssuffix_named_decl_specifiers suffix_named_decl_specifier.bi 263 suffix_named_decl_specifiers.sfsuffix_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_scopesuffix_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

State 354

266 suffix_decl_specified_idssuffix_built_in_decl_specifier suffix_named_decl_specifiers.sf $default reduce using rule 266 (suffix_decl_specified_ids)

State 355

251 suffix_built_in_decl_specifier.rawsuffix_built_in_decl_specifier.raw built_in_type_specifier 252 | suffix_built_in_decl_specifier.raw decl_specifier_suffix 259 suffix_named_decl_specifier.bisuffix_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

State 356

257 suffix_named_decl_specifiersuffix_named_decl_specifier decl_specifier_suffix $default reduce using rule 257 (suffix_named_decl_specifier)

State 357

9 global_scopeSCOPE [TEMPLATE, OPERATOR, Identifier] 268 suffix_decl_specified_scopesuffix_named_decl_specifiers SCOPE ['*'] '*' reduce using rule 268 (suffix_decl_specified_scope) $default reduce using rule 9 (global_scope)

State 358

264 suffix_named_decl_specifiers.sfsuffix_named_decl_specifiers scoped_special_function_id $default reduce using rule 264 (suffix_named_decl_specifiers.sf)

State 359

261 suffix_named_decl_specifierssuffix_named_decl_specifiers suffix_named_decl_specifier.bi $default reduce using rule 261 (suffix_named_decl_specifiers)

State 360

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

State 361

249 simple_declarationdecl_specifier_prefix simple_declaration $default reduce using rule 249 (simple_declaration)

State 362

395 func_definitiondecl_specifier_prefix func_definition $default reduce using rule 395 (func_definition)

State 363

398 ctor_definitiondecl_specifier_prefix ctor_definition $default reduce using rule 398 (ctor_definition)

State 364

248 simple_declarationinit_declarations ';' $default reduce using rule 248 (simple_declaration)

State 365

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_declarationsinit_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

State 366

247 simple_declarationinit_declaration ';' $default reduce using rule 247 (simple_declaration)

State 367

341 star_ptr_operatorstar_ptr_operator cv_qualifier $default reduce using rule 341 (star_ptr_operator)

State 368

81 unary_expressionptr_operator cast_expression $default reduce using rule 81 (unary_expression)

State 369

352 cv_qualifier_seq.optcv_qualifier_seq.opt cv_qualifier 353 cv_qualifier CONST 354 | VOLATILE 365 parenthesis_clauseparameters_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

State 370

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_headconstructor_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

State 371

396 ctor_definitionconstructor_head function_try_block $default reduce using rule 396 (ctor_definition)

State 372

397 ctor_definitionconstructor_head function_body $default reduce using rule 397 (ctor_definition)

State 373

427 class_specifierclass_specifier_head member_specification.opt '}' 428 | class_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 430 member_specification.optmember_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

State 374

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_headclass_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

State 375

423 class_specifier_headclass_key '{' $default reduce using rule 423 (class_specifier_head)

State 376

417 colon_mark ':' 418 elaborated_class_specifierclass_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_headclass_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 < '{').

State 377

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_declarationbit_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

State 378

520 template_declarationtemplate_parameter_clause declaration $default reduce using rule 520 (template_declaration)

State 379

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

State 380

230 looped_declarationadvance_search '-' $default reduce using rule 230 (looped_declaration)

State 381

226 declaration_seq.optdeclaration_seq.opt util looping_declaration '#' bang error ';' ';' shift, and go to state 536

State 382

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

State 383

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

State 384

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_listexpression_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 expressionexpression_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

State 385

52 abstract_expression'[' expression.opt ']' $default reduce using rule 52 (abstract_expression)

State 386

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

State 387

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_expressionmultiplicative_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_declarationmultiplicative_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

State 388

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_expressionand_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_declarationand_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

State 389

383 parameter_declarationdecl_specifier_prefix parameter_declaration $default reduce using rule 383 (parameter_declaration)

State 390

348 ptr_operator_seqptr_operator ptr_operator_seq $default reduce using rule 348 (ptr_operator_seq)

State 391

367 parameters_clause'(' parameter_declaration_clause ')' $default reduce using rule 367 (parameters_clause)

State 392

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_listparameter_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

State 393

370 parameter_declaration_clauseparameter_declaration_list ELLIPSIS $default reduce using rule 370 (parameter_declaration_clause)

State 394

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_declarationabstract_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

State 395

316 enumerator_list_ecarb'}' $default reduce using rule 316 (enumerator_list_ecarb)

State 396

313 enumerator_clause'{' enumerator_list_ecarb $default reduce using rule 313 (enumerator_clause)

State 397

322 enumerator_list_headenumerator_definition_filler $default reduce using rule 322 (enumerator_list_head)

State 398

1 identifier_word Identifier 2 identifier identifier_word 324 enumerator_listenumerator_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

State 399

314 enumerator_clause'{' enumerator_list enumerator_list_ecarb 315 | '{' enumerator_list ',' enumerator_definition_ecarb 316 enumerator_list_ecarb '}' 317 | bang error '}' 323 enumerator_list_headenumerator_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

State 400

317 enumerator_list_ecarbbang error '}' 321 enumerator_definition_fillerbang error ',' error shift, and go to state 550

State 401

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

State 402

311 enum_specifierENUM scoped_id enumerator_clause $default reduce using rule 311 (enum_specifier)

State 403

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

State 404

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_definitionNAMESPACE 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

State 405

328 namespace_definitionNAMESPACE scoped_id compound_declaration $default reduce using rule 328 (namespace_definition)

State 406

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

State 407

336 linkage_specificationEXTERN string compound_declaration $default reduce using rule 336 (linkage_specification)

State 408

335 linkage_specificationEXTERN string looping_declaration $default reduce using rule 335 (linkage_specification)

State 409

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

State 410

424 class_keyCLASS [':', '{', SCOPE, TEMPLATE, Identifier] 531 simple_type_parameterCLASS ['>', '=', ','] '>' 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)

State 411

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_specifierTYPENAME scoped_id 532 simple_type_parameterTYPENAME ['>', '=', ','] 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

State 412

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_expressionTEMPLATE 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_clauseTEMPLATE '<' 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

State 413

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

State 414

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 161 templated_relational_expressionshift_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)

State 415

162 templated_relational_expressiontemplated_relational_expression '<' shift_expression 163 | templated_relational_expression LE shift_expression 164 | templated_relational_expression GE shift_expression 165 templated_equality_expressiontemplated_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)

State 416

166 templated_equality_expressiontemplated_equality_expression EQ templated_relational_expression 167 | templated_equality_expression NE templated_relational_expression 168 templated_and_expressiontemplated_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)

State 417

169 templated_and_expressiontemplated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expressiontemplated_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_declarationtemplated_and_expression '&' 390 | templated_and_expression '&' abstract_pointer_declaration '&' shift, and go to state 561 $default reduce using rule 170 (templated_exclusive_or_expression)

State 418

171 templated_exclusive_or_expressiontemplated_exclusive_or_expression '^' templated_and_expression 172 templated_inclusive_or_expressiontemplated_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)

State 419

173 templated_inclusive_or_expressiontemplated_inclusive_or_expression '|' templated_exclusive_or_expression 174 templated_logical_and_expressiontemplated_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)

State 420

175 templated_logical_and_expressiontemplated_logical_and_expression LOG_AND templated_inclusive_or_expression 176 templated_logical_or_expressiontemplated_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)

State 421

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_expressiontemplated_logical_or_expression LOG_OR templated_logical_and_expression 178 templated_conditional_expressiontemplated_logical_or_expression ['>', ':', ','] 179 | templated_logical_or_expression '?' templated_expression ':' templated_assignment_expression 181 templated_assignment_expressiontemplated_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

State 422

180 templated_assignment_expressiontemplated_conditional_expression $default reduce using rule 180 (templated_assignment_expression)

State 423

384 templated_parameter_declarationtemplated_assignment_expression $default reduce using rule 384 (templated_parameter_declaration)

State 424

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

State 425

388 templated_abstract_declarationabstract_pointer_declaration $default reduce using rule 388 (templated_abstract_declaration)

State 426

529 template_parametertemplated_parameter_declaration $default reduce using rule 529 (template_parameter)

State 427

385 templated_parameter_declarationtemplated_abstract_declaration ['>', ','] 386 | templated_abstract_declaration '=' templated_assignment_expression '=' shift, and go to state 570 $default reduce using rule 385 (templated_parameter_declaration)

State 428

533 templated_type_parametertemplate_parameter_clause CLASS 534 | template_parameter_clause CLASS identifier CLASS shift, and go to state 571

State 429

522 template_parameter_clauseTEMPLATE '<' template_parameter_list '>' 524 template_parameter_listtemplate_parameter_list ',' template_parameter '>' shift, and go to state 572 ',' shift, and go to state 573

State 430

523 template_parameter_listtemplate_parameter $default reduce using rule 523 (template_parameter_list)

State 431

525 template_parametersimple_type_parameter ['>', ','] 526 | simple_type_parameter '=' type_id '=' shift, and go to state 574 $default reduce using rule 525 (template_parameter)

State 432

527 template_parametertemplated_type_parameter ['>', ','] 528 | templated_type_parameter '=' identifier '=' shift, and go to state 575 $default reduce using rule 527 (template_parameter)

State 433

182 templated_assignment_expressiontemplated_throw_expression $default reduce using rule 182 (templated_assignment_expression)

State 434

530 template_parameterbang error error shift, and go to state 576

State 435

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

State 436

16 destructor_id'~' id $default reduce using rule 16 (destructor_id)

State 437

333 using_directiveUSING NAMESPACE scoped_id ';' ';' shift, and go to state 580

State 438

332 using_declarationUSING TYPENAME declarator_id ';' ';' shift, and go to state 581

State 439

17 destructor_idTEMPLATE destructor_id $default reduce using rule 17 (destructor_id)

State 440

331 using_declarationUSING declarator_id ';' $default reduce using rule 331 (using_declaration)

State 441

334 asm_definitionASM '(' string ')' ';' ')' shift, and go to state 582

State 442

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

State 443

72 postfix_expressionCONST_CAST '<' type_id '>' '(' expression ')' '>' shift, and go to state 588

State 444

69 postfix_expressionDYNAMIC_CAST '<' type_id '>' '(' expression ')' '>' shift, and go to state 589

State 445

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

State 446

93 new_expressionNEW new_type_id new_initializer.opt $default reduce using rule 93 (new_expression)

State 447

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

State 448

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_idglobal_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_operatorglobal_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

State 449

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

State 450

99 new_type_idtype_specifier new_type_id $default reduce using rule 99 (new_type_id)

State 451

98 new_type_idtype_specifier new_declarator $default reduce using rule 98 (new_type_id)

State 452

101 new_declaratordirect_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_declaratordirect_new_declarator '[' constant_expression ']' '[' shift, and go to state 594 $default reduce using rule 101 (new_declarator)

State 453

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 < '&').

State 454

97 new_type_idtype_specifier ptr_operator_seq.opt $default reduce using rule 97 (new_type_id)

State 455

94 new_expressionNEW 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

State 456

96 new_expressionNEW 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

State 457

519 operator'[' ']' $default reduce using rule 519 (operator)

State 458

518 operator'(' ')' $default reduce using rule 518 (operator)

State 459

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 < '&').

State 460

467 conversion_type_idtype_specifier ptr_operator_seq.opt $default reduce using rule 467 (conversion_type_id)

State 461

468 conversion_type_idtype_specifier conversion_type_id $default reduce using rule 468 (conversion_type_id)

State 462

71 postfix_expressionREINTERPRET_CAST '<' type_id '>' '(' expression ')' '>' shift, and go to state 602

State 463

70 postfix_expressionSTATIC_CAST '<' type_id '>' '(' expression ')' '>' shift, and go to state 603

State 464

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

State 465

6 ididentifier template_test '-' $default reduce using rule 6 (id)

State 466

62 postfix_expressionpostfix_expression '[' expression.opt ']' ']' shift, and go to state 606

State 467

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

State 468

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

State 469

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_idglobal_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_idglobal_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

State 470

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

State 471

63 postfix_expressionpostfix_expression '.' declarator_id $default reduce using rule 63 (postfix_expression)

State 472

30 built_in_type_idbuilt_in_type_id built_in_type_specifier 31 pseudo_destructor_idbuilt_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

State 473

34 nested_pseudo_destructor_idpseudo_destructor_id $default reduce using rule 34 (nested_pseudo_destructor_id)

State 474

36 scoped_pseudo_destructor_idnested_pseudo_destructor_id $default reduce using rule 36 (scoped_pseudo_destructor_id)

State 475

64 postfix_expressionpostfix_expression '.' scoped_pseudo_destructor_id $default reduce using rule 64 (postfix_expression)

State 476

29 built_in_type_idbuilt_in_type_specifier $default reduce using rule 29 (built_in_type_id)

State 477

65 postfix_expressionpostfix_expression ARROW declarator_id $default reduce using rule 65 (postfix_expression)

State 478

66 postfix_expressionpostfix_expression ARROW scoped_pseudo_destructor_id $default reduce using rule 66 (postfix_expression)

State 479

58 postfix_expressionpostfix_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

State 480

110 pm_expressionpm_expression ARROW_STAR cast_expression $default reduce using rule 110 (pm_expression)

State 481

109 pm_expressionpm_expression DOT_STAR cast_expression $default reduce using rule 109 (pm_expression)

State 482

109 pm_expressionpm_expression DOT_STAR cast_expression 110 | pm_expression ARROW_STAR cast_expression 113 multiplicative_expressionmultiplicative_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)

State 483

109 pm_expressionpm_expression DOT_STAR cast_expression 110 | pm_expression ARROW_STAR cast_expression 114 multiplicative_expressionmultiplicative_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)

State 484

109 pm_expressionpm_expression DOT_STAR cast_expression 110 | pm_expression ARROW_STAR cast_expression 112 multiplicative_expressionmultiplicative_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)

State 485

112 multiplicative_expressionmultiplicative_expression star_ptr_operator pm_expression 113 | multiplicative_expression '/' pm_expression 114 | multiplicative_expression '%' pm_expression 116 additive_expressionadditive_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

State 486

112 multiplicative_expressionmultiplicative_expression star_ptr_operator pm_expression 113 | multiplicative_expression '/' pm_expression 114 | multiplicative_expression '%' pm_expression 117 additive_expressionadditive_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

State 487

116 additive_expressionadditive_expression '+' multiplicative_expression 117 | additive_expression '-' multiplicative_expression 119 shift_expressionshift_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)

State 488

116 additive_expressionadditive_expression '+' multiplicative_expression 117 | additive_expression '-' multiplicative_expression 120 shift_expressionshift_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)

State 489

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 122 relational_expressionrelational_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)

State 490

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 123 relational_expressionrelational_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)

State 491

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 125 relational_expressionrelational_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)

State 492

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 124 relational_expressionrelational_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)

State 493

122 relational_expressionrelational_expression '<' shift_expression 123 | relational_expression '>' shift_expression 124 | relational_expression LE shift_expression 125 | relational_expression GE shift_expression 127 equality_expressionequality_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)

State 494

122 relational_expressionrelational_expression '<' shift_expression 123 | relational_expression '>' shift_expression 124 | relational_expression LE shift_expression 125 | relational_expression GE shift_expression 128 equality_expressionequality_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)

State 495

127 equality_expressionequality_expression EQ relational_expression 128 | equality_expression NE relational_expression 130 and_expressionand_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)

State 496

130 and_expressionand_expression '&' equality_expression 132 exclusive_or_expressionexclusive_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)

State 497

132 exclusive_or_expressionexclusive_or_expression '^' and_expression 134 inclusive_or_expressioninclusive_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)

State 498

134 inclusive_or_expressioninclusive_or_expression '|' exclusive_or_expression 136 logical_and_expressionlogical_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)

State 499

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

State 500

143 assignment_expressionlogical_or_expression '=' braced_initializer $default reduce using rule 143 (assignment_expression)

State 501

140 conditional_expressionlogical_or_expression '?' expression ':' assignment_expression ':' shift, and go to state 623

State 502

136 logical_and_expressionlogical_and_expression LOG_AND inclusive_or_expression 138 logical_or_expressionlogical_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)

State 503

142 assignment_expressionlogical_or_expression assignment_operator assignment_expression $default reduce using rule 142 (assignment_expression)

State 504

452 bit_field_declarationassignment_expression ':' bit_field_width $default reduce using rule 452 (bit_field_declaration)

State 505

187 looping_statement start_search looped_statement 202 compound_statement'{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 205 statement_seq.optstatement_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

State 506

339 init_declarationassignment_expression $default reduce using rule 339 (init_declaration)

State 507

337 init_declarationsassignment_expression ',' init_declaration $default reduce using rule 337 (init_declarations)

State 508

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

State 509

401 function_try_blockTRY 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

State 510

202 compound_statement '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 402 function_blockctor_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

State 511

470 ctor_initializer.optctor_initializer $default reduce using rule 470 (ctor_initializer.opt)

State 512

9 global_scopeSCOPE [TEMPLATE, OPERATOR, Identifier] 269 suffix_decl_specified_scopesuffix_built_in_decl_specifier suffix_named_decl_specifiers SCOPE ['*'] '*' reduce using rule 269 (suffix_decl_specified_scope) $default reduce using rule 9 (global_scope)

State 513

82 unary_expressionsuffix_decl_specified_scope star_ptr_operator cast_expression $default reduce using rule 82 (unary_expression)

State 514

338 init_declarationsinit_declarations ',' init_declaration $default reduce using rule 338 (init_declarations)

State 515

550 exception_specificationTHROW '(' ')' 551 | THROW '(' type_id_list ')' '(' shift, and go to state 636

State 516

352 cv_qualifier_seq.optcv_qualifier_seq.opt cv_qualifier $default reduce using rule 352 (cv_qualifier_seq.opt)

State 517

366 parenthesis_clauseparameters_clause cv_qualifier_seq.opt exception_specification $default reduce using rule 366 (parenthesis_clause)

State 518

400 constructor_headconstructor_head ',' assignment_expression $default reduce using rule 400 (constructor_head)

State 519

427 class_specifierclass_specifier_head member_specification.opt '}' $default reduce using rule 427 (class_specifier)

State 520

428 class_specifierclass_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 430 member_specification.optmember_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

State 521

463 access_specifierPRIVATE $default reduce using rule 463 (access_specifier)

State 522

464 access_specifierPROTECTED $default reduce using rule 464 (access_specifier)

State 523

465 access_specifierPUBLIC $default reduce using rule 465 (access_specifier)

State 524

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

State 525

460 base_specifierscoped_id $default reduce using rule 460 (base_specifier)

State 526

421 class_specifier_headclass_key ':' base_specifier_list '{' 459 base_specifier_listbase_specifier_list ',' base_specifier '{' shift, and go to state 640 ',' shift, and go to state 641

State 527

458 base_specifier_listbase_specifier $default reduce using rule 458 (base_specifier_list)

State 528

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

State 529

417 colon_mark':' $default reduce using rule 417 (colon_mark)

State 530

422 class_specifier_headclass_key scoped_id '{' $default reduce using rule 422 (class_specifier_head)

State 531

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_specifierclass_key scoped_id colon_mark error 420 class_specifier_headclass_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

State 532

404 initializer_clauseassignment_expression $default reduce using rule 404 (initializer_clause)

State 533

457 bit_field_init_declarationbit_field_declaration '=' initializer_clause $default reduce using rule 457 (bit_field_init_declaration)

State 534

405 initializer_clausebraced_initializer $default reduce using rule 405 (initializer_clause)

State 535

229 looped_declarationadvance_search '+' looped_declaration $default reduce using rule 229 (looped_declaration)

State 536

226 declaration_seq.optdeclaration_seq.opt util looping_declaration '#' bang error ';' $default reduce using rule 226 (declaration_seq.opt)

State 537

455 bit_field_widthlogical_or_expression '?' bit_field_width ':' bit_field_width ':' shift, and go to state 645

State 538

77 expression_listexpression_list ',' assignment_expression [','] 159 expressionexpression_list ',' assignment_expression [':', ']', ')', ';'] ',' reduce using rule 77 (expression_list) $default reduce using rule 159 (expression)

State 539

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

State 540

374 abstract_pointer_declarationmultiplicative_expression star_ptr_operator ptr_operator_seq.opt $default reduce using rule 374 (abstract_pointer_declaration)

State 541

377 abstract_parameter_declarationand_expression '&' abstract_pointer_declaration $default reduce using rule 377 (abstract_parameter_declaration)

State 542

372 parameter_declaration_listparameter_declaration_list ',' parameter_declaration $default reduce using rule 372 (parameter_declaration_list)

State 543

379 special_parameter_declarationabstract_parameter_declaration '=' assignment_expression $default reduce using rule 379 (special_parameter_declaration)

State 544

327 enumeratoridentifier $default reduce using rule 327 (enumerator)

State 545

324 enumerator_listenumerator_list_head enumerator_definition $default reduce using rule 324 (enumerator_list)

State 546

325 enumerator_definitionenumerator [error, '}', ','] 326 | enumerator '=' constant_expression '=' shift, and go to state 646 $default reduce using rule 325 (enumerator_definition)

State 547

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_headenumerator_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

State 548

314 enumerator_clause'{' enumerator_list enumerator_list_ecarb $default reduce using rule 314 (enumerator_clause)

State 549

317 enumerator_list_ecarbbang error '}' error shift, and go to state 651

State 550

317 enumerator_list_ecarbbang error '}' 321 enumerator_definition_fillerbang error ',' '}' shift, and go to state 652 ',' shift, and go to state 653

State 551

222 compound_declaration'{' nest declaration_seq.opt '}' 223 | '{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 225 declaration_seq.optdeclaration_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

State 552

330 namespace_alias_definitionNAMESPACE scoped_id '=' scoped_id ';' ';' shift, and go to state 656

State 553

540 explicit_specializationTEMPLATE '<' '>' declaration $default reduce using rule 540 (explicit_specialization)

State 554

169 templated_and_expressiontemplated_and_expression '&' templated_equality_expression 170 templated_exclusive_or_expressiontemplated_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)

State 555

549 templated_throw_expressionTHROW templated_assignment_expression $default reduce using rule 549 (templated_throw_expression)

State 556

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_expressiontemplated_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

State 557

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_expressiontemplated_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

State 558

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_expressiontemplated_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

State 559

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_expressiontemplated_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

State 560

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_expressiontemplated_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

State 561

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_expressiontemplated_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_declarationtemplated_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

State 562

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_expressiontemplated_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

State 563

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_expressiontemplated_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

State 564

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_expressiontemplated_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

State 565

145 assignment_operator'=' $default reduce using rule 145 (assignment_operator)

State 566

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

State 567

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_expressiontemplated_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

State 568

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

State 569

387 templated_parameter_declarationdecl_specifier_prefix templated_parameter_declaration $default reduce using rule 387 (templated_parameter_declaration)

State 570

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_declarationtemplated_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

State 571

1 identifier_word Identifier 2 identifier identifier_word 533 templated_type_parametertemplate_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

State 572

522 template_parameter_clauseTEMPLATE '<' template_parameter_list '>' $default reduce using rule 522 (template_parameter_clause)

State 573

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_listtemplate_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

State 574

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_parametersimple_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

State 575

1 identifier_word Identifier 2 identifier identifier_word 528 template_parametertemplated_type_parameter '=' identifier Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 677

State 576

530 template_parameterbang error $default reduce using rule 530 (template_parameter)

State 577

539 template_argumenttemplated_parameter_declaration $default reduce using rule 539 (template_argument)

State 578

535 template_idTEMPLATE identifier '<' template_argument_list '>' 538 template_argument_listtemplate_argument_list ',' template_argument '>' shift, and go to state 678 ',' shift, and go to state 679

State 579

537 template_argument_listtemplate_argument $default reduce using rule 537 (template_argument_list)

State 580

333 using_directiveUSING NAMESPACE scoped_id ';' $default reduce using rule 333 (using_directive)

State 581

332 using_declarationUSING TYPENAME declarator_id ';' $default reduce using rule 332 (using_declaration)

State 582

334 asm_definitionASM '(' string ')' ';' ';' shift, and go to state 680

State 583

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

State 584

356 type_idtype_specifier type_id $default reduce using rule 356 (type_id)

State 585

355 type_idtype_specifier abstract_declarator.opt $default reduce using rule 355 (type_id)

State 586

362 direct_abstract_declaratordirect_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

State 587

359 abstract_declarator.optdirect_abstract_declarator ['>', ')', ','] 361 direct_abstract_declarator.optdirect_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)

State 588

72 postfix_expressionCONST_CAST '<' type_id '>' '(' expression ')' '(' shift, and go to state 684

State 589

69 postfix_expressionDYNAMIC_CAST '<' type_id '>' '(' expression ')' '(' shift, and go to state 685

State 590

105 new_initializer.opt'(' expression_list.opt ')' ')' shift, and go to state 686

State 591

75 expression_list.optexpression_list [')'] 77 expression_listexpression_list ',' assignment_expression ',' shift, and go to state 687 $default reduce using rule 75 (expression_list.opt)

State 592

76 expression_listassignment_expression $default reduce using rule 76 (expression_list)

State 593

102 direct_new_declarator'[' expression ']' ']' shift, and go to state 688

State 594

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_declaratordirect_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

State 595

11 id_scopeid SCOPE SCOPE shift, and go to state 289

State 596

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_operatorglobal_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

State 597

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

State 598

100 new_declaratorptr_operator new_declarator $default reduce using rule 100 (new_declarator)

State 599

350 ptr_operator_seq.optptr_operator ptr_operator_seq.opt $default reduce using rule 350 (ptr_operator_seq.opt)

State 600

94 new_expressionNEW parameters_clause new_type_id new_initializer.opt $default reduce using rule 94 (new_expression)

State 601

96 new_expressionNEW parameters_clause parameters_clause new_initializer.opt $default reduce using rule 96 (new_expression)

State 602

71 postfix_expressionREINTERPRET_CAST '<' type_id '>' '(' expression ')' '(' shift, and go to state 692

State 603

70 postfix_expressionSTATIC_CAST '<' type_id '>' '(' expression ')' '(' shift, and go to state 693

State 604

5 ididentifier template_test '+' '>' $default reduce using rule 5 (id)

State 605

4 ididentifier template_test '+' template_argument_list '>' 538 template_argument_listtemplate_argument_list ',' template_argument '>' shift, and go to state 694 ',' shift, and go to state 679

State 606

62 postfix_expressionpostfix_expression '[' expression.opt ']' $default reduce using rule 62 (postfix_expression)

State 607

30 built_in_type_idbuilt_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

State 608

33 pseudo_destructor_idTEMPLATE pseudo_destructor_id $default reduce using rule 33 (pseudo_destructor_id)

State 609

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

State 610

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

State 611

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

State 612

37 scoped_pseudo_destructor_idglobal_scope scoped_pseudo_destructor_id $default reduce using rule 37 (scoped_pseudo_destructor_id)

State 613

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

State 614

35 nested_pseudo_destructor_idid_scope nested_pseudo_destructor_id $default reduce using rule 35 (nested_pseudo_destructor_id)

State 615

31 pseudo_destructor_idbuilt_in_type_id SCOPE '~' built_in_type_id '~' shift, and go to state 697

State 616

30 built_in_type_idbuilt_in_type_id built_in_type_specifier $default reduce using rule 30 (built_in_type_id)

State 617

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

State 618

58 postfix_expressionpostfix_expression parenthesis_clause mark_type1 '-' $default reduce using rule 58 (postfix_expression)

State 619

408 braced_initializer'{' '}' $default reduce using rule 408 (braced_initializer)

State 620

406 braced_initializer'{' initializer_list '}' 407 | '{' initializer_list ',' '}' 410 | '{' initializer_list ',' looping_initializer_clause '#' bang error '}' 412 initializer_listinitializer_list ',' looping_initializer_clause '}' shift, and go to state 701 ',' shift, and go to state 702

State 621

409 braced_initializer'{' looping_initializer_clause '#' bang error '}' 411 initializer_listlooping_initializer_clause ['}', ','] '#' shift, and go to state 703 $default reduce using rule 411 (initializer_list)

State 622

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_clausestart_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

State 623

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

State 624

202 compound_statement'{' statement_seq.opt '}' $default reduce using rule 202 (compound_statement)

State 625

203 compound_statement'{' statement_seq.opt looping_statement '#' bang error '}' 205 statement_seq.optstatement_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)

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 187 looping_statementstart_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

State 627

478 mem_initializer_idscoped_id $default reduce using rule 478 (mem_initializer_id)

State 628

471 ctor_initializer':' mem_initializer_list ['{'] 472 | ':' mem_initializer_list bang error 475 mem_initializer_list_headmem_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

State 629

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_listmem_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

State 630

473 mem_initializer_listmem_initializer $default reduce using rule 473 (mem_initializer_list)

State 631

477 mem_initializermem_initializer_id '(' expression_list.opt ')' '(' shift, and go to state 741

State 632

544 handlerCATCH '(' exception_declaration ')' compound_statement '(' shift, and go to state 742

State 633

401 function_try_blockTRY function_block handler_seq $default reduce using rule 401 (function_try_block)

State 634

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

State 635

402 function_blockctor_initializer.opt function_body $default reduce using rule 402 (function_block)

State 636

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_specificationTHROW '(' ')' 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

State 637

428 class_specifierclass_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 430 member_specification.optmember_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)

State 638

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_declarationstart_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

State 639

462 base_specifierVIRTUAL base_specifier $default reduce using rule 462 (base_specifier)

State 640

421 class_specifier_headclass_key ':' base_specifier_list '{' $default reduce using rule 421 (class_specifier_head)

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 459 base_specifier_listbase_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

State 642

461 base_specifieraccess_specifier base_specifier $default reduce using rule 461 (base_specifier)

State 643

419 elaborated_class_specifierclass_key scoped_id colon_mark error $default reduce using rule 419 (elaborated_class_specifier)

State 644

420 class_specifier_headclass_key scoped_id colon_mark base_specifier_list '{' 459 base_specifier_listbase_specifier_list ',' base_specifier '{' shift, and go to state 764 ',' shift, and go to state 641

State 645

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

State 646

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_definitionenumerator '=' 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

State 647

318 enumerator_definition_ecarb'}' $default reduce using rule 318 (enumerator_definition_ecarb)

State 648

315 enumerator_clause'{' enumerator_list ',' enumerator_definition_ecarb $default reduce using rule 315 (enumerator_clause)

State 649

323 enumerator_list_headenumerator_list ',' enumerator_definition_filler $default reduce using rule 323 (enumerator_list_head)

State 650

319 enumerator_definition_ecarbbang error '}' 321 enumerator_definition_fillerbang error ',' error shift, and go to state 767

State 651

317 enumerator_list_ecarbbang error '}' '}' shift, and go to state 652

State 652

317 enumerator_list_ecarbbang error '}' $default reduce using rule 317 (enumerator_list_ecarb)

State 653

321 enumerator_definition_fillerbang error ',' $default reduce using rule 321 (enumerator_definition_filler)

State 654

222 compound_declaration'{' nest declaration_seq.opt '}' $default reduce using rule 222 (compound_declaration)

State 655

223 compound_declaration'{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 225 declaration_seq.optdeclaration_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

State 656

330 namespace_alias_definitionNAMESPACE scoped_id '=' scoped_id ';' $default reduce using rule 330 (namespace_alias_definition)

State 657

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_expressiontemplated_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

State 658

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 162 templated_relational_expressiontemplated_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)

State 659

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 164 templated_relational_expressiontemplated_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)

State 660

119 shift_expressionshift_expression SHL additive_expression 120 | shift_expression SHR additive_expression 163 templated_relational_expressiontemplated_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)

State 661

162 templated_relational_expressiontemplated_relational_expression '<' shift_expression 163 | templated_relational_expression LE shift_expression 164 | templated_relational_expression GE shift_expression 166 templated_equality_expressiontemplated_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)

State 662

162 templated_relational_expressiontemplated_relational_expression '<' shift_expression 163 | templated_relational_expression LE shift_expression 164 | templated_relational_expression GE shift_expression 167 templated_equality_expressiontemplated_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)

State 663

166 templated_equality_expressiontemplated_equality_expression EQ templated_relational_expression 167 | templated_equality_expression NE templated_relational_expression 169 templated_and_expressiontemplated_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)

State 664

390 templated_abstract_declarationtemplated_and_expression '&' abstract_pointer_declaration $default reduce using rule 390 (templated_abstract_declaration)

State 665

169 templated_and_expressiontemplated_and_expression '&' templated_equality_expression 171 templated_exclusive_or_expressiontemplated_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)

State 666

171 templated_exclusive_or_expressiontemplated_exclusive_or_expression '^' templated_and_expression 173 templated_inclusive_or_expressiontemplated_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)

State 667

173 templated_inclusive_or_expressiontemplated_inclusive_or_expression '|' templated_exclusive_or_expression 175 templated_logical_and_expressiontemplated_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)

State 668

183 templated_expressiontemplated_assignment_expression [':'] 185 templated_expression_listtemplated_assignment_expression [','] ',' reduce using rule 185 (templated_expression_list) $default reduce using rule 183 (templated_expression)

State 669

179 templated_conditional_expressiontemplated_logical_or_expression '?' templated_expression ':' templated_assignment_expression ':' shift, and go to state 769

State 670

184 templated_expressiontemplated_expression_list ',' templated_assignment_expression 186 templated_expression_listtemplated_expression_list ',' templated_assignment_expression ',' shift, and go to state 770

State 671

175 templated_logical_and_expressiontemplated_logical_and_expression LOG_AND templated_inclusive_or_expression 177 templated_logical_or_expressiontemplated_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)

State 672

181 templated_assignment_expressiontemplated_logical_or_expression assignment_operator templated_assignment_expression $default reduce using rule 181 (templated_assignment_expression)

State 673

386 templated_parameter_declarationtemplated_abstract_declaration '=' templated_assignment_expression $default reduce using rule 386 (templated_parameter_declaration)

State 674

534 templated_type_parametertemplate_parameter_clause CLASS identifier $default reduce using rule 534 (templated_type_parameter)

State 675

524 template_parameter_listtemplate_parameter_list ',' template_parameter $default reduce using rule 524 (template_parameter_list)

State 676

526 template_parametersimple_type_parameter '=' type_id $default reduce using rule 526 (template_parameter)

State 677

528 template_parametertemplated_type_parameter '=' identifier $default reduce using rule 528 (template_parameter)

State 678

535 template_idTEMPLATE identifier '<' template_argument_list '>' $default reduce using rule 535 (template_id)

State 679

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_listtemplate_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

State 680

334 asm_definitionASM '(' string ')' ';' $default reduce using rule 334 (asm_definition)

State 681

358 abstract_declarator.optptr_operator abstract_declarator.opt $default reduce using rule 358 (abstract_declarator.opt)

State 682

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_declaratordirect_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

State 683

362 direct_abstract_declaratordirect_abstract_declarator.opt parenthesis_clause $default reduce using rule 362 (direct_abstract_declarator)

State 684

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

State 685

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

State 686

105 new_initializer.opt'(' expression_list.opt ')' $default reduce using rule 105 (new_initializer.opt)

State 687

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_listexpression_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

State 688

102 direct_new_declarator'[' expression ']' $default reduce using rule 102 (direct_new_declarator)

State 689

138 logical_or_expressionlogical_or_expression LOG_OR logical_and_expression 139 conditional_expressionlogical_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)

State 690

160 constant_expressionconditional_expression $default reduce using rule 160 (constant_expression)

State 691

103 direct_new_declaratordirect_new_declarator '[' constant_expression ']' ']' shift, and go to state 777

State 692

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

State 693

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

State 694

4 ididentifier template_test '+' template_argument_list '>' $default reduce using rule 4 (id)

State 695

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

State 696

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

State 697

29 built_in_type_id built_in_type_specifier 30 | built_in_type_id built_in_type_specifier 31 pseudo_destructor_idbuilt_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

State 698

61 postfix_expressionpostfix_expression parenthesis_clause mark_type1 '+' error $default reduce using rule 61 (postfix_expression)

State 699

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_parameterstype1_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

State 700

54 type1_parametersparameter_declaration_list ';' 372 parameter_declaration_listparameter_declaration_list ',' parameter_declaration ';' shift, and go to state 784 ',' shift, and go to state 392

State 701

406 braced_initializer'{' initializer_list '}' $default reduce using rule 406 (braced_initializer)

State 702

407 braced_initializer'{' initializer_list ',' '}' 410 | '{' initializer_list ',' looping_initializer_clause '#' bang error '}' 412 initializer_listinitializer_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

State 703

409 braced_initializer'{' looping_initializer_clause '#' bang error '}' 555 bang %empty $default reduce using rule 555 (bang) bang go to state 787

State 704

414 looped_initializer_clauseinitializer_clause $default reduce using rule 414 (looped_initializer_clause)

State 705

413 looping_initializer_clausestart_search looped_initializer_clause $default reduce using rule 413 (looping_initializer_clause)

State 706

415 looped_initializer_clauseadvance_search '+' looped_initializer_clause 416 | advance_search '-' '+' shift, and go to state 788 '-' shift, and go to state 789

State 707

140 conditional_expressionlogical_or_expression '?' expression ':' assignment_expression $default reduce using rule 140 (conditional_expression)

State 708

203 compound_statement'{' statement_seq.opt looping_statement '#' bang error '}' 206 statement_seq.optstatement_seq.opt looping_statement '#' bang error ';' 555 bang %empty $default reduce using rule 555 (bang) bang go to state 790

State 709

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_definitionNAMESPACE 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

State 710

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_expressionTEMPLATE 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

State 711

217 jump_statementBREAK ';' ';' shift, and go to state 793

State 712

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_statementCASE 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

State 713

218 jump_statementCONTINUE ';' ';' shift, and go to state 795

State 714

201 labeled_statementDEFAULT ':' looping_statement ':' shift, and go to state 796

State 715

187 looping_statement start_search looped_statement 214 iteration_statementDO 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

State 716

215 iteration_statementFOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement '(' shift, and go to state 798

State 717

1 identifier_word Identifier 2 identifier identifier_word 220 jump_statementGOTO identifier ';' Identifier shift, and go to state 70 identifier_word go to state 73 identifier go to state 799

State 718

207 selection_statementIF '(' condition ')' looping_statement 208 | IF '(' condition ')' looping_statement ELSE looping_statement '(' shift, and go to state 800

State 719

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_statementRETURN 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

State 720

209 selection_statementSWITCH '(' condition ')' looping_statement '(' shift, and go to state 802

State 721

202 compound_statement '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 541 try_blockTRY compound_statement handler_seq '{' shift, and go to state 342 compound_statement go to state 803

State 722

213 iteration_statementWHILE '(' condition ')' looping_statement '(' shift, and go to state 804

State 723

2 identifieridentifier_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_statementidentifier_word ':' looping_statement ':' shift, and go to state 805 $default reduce using rule 2 (identifier)

State 724

337 init_declarationsassignment_expression ',' init_declaration 339 init_declarationassignment_expression [';'] ',' shift, and go to state 343 $default reduce using rule 339 (init_declaration)

State 725

187 looping_statementstart_search looped_statement $default reduce using rule 187 (looping_statement)

State 726

188 looped_statementstatement $default reduce using rule 188 (looped_statement)

State 727

191 statementcontrol_statement $default reduce using rule 191 (statement)

State 728

195 control_statementlabeled_statement $default reduce using rule 195 (control_statement)

State 729

192 statementcompound_statement $default reduce using rule 192 (statement)

State 730

196 control_statementselection_statement $default reduce using rule 196 (control_statement)

State 731

197 control_statementiteration_statement $default reduce using rule 197 (control_statement)

State 732

198 control_statementjump_statement $default reduce using rule 198 (control_statement)

State 733

193 statementdeclaration_statement $default reduce using rule 193 (statement)

State 734

221 declaration_statementblock_declaration $default reduce using rule 221 (declaration_statement)

State 735

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

State 736

194 statementtry_block $default reduce using rule 194 (statement)

State 737

189 looped_statementadvance_search '+' looped_statement 190 | advance_search '-' '+' shift, and go to state 806 '-' shift, and go to state 807

State 738

475 mem_initializer_list_headmem_initializer_list ',' $default reduce using rule 475 (mem_initializer_list_head)

State 739

472 ctor_initializer':' mem_initializer_list bang error 476 mem_initializer_list_headmem_initializer_list bang error ',' error shift, and go to state 808

State 740

474 mem_initializer_listmem_initializer_list_head mem_initializer $default reduce using rule 474 (mem_initializer_list)

State 741

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_initializermem_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

State 742

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 handlerCATCH '(' 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

State 743

543 handler_seqhandler handler_seq $default reduce using rule 543 (handler_seq)

State 744

550 exception_specificationTHROW '(' ')' $default reduce using rule 550 (exception_specification)

State 745

552 type_id_listtype_id $default reduce using rule 552 (type_id_list)

State 746

551 exception_specificationTHROW '(' type_id_list ')' 553 type_id_listtype_id_list ',' type_id ')' shift, and go to state 812 ',' shift, and go to state 813

State 747

428 class_specifierclass_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 431 member_specification.optmember_specification.opt util looping_member_declaration '#' bang error ';' 555 bang %empty $default reduce using rule 555 (bang) bang go to state 814

State 748

441 simple_member_declaration';' $default reduce using rule 441 (simple_member_declaration)

State 749

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_declarationUSING 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

State 750

202 compound_statement '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 393 func_definitionassignment_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_declarationassignment_expression ';' 446 member_init_declarationsassignment_expression ',' member_init_declaration 452 bit_field_declarationassignment_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

State 751

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

State 752

439 member_declarationusing_declaration $default reduce using rule 439 (member_declaration)

State 753

438 member_declarationfunction_definition $default reduce using rule 438 (member_declaration)

State 754

202 compound_statement '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 396 ctor_definitionconstructor_head function_try_block 397 | constructor_head function_body 400 constructor_headconstructor_head ',' assignment_expression 401 function_try_block TRY function_block handler_seq 403 function_body compound_statement 443 simple_member_declarationconstructor_head ';' 447 member_init_declarationsconstructor_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

State 755

432 looping_member_declarationstart_search looped_member_declaration $default reduce using rule 432 (looping_member_declaration)

State 756

433 looped_member_declarationmember_declaration $default reduce using rule 433 (looped_member_declaration)

State 757

437 member_declarationsimple_member_declaration $default reduce using rule 437 (member_declaration)

State 758

444 simple_member_declarationmember_init_declarations ';' 448 member_init_declarationsmember_init_declarations ',' member_init_declaration ';' shift, and go to state 820 ',' shift, and go to state 821

State 759

436 member_declarationaccessibility_specifier $default reduce using rule 436 (member_declaration)

State 760

451 accessibility_specifieraccess_specifier ':' ':' shift, and go to state 822

State 761

440 member_declarationtemplate_declaration $default reduce using rule 440 (member_declaration)

State 762

434 looped_member_declarationadvance_search '+' looped_member_declaration 435 | advance_search '-' '+' shift, and go to state 823 '-' shift, and go to state 824

State 763

459 base_specifier_listbase_specifier_list ',' base_specifier $default reduce using rule 459 (base_specifier_list)

State 764

420 class_specifier_headclass_key scoped_id colon_mark base_specifier_list '{' $default reduce using rule 420 (class_specifier_head)

State 765

455 bit_field_widthlogical_or_expression '?' bit_field_width ':' bit_field_width $default reduce using rule 455 (bit_field_width)

State 766

326 enumerator_definitionenumerator '=' constant_expression $default reduce using rule 326 (enumerator_definition)

State 767

319 enumerator_definition_ecarbbang error '}' 321 enumerator_definition_fillerbang error ',' '}' shift, and go to state 825 ',' shift, and go to state 653

State 768

223 compound_declaration'{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 225 declaration_seq.optdeclaration_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)

State 769

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

State 770

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_expressiontemplated_expression_list ',' templated_assignment_expression 186 templated_expression_listtemplated_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

State 771

538 template_argument_listtemplate_argument_list ',' template_argument $default reduce using rule 538 (template_argument_list)

State 772

363 direct_abstract_declaratordirect_abstract_declarator.opt '[' ']' $default reduce using rule 363 (direct_abstract_declarator)

State 773

364 direct_abstract_declaratordirect_abstract_declarator.opt '[' constant_expression ']' ']' shift, and go to state 829

State 774

72 postfix_expressionCONST_CAST '<' type_id '>' '(' expression ')' ')' shift, and go to state 830

State 775

69 postfix_expressionDYNAMIC_CAST '<' type_id '>' '(' expression ')' ')' shift, and go to state 831

State 776

77 expression_listexpression_list ',' assignment_expression $default reduce using rule 77 (expression_list)

State 777

103 direct_new_declaratordirect_new_declarator '[' constant_expression ']' $default reduce using rule 103 (direct_new_declarator)

State 778

71 postfix_expressionREINTERPRET_CAST '<' type_id '>' '(' expression ')' ')' shift, and go to state 832

State 779

70 postfix_expressionSTATIC_CAST '<' type_id '>' '(' expression ')' ')' shift, and go to state 833

State 780

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

State 781

30 built_in_type_idbuilt_in_type_id built_in_type_specifier 31 pseudo_destructor_idbuilt_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

State 782

55 type1_parameterstype1_parameters parameter_declaration_list ';' 372 parameter_declaration_listparameter_declaration_list ',' parameter_declaration ';' shift, and go to state 834 ',' shift, and go to state 392

State 783

59 postfix_expressionpostfix_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

State 784

54 type1_parametersparameter_declaration_list ';' $default reduce using rule 54 (type1_parameters)

State 785

407 braced_initializer'{' initializer_list ',' '}' $default reduce using rule 407 (braced_initializer)

State 786

410 braced_initializer'{' initializer_list ',' looping_initializer_clause '#' bang error '}' 412 initializer_listinitializer_list ',' looping_initializer_clause ['}', ','] '#' shift, and go to state 837 $default reduce using rule 412 (initializer_list)

State 787

409 braced_initializer'{' looping_initializer_clause '#' bang error '}' error shift, and go to state 838

State 788

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

State 789

416 looped_initializer_clauseadvance_search '-' $default reduce using rule 416 (looped_initializer_clause)

State 790

203 compound_statement'{' statement_seq.opt looping_statement '#' bang error '}' 206 statement_seq.optstatement_seq.opt looping_statement '#' bang error ';' error shift, and go to state 840

State 791

330 namespace_alias_definitionNAMESPACE scoped_id '=' scoped_id ';' '=' shift, and go to state 404

State 792

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

State 793

217 jump_statementBREAK ';' $default reduce using rule 217 (jump_statement)

State 794

200 labeled_statementCASE constant_expression ':' looping_statement ':' shift, and go to state 841

State 795

218 jump_statementCONTINUE ';' $default reduce using rule 218 (jump_statement)

State 796

187 looping_statement start_search looped_statement 201 labeled_statementDEFAULT ':' 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

State 797

214 iteration_statementDO looping_statement WHILE '(' expression ')' ';' WHILE shift, and go to state 843

State 798

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_statementFOR '(' 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

State 799

220 jump_statementGOTO identifier ';' ';' shift, and go to state 846

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 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_statementIF '(' 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

State 801

219 jump_statementRETURN expression.opt ';' ';' shift, and go to state 849

State 802

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_statementSWITCH '(' 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

State 803

541 try_blockTRY 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

State 804

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_statementWHILE '(' 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

State 805

187 looping_statement start_search looped_statement 199 labeled_statementidentifier_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

State 806

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

State 807

190 looped_statementadvance_search '-' $default reduce using rule 190 (looped_statement)

State 808

472 ctor_initializer':' mem_initializer_list bang error ['{'] 476 mem_initializer_list_headmem_initializer_list bang error ',' ',' shift, and go to state 855 $default reduce using rule 472 (ctor_initializer)

State 809

477 mem_initializermem_initializer_id '(' expression_list.opt ')' ')' shift, and go to state 856

State 810

545 exception_declarationparameter_declaration $default reduce using rule 545 (exception_declaration)

State 811

544 handlerCATCH '(' exception_declaration ')' compound_statement ')' shift, and go to state 857

State 812

551 exception_specificationTHROW '(' type_id_list ')' $default reduce using rule 551 (exception_specification)

State 813

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_listtype_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

State 814

428 class_specifierclass_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 431 member_specification.optmember_specification.opt util looping_member_declaration '#' bang error ';' error shift, and go to state 859

State 815

442 simple_member_declarationassignment_expression ';' $default reduce using rule 442 (simple_member_declaration)

State 816

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_declarationsassignment_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

State 817

445 simple_member_declarationdecl_specifier_prefix simple_member_declaration $default reduce using rule 445 (simple_member_declaration)

State 818

443 simple_member_declarationconstructor_head ';' $default reduce using rule 443 (simple_member_declaration)

State 819

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_headconstructor_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_declarationsconstructor_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

State 820

444 simple_member_declarationmember_init_declarations ';' $default reduce using rule 444 (simple_member_declaration)

State 821

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_declarationsmember_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

State 822

451 accessibility_specifieraccess_specifier ':' $default reduce using rule 451 (accessibility_specifier)

State 823

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

State 824

435 looped_member_declarationadvance_search '-' $default reduce using rule 435 (looped_member_declaration)

State 825

319 enumerator_definition_ecarbbang error '}' $default reduce using rule 319 (enumerator_definition_ecarb)

State 826

223 compound_declaration'{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 226 declaration_seq.optdeclaration_seq.opt util looping_declaration '#' bang error ';' 555 bang %empty $default reduce using rule 555 (bang) bang go to state 867

State 827

179 templated_conditional_expressiontemplated_logical_or_expression '?' templated_expression ':' templated_assignment_expression $default reduce using rule 179 (templated_conditional_expression)

State 828

184 templated_expressiontemplated_expression_list ',' templated_assignment_expression [':'] 186 templated_expression_listtemplated_expression_list ',' templated_assignment_expression [','] ',' reduce using rule 186 (templated_expression_list) $default reduce using rule 184 (templated_expression)

State 829

364 direct_abstract_declaratordirect_abstract_declarator.opt '[' constant_expression ']' $default reduce using rule 364 (direct_abstract_declarator)

State 830

72 postfix_expressionCONST_CAST '<' type_id '>' '(' expression ')' $default reduce using rule 72 (postfix_expression)

State 831

69 postfix_expressionDYNAMIC_CAST '<' type_id '>' '(' expression ')' $default reduce using rule 69 (postfix_expression)

State 832

71 postfix_expressionREINTERPRET_CAST '<' type_id '>' '(' expression ')' $default reduce using rule 71 (postfix_expression)

State 833

70 postfix_expressionSTATIC_CAST '<' type_id '>' '(' expression ')' $default reduce using rule 70 (postfix_expression)

State 834

55 type1_parameterstype1_parameters parameter_declaration_list ';' $default reduce using rule 55 (type1_parameters)

State 835

60 postfix_expressionpostfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark error $default reduce using rule 60 (postfix_expression)

State 836

59 postfix_expressionpostfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error error shift, and go to state 868

State 837

410 braced_initializer'{' initializer_list ',' looping_initializer_clause '#' bang error '}' 555 bang %empty $default reduce using rule 555 (bang) bang go to state 869

State 838

409 braced_initializer'{' looping_initializer_clause '#' bang error '}' '}' shift, and go to state 870

State 839

415 looped_initializer_clauseadvance_search '+' looped_initializer_clause $default reduce using rule 415 (looped_initializer_clause)

State 840

203 compound_statement'{' statement_seq.opt looping_statement '#' bang error '}' 206 statement_seq.optstatement_seq.opt looping_statement '#' bang error ';' '}' shift, and go to state 871 ';' shift, and go to state 872

State 841

187 looping_statement start_search looped_statement 200 labeled_statementCASE 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

State 842

201 labeled_statementDEFAULT ':' looping_statement $default reduce using rule 201 (labeled_statement)

State 843

214 iteration_statementDO looping_statement WHILE '(' expression ')' ';' '(' shift, and go to state 874

State 844

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_statementFOR '(' 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

State 845

216 for_init_statementsimple_declaration $default reduce using rule 216 (for_init_statement)

State 846

220 jump_statementGOTO identifier ';' $default reduce using rule 220 (jump_statement)

State 847

207 selection_statementIF '(' condition ')' looping_statement 208 | IF '(' condition ')' looping_statement ELSE looping_statement ')' shift, and go to state 877

State 848

212 conditionparameter_declaration_list [')', ';'] 372 parameter_declaration_listparameter_declaration_list ',' parameter_declaration ',' shift, and go to state 392 $default reduce using rule 212 (condition)

State 849

219 jump_statementRETURN expression.opt ';' $default reduce using rule 219 (jump_statement)

State 850

209 selection_statementSWITCH '(' condition ')' looping_statement ')' shift, and go to state 878

State 851

541 try_blockTRY compound_statement handler_seq $default reduce using rule 541 (try_block)

State 852

213 iteration_statementWHILE '(' condition ')' looping_statement ')' shift, and go to state 879

State 853

199 labeled_statementidentifier_word ':' looping_statement $default reduce using rule 199 (labeled_statement)

State 854

189 looped_statementadvance_search '+' looped_statement $default reduce using rule 189 (looped_statement)

State 855

476 mem_initializer_list_headmem_initializer_list bang error ',' $default reduce using rule 476 (mem_initializer_list_head)

State 856

477 mem_initializermem_initializer_id '(' expression_list.opt ')' $default reduce using rule 477 (mem_initializer)

State 857

202 compound_statement '{' statement_seq.opt '}' 203 | '{' statement_seq.opt looping_statement '#' bang error '}' 544 handlerCATCH '(' exception_declaration ')' compound_statement '{' shift, and go to state 342 compound_statement go to state 880

State 858

553 type_id_listtype_id_list ',' type_id $default reduce using rule 553 (type_id_list)

State 859

428 class_specifierclass_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' 431 member_specification.optmember_specification.opt util looping_member_declaration '#' bang error ';' '}' shift, and go to state 881 ';' shift, and go to state 882

State 860

449 member_init_declarationassignment_expression [';', ','] 452 bit_field_declarationassignment_expression ':' bit_field_width ':' shift, and go to state 341 $default reduce using rule 449 (member_init_declaration)

State 861

446 member_init_declarationsassignment_expression ',' member_init_declaration $default reduce using rule 446 (member_init_declarations)

State 862

450 member_init_declarationbit_field_init_declaration $default reduce using rule 450 (member_init_declaration)

State 863

400 constructor_headconstructor_head ',' assignment_expression ['{', ';', ',', TRY] 452 bit_field_declarationassignment_expression ':' bit_field_width ':' shift, and go to state 341 $default reduce using rule 400 (constructor_head)

State 864

447 member_init_declarationsconstructor_head ',' bit_field_init_declaration $default reduce using rule 447 (member_init_declarations)

State 865

448 member_init_declarationsmember_init_declarations ',' member_init_declaration $default reduce using rule 448 (member_init_declarations)

State 866

434 looped_member_declarationadvance_search '+' looped_member_declaration $default reduce using rule 434 (looped_member_declaration)

State 867

223 compound_declaration'{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 226 declaration_seq.optdeclaration_seq.opt util looping_declaration '#' bang error ';' error shift, and go to state 883

State 868

59 postfix_expressionpostfix_expression parenthesis_clause mark_type1 '+' type1_parameters mark '{' error $default reduce using rule 59 (postfix_expression)

State 869

410 braced_initializer'{' initializer_list ',' looping_initializer_clause '#' bang error '}' error shift, and go to state 884

State 870

409 braced_initializer'{' looping_initializer_clause '#' bang error '}' $default reduce using rule 409 (braced_initializer)

State 871

203 compound_statement'{' statement_seq.opt looping_statement '#' bang error '}' $default reduce using rule 203 (compound_statement)

State 872

206 statement_seq.optstatement_seq.opt looping_statement '#' bang error ';' $default reduce using rule 206 (statement_seq.opt)

State 873

200 labeled_statementCASE constant_expression ':' looping_statement $default reduce using rule 200 (labeled_statement)

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 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_statementDO 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

State 875

215 iteration_statementFOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement ';' shift, and go to state 886

State 876

211 condition.optcondition $default reduce using rule 211 (condition.opt)

State 877

187 looping_statement start_search looped_statement 207 selection_statementIF '(' 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

State 878

187 looping_statement start_search looped_statement 209 selection_statementSWITCH '(' 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

State 879

187 looping_statement start_search looped_statement 213 iteration_statementWHILE '(' 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

State 880

544 handlerCATCH '(' exception_declaration ')' compound_statement $default reduce using rule 544 (handler)

State 881

428 class_specifierclass_specifier_head member_specification.opt util looping_member_declaration '#' bang error '}' $default reduce using rule 428 (class_specifier)

State 882

431 member_specification.optmember_specification.opt util looping_member_declaration '#' bang error ';' $default reduce using rule 431 (member_specification.opt)

State 883

223 compound_declaration'{' nest declaration_seq.opt util looping_declaration '#' bang error '}' 226 declaration_seq.optdeclaration_seq.opt util looping_declaration '#' bang error ';' '}' shift, and go to state 890 ';' shift, and go to state 536

State 884

410 braced_initializer'{' initializer_list ',' looping_initializer_clause '#' bang error '}' '}' shift, and go to state 891

State 885

214 iteration_statementDO looping_statement WHILE '(' expression ')' ';' ')' shift, and go to state 892

State 886

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_statementFOR '(' 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

State 887

207 selection_statementIF '(' 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).

State 888

209 selection_statementSWITCH '(' condition ')' looping_statement $default reduce using rule 209 (selection_statement)

State 889

213 iteration_statementWHILE '(' condition ')' looping_statement $default reduce using rule 213 (iteration_statement)

State 890

223 compound_declaration'{' nest declaration_seq.opt util looping_declaration '#' bang error '}' $default reduce using rule 223 (compound_declaration)

State 891

410 braced_initializer'{' initializer_list ',' looping_initializer_clause '#' bang error '}' $default reduce using rule 410 (braced_initializer)

State 892

214 iteration_statementDO looping_statement WHILE '(' expression ')' ';' ';' shift, and go to state 895

State 893

215 iteration_statementFOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement ')' shift, and go to state 896

State 894

187 looping_statement start_search looped_statement 208 selection_statementIF '(' 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

State 895

214 iteration_statementDO looping_statement WHILE '(' expression ')' ';' $default reduce using rule 214 (iteration_statement)

State 896

187 looping_statement start_search looped_statement 215 iteration_statementFOR '(' 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

State 897

208 selection_statementIF '(' condition ')' looping_statement ELSE looping_statement $default reduce using rule 208 (selection_statement)

State 898

215 iteration_statementFOR '(' for_init_statement condition.opt ';' expression.opt ')' looping_statement $default reduce using rule 215 (iteration_statement)