/* * Automatically generated from the files: * /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/producers/cpp/syntax/syntax.sid * and * /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/producers/cpp/syntax/syntax.act * by: * /mnt/gmirror/ports/lang/TenDRA/work/tendra/obj/utilities/sid/sid */ /* BEGINNING OF HEADER */ #define __SID_SPLIT /* * Crown Copyright (c) 1997, 1998 * * This TenDRA(r) Computer Program is subject to Copyright * owned by the United Kingdom Secretary of State for Defence * acting through the Defence Evaluation and Research Agency * (DERA). It is made available to Recipients with a * royalty-free licence for its use, reproduction, transfer * to other parties and amendment for any purpose not excluding * product development provided that any such use et cetera * shall be deemed to be acceptance of the following conditions:- * * (1) Its Recipients shall ensure that this Notice is * reproduced upon any copies or amended versions of it; * * (2) Any amended version of it shall be clearly marked to * show both the nature of and the organisation responsible * for the relevant amendment or amendments; * * (3) Its onward transfer from a recipient to another * party shall be deemed to be that party's acceptance of * these conditions; * * (4) DERA gives no warranty or assurance as to its * quality or suitability for any purpose and DERA accepts * no liability whatsoever in relation to any use to which * it may be put. */ #include "config.h" #include "producer.h" #include "c_types.h" #include "ctype_ops.h" #include "exp_ops.h" #include "hashid_ops.h" #include "id_ops.h" #include "nspace_ops.h" #include "type_ops.h" #include "error.h" #include "catalog.h" #include "option.h" #include "access.h" #include "allocate.h" #include "assign.h" #include "basetype.h" #include "cast.h" #include "chktype.h" #include "class.h" #include "constant.h" #include "construct.h" #include "convert.h" #include "declare.h" #include "derive.h" #include "dump.h" #include "exception.h" #include "expression.h" #include "function.h" #include "hash.h" #include "identifier.h" #include "initialise.h" #include "inttype.h" #include "label.h" #include "lex.h" #include "literal.h" #include "member.h" #include "namespace.h" #include "parse.h" #include "pragma.h" #include "predict.h" #include "preproc.h" #include "redeclare.h" #include "rewrite.h" #include "statement.h" #include "symbols.h" #include "template.h" #include "tokdef.h" #include "token.h" #include "typeid.h" #include "variable.h" /* * COMPOUND TYPE ALIASES * * These are the aliases for the compound types used in the parser. */ typedef LIST (EXP) SID_LIST_EXP; typedef LIST (TYPE) SID_LIST_TYPE; /* * FUNCTION DECLARATIONS * * The function declarations are included at this point so that the * type definitions are in scope. */ #include "syntax.h" /* * COMPILATION MODE * * The output of sid is automatically generated. Hence it is not * necessarily appropriate to apply the same level of checking to this * as to the rest of the program. These pragmas describe the relaxations * allowed for the sid output. */ #if FS_TENDRA #pragma TenDRA begin #pragma TenDRA const conditional allow #pragma TenDRA unreachable code allow #pragma TenDRA variable analysis off #endif void ZR790 (CV_SPEC *ZO788) { CV_SPEC ZI788; if ((CURRENT_TERMINAL) == 358) { return; } { CV_SPEC ZI497; ZR789 (&ZI497); { switch (CURRENT_TERMINAL) { case lex_const: case lex_volatile: case lex_restrict: { CV_SPEC ZI460; ZR790 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { CV_SPEC c = ((ZI497) & (ZI460)); if (c) report (crt_loc, ERR_dcl_type_cv_dup (c)); (ZI788) = ((ZI497) | (ZI460)); } } break; default: { ZI788 = ZI497; } break; case 358: RESTORE_LEXER; goto ZL1; } } } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO788 = ZI788; } void ZR1472 (IDENTIFIER *ZI1471, EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_open_Hround: { IDENTIFIER ZI423; TYPE ZI1270; BASE_TYPE ZI515; CV_SPEC ZI788; TYPE ZI418; SID_LIST_EXP ZI501; EXP ZI1286; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI497; int ZI674; { (ZI423) = (*ZI1471); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { MAKE_type_pre (cv_none, btype_alias, crt_id_qualifier, (ZI1270)); COPY_id (type_name ((ZI1270)), (ZI423)); have_type_specifier = 1; } { (ZI515) = btype_none; } { (ZI788) = cv_none; } { (ZI418) = complete_pre_type ((ZI515), (ZI1270), (ZI788), 1); have_type_specifier = 0; } ADVANCE_LEXER; ZR504 (&ZI501); switch (CURRENT_TERMINAL) { case lex_close_Hround: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; { (ZI1286) = make_func_cast_exp ((ZI418), (ZI501)); } ZR1245 (ZI1286, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI435) = make_exp_stmt ((ZI497)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_colon: { EXP ZI497; EXP ZI460; { crt_id_qualifier = qual_none; crt_templ_qualifier = 0; qual_namespace = NULL_nspace; } { if (unreached_code) unreached_fall = 0; } { (ZI497) = begin_label_stmt ((*ZI1471), lex_identifier); } ADVANCE_LEXER; ZR665 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI435) = end_label_stmt ((ZI497), (ZI460)); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1345 (void) { switch (CURRENT_TERMINAL) { case lex_hash_Hif: { ZR840 (); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case lex_using: { ZR1057 (); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case 358: return; default: goto ZL1; } return; ZL1:; SAVE_LEXER (358); return; } void ZR1027 (EXP ZI562, EXP *ZO435) { EXP ZI435; if ((CURRENT_TERMINAL) == 358) { return; } { EXP ZI460; EXP ZI463; EXP ZI497; ZR1024 (ZI562, &ZI460, &ZI463); { if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { switch (CURRENT_TERMINAL) { case lex_open_Hbrace_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } { COPY_int (exp_sequence_block ((ZI460)), 2); } ZR680 (ZI460, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI435) = ctor_postlude ((ZI497), (ZI463)); } { { switch (CURRENT_TERMINAL) { case lex_close_Hbrace_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1600 (EXP *ZI1599, EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_inset_Hend: { SID_LIST_EXP ZI484; SID_LIST_EXP ZI501; EXP ZI497; int ZI674; ADVANCE_LEXER; ZR652 (&ZI484); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { CONS_exp ((*ZI1599), (ZI484), (ZI501)); } { (ZI497) = make_comma_exp ((ZI501)); } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI435) = make_exp_stmt ((ZI497)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_semicolon: { int ZI674; ADVANCE_LEXER; switch (CURRENT_TERMINAL) { case lex_inset_Hend: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI435) = make_exp_stmt ((*ZI1599)); } { unreached_fall = 1; } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1474 (IDENTIFIER *ZI1473, EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_and_H1: case lex_and_Heq_H1: case lex_arrow: case lex_assign: case lex_comma: case lex_div: case lex_div_Heq: case lex_dot: case lex_eq: case lex_greater: case lex_greater_Heq: case lex_less: case lex_less_Heq: case lex_logical_Hand_H1: case lex_logical_Hor_H1: case lex_lshift: case lex_lshift_Heq: case lex_minus: case lex_minus_Heq: case lex_minus_Hminus: case lex_not_Heq_H1: case lex_open_Hround: case lex_open_Hsquare_H1: case lex_or_H1: case lex_or_Heq_H1: case lex_plus: case lex_plus_Heq: case lex_plus_Hplus: case lex_question: case lex_rem: case lex_rem_Heq: case lex_rshift: case lex_rshift_Heq: case lex_semicolon: case lex_star: case lex_star_Heq: case lex_xor_H1: case lex_xor_Heq_H1: case lex_arrow_Hstar: case lex_dot_Hstar: case lex_max: case lex_min: { IDENTIFIER ZI423; EXP ZI1288; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI497; int ZI674; { (ZI423) = (*ZI1473); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1288) = make_id_exp ((ZI423)); } ZR1245 (ZI1288, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI435) = make_exp_stmt ((ZI497)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_colon: { EXP ZI497; EXP ZI460; { crt_id_qualifier = qual_none; crt_templ_qualifier = 0; qual_namespace = NULL_nspace; } { if (unreached_code) unreached_fall = 0; } { (ZI497) = begin_label_stmt ((*ZI1473), lex_identifier); } ADVANCE_LEXER; ZR665 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI435) = end_label_stmt ((ZI497), (ZI460)); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR793 (CV_SPEC *ZO788) { CV_SPEC ZI788; switch (CURRENT_TERMINAL) { case lex_const: case lex_volatile: case lex_restrict: { ZR790 (&ZI788); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; default: { { (ZI788) = cv_none; } } break; case 358: return; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO788 = ZI788; } void ZR1221 (EXP ZI1219, EXP *ZO1220) { EXP ZI1220; ZL2_1221:; switch (CURRENT_TERMINAL) { case lex_eq: case lex_not_Heq_H1: { int ZI454; EXP ZI460; EXP ZI435; { (ZI454) = crt_lex_token; } ZR620 (); ZR618 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { /* op will be in its primary form */ (ZI435) = make_equality_exp ((ZI454), (ZI1219), (ZI460)); } ZI1219 = ZI435; goto ZL2_1221; } /*UNREACHED*/ default: { ZI1220 = ZI1219; } break; case 358: return; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO1220 = ZI1220; } void ZR716 (EXP *ZO435) { EXP ZI435; if ((CURRENT_TERMINAL) == 358) { return; } { IDENTIFIER ZI463; EXP ZI497; { /* Resolve declaration-statements from expression-statements */ int b = predict_decl (); if (b) in_declaration++; (ZI0) = b; } if (!ZI0) goto ZL2; { begin_cond (); } ZR1101 (&ZI463); switch (CURRENT_TERMINAL) { case lex_assign: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; ZR653 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } { int def = init_object ((ZI463), (ZI497)); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } { end_declarator ((ZI463), 1); } { (ZI435) = end_cond (); in_declaration--; } goto ZL0; } /*UNREACHED*/ ZL2:; switch (CURRENT_TERMINAL) { case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_nested_Hname: case lex_full_Hname: case lex_char_Hexp: case lex_wchar_Hexp: case lex_string_Hexp: case lex_wstring_Hexp: case lex_integer_Hexp: case lex_floating_Hexp: case lex_complex_Hexp: case lex_complex_Htype: case lex_and_H1: case lex_compl_H1: case lex_minus: case lex_minus_Hminus: case lex_not_H1: case lex_open_Hround: case lex_plus: case lex_plus_Hplus: case lex_star: case lex_colon_Hcolon: case lex_abs: case lex_char: case lex_double: case lex_float: case lex_int: case lex_long: case lex_short: case lex_signed: case lex_sizeof: case lex_unsigned: case lex_void: case lex_bool: case lex_const_Hcast: case lex_delete: case lex_dynamic_Hcast: case lex_false: case lex_new: case lex_operator: case lex_reinterpret_Hcast: case lex_static_Hcast: case lex_this: case lex_throw: case lex_true: case lex_typeid: case lex_wchar_Ht: case lex_alignof: case lex_bottom: case lex_discard: case lex_ellipsis_Hexp: case lex_ptrdiff_Ht: case lex_set: case lex_size_Ht: case lex_unused: case lex_vtable: case lex_inset_Hstart: { ZR495 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1476 (IDENTIFIER *ZI1475, EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { default: { IDENTIFIER ZI423; EXP ZI497; { (ZI423) = (*ZI1475); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI497) = make_id_exp ((ZI423)); } { (ZI435) = make_exp_stmt ((ZI497)); } } break; case lex_colon: { EXP ZI497; EXP ZI460; { crt_id_qualifier = qual_none; crt_templ_qualifier = 0; qual_namespace = NULL_nspace; } { if (unreached_code) unreached_fall = 0; } { (ZI497) = begin_label_stmt ((*ZI1475), lex_identifier); } ADVANCE_LEXER; ZR665 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI435) = end_label_stmt ((ZI497), (ZI460)); } } break; case 358: return; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1349 (NAMESPACE *ZI429, IDENTIFIER *ZO423) { IDENTIFIER ZI423; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { crt_id_qualifier = qual_nested; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), 0); last_namespace = (*ZI429); } } break; case lex_type_Hname: case lex_template_Htype: { IDENTIFIER ZI1346; IDENTIFIER ZI464; { switch (CURRENT_TERMINAL) { case lex_template_Htype: { { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI1346 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; } break; case lex_type_Hname: { { ZI1346 = crt_token->pp_data.id.use; } ADVANCE_LEXER; } break; default: goto ZL1; } } { crt_id_qualifier = qual_nested; qual_namespace = (*ZI429); } { (ZI464) = check_id ((*ZI429), (ZI1346), 0); last_namespace = (*ZI429); } { (ZI423) = constr_name (last_namespace, (ZI464)); } } break; case lex_identifier: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_operator: case lex_template: { int ZI484; IDENTIFIER ZI482; ZR479 (*ZI429, &ZI484); ZR480 (*ZI429, &ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { crt_id_qualifier = qual_nested; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), (ZI484)); last_namespace = (*ZI429); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO423 = ZI423; } void ZR1604 (void) { switch (CURRENT_TERMINAL) { case lex_semicolon: { ADVANCE_LEXER; { unreached_fall = 0; } } break; default: { { unreached_fall = 0; } } break; case 358: return; } } void ZR1477 (NAMESPACE *ZI429, EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; IDENTIFIER ZI423; EXP ZI497; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { crt_id_qualifier = qual_nested; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), 0); last_namespace = (*ZI429); } { (ZI497) = make_id_exp ((ZI423)); } { (ZI435) = make_exp_stmt ((ZI497)); } } break; case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_operator: case lex_template: { EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI497; int ZI674; ZR1271 (ZI429, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI435) = make_exp_stmt ((ZI497)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1350 (NAMESPACE *ZI429, IDENTIFIER *ZO423) { IDENTIFIER ZI423; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { crt_id_qualifier = qual_full; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), 0); last_namespace = (*ZI429); } } break; case lex_type_Hname: case lex_template_Htype: { IDENTIFIER ZI1347; IDENTIFIER ZI464; { switch (CURRENT_TERMINAL) { case lex_template_Htype: { { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI1347 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; } break; case lex_type_Hname: { { ZI1347 = crt_token->pp_data.id.use; } ADVANCE_LEXER; } break; default: goto ZL1; } } { crt_id_qualifier = qual_full; qual_namespace = (*ZI429); } { (ZI464) = check_id ((*ZI429), (ZI1347), 0); last_namespace = (*ZI429); } { (ZI423) = constr_name (last_namespace, (ZI464)); } } break; case lex_identifier: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_operator: case lex_template: { int ZI484; IDENTIFIER ZI482; ZR479 (*ZI429, &ZI484); ZR480 (*ZI429, &ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { crt_id_qualifier = qual_full; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), (ZI484)); last_namespace = (*ZI429); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO423 = ZI423; } void ZR852 (int *ZO418) { int ZI418; switch (CURRENT_TERMINAL) { case lex_colon: { ADVANCE_LEXER; ZR1331 (&ZI418); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; default: { { (ZI418) = 1; } } break; case 358: return; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO418 = ZI418; } void ZR995 (TYPE *ZO1153) { TYPE ZI1153; if ((CURRENT_TERMINAL) == 358) { return; } { EXP ZI497; EXP ZI435; TYPE ZI418; { { switch (CURRENT_TERMINAL) { case lex_open_Hsquare_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } ZR495 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI435) = convert_reference ((ZI497), REF_NORMAL); (ZI435) = convert_lvalue ((ZI435)); } { /* First array bound in a new-declarator */ NAT n = make_new_array_dim ((ZI435)); MAKE_type_array (cv_none, NULL_type, n, (ZI418)); } { { switch (CURRENT_TERMINAL) { case lex_close_Hsquare_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } ZR1154 (ZI418, &ZI1153); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO1153 = ZI1153; } void ZR1478 (NAMESPACE *ZI429, EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; IDENTIFIER ZI423; EXP ZI497; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { crt_id_qualifier = qual_full; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), 0); last_namespace = (*ZI429); } { (ZI497) = make_id_exp ((ZI423)); } { (ZI435) = make_exp_stmt ((ZI497)); } } break; case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_operator: case lex_template: { EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI497; int ZI674; ZR1272 (ZI429, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI435) = make_exp_stmt ((ZI497)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1351 (IDENTIFIER *ZO423) { IDENTIFIER ZI423; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; NAMESPACE ZI429; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } { (ZI423) = check_id ((ZI429), (ZI482), 0); last_namespace = (ZI429); } } break; case lex_type_Hname: case lex_template_Htype: { IDENTIFIER ZI1348; NAMESPACE ZI429; IDENTIFIER ZI464; { switch (CURRENT_TERMINAL) { case lex_template_Htype: { { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI1348 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; } break; case lex_type_Hname: { { ZI1348 = crt_token->pp_data.id.use; } ADVANCE_LEXER; } break; default: goto ZL1; } } { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } { (ZI464) = check_id ((ZI429), (ZI1348), 0); last_namespace = (ZI429); } { (ZI423) = constr_name (last_namespace, (ZI464)); } } break; case lex_identifier: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_operator: case lex_template: { NAMESPACE ZI429; int ZI484; IDENTIFIER ZI482; { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } ZR479 (ZI429, &ZI484); ZR480 (ZI429, &ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI423) = check_id ((ZI429), (ZI482), (ZI484)); last_namespace = (ZI429); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO423 = ZI423; } void ZR1097 (BASE_TYPE *ZI515, DECL_SPEC *ZI1078, TYPE *ZI1079, ACCESS_LIST *ZI674, IDENTIFIER *ZI463) { if ((CURRENT_TERMINAL) == 358) { return; } { { /* Resolve function definitions from other declarations */ (ZI0) = is_function_next; } if (!ZI0) goto ZL2; { free_access (&(*ZI674)); } { skip_function ((*ZI463)); } { end_declarator ((*ZI463), 1); } { RESCAN_LEXER; } goto ZL0; } /*UNREACHED*/ ZL2:; switch (CURRENT_TERMINAL) { case lex_comma: { int ZI555; ADVANCE_LEXER; { end_declarator ((*ZI463), 1); } { (ZI555) = 0; } { crt_templ_qualifier = 0; } ZR1092 (*ZI1078, *ZI1079, *ZI515, *ZI674, ZI555); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { free_access (&(*ZI674)); } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_semicolon: { ADVANCE_LEXER; { free_access (&(*ZI674)); } { end_declarator ((*ZI463), 1); } } break; default: goto ZL1; } return; ZL1:; SAVE_LEXER (358); return; ZL0:; } void ZR431 (NAMESPACE *ZO429) { NAMESPACE ZI429; switch (CURRENT_TERMINAL) { case lex_colon_Hcolon: { ADVANCE_LEXER; { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } } break; case lex_nested_Hname: case lex_full_Hname: { ZR430 (&ZI429); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO429 = ZI429; } void ZR666 (void) { switch (CURRENT_TERMINAL) { case lex_fall: { ADVANCE_LEXER; ZR1604 (); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case 358: return; default: break; } return; ZL1:; SAVE_LEXER (358); return; } void ZR789 (CV_SPEC *ZO788) { CV_SPEC ZI788; switch (CURRENT_TERMINAL) { case lex_const: { ADVANCE_LEXER; { (ZI788) = cv_const; } } break; case lex_restrict: { ADVANCE_LEXER; { (ZI788) = cv_restrict; } } break; case lex_volatile: { ADVANCE_LEXER; { (ZI788) = cv_volatile; } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO788 = ZI788; } void ZR840 (void) { if ((CURRENT_TERMINAL) == 358) { return; } { EXP ZI501; ZR839 (&ZI501); { switch (CURRENT_TERMINAL) { case lex_hash_Helse: { ADVANCE_LEXER; { crt_hash_cond = make_else_cond (crt_hash_cond); } { target_decl (lex_else, NULL_exp); } ZR838 (); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case 358: RESTORE_LEXER; goto ZL1; default: break; } } { crt_hash_cond = (ZI501); } switch (CURRENT_TERMINAL) { case lex_hash_Hendif: break; default: goto ZL1; } ADVANCE_LEXER; { target_decl (lex_endif, NULL_exp); } } return; ZL1:; SAVE_LEXER (358); return; } void ZR1479 (EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; NAMESPACE ZI429; IDENTIFIER ZI423; EXP ZI497; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } { (ZI423) = check_id ((ZI429), (ZI482), 0); last_namespace = (ZI429); } { (ZI497) = make_id_exp ((ZI423)); } { (ZI435) = make_exp_stmt ((ZI497)); } } break; case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_delete: case lex_new: case lex_operator: case lex_template: { EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI497; int ZI674; ZR1289 (&ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI435) = make_exp_stmt ((ZI497)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1225 (EXP ZI1223, EXP *ZO1224) { EXP ZI1224; ZL2_1225:; switch (CURRENT_TERMINAL) { case lex_greater: case lex_greater_Heq: case lex_less: case lex_less_Heq: { int ZI454; EXP ZI460; EXP ZI435; { (ZI454) = crt_lex_token; } { switch (CURRENT_TERMINAL) { case lex_greater: { ADVANCE_LEXER; } break; case lex_greater_Heq: { ADVANCE_LEXER; } break; case lex_less: { ADVANCE_LEXER; } break; case lex_less_Heq: { ADVANCE_LEXER; } break; default: goto ZL1; } } ZR615 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { /* op will be in its primary form */ (ZI435) = make_relation_exp ((ZI454), (ZI1223), (ZI460)); } ZI1223 = ZI435; goto ZL2_1225; } /*UNREACHED*/ default: { ZI1224 = ZI1223; } break; case 358: return; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO1224 = ZI1224; } void ZR1607 (NAMESPACE *ZI429, IDENTIFIER *ZO423) { IDENTIFIER ZI423; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { crt_id_qualifier = qual_nested; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), 0); last_namespace = (*ZI429); } } break; case lex_type_Hname: case lex_template_Htype: { IDENTIFIER ZI464; { switch (CURRENT_TERMINAL) { case lex_template_Htype: { { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI464 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; } break; case lex_type_Hname: { { ZI464 = crt_token->pp_data.id.use; } ADVANCE_LEXER; } break; default: goto ZL1; } } { crt_id_qualifier = qual_nested; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI464), 0); last_namespace = (*ZI429); } } break; case lex_identifier: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_operator: case lex_template: { int ZI484; IDENTIFIER ZI482; ZR479 (*ZI429, &ZI484); ZR480 (*ZI429, &ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { crt_id_qualifier = qual_nested; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), (ZI484)); last_namespace = (*ZI429); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO423 = ZI423; } void ZR600 (void) { switch (CURRENT_TERMINAL) { case lex_abs: { ADVANCE_LEXER; } break; case lex_minus: { ADVANCE_LEXER; } break; case lex_plus: { ADVANCE_LEXER; } break; case lex_compl_H1: { { { switch (CURRENT_TERMINAL) { case lex_compl_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } } break; case 358: return; default: goto ZL1; } return; ZL1:; SAVE_LEXER (358); return; } void ZR1089 (DECL_SPEC ZI693, TYPE ZI501, BASE_TYPE ZI484, ACCESS_LIST ZI674, int ZI724, IDENTIFIER *ZO463) { IDENTIFIER ZI463; switch (CURRENT_TERMINAL) { case lex_colon_Hcolon: { IDENTIFIER ZI1358; TYPE ZI1359; int ZI1360; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; ADVANCE_LEXER; ZR1351 (&ZI1358); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1359) = NULL_type; } { (ZI1360) = 0; } { begin_declarator ((ZI1358), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI1359, ZI1358, ZI1360, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_destructor_Hname: { IDENTIFIER ZI482; IDENTIFIER ZI1358; TYPE ZI1359; int ZI1360; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI1358) = check_id (NULL_nspace, (ZI482), 0); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1359) = NULL_type; } { (ZI1360) = 0; } { begin_declarator ((ZI1358), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI1359, ZI1358, ZI1360, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_full_Hname: { NAMESPACE ZI429; IDENTIFIER ZI1358; TYPE ZI1359; int ZI1360; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; { ZI429 = crt_token->pp_data.ns; } ADVANCE_LEXER; ZR1350 (&ZI429, &ZI1358); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1359) = NULL_type; } { (ZI1360) = 0; } { begin_declarator ((ZI1358), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI1359, ZI1358, ZI1360, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_identifier: { IDENTIFIER ZI1365; IDENTIFIER ZI1366; { ZI1365 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI1366) = (ZI1365); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } ZR1370 (&ZI693, &ZI501, &ZI484, &ZI674, &ZI724, &ZI1366, &ZI463); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case lex_namespace_Hname: { IDENTIFIER ZI1368; IDENTIFIER ZI1369; { ZI1368 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI1369) = (ZI1368); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } ZR1370 (&ZI693, &ZI501, &ZI484, &ZI674, &ZI724, &ZI1369, &ZI463); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case lex_nested_Hname: { NAMESPACE ZI429; IDENTIFIER ZI1358; TYPE ZI1359; int ZI1360; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; { ZI429 = crt_token->pp_data.ns; } ADVANCE_LEXER; ZR1349 (&ZI429, &ZI1358); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1359) = NULL_type; } { (ZI1360) = 0; } { begin_declarator ((ZI1358), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI1359, ZI1358, ZI1360, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_open_Hround: { TYPE ZI1355; IDENTIFIER ZI1356; int ZI1357; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; ADVANCE_LEXER; ZR945 (&ZI1355, &ZI1356, &ZI1357); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if ((ZI1357)) report (crt_loc, ERR_dcl_init_bad ()); } { if (IS_NULL_type ((ZI1355))) { report (crt_loc, ERR_dcl_meaning_paren ()); } } switch (CURRENT_TERMINAL) { case lex_close_Hround: break; default: goto ZL1; } ADVANCE_LEXER; ZR1182 (ZI1355, ZI1356, ZI1357, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_statement_Hname: { IDENTIFIER ZI1362; IDENTIFIER ZI1363; { ZI1362 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI1363) = (ZI1362); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } ZR1370 (&ZI693, &ZI501, &ZI484, &ZI674, &ZI724, &ZI1363, &ZI463); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case lex_template_Hid: { IDENTIFIER ZI482; IDENTIFIER ZI1358; TYPE ZI1359; int ZI1360; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI482 = parse_id_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; { (ZI1358) = check_id (NULL_nspace, (ZI482), 0); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1359) = NULL_type; } { (ZI1360) = 0; } { begin_declarator ((ZI1358), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI1359, ZI1358, ZI1360, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_template_Htype: { IDENTIFIER ZI1361; IDENTIFIER ZI464; IDENTIFIER ZI1358; TYPE ZI1359; int ZI1360; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI1361 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; { (ZI464) = (ZI1361); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1358) = constr_name (last_namespace, (ZI464)); } { (ZI1359) = NULL_type; } { (ZI1360) = 0; } { begin_declarator ((ZI1358), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI1359, ZI1358, ZI1360, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_type_Hname: { IDENTIFIER ZI1371; IDENTIFIER ZI1372; { ZI1371 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI1372) = (ZI1371); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } ZR1373 (&ZI693, &ZI501, &ZI484, &ZI674, &ZI724, &ZI1372, &ZI463); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case lex_operator: { IDENTIFIER ZI482; IDENTIFIER ZI1358; TYPE ZI1359; int ZI1360; TYPE ZI1352; IDENTIFIER ZI423; int ZI562; TYPE ZI418; int ZI1090; EXP ZI435; parse_operator (&ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1358) = check_id (NULL_nspace, (ZI482), 0); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1359) = NULL_type; } { (ZI1360) = 0; } { begin_declarator ((ZI1358), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI1359, ZI1358, ZI1360, &ZI1352, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_nested_Hname_Hstar: case lex_full_Hname_Hstar: case lex_and_H1: case lex_star: { TYPE ZI1353; TYPE ZI1354; IDENTIFIER ZI423; int ZI562; TYPE ZI1352; TYPE ZI418; int ZI1090; EXP ZI435; ZR931 (&ZI1353); ZR945 (&ZI1354, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1352) = (IS_NULL_type ((ZI1354)) ? (ZI1353): inject_pre_type ((ZI1354), (ZI1353), 0)); } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { (ZI418) = (IS_NULL_type ((ZI1352)) ? (ZI501): inject_pre_type ((ZI1352), (ZI501), 1)); } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { DECL_SPEC ds = (ZI693); if (type_tag ((ZI418)) == type_func_tag) { /* Look ahead for function definitions */ int def = predict_func_defn (); if (def & !have_func_declarator) adjust_param ((ZI418)); if (ds & dspec_friend) { (ZI463) = make_friend_decl (ds, (ZI418), (ZI423), def, 1); (ZI1090) = 1; } else { (ZI463) = make_func_mem_decl (ds, (ZI418), (ZI423), def); (ZI1090) = 0; } is_function_next = def; } else { int f = ((ZI724) && (crt_lex_token == lex_semicolon)); (ZI463) = make_member_decl (ds, (ZI418), (ZI423), f); (ZI1090) = 0; is_function_next = 0; } if (IS_id_type_alias ((ZI463))) { BASE_TYPE bs = DEREF_btype (id_type_alias_rep ((ZI463))); bs |= (ZI484); COPY_btype (id_type_alias_rep ((ZI463)), bs); } have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } ZR1088 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { int def = ((ZI1090) ? init_object ((ZI463), (ZI435)) : init_member ((ZI463), (ZI435))); if (do_dump) dump_declare ((ZI463), &decl_loc, def); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_colon: { IDENTIFIER ZI423; QUALIFIER ZI459; int ZI460; EXP ZI562; TYPE ZI418; { HASHID nm = lookup_anon (); (ZI423) = DEREF_id (hashid_id (nm)); crt_id_qualifier = qual_none; qual_namespace = NULL_nspace; } { if (!IS_NULL_type ((ZI501))) template_decl ((ZI501)); } { begin_declarator ((ZI423), crt_id_qualifier, qual_namespace, 1); } { (ZI459) = crt_id_qualifier; (ZI460) = crt_templ_qualifier; } ADVANCE_LEXER; ZR655 (&ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { crt_id_qualifier = (ZI459); crt_templ_qualifier = (ZI460); } { /* Check for anonymous bitfields */ HASHID nm = DEREF_hashid (id_name ((ZI423))); int z = IS_hashid_anon (nm); (ZI418) = make_bitfield_type ((ZI501), (ZI484), (ZI562), z); } { IDENTIFIER id = make_member_decl ((ZI693), (ZI418), (ZI423), 0); int def = init_member (id, NULL_exp); if (do_dump) dump_declare (id, &decl_loc, def); have_type_declaration = TYPE_DECL_NONE; have_func_declarator = 0; is_function_next = 0; (ZI463) = id; } { IGNORE clear_access ((ZI463), &(ZI674)); } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO463 = ZI463; } void ZR1608 (NAMESPACE *ZI429, IDENTIFIER *ZO423) { IDENTIFIER ZI423; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { crt_id_qualifier = qual_full; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), 0); last_namespace = (*ZI429); } } break; case lex_type_Hname: case lex_template_Htype: { IDENTIFIER ZI464; { switch (CURRENT_TERMINAL) { case lex_template_Htype: { { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI464 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; } break; case lex_type_Hname: { { ZI464 = crt_token->pp_data.id.use; } ADVANCE_LEXER; } break; default: goto ZL1; } } { crt_id_qualifier = qual_full; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI464), 0); last_namespace = (*ZI429); } } break; case lex_identifier: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_operator: case lex_template: { int ZI484; IDENTIFIER ZI482; ZR479 (*ZI429, &ZI484); ZR480 (*ZI429, &ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { crt_id_qualifier = qual_full; qual_namespace = (*ZI429); } { (ZI423) = check_id ((*ZI429), (ZI482), (ZI484)); last_namespace = (*ZI429); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO423 = ZI423; } void ZR432 (NAMESPACE *ZO429) { NAMESPACE ZI429; switch (CURRENT_TERMINAL) { case lex_nested_Hname: case lex_full_Hname: case lex_colon_Hcolon: { ZR431 (&ZI429); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; default: { { (ZI429) = NULL_nspace; crt_id_qualifier = qual_none; qual_namespace = NULL_nspace; } } break; case 358: return; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO429 = ZI429; } void ZR1609 (IDENTIFIER *ZO423) { IDENTIFIER ZI423; switch (CURRENT_TERMINAL) { case lex_statement_Hname: { IDENTIFIER ZI482; NAMESPACE ZI429; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } { (ZI423) = check_id ((ZI429), (ZI482), 0); last_namespace = (ZI429); } } break; case lex_type_Hname: case lex_template_Htype: { IDENTIFIER ZI464; NAMESPACE ZI429; { switch (CURRENT_TERMINAL) { case lex_template_Htype: { { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI464 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; } break; case lex_type_Hname: { { ZI464 = crt_token->pp_data.id.use; } ADVANCE_LEXER; } break; default: goto ZL1; } } { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } { (ZI423) = check_id ((ZI429), (ZI464), 0); last_namespace = (ZI429); } } break; case lex_identifier: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_operator: case lex_template: { NAMESPACE ZI429; int ZI484; IDENTIFIER ZI482; { (ZI429) = global_namespace; crt_id_qualifier = qual_top; qual_namespace = (ZI429); } ZR479 (ZI429, &ZI484); ZR480 (ZI429, &ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI423) = check_id ((ZI429), (ZI482), (ZI484)); last_namespace = (ZI429); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO423 = ZI423; } void ZR1003 (IDENTIFIER ZI463, EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_nested_Hname: case lex_full_Hname: case lex_char_Hexp: case lex_wchar_Hexp: case lex_string_Hexp: case lex_wstring_Hexp: case lex_integer_Hexp: case lex_floating_Hexp: case lex_complex_Hexp: case lex_complex_Htype: case lex_and_H1: case lex_compl_H1: case lex_minus: case lex_minus_Hminus: case lex_not_H1: case lex_open_Hround: case lex_plus: case lex_plus_Hplus: case lex_star: case lex_colon_Hcolon: case lex_abs: case lex_char: case lex_double: case lex_float: case lex_int: case lex_long: case lex_short: case lex_signed: case lex_sizeof: case lex_unsigned: case lex_void: case lex_bool: case lex_const_Hcast: case lex_delete: case lex_dynamic_Hcast: case lex_false: case lex_new: case lex_operator: case lex_reinterpret_Hcast: case lex_static_Hcast: case lex_this: case lex_throw: case lex_true: case lex_typeid: case lex_wchar_Ht: case lex_alignof: case lex_bottom: case lex_discard: case lex_ellipsis_Hexp: case lex_ptrdiff_Ht: case lex_size_Ht: case lex_vtable: { ZR653 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if (crt_access_list.pending) { IGNORE report_access ((ZI463)); } } } break; case lex_open_Hbrace_H1: { SID_LIST_EXP ZI501; { { switch (CURRENT_TERMINAL) { case lex_open_Hbrace_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } ZR1006 (&ZI463, &ZI501); { if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { switch (CURRENT_TERMINAL) { case lex_close_Hbrace_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } { /* The expression type is a dummy */ MAKE_exp_aggregate (type_void, (ZI501), NULL_list (OFFSET), (ZI435)); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR1094 (TYPE ZI418, DECL_SPEC ZI693) { if ((CURRENT_TERMINAL) == 358) { return; } { int ZI718; TOKEN ZI501; TYPE ZI880; ZR1115 (&ZI718); switch (CURRENT_TERMINAL) { case lex_template: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; { (ZI501) = template_params ((ZI718)); RESCAN_LEXER; } { (ZI880) = make_template_type ((ZI501), (ZI418)); } ZR843 (ZI880, ZI693); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { end_template ((ZI501)); } { RESCAN_LEXER; } } return; ZL1:; SAVE_LEXER (358); return; } void ZR1229 (EXP ZI1227, EXP *ZO1228) { EXP ZI1228; ZL2_1229:; switch (CURRENT_TERMINAL) { case lex_lshift: { EXP ZI460; EXP ZI435; ADVANCE_LEXER; ZR612 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI435) = make_shift_exp (lex_lshift, (ZI1227), (ZI460)); } ZI1227 = ZI435; goto ZL2_1229; } /*UNREACHED*/ case lex_rshift: { EXP ZI460; EXP ZI435; ADVANCE_LEXER; ZR612 (&ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI435) = make_shift_exp (lex_rshift, (ZI1227), (ZI460)); } ZI1227 = ZI435; goto ZL2_1229; } /*UNREACHED*/ default: { ZI1228 = ZI1227; } break; case 358: return; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO1228 = ZI1228; } void ZR612 (EXP *ZO1232) { EXP ZI1232; if ((CURRENT_TERMINAL) == 358) { return; } { EXP ZI435; ZR609 (&ZI435); ZR1233 (ZI435, &ZI1232); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO1232 = ZI1232; } void ZR954 (TYPE *ZO1179, IDENTIFIER *ZO1180, int *ZO1181) { TYPE ZI1179; IDENTIFIER ZI1180; int ZI1181; switch (CURRENT_TERMINAL) { case lex_open_Hround: { TYPE ZI418; IDENTIFIER ZI423; int ZI562; ADVANCE_LEXER; ZR945 (&ZI418, &ZI423, &ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { if ((ZI562)) report (crt_loc, ERR_dcl_init_bad ()); } { if (IS_NULL_type ((ZI418))) { report (crt_loc, ERR_dcl_meaning_paren ()); } } switch (CURRENT_TERMINAL) { case lex_close_Hround: break; default: goto ZL1; } ADVANCE_LEXER; ZR1182 (ZI418, ZI423, ZI562, &ZI1179, &ZI1180, &ZI1181); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_statement_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_nested_Hname: case lex_full_Hname: case lex_colon_Hcolon: case lex_operator: { IDENTIFIER ZI423; TYPE ZI418; int ZI562; ZR947 (&ZI423); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI418) = NULL_type; } { (ZI562) = 0; } { begin_declarator ((ZI423), crt_id_qualifier, qual_namespace, 1); } ZR1182 (ZI418, ZI423, ZI562, &ZI1179, &ZI1180, &ZI1181); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO1179 = ZI1179; *ZO1180 = ZI1180; *ZO1181 = ZI1181; } void ZR717 (EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_if: { unsigned ZI718; int ZI674; EXP ZI562; EXP ZI497; EXP ZI719; EXP ZI720; EXP ZI460; EXP ZI463; EXP ZI724; ADVANCE_LEXER; { (ZI718) = crt_condition; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } ZR421 (); ZR716 (&ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI497) = begin_if_stmt ((ZI562)); } switch (CURRENT_TERMINAL) { case lex_close_Hround: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI719) = begin_compound_stmt (1); } { (ZI720) = inject_cond ((ZI719), (ZI562)); } ZR685 (ZI720, &ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { unreached_prev = (ZI674); } { (ZI463) = cont_if_stmt ((ZI497), (ZI460)); } { { EXP ZI722; EXP ZI723; switch (CURRENT_TERMINAL) { case lex_else: break; default: goto ZL3; } ADVANCE_LEXER; { check_empty_stmt (lex_else); } { (ZI722) = begin_compound_stmt (1); } { (ZI723) = inject_cond ((ZI722), (ZI562)); } ZR685 (ZI723, &ZI724); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL3; } } goto ZL2; ZL3:; { { report (crt_loc, ERR_stmt_if_no_else ()); (ZI724) = NULL_exp; } } ZL2:; } { unreached_prev = (ZI674); } { (ZI435) = end_if_stmt ((ZI463), (ZI724)); } { crt_condition = (ZI718); } { unreached_fall = 1; } } break; case lex_switch: { int ZI674; EXP ZI562; EXP ZI497; int ZI726; EXP ZI719; EXP ZI720; EXP ZI460; ADVANCE_LEXER; { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } switch (CURRENT_TERMINAL) { case lex_open_Hround: break; default: goto ZL1; } ADVANCE_LEXER; ZR716 (&ZI562); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI497) = begin_switch_stmt ((ZI562)); } switch (CURRENT_TERMINAL) { case lex_close_Hround: break; default: goto ZL1; } ADVANCE_LEXER; { switch (CURRENT_TERMINAL) { case lex_exhaustive: { ADVANCE_LEXER; { (ZI726) = 1; } } break; default: { { (ZI726) = 0; } } break; } } { (ZI719) = begin_compound_stmt (1); } { (ZI720) = inject_cond ((ZI719), (ZI562)); } ZR685 (ZI720, &ZI460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { unreached_prev = (ZI674); } { (ZI435) = end_switch_stmt ((ZI497), (ZI460), (ZI726)); } { unreached_fall = 1; } } break; case lex_hash_Hif: { ZR703 (&ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { unreached_fall = 1; } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR495 (EXP *ZO435) { EXP ZI435; switch (CURRENT_TERMINAL) { case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_nested_Hname: case lex_full_Hname: case lex_char_Hexp: case lex_wchar_Hexp: case lex_string_Hexp: case lex_wstring_Hexp: case lex_integer_Hexp: case lex_floating_Hexp: case lex_complex_Hexp: case lex_complex_Htype: case lex_and_H1: case lex_compl_H1: case lex_minus: case lex_minus_Hminus: case lex_not_H1: case lex_open_Hround: case lex_plus: case lex_plus_Hplus: case lex_star: case lex_colon_Hcolon: case lex_abs: case lex_char: case lex_double: case lex_float: case lex_int: case lex_long: case lex_short: case lex_signed: case lex_sizeof: case lex_unsigned: case lex_void: case lex_bool: case lex_const_Hcast: case lex_delete: case lex_dynamic_Hcast: case lex_false: case lex_new: case lex_operator: case lex_reinterpret_Hcast: case lex_static_Hcast: case lex_this: case lex_throw: case lex_true: case lex_typeid: case lex_wchar_Ht: case lex_alignof: case lex_bottom: case lex_discard: case lex_ellipsis_Hexp: case lex_ptrdiff_Ht: case lex_size_Ht: case lex_vtable: { EXP ZI1292; ZR500 (&ZI1292); ZR1294 (&ZI1292, &ZI435); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; case lex_set: case lex_unused: { EXP ZI497; SID_LIST_EXP ZI484; SID_LIST_EXP ZI501; ZR647 (&ZI497); ZR652 (&ZI484); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { CONS_exp ((ZI497), (ZI484), (ZI501)); } { (ZI435) = make_comma_exp ((ZI501)); } } break; case lex_inset_Hstart: { EXP ZI497; SID_LIST_EXP ZI484; SID_LIST_EXP ZI501; ZR648 (&ZI497); ZR652 (&ZI484); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { CONS_exp ((ZI497), (ZI484), (ZI501)); } { (ZI435) = make_comma_exp ((ZI501)); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } void ZR575 (SID_LIST_EXP *ZO501, TYPE *ZO418, int *ZO555) { SID_LIST_EXP ZI501; TYPE ZI418; int ZI555; switch (CURRENT_TERMINAL) { case lex_open_Hround: { ADVANCE_LEXER; { { { /* Resolve type-ids from expressions */ (ZI0) = predict_typeid (0); } if (!ZI0) goto ZL3; ZR552 (&ZI418, &ZI555); switch (CURRENT_TERMINAL) { case lex_close_Hround: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; { (ZI501) = NULL_list (EXP); } goto ZL2; } /*UNREACHED*/ ZL3:; switch (CURRENT_TERMINAL) { case lex_identifier: case lex_type_Hname: case lex_namespace_Hname: case lex_destructor_Hname: case lex_template_Hid: case lex_template_Htype: case lex_nested_Hname: case lex_full_Hname: case lex_char_Hexp: case lex_wchar_Hexp: case lex_string_Hexp: case lex_wstring_Hexp: case lex_integer_Hexp: case lex_floating_Hexp: case lex_complex_Hexp: case lex_complex_Htype: case lex_and_H1: case lex_compl_H1: case lex_minus: case lex_minus_Hminus: case lex_not_H1: case lex_open_Hround: case lex_plus: case lex_plus_Hplus: case lex_star: case lex_colon_Hcolon: case lex_abs: case lex_char: case lex_double: case lex_float: case lex_int: case lex_long: case lex_short: case lex_signed: case lex_sizeof: case lex_unsigned: case lex_void: case lex_bool: case lex_const_Hcast: case lex_delete: case lex_dynamic_Hcast: case lex_false: case lex_new: case lex_operator: case lex_reinterpret_Hcast: case lex_static_Hcast: case lex_this: case lex_throw: case lex_true: case lex_typeid: case lex_wchar_Ht: case lex_alignof: case lex_bottom: case lex_discard: case lex_ellipsis_Hexp: case lex_ptrdiff_Ht: case lex_size_Ht: case lex_vtable: { int ZI461; TYPE ZI578; int ZI579; ZR502 (&ZI501); switch (CURRENT_TERMINAL) { case lex_close_Hround: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; { (ZI461) = have_type_declaration; have_type_declaration = TYPE_DECL_NONE; } { switch (CURRENT_TERMINAL) { case lex_open_Hround: { ADVANCE_LEXER; ZR552 (&ZI578, &ZI579); switch (CURRENT_TERMINAL) { case lex_close_Hround: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; } break; case lex_type_Hname: case lex_template_Htype: case lex_nested_Hname: case lex_full_Hname: case lex_complex_Htype: case lex_colon_Hcolon: case lex_char: case lex_const: case lex_double: case lex_enum: case lex_float: case lex_int: case lex_long: case lex_short: case lex_signed: case lex_struct: case lex_union: case lex_unsigned: case lex_void: case lex_volatile: case lex_restrict: case lex_bool: case lex_class: case lex_typename: case lex_wchar_Ht: case lex_bottom: case lex_ptrdiff_Ht: case lex_size_Ht: { ZR572 (&ZI578, &ZI579); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } } break; default: goto ZL1; } } { have_type_declaration = (ZI461); } ZI418 = ZI578; ZI555 = ZI579; } break; default: goto ZL1; } ZL2:; } } break; case lex_type_Hname: case lex_template_Htype: case lex_nested_Hname: case lex_full_Hname: case lex_complex_Htype: case lex_colon_Hcolon: case lex_char: case lex_const: case lex_double: case lex_enum: case lex_float: case lex_int: case lex_long: case lex_short: case lex_signed: case lex_struct: case lex_union: case lex_unsigned: case lex_void: case lex_volatile: case lex_restrict: case lex_bool: case lex_class: case lex_typename: case lex_wchar_Ht: case lex_bottom: case lex_ptrdiff_Ht: case lex_size_Ht: { ZR572 (&ZI418, &ZI555); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI501) = NULL_list (EXP); } } break; case 358: return; default: goto ZL1; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO501 = ZI501; *ZO418 = ZI418; *ZO555 = ZI555; } void ZR680 (EXP ZI562, EXP *ZO435) { EXP ZI435; if ((CURRENT_TERMINAL) == 358) { return; } ZL2_680:; { DECL_SPEC ZI693; TYPE ZI418; EXP ZI1483; EXP ZI497; EXP ZI460; { /* Resolve declaration-statements from expression-statements */ int b = predict_decl (); if (b) in_declaration++; (ZI0) = b; } if (!ZI0) goto ZL3; { (ZI693) = dspec_none; } { (ZI418) = NULL_type; } ZR691 (ZI418, ZI693, &ZI1483); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI497) = (ZI1483); in_declaration--; } { unreached_fall = 1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ ZL3:; switch (CURRENT_TERMINAL) { case lex_alignof: { int ZI454; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1493; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; { (ZI454) = lex_alignof; } ZR597 (ZI454, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1493); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1493)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_colon_Hcolon: { EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR1479 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_complex_Hexp: { EXP ZI1284; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1503; int ZI674; EXP ZI497; EXP ZI460; { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI1284 = parse_exp_token (id, args); RESCAN_LEXER; } ADVANCE_LEXER; ZR1245 (ZI1284, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1503); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1503)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_complex_Hstmt: { EXP ZI1481; EXP ZI497; EXP ZI460; { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI1481 = parse_exp_token (id, args); RESCAN_LEXER; } ADVANCE_LEXER; { (ZI497) = make_exp_stmt ((ZI1481)); } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_complex_Htype: { TYPE ZI1270; BASE_TYPE ZI515; CV_SPEC ZI788; TYPE ZI418; SID_LIST_EXP ZI501; EXP ZI1287; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1505; int ZI674; EXP ZI497; EXP ZI460; { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI1270 = parse_type_token (id, args); have_type_declaration = TYPE_DECL_NONE; have_type_specifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; { (ZI515) = btype_none; } { (ZI788) = cv_none; } { (ZI418) = complete_pre_type ((ZI515), (ZI1270), (ZI788), 1); have_type_specifier = 0; } switch (CURRENT_TERMINAL) { case lex_open_Hround: break; default: goto ZL1; } ADVANCE_LEXER; ZR504 (&ZI501); switch (CURRENT_TERMINAL) { case lex_close_Hround: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; { (ZI1287) = make_func_cast_exp ((ZI418), (ZI501)); } ZR1245 (ZI1287, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1505); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1505)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_const_Hcast: { TYPE ZI418; EXP ZI1465; int ZI555; EXP ZI1276; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1496; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR556 (&ZI418, &ZI1465, &ZI555); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { /* n is the number of type definitions in t */ (ZI1276) = make_const_cast_exp ((ZI418), (ZI1465), (ZI555)); } ZR1245 (ZI1276, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1496); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1496)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_destructor_Hname: { IDENTIFIER ZI482; IDENTIFIER ZI423; EXP ZI1288; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1509; int ZI674; EXP ZI497; EXP ZI460; { ZI482 = crt_token->pp_data.id.use; } ADVANCE_LEXER; { (ZI423) = check_id (NULL_nspace, (ZI482), 0); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1288) = make_id_exp ((ZI423)); } ZR1245 (ZI1288, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1509); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1509)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_discard: { EXP ZI1458; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1485; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR585 (&ZI1458); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1457) = make_cast_exp (type_void, (ZI1458), 0); } ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1485); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1485)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_dynamic_Hcast: { TYPE ZI418; EXP ZI1468; int ZI555; EXP ZI1279; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1499; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR556 (&ZI418, &ZI1468, &ZI555); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { /* n is the number of type definitions in t */ (ZI1279) = make_dynamic_cast_exp ((ZI418), (ZI1468), (ZI555)); } ZR1245 (ZI1279, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1499); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1499)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_ellipsis_Hexp: { EXP ZI1282; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1502; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; { (ZI1282) = make_ellipsis_exp (); } ZR1245 (ZI1282, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1502); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1502)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_full_Hname: { NAMESPACE ZI429; EXP ZI497; EXP ZI460; { ZI429 = crt_token->pp_data.ns; } ADVANCE_LEXER; ZR1478 (&ZI429, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_identifier: { IDENTIFIER ZI1469; EXP ZI497; EXP ZI460; { ZI1469 = crt_token->pp_data.id.use; } ADVANCE_LEXER; ZR1474 (&ZI1469, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_inset_Hstart: { EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR1444 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_minus_Hminus: { EXP ZI1460; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1487; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR585 (&ZI1460); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1457) = make_prefix_exp (lex_minus_Hminus, (ZI1460)); } ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1487); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1487)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_namespace_Hname: { IDENTIFIER ZI1473; EXP ZI497; EXP ZI460; { ZI1473 = crt_token->pp_data.id.use; } ADVANCE_LEXER; ZR1474 (&ZI1473, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_nested_Hname: { NAMESPACE ZI429; EXP ZI497; EXP ZI460; { ZI429 = crt_token->pp_data.ns; } ADVANCE_LEXER; ZR1477 (&ZI429, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_open_Hround: { EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1484; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR1291 (&ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1484); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1484)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_plus_Hplus: { EXP ZI1459; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1486; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR585 (&ZI1459); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1457) = make_prefix_exp (lex_plus_Hplus, (ZI1459)); } ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1486); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1486)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_reinterpret_Hcast: { TYPE ZI418; EXP ZI1466; int ZI555; EXP ZI1277; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1497; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR556 (&ZI418, &ZI1466, &ZI555); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { /* n is the number of type definitions in t */ (ZI1277) = make_reinterp_cast_exp ((ZI418), (ZI1466), (ZI555)); } ZR1245 (ZI1277, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1497)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_semicolon: { EXP ZI497; EXP ZI460; ADVANCE_LEXER; { (ZI497) = NULL_exp; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_sizeof: { int ZI454; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1492; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; { (ZI454) = lex_sizeof; } ZR597 (ZI454, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1492); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1492)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_star: { EXP ZI1461; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1488; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR585 (&ZI1461); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1457) = make_indir_exp ((ZI1461)); } ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1488); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1488)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_statement_Hname: { IDENTIFIER ZI1475; EXP ZI497; EXP ZI460; { ZI1475 = crt_token->pp_data.id.use; } ADVANCE_LEXER; ZR1476 (&ZI1475, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_static_Hcast: { TYPE ZI418; EXP ZI1467; int ZI555; EXP ZI1278; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1498; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; ZR556 (&ZI418, &ZI1467, &ZI555); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1278) = make_static_cast_exp ((ZI418), (ZI1467), (ZI555)); } ZR1245 (ZI1278, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1498); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1498)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_template_Hid: { IDENTIFIER ZI482; IDENTIFIER ZI423; EXP ZI1288; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1510; int ZI674; EXP ZI497; EXP ZI460; { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI482 = parse_id_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; { (ZI423) = check_id (NULL_nspace, (ZI482), 0); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1288) = make_id_exp ((ZI423)); } ZR1245 (ZI1288, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1510); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1510)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_template_Htype: { IDENTIFIER ZI464; IDENTIFIER ZI423; TYPE ZI1270; BASE_TYPE ZI515; CV_SPEC ZI788; TYPE ZI418; SID_LIST_EXP ZI501; EXP ZI1286; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1511; int ZI674; EXP ZI497; EXP ZI460; { IDENTIFIER id = crt_token->pp_data.tok.id; PPTOKEN *args = crt_token->pp_data.tok.args; ZI464 = parse_type_template (id, args, 0); crt_templ_qualifier = 1; RESCAN_LEXER; } ADVANCE_LEXER; { (ZI423) = (ZI464); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { MAKE_type_pre (cv_none, btype_alias, crt_id_qualifier, (ZI1270)); COPY_id (type_name ((ZI1270)), (ZI423)); have_type_specifier = 1; } { (ZI515) = btype_none; } { (ZI788) = cv_none; } { (ZI418) = complete_pre_type ((ZI515), (ZI1270), (ZI788), 1); have_type_specifier = 0; } switch (CURRENT_TERMINAL) { case lex_open_Hround: break; default: goto ZL1; } ADVANCE_LEXER; ZR504 (&ZI501); switch (CURRENT_TERMINAL) { case lex_close_Hround: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; { (ZI1286) = make_func_cast_exp ((ZI418), (ZI501)); } ZR1245 (ZI1286, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1511); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1511)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_this: { EXP ZI1281; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1501; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; { (ZI1281) = make_this_exp (); } ZR1245 (ZI1281, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1501); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1501)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_type_Hname: { IDENTIFIER ZI1471; EXP ZI497; EXP ZI460; { ZI1471 = crt_token->pp_data.id.use; } ADVANCE_LEXER; ZR1472 (&ZI1471, &ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_typeid: { int ZI454; EXP ZI1275; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1495; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; { (ZI454) = lex_typeid; } ZR557 (ZI454, &ZI1275); ZR1245 (ZI1275, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1495); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1495)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_vtable: { int ZI454; EXP ZI1274; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1494; int ZI674; EXP ZI497; EXP ZI460; ADVANCE_LEXER; { (ZI454) = lex_vtable; } ZR557 (ZI454, &ZI1274); ZR1245 (ZI1274, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1494); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1494)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_and_H1: { EXP ZI1462; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1489; int ZI674; EXP ZI497; EXP ZI460; { { switch (CURRENT_TERMINAL) { case lex_and_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } ZR585 (&ZI1462); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1457) = make_ref_exp ((ZI1462), 0); } ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1489); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1489)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_char: case lex_double: case lex_float: case lex_int: case lex_long: case lex_short: case lex_signed: case lex_unsigned: case lex_void: case lex_bool: case lex_wchar_Ht: case lex_bottom: case lex_ptrdiff_Ht: case lex_size_Ht: { BASE_TYPE ZI515; TYPE ZI1270; CV_SPEC ZI788; TYPE ZI418; SID_LIST_EXP ZI501; EXP ZI1285; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1504; int ZI674; EXP ZI497; EXP ZI460; ZR513 (&ZI515); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1270) = NULL_type; have_type_specifier = 1; } { (ZI788) = cv_none; } { (ZI418) = complete_pre_type ((ZI515), (ZI1270), (ZI788), 1); have_type_specifier = 0; } switch (CURRENT_TERMINAL) { case lex_open_Hround: break; default: goto ZL1; } ADVANCE_LEXER; ZR504 (&ZI501); switch (CURRENT_TERMINAL) { case lex_close_Hround: break; case 358: RESTORE_LEXER; goto ZL1; default: goto ZL1; } ADVANCE_LEXER; { (ZI1285) = make_func_cast_exp ((ZI418), (ZI501)); } ZR1245 (ZI1285, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1504); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1504)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_open_Hbrace_H1: { EXP ZI497; EXP ZI460; ZR682 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_reachable: case lex_unreachable: { EXP ZI497; EXP ZI460; ZR780 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_case: case lex_default: case lex_fall: { EXP ZI497; EXP ZI460; ZR666 (); ZR1445 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_set: case lex_unused: { EXP ZI1439; EXP ZI1480; int ZI674; EXP ZI497; EXP ZI460; ZR647 (&ZI1439); ZR1441 (&ZI1439, &ZI1480); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1480)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_do: case lex_for: case lex_while: { EXP ZI497; EXP ZI460; ZR742 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_break: case lex_continue: case lex_goto: case lex_return: { EXP ZI497; EXP ZI460; ZR756 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_char_Hexp: case lex_wchar_Hexp: case lex_string_Hexp: case lex_wstring_Hexp: case lex_integer_Hexp: case lex_floating_Hexp: case lex_false: case lex_true: { EXP ZI1280; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1500; int ZI674; EXP ZI497; EXP ZI460; ZR441 (&ZI1280); ZR1245 (ZI1280, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1500); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1500)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_not_H1: { EXP ZI1463; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1490; int ZI674; EXP ZI497; EXP ZI460; { { switch (CURRENT_TERMINAL) { case lex_not_H1: break; default: goto ZL1; } ADVANCE_LEXER; } } ZR585 (&ZI1463); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1457) = make_not_exp ((ZI1463)); } ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1490); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1490)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_operator: { IDENTIFIER ZI482; IDENTIFIER ZI423; EXP ZI1288; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1508; int ZI674; EXP ZI497; EXP ZI460; parse_operator (&ZI482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI423) = check_id (NULL_nspace, (ZI482), 0); crt_id_qualifier = qual_none; last_namespace = crt_namespace; } { (ZI1288) = make_id_exp ((ZI423)); } ZR1245 (ZI1288, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1508); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1508)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_hash_Hif: case lex_if: case lex_switch: { EXP ZI497; EXP ZI460; ZR717 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_throw: { EXP ZI1292; EXP ZI1482; int ZI674; EXP ZI497; EXP ZI460; ZR639 (&ZI1292); ZR1294 (&ZI1292, &ZI1482); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1482)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_try: { EXP ZI497; EXP ZI460; ZR775 (&ZI497); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_delete: case lex_new: { int ZI1506; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1507; int ZI674; EXP ZI497; EXP ZI460; { (ZI1506) = 0; } ZR1435 (&ZI1506, &ZI1457); ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1507); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1507)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ case lex_compl_H1: case lex_minus: case lex_plus: case lex_abs: { int ZI454; EXP ZI1464; EXP ZI1457; EXP ZI1456; EXP ZI1455; EXP ZI1454; EXP ZI1453; EXP ZI1452; EXP ZI1451; EXP ZI1450; EXP ZI1449; EXP ZI1448; EXP ZI1447; EXP ZI1446; EXP ZI1268; EXP ZI1292; EXP ZI1491; int ZI674; EXP ZI497; EXP ZI460; { (ZI454) = crt_lex_token; } ZR600 (); ZR585 (&ZI1464); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI1457) = make_uminus_exp ((ZI454), (ZI1464)); } ZR1241 (ZI1457, &ZI1456); ZR1237 (ZI1456, &ZI1455); ZR1233 (ZI1455, &ZI1454); ZR1229 (ZI1454, &ZI1453); ZR1225 (ZI1453, &ZI1452); ZR1221 (ZI1452, &ZI1451); ZR1217 (ZI1451, &ZI1450); ZR1213 (ZI1450, &ZI1449); ZR1209 (ZI1449, &ZI1448); ZR1205 (ZI1448, &ZI1447); ZR1201 (ZI1447, &ZI1446); ZR1197 (ZI1446, &ZI1268); ZR1269 (&ZI1268, &ZI1292); ZR1294 (&ZI1292, &ZI1491); if ((CURRENT_TERMINAL) == 358) { RESTORE_LEXER; goto ZL1; } { (ZI674) = unreached_code; if ((ZI674)) { if (!unreached_last) { report (crt_loc, ERR_stmt_stmt_unreach ()); unreached_last = 1; } } else { unreached_last = 0; } } { (ZI497) = make_exp_stmt ((ZI1491)); } { unreached_fall = 1; } switch (CURRENT_TERMINAL) { case lex_semicolon: break; default: goto ZL1; } ADVANCE_LEXER; { (ZI460) = add_compound_stmt ((ZI562), (ZI497)); } ZI562 = ZI460; goto ZL2_680; } /*UNREACHED*/ default: { ZI435 = ZI562; } break; } goto ZL0; ZL1:; SAVE_LEXER (358); return; ZL0:; *ZO435 = ZI435; } /* END OF FILE */