/*
* 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 */
syntax highlighted by Code2HTML, v. 0.9.1