/*
* Automatically generated from the files:
* /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/producers/cpp/../common/parse/psyntax.sid
* and
* /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/producers/cpp/../common/parse/psyntax.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 "exp_ops.h"
#include "hashid_ops.h"
#include "id_ops.h"
#include "tok_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 "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 "printf.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 (IDENTIFIER) SID_LIST_ID;
/*
* DECLARE FUNCTIONS
*
* The function declarations are included at this point so that the
* type definitions are in scope.
*/
#include "psyntax.h"
extern void parse_tok_type(TYPE *);
extern void parse_mem_type(TYPE *);
extern void parse_operator(IDENTIFIER *);
/*
* 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 variable analysis off
#ifndef OLD_PRODUCER
#pragma TenDRA unreachable code allow
#endif
#endif
void
XR809 (void)
{
switch (CURRENT_TERMINAL) {
case lex_macro:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_equality:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_macro_weak;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_prototype:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_weak;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR810 (void)
{
switch (CURRENT_TERMINAL) {
case lex_environment:
{
IDENTIFIER XI379;
unsigned XI381;
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_reset:
{
ADVANCE_LEXER;
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI381) = (unsigned) OPTION_ON;
}
}
break;
}
}
{
use_option ((XI379), (XI381));
}
}
break;
case lex_error:
{
int XI712;
XR761 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
if ((XI712) >= 0) {
no_error_args = 1;
report (crt_loc, make_error ((XI712)));
no_error_args = 0;
}
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR811 (void)
{
switch (CURRENT_TERMINAL) {
case lex_error:
{
int XI712;
EXP XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_limit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_VAL_maximum_error;
}
{
{
switch (CURRENT_TERMINAL) {
case lex_integer_Hexp:
{
XI381 = crt_token->pp_data.exp;
}
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
set_value ((XI712), (XI381), (unsigned long) 0);
}
}
break;
case lex_name:
{
EXP XI381;
unsigned XI477;
int XI712;
int XI718;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_limit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
{
switch (CURRENT_TERMINAL) {
case lex_integer_Hexp:
{
XI381 = crt_token->pp_data.exp;
}
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
XR512 (&XI477);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI712) = OPT_VAL_name_limit;
}
{
(XI718) = OPT_name_limit;
}
{
set_value ((XI712), (XI381), (unsigned long) 0);
}
{
set_option ((XI718), (XI477));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR812 (void)
{
switch (CURRENT_TERMINAL) {
case lex_escape:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_overflow:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_escape_overflow;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_char_Hexp: case lex_wchar_Hexp: case lex_string_Hexp:
case lex_wstring_Hexp:
{
EXP XI413;
{
switch (CURRENT_TERMINAL) {
case lex_char_Hexp: case lex_wchar_Hexp:
{
{
switch (CURRENT_TERMINAL) {
case lex_char_Hexp:
{
{
XI413 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
case lex_wchar_Hexp:
{
{
XI413 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
}
break;
case lex_string_Hexp: case lex_wstring_Hexp:
{
{
switch (CURRENT_TERMINAL) {
case lex_string_Hexp:
{
{
XI413 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
case lex_wstring_Hexp:
{
{
XI413 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
}
break;
default:
goto XL1;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_as:
{
EXP XI448;
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_char_Hexp:
{
{
XI448 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
case lex_wchar_Hexp:
{
{
XI448 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
set_character ((XI413), (XI448));
}
switch (CURRENT_TERMINAL) {
case lex_allow:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
break;
case lex_disallow:
{
EXP XI448;
ADVANCE_LEXER;
{
(XI448) = NULL_exp;
}
{
set_character ((XI413), (XI448));
}
}
break;
default:
goto XL1;
}
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR729 (unsigned *XO477)
{
unsigned XI477;
switch (CURRENT_TERMINAL) {
case lex_open_Hround:
{
ADVANCE_LEXER;
XR838 (&XI477);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI477) = (unsigned) OPTION_ON;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO477 = XI477;
}
void
XR813 (void)
{
switch (CURRENT_TERMINAL) {
case lex_value:
{
EXP XI452;
int XI712;
EXP XI381;
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_string_Hexp:
{
{
XI452 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
case lex_wstring_Hexp:
{
{
XI452 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
STRING s = DEREF_str (exp_string_lit_str ((XI452)));
(XI712) = find_value_no (s, 0);
if ((XI712) == -1) {
report (preproc_loc, ERR_pragma_option_bad (s));
}
}
{
{
switch (CURRENT_TERMINAL) {
case lex_integer_Hexp:
{
XI381 = crt_token->pp_data.exp;
}
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
set_value ((XI712), (XI381), (unsigned long) 0);
}
}
break;
case lex_string_Hexp: case lex_wstring_Hexp:
{
EXP XI452;
int XI712;
unsigned XI381;
{
switch (CURRENT_TERMINAL) {
case lex_string_Hexp:
{
{
XI452 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
case lex_wstring_Hexp:
{
{
XI452 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
STRING s = DEREF_str (exp_string_lit_str ((XI452)));
(XI712) = find_option_no (s, 0);
if ((XI712) == -1) {
report (preproc_loc, ERR_pragma_option_bad (s));
}
}
XR511 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR726 (unsigned *XO381, unsigned *XO477)
{
unsigned XI381;
unsigned XI477;
switch (CURRENT_TERMINAL) {
case lex_off:
{
ADVANCE_LEXER;
{
(XI381) = (unsigned) OPTION_OFF;
}
{
(XI477) = (unsigned) OPTION_OFF;
}
}
break;
case lex_open_Hround:
{
unsigned XI448;
ADVANCE_LEXER;
XR725 (&XI477);
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
case 358:
RESTORE_LEXER;
goto XL1;
default:
goto XL1;
}
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_on:
{
ADVANCE_LEXER;
{
(XI448) = (unsigned) OPTION_OFF;
}
}
break;
case lex_warning:
{
ADVANCE_LEXER;
{
(XI448) = (unsigned) OPTION_WARN;
}
}
break;
default:
goto XL1;
}
}
XI381 = XI448;
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO381 = XI381;
*XO477 = XI477;
}
void
XR814 (void)
{
switch (CURRENT_TERMINAL) {
case lex_star:
{
ADVANCE_LEXER;
{
preserve_all = 1;
}
}
break;
default:
{
{
rescan_pragma (lex_unknown);
RESCAN_LEXER;
}
XR500 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR815 (TYPE *XI401)
{
switch (CURRENT_TERMINAL) {
case lex_ellipsis: case lex_ellipsis_Hexp:
{
{
switch (CURRENT_TERMINAL) {
case lex_ellipsis:
{
ADVANCE_LEXER;
}
break;
case lex_ellipsis_Hexp:
{
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
accept_ellipsis ((*XI401));
}
}
break;
default:
{
TYPE XI452;
{
(XI452) = type_error;
parse_tok_type (&(XI452));
object_type ((XI452), null_tag);
}
{
accept_argument ((*XI401), (XI452));
}
}
break;
case 358:
return;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR816 (void)
{
switch (CURRENT_TERMINAL) {
case lex_character:
{
TYPE XI401;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_lit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
rescan_pragma (lex_unknown);
RESCAN_LEXER;
}
{
(XI401) = type_error;
parse_tok_type (&(XI401));
object_type ((XI401), null_tag);
}
{
set_char_lit ((XI401));
}
}
break;
case lex_longlong:
{
int XI448;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_type:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_long:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_long:
{
ADVANCE_LEXER;
{
(XI448) = 1;
}
}
break;
default:
{
{
(XI448) = 0;
}
}
break;
}
}
{
set_long_long_type ((XI448));
}
}
break;
case lex_std:
{
IDENTIFIER XI379;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_namespace:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_colon_Hcolon:
{
ADVANCE_LEXER;
{
(XI379) = NULL_id;
crt_id_qualifier = qual_none;
qual_namespace = NULL_nspace;
}
}
break;
case lex_identifier: case lex_type_Hname: case lex_namespace_Hname:
case lex_statement_Hname:
{
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
}
break;
default:
goto XL1;
}
}
{
set_std_namespace ((XI379));
}
}
break;
case lex_string:
{
CV_SPEC XI592;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_lit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_no:
{
ADVANCE_LEXER;
{
(XI592) = cv_none;
}
}
break;
default:
{
{
(XI592) = cv_const;
}
}
break;
}
}
switch (CURRENT_TERMINAL) {
case lex_const:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
set_string_qual ((XI592));
}
}
break;
case lex_wchar_Ht: case lex_ptrdiff_Ht: case lex_size_Ht:
{
BASE_TYPE XI588;
TYPE XI401;
{
switch (CURRENT_TERMINAL) {
case lex_ptrdiff_Ht:
{
ADVANCE_LEXER;
{
(XI588) = btype_ptrdiff_t;
}
}
break;
case lex_size_Ht:
{
ADVANCE_LEXER;
{
(XI588) = btype_size_t;
}
}
break;
case lex_wchar_Ht:
{
ADVANCE_LEXER;
{
(XI588) = btype_wchar_t;
}
}
break;
default:
goto XL1;
}
}
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
rescan_pragma (lex_unknown);
RESCAN_LEXER;
}
{
(XI401) = type_error;
parse_tok_type (&(XI401));
object_type ((XI401), null_tag);
}
{
set_builtin_type ((XI588), (XI401));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR817 (void)
{
switch (CURRENT_TERMINAL) {
case lex_error: case lex_name:
{
XR811 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_wchar_Ht: case lex_character: case lex_longlong:
case lex_ptrdiff_Ht: case lex_size_Ht: case lex_std:
case lex_string:
{
XR816 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR818 (void)
{
switch (CURRENT_TERMINAL) {
case lex_conversion:
{
ADVANCE_LEXER;
{
rescan_pragma (lex_unknown);
RESCAN_LEXER;
}
XR498 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_ellipsis: case lex_ellipsis_Hexp:
{
int XI712;
unsigned XI381;
{
switch (CURRENT_TERMINAL) {
case lex_ellipsis:
{
ADVANCE_LEXER;
}
break;
case lex_ellipsis_Hexp:
{
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
switch (CURRENT_TERMINAL) {
case lex_identif:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_ellipsis_ident;
}
{
(XI381) = (unsigned) OPTION_OFF;
}
{
set_option ((XI712), (XI381));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR819 (void)
{
switch (CURRENT_TERMINAL) {
case lex_signed: case lex_unsigned: case lex_either:
{
BASE_TYPE XI588;
{
switch (CURRENT_TERMINAL) {
case lex_either:
{
ADVANCE_LEXER;
{
(XI588) = btype_none;
}
}
break;
case lex_signed:
{
ADVANCE_LEXER;
{
(XI588) = btype_signed;
}
}
break;
case lex_unsigned:
{
ADVANCE_LEXER;
{
(XI588) = btype_unsigned;
}
}
break;
default:
goto XL1;
}
}
{
set_char_sign ((XI588));
}
}
break;
case lex_char_Hexp: case lex_wchar_Hexp: case lex_string_Hexp:
case lex_wstring_Hexp: case lex_escape:
{
XR812 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR820 (void)
{
switch (CURRENT_TERMINAL) {
case lex_token:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
{
(XI712) = OPT_token_redef;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_type:
{
TYPE XI401;
TYPE XI452;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
rescan_pragma (lex_unknown);
RESCAN_LEXER;
}
{
(XI401) = type_error;
parse_tok_type (&(XI401));
object_type ((XI401), null_tag);
}
switch (CURRENT_TERMINAL) {
case lex_eq:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI452) = type_error;
parse_tok_type (&(XI452));
object_type ((XI452), null_tag);
}
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t == lex_identifier || t == lex_type_Hname ||
t == lex_namespace_Hname || t == lex_statement_Hname) {
t = find_hashid (crt_token->pp_data.id.hash);
crt_lex_token = t;
}
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_compatible_type ((XI401), (XI452), (XI381));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR532 (int *XO452)
{
int XI452;
switch (CURRENT_TERMINAL) {
case lex_long:
{
ADVANCE_LEXER;
XR853 (&XI452);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_unsigned:
{
ADVANCE_LEXER;
XR852 (&XI452);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI452) = SUFFIX_NONE;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO452 = XI452;
}
void
XR821 (void)
{
switch (CURRENT_TERMINAL) {
case lex_of:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_struct:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_div:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_union:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_open_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_auto:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_init_struct;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_identifier: case lex_type_Hname: case lex_namespace_Hname:
case lex_statement_Hname:
{
IDENTIFIER XI379;
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
switch (CURRENT_TERMINAL) {
case lex_allow:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
allow_initialiser ((XI379));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR498 (void)
{
XL2_498:;
switch (CURRENT_TERMINAL) {
case lex_identifier: case lex_type_Hname: case lex_namespace_Hname:
case lex_statement_Hname:
{
IDENTIFIER XI379;
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
allow_conversion ((XI379));
}
goto XL2_498;
}
/*UNREACHED*/
case 358:
return;
default:
break;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR714 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_open_Hround:
{
ADVANCE_LEXER;
XR832 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI712) = OPT_discard;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR822 (void)
{
switch (CURRENT_TERMINAL) {
case lex_analysis:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR713 (&XI712);
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_identifier: case lex_type_Hname: case lex_namespace_Hname:
case lex_statement_Hname: case lex_allow:
{
{
rescan_pragma (lex_allow);
RESCAN_LEXER;
}
XR498 ();
switch (CURRENT_TERMINAL) {
case lex_allow:
break;
case 358:
RESTORE_LEXER;
goto XL1;
default:
goto XL1;
}
ADVANCE_LEXER;
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR823 (void)
{
switch (CURRENT_TERMINAL) {
case lex_lit:
{
int XI448;
int XI452;
ADVANCE_LEXER;
{
pragma_number = 1;
}
XR531 (&XI448);
XR532 (&XI452);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
begin_literal ((XI448), (XI452));
}
{
rescan_pragma (lex_unknown);
RESCAN_LEXER;
}
XR536 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_operator: case lex_overflow:
{
int XI712;
unsigned XI381;
XR799 (&XI712);
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR716 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_for:
{
ADVANCE_LEXER;
XR843 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI712) = OPT_infer_int;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR824 (void)
{
switch (CURRENT_TERMINAL) {
case lex_token:
{
int XI477;
ADVANCE_LEXER;
{
(XI477) = lex_undef;
}
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
if (t != lex_tag_Hcap && !predict_operator ()) {
crt_lex_token = lex_identifier;
}
}
}
XR482 (&XI477);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_keyword:
{
IDENTIFIER XI379;
XR553 (&XI379);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
undef_keyword ((XI379));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR531 (int *XO448)
{
int XI448;
switch (CURRENT_TERMINAL) {
case lex_decimal:
{
ADVANCE_LEXER;
{
(XI448) = BASE_DECIMAL;
}
}
break;
case lex_hexadecimal:
{
ADVANCE_LEXER;
{
(XI448) = BASE_HEXADECIMAL;
}
}
break;
case lex_octal:
{
ADVANCE_LEXER;
{
(XI448) = BASE_OCTAL;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO448 = XI448;
}
void
XR536 (void)
{
XL2_536:;
switch (CURRENT_TERMINAL) {
case lex_question:
{
ADVANCE_LEXER;
{
add_range_literal (NULL_exp, 1);
}
XR533 ();
{
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
switch (CURRENT_TERMINAL) {
case lex_or_H1:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
goto XL2_536;
}
/*UNREACHED*/
case lex_star:
{
ADVANCE_LEXER;
{
add_range_literal (NULL_exp, 0);
}
XR533 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_integer_Hexp:
{
EXP XI381;
{
{
switch (CURRENT_TERMINAL) {
case lex_integer_Hexp:
{
XI381 = crt_token->pp_data.exp;
}
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
add_range_literal ((XI381), 2);
}
XR533 ();
{
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
switch (CURRENT_TERMINAL) {
case lex_or_H1:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
goto XL2_536;
}
/*UNREACHED*/
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR735 (unsigned *XO449)
{
unsigned XI449;
switch (CURRENT_TERMINAL) {
case lex_const_Hcast:
{
ADVANCE_LEXER;
{
(XI449) = CAST_CONST;
}
}
break;
case lex_reinterpret_Hcast:
{
ADVANCE_LEXER;
{
(XI449) = CAST_REINTERP;
}
}
break;
case lex_static_Hcast:
{
ADVANCE_LEXER;
{
(XI449) = CAST_STATIC;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO449 = XI449;
}
void
XR402 (int *XO401)
{
int XI401;
switch (CURRENT_TERMINAL) {
case lex_tag_Hcap:
{
ADVANCE_LEXER;
{
(XI401) = 1;
}
}
break;
default:
{
{
(XI401) = 0;
}
}
break;
case 358:
return;
}
*XO401 = XI401;
}
void
XR830 (int *XO401)
{
int XI401;
switch (CURRENT_TERMINAL) {
case lex_analysis:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR714 (&XI712);
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
{
(XI401) = lex_hash_Hpragma;
}
}
break;
default:
{
{
(XI401) = lex_unused;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO401 = XI401;
}
void
XR831 (int *XO401)
{
int XI401;
switch (CURRENT_TERMINAL) {
case lex_wchar_Ht: case lex_character: case lex_error:
case lex_longlong: case lex_name: case lex_ptrdiff_Ht:
case lex_size_Ht: case lex_std: case lex_string:
{
XR817 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI401) = lex_hash_Hpragma;
}
}
break;
default:
{
{
(XI401) = lex_set;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO401 = XI401;
}
void
XR832 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_function:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_return:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_discard_func;
}
}
break;
case lex_static:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_discard_static;
}
}
break;
case lex_value:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_discard_value;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR833 (TOKEN *XO404)
{
TOKEN XI404;
switch (CURRENT_TERMINAL) {
case lex_signed:
{
ADVANCE_LEXER;
{
(XI404) = make_type_token (btype_signed | btype_int);
}
}
break;
case lex_unsigned:
{
ADVANCE_LEXER;
{
(XI404) = make_type_token (btype_unsigned | btype_int);
}
}
break;
default:
{
{
(XI404) = make_type_token (btype_int);
}
}
break;
case 358:
return;
}
*XO404 = XI404;
}
void
XR834 (TOKEN *XO404)
{
TOKEN XI404;
switch (CURRENT_TERMINAL) {
case lex_open_Hround:
{
TOKEN XI413;
SID_LIST_ID XI406;
TOKEN XI448;
TOKEN XI410;
ADVANCE_LEXER;
{
(XI413) = begin_proc_token ();
}
{
switch (CURRENT_TERMINAL) {
case lex_arith_Hcap: case lex_class_Hcap: case lex_exp_Hcap:
case lex_float_Hcap: case lex_func_Hcap: case lex_int_Hcap:
case lex_member_Hcap: case lex_nat_Hcap: case lex_proc_Hcap:
case lex_scalar_Hcap: case lex_stmt_Hcap: case lex_struct_Hcap:
case lex_type_Hcap: case lex_union_Hcap: case lex_variety_Hcap:
{
XR417 (&XI406);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI406) = NULL_list (IDENTIFIER);
}
}
break;
}
}
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI448) = cont_proc_token ((XI413), (XI406), (XI406));
}
XR400 (&XI410);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI404) = end_proc_token ((XI448), (XI410));
}
}
break;
case lex_open_Hbrace_H1:
{
TOKEN XI413;
SID_LIST_ID XI454;
SID_LIST_ID XI406;
SID_LIST_ID XI457;
SID_LIST_ID XI409;
TOKEN XI448;
TOKEN XI410;
{
{
switch (CURRENT_TERMINAL) {
case lex_open_Hbrace_H1:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
(XI413) = begin_proc_token ();
}
{
switch (CURRENT_TERMINAL) {
case lex_arith_Hcap: case lex_class_Hcap: case lex_exp_Hcap:
case lex_float_Hcap: case lex_func_Hcap: case lex_int_Hcap:
case lex_member_Hcap: case lex_nat_Hcap: case lex_proc_Hcap:
case lex_scalar_Hcap: case lex_stmt_Hcap: case lex_struct_Hcap:
case lex_type_Hcap: case lex_union_Hcap: case lex_variety_Hcap:
{
XR407 (&XI454);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI454) = NULL_list (IDENTIFIER);
}
}
break;
}
}
XI406 = XI454;
{
{
switch (CURRENT_TERMINAL) {
case lex_or_H1:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_exp_Hcap: case lex_member_Hcap: case lex_proc_Hcap:
case lex_stmt_Hcap: case lex_type_Hcap:
{
XR412 (XI406, &XI457);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI457) = NULL_list (IDENTIFIER);
}
}
break;
}
}
XI409 = XI457;
{
{
switch (CURRENT_TERMINAL) {
case lex_close_Hbrace_H1:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
(XI448) = cont_proc_token ((XI413), (XI406), (XI409));
}
XR400 (&XI410);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI404) = end_proc_token ((XI448), (XI410));
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO404 = XI404;
}
void
XR835 (SID_LIST_ID *XO409)
{
SID_LIST_ID XI409;
switch (CURRENT_TERMINAL) {
case lex_arith_Hcap: case lex_class_Hcap: case lex_exp_Hcap:
case lex_float_Hcap: case lex_func_Hcap: case lex_int_Hcap:
case lex_member_Hcap: case lex_nat_Hcap: case lex_proc_Hcap:
case lex_scalar_Hcap: case lex_stmt_Hcap: case lex_struct_Hcap:
case lex_type_Hcap: case lex_union_Hcap: case lex_variety_Hcap:
{
XR417 (&XI409);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
/* Extra comma at the end of a list */
report (crt_loc, ERR_lex_extra_comma ());
}
{
(XI409) = NULL_list (IDENTIFIER);
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO409 = XI409;
}
void
XR836 (SID_LIST_ID *XO409)
{
SID_LIST_ID XI409;
switch (CURRENT_TERMINAL) {
case lex_arith_Hcap: case lex_class_Hcap: case lex_exp_Hcap:
case lex_float_Hcap: case lex_func_Hcap: case lex_int_Hcap:
case lex_member_Hcap: case lex_nat_Hcap: case lex_proc_Hcap:
case lex_scalar_Hcap: case lex_stmt_Hcap: case lex_struct_Hcap:
case lex_type_Hcap: case lex_union_Hcap: case lex_variety_Hcap:
{
XR407 (&XI409);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
/* Extra comma at the end of a list */
report (crt_loc, ERR_lex_extra_comma ());
}
{
(XI409) = NULL_list (IDENTIFIER);
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO409 = XI409;
}
void
XR837 (SID_LIST_ID *XI410, SID_LIST_ID *XO409)
{
SID_LIST_ID XI409;
switch (CURRENT_TERMINAL) {
case lex_exp_Hcap: case lex_member_Hcap: case lex_proc_Hcap:
case lex_stmt_Hcap: case lex_type_Hcap:
{
XR412 (*XI410, &XI409);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
/* Extra comma at the end of a list */
report (crt_loc, ERR_lex_extra_comma ());
}
{
(XI409) = NULL_list (IDENTIFIER);
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO409 = XI409;
}
void
XR838 (unsigned *XO477)
{
unsigned XI477;
switch (CURRENT_TERMINAL) {
case lex_complete:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI477) = (unsigned) OPTION_ON;
}
}
break;
case lex_incomplete:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI477) = (unsigned) OPTION_OFF;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO477 = XI477;
}
void
XR841 (unsigned *XI839, unsigned *XO449)
{
unsigned XI449;
switch (CURRENT_TERMINAL) {
case lex_or_H1:
{
unsigned XI448;
{
{
switch (CURRENT_TERMINAL) {
case lex_or_H1:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
XR736 (&XI448);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI449) = ((*XI839) | (XI448));
}
}
break;
default:
{
XI449 = *XI839;
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO449 = XI449;
}
void
XR415 (IDENTIFIER *XO379)
{
IDENTIFIER XI379;
if ((CURRENT_TERMINAL) == 358) {
return;
}
{
TOKEN XI404;
int XI401;
IDENTIFIER XI405;
XR400 (&XI404);
XR402 (&XI401);
{
switch (CURRENT_TERMINAL) {
case lex_identifier: case lex_type_Hname: case lex_namespace_Hname:
case lex_statement_Hname:
{
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
}
break;
default:
{
{
HASHID nm = lookup_anon ();
(XI405) = DEREF_id (hashid_id (nm));
crt_id_qualifier = qual_none;
qual_namespace = NULL_nspace;
}
}
break;
case 358:
RESTORE_LEXER;
goto XL1;
}
}
{
(XI379) = make_tok_param ((XI404), (XI401), (XI405));
}
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO379 = XI379;
}
void
XR842 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_after:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_conditional:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_empty_body;
}
}
break;
default:
{
{
(XI712) = OPT_semicolon_extra;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR843 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_const:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_div:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_volatile:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_infer_int_cv;
}
}
break;
case lex_external:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_decl:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_dspec_none;
}
}
break;
case lex_function:
{
ADVANCE_LEXER;
XR844 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR844 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_argument:
{
ADVANCE_LEXER;
{
(XI712) = OPT_param_impl;
}
}
break;
case lex_return:
{
ADVANCE_LEXER;
{
(XI712) = OPT_dspec_none_func;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR533 (void)
{
switch (CURRENT_TERMINAL) {
case lex_colon:
{
TYPE XI401;
ADVANCE_LEXER;
{
(XI401) = type_error;
parse_tok_type (&(XI401));
object_type ((XI401), null_tag);
}
{
add_type_literal ((XI401));
}
}
break;
case lex_star:
{
ADVANCE_LEXER;
XR855 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR845 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_int:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_minus:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR847 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_pointer:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_minus:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR846 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_void:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_star:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_minus:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_pointer:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_implicit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_ptr_void_ptr;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR846 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_int:
{
ADVANCE_LEXER;
XR851 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_pointer:
{
ADVANCE_LEXER;
XR849 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_void:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_star:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_implicit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_ptr_ptr_void;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR847 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_enum:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_implicit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_int_enum;
}
}
break;
case lex_int:
{
ADVANCE_LEXER;
XR850 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_pointer:
{
ADVANCE_LEXER;
XR851 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR849 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
{
ADVANCE_LEXER;
{
(XI712) = OPT_conv_ptr_ptr;
}
}
break;
case lex_explicit:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_ptr_ptr_expl;
}
}
break;
case lex_implicit:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_ptr_ptr_impl;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR850 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
{
ADVANCE_LEXER;
{
(XI712) = OPT_conv_int_int;
}
}
break;
case lex_explicit:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_int_int_expl;
}
}
break;
case lex_implicit:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_int_int_impl;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR851 (int *XO712)
{
int XI712;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
{
ADVANCE_LEXER;
{
(XI712) = OPT_conv_int_ptr;
}
}
break;
case lex_explicit:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_int_ptr_expl;
}
}
break;
case lex_implicit:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_int_ptr_impl;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR743 (int *XO712)
{
int XI712;
if ((CURRENT_TERMINAL) == 358) {
return;
}
{
EXP XI452;
switch (CURRENT_TERMINAL) {
case lex_option:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_string_Hexp:
{
{
XI452 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
case lex_wstring_Hexp:
{
{
XI452 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
STRING s = DEREF_str (exp_string_lit_str ((XI452)));
(XI712) = find_option_no (s, 0);
if ((XI712) == -1) {
report (preproc_loc, ERR_pragma_option_bad (s));
}
}
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO712 = XI712;
}
void
XR852 (int *XO452)
{
int XI452;
switch (CURRENT_TERMINAL) {
case lex_long:
{
ADVANCE_LEXER;
XR854 (&XI452);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI452) = SUFFIX_U;
}
}
break;
case 358:
return;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO452 = XI452;
}
void
XR853 (int *XO452)
{
int XI452;
switch (CURRENT_TERMINAL) {
case lex_long:
{
ADVANCE_LEXER;
{
(XI452) = SUFFIX_LL;
}
}
break;
default:
{
{
(XI452) = SUFFIX_L;
}
}
break;
case 358:
return;
}
*XO452 = XI452;
}
void
XR854 (int *XO452)
{
int XI452;
switch (CURRENT_TERMINAL) {
case lex_long:
{
ADVANCE_LEXER;
{
(XI452) = SUFFIX_ULL;
}
}
break;
default:
{
{
(XI452) = SUFFIX_UL;
}
}
break;
case 358:
return;
}
*XO452 = XI452;
}
void
XR403 (IDENTIFIER *XO379)
{
IDENTIFIER XI379;
if ((CURRENT_TERMINAL) == 358) {
return;
}
{
TOKEN XI404;
int XI401;
IDENTIFIER XI405;
XR400 (&XI404);
XR402 (&XI401);
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI405 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case 358:
RESTORE_LEXER;
goto XL1;
default:
goto XL1;
}
}
{
(XI379) = make_tok_param ((XI404), (XI401), (XI405));
}
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO379 = XI379;
}
void
XR855 (void)
{
switch (CURRENT_TERMINAL) {
case lex_star:
{
unsigned XI413;
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t == lex_identifier || t == lex_type_Hname ||
t == lex_namespace_Hname || t == lex_statement_Hname) {
t = find_hashid (crt_token->pp_data.id.hash);
crt_lex_token = t;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_allow: case lex_disallow: case lex_warning:
{
XR510 (&XI413);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI413) = (unsigned) OPTION_ON;
}
}
break;
}
}
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
add_token_literal (NULL_id, (XI413));
}
}
break;
case lex_colon: case lex_allow: case lex_disallow:
case lex_warning:
{
unsigned XI413;
IDENTIFIER XI379;
{
int t = crt_lex_token;
if (t == lex_identifier || t == lex_type_Hname ||
t == lex_namespace_Hname || t == lex_statement_Hname) {
t = find_hashid (crt_token->pp_data.id.hash);
crt_lex_token = t;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_allow: case lex_disallow: case lex_warning:
{
XR510 (&XI413);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
default:
{
{
(XI413) = (unsigned) OPTION_OFF;
}
}
break;
}
}
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
add_token_literal ((XI379), (XI413));
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR513 (int *XO381)
{
int XI381;
switch (CURRENT_TERMINAL) {
case lex_allow:
{
ADVANCE_LEXER;
{
(XI381) = OPT_none;
}
}
break;
case lex_disallow:
{
ADVANCE_LEXER;
{
(XI381) = OPT_error;
}
}
break;
case lex_off:
{
ADVANCE_LEXER;
{
(XI381) = OPT_none;
}
}
break;
case lex_on:
{
ADVANCE_LEXER;
{
(XI381) = OPT_error;
}
}
break;
case lex_warning:
{
ADVANCE_LEXER;
{
(XI381) = OPT_warning;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO381 = XI381;
}
void
XR856 (int *XO401)
{
int XI401;
switch (CURRENT_TERMINAL) {
case lex_value:
{
ADVANCE_LEXER;
{
(XI401) = lex_discard;
}
}
break;
case lex_variable:
{
ADVANCE_LEXER;
{
(XI401) = lex_unused;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO401 = XI401;
}
void
XR857 (int *XO401)
{
int XI401;
switch (CURRENT_TERMINAL) {
case lex_reachable:
{
ADVANCE_LEXER;
{
(XI401) = lex_reachable;
}
}
break;
case lex_unreachable:
{
ADVANCE_LEXER;
{
(XI401) = lex_unreachable;
}
}
break;
default:
{
{
(XI401) = lex_set;
}
}
break;
case 358:
return;
}
*XO401 = XI401;
}
void
XR500 (void)
{
XL2_500:;
switch (CURRENT_TERMINAL) {
case lex_identifier: case lex_type_Hname: case lex_namespace_Hname:
case lex_statement_Hname:
{
IDENTIFIER XI379;
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
preserve_id ((XI379), lex_preserve);
}
goto XL2_500;
}
/*UNREACHED*/
case 358:
return;
default:
break;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR862 (TYPE *XO401)
{
TYPE XI401;
switch (CURRENT_TERMINAL) {
case lex_printf:
{
ADVANCE_LEXER;
{
(XI401) = type_printf;
}
}
break;
case lex_scanf:
{
ADVANCE_LEXER;
{
(XI401) = type_scanf;
}
}
break;
case lex_wchar_Ht:
{
ADVANCE_LEXER;
XR863 (&XI401);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO401 = XI401;
}
void
XR863 (TYPE *XO401)
{
TYPE XI401;
switch (CURRENT_TERMINAL) {
case lex_printf:
{
ADVANCE_LEXER;
{
(XI401) = type_wprintf;
}
}
break;
case lex_scanf:
{
ADVANCE_LEXER;
{
(XI401) = type_wscanf;
}
}
break;
case 358:
return;
default:
goto XL1;
}
goto XL0;
XL1:;
SAVE_LEXER (358);
return;
XL0:;
*XO401 = XI401;
}
void
XR482 (int *XI477)
{
if ((CURRENT_TERMINAL) == 358) {
return;
}
XL2_482:;
{
IDENTIFIER XI475;
IDENTIFIER XI859;
IDENTIFIER XI379;
{
(XI0) = predict_operator ();
}
if (!XI0)
goto XL3;
{
(XI475) = DEREF_id (hashid_id (KEYWORD (lex_zzzz)));
parse_operator (&(XI475));
}
{
(XI859) = check_id (crt_namespace, (XI475), 0);
}
XR783 (XI859, &XI379);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
token_interface ((XI379), (*XI477));
}
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
if (t != lex_tag_Hcap && !predict_operator ()) {
crt_lex_token = lex_identifier;
}
}
}
goto XL2_482;
}
/*UNREACHED*/
XL3:;
switch (CURRENT_TERMINAL) {
case lex_tag_Hcap:
{
IDENTIFIER XI475;
IDENTIFIER XI860;
IDENTIFIER XI379;
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
(XI860) = find_tag_token ((XI475));
}
XR783 (XI860, &XI379);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
token_interface ((XI379), (*XI477));
}
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
if (t != lex_tag_Hcap && !predict_operator ()) {
crt_lex_token = lex_identifier;
}
}
}
goto XL2_482;
}
/*UNREACHED*/
case lex_identifier: case lex_type_Hname: case lex_namespace_Hname:
case lex_statement_Hname:
{
IDENTIFIER XI475;
IDENTIFIER XI861;
IDENTIFIER XI379;
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
(XI861) = check_id (crt_namespace, (XI475), 0);
}
XR783 (XI861, &XI379);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
token_interface ((XI379), (*XI477));
}
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
if (t != lex_tag_Hcap && !predict_operator ()) {
crt_lex_token = lex_identifier;
}
}
}
goto XL2_482;
}
/*UNREACHED*/
case lex_hash_H1:
{
IDENTIFIER XI475;
IDENTIFIER XI858;
IDENTIFIER XI379;
{
{
switch (CURRENT_TERMINAL) {
case lex_hash_H1:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI475 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
(XI858) = find_ext_token ((XI475));
}
XR783 (XI858, &XI379);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
token_interface ((XI379), (*XI477));
}
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
if (t != lex_tag_Hcap && !predict_operator ()) {
crt_lex_token = lex_identifier;
}
}
}
goto XL2_482;
}
/*UNREACHED*/
default:
break;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
void
XR775 (void)
{
switch (CURRENT_TERMINAL) {
case lex_accept:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_ellipsis:
{
ADVANCE_LEXER;
}
break;
case lex_ellipsis_Hexp:
{
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
switch (CURRENT_TERMINAL) {
case lex_identif:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_ellipsis_ident;
}
{
(XI381) = (unsigned) OPTION_OFF;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_ambiguous:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_overload:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_resolution:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_overload_ambig;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_assignment:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_as:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_bool:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_bool_assign;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_begin:
{
ADVANCE_LEXER;
XR786 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_bitfield:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_overflow:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_bitf_overflow;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_block:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_function:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_static:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_func_block;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_catch:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_all:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_wall;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_character:
{
ADVANCE_LEXER;
XR812 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_compatible:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_token:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_token_redef;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_complete:
{
ADVANCE_LEXER;
XR805 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_conditional:
{
ADVANCE_LEXER;
XR801 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_const:
{
ADVANCE_LEXER;
XR804 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_conversion:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR713 (&XI712);
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_decl:
{
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_block:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR787 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_directive:
{
ADVANCE_LEXER;
XR802 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_directory:
{
IDENTIFIER XI770;
IDENTIFIER XI379;
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI770 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI770 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI770 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI770 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
switch (CURRENT_TERMINAL) {
case lex_use:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_environment:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
int t = crt_lex_token;
if (t >= FIRST_KEYWORD && t <= LAST_KEYWORD) {
crt_lex_token = lex_identifier;
}
}
{
switch (CURRENT_TERMINAL) {
case lex_identifier:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_namespace_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_statement_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
case lex_type_Hname:
{
{
XI379 = crt_token->pp_data.id.use;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
{
directory_option ((XI770), (XI379));
}
}
break;
case lex_discard:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR714 (&XI712);
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_dollar:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_as:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_ident:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_dollar_ident;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_end:
{
ADVANCE_LEXER;
{
end_option (1);
}
}
break;
case lex_enum:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_switch:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_enum_switch;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_escape:
{
EXP XI413;
EXP XI448;
ADVANCE_LEXER;
{
switch (CURRENT_TERMINAL) {
case lex_char_Hexp:
{
{
XI413 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
case lex_wchar_Hexp:
{
{
XI413 = crt_token->pp_data.exp;
}
ADVANCE_LEXER;
}
break;
default:
goto XL1;
}
}
XR757 (&XI448);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_escape ((XI413), (XI448));
}
}
break;
case lex_explicit:
{
unsigned XI449;
unsigned XI381;
int XI712;
int XI718;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_cast:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR745 (&XI449);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI712) = OPT_cast_explicit;
}
{
(XI718) = OPT_VAL_cast_explicit;
}
{
set_option ((XI712), (XI381));
}
{
set_value ((XI718), NULL_exp, (unsigned long) (XI449));
}
}
break;
case lex_external:
{
ADVANCE_LEXER;
XR803 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_extra:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR789 (&XI712);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_fall:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_into:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_case:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_case_fall;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_for:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_initialization:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_block:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_for_scope;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_forward:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_enum:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_decl:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_enum_decl;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_function:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_pointer:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_as:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_pointer:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_conv_ptr_func;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_ident:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR790 (&XI712);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_ignore:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_struct:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_div:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_union:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_div:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_enum:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_tag:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_type_tag_ignore;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_implicit:
{
ADVANCE_LEXER;
XR806 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_includes:
{
int XI712;
EXP XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_depth:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_VAL_include_depth;
}
{
{
switch (CURRENT_TERMINAL) {
case lex_integer_Hexp:
{
XI381 = crt_token->pp_data.exp;
}
break;
default:
goto XL1;
}
ADVANCE_LEXER;
}
}
{
set_value ((XI712), (XI381), (unsigned long) 0);
}
}
break;
case lex_incompatible:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR792 (&XI712);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_incomplete:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_type:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_as:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_object:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_type:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_type_obj_incompl;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_indented:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR793 (&XI712);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_initialization:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_of:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_struct:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_div:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_union:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_open_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_auto:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_close_Hround:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_init_struct;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_inline:
{
unsigned XI381;
int XI712;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_linkage:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR725 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI712) = OPT_inline_internal;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_integer:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR799 (&XI712);
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_linkage:
{
unsigned XI381;
unsigned XI477;
int XI712;
int XI718;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_resolution:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_colon:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
XR726 (&XI381, &XI477);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
(XI712) = OPT_link_resolve;
}
{
(XI718) = OPT_link_internal;
}
{
set_option ((XI712), (XI381));
}
{
set_option ((XI718), (XI477));
}
}
break;
case lex_longlong:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_type:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_longlong;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_nested:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_comment:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_nest_comment;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_no:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR794 (&XI712);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_operator:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_precedence:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_paren;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_option:
{
ADVANCE_LEXER;
XR813 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_overload:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_resolution:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_overload_res;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_pointer:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_operator:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_ptr_operator;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_prototype:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR795 (&XI712);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_rvalue:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_token:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_as:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_const:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_token_const;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_semicolon:
{
ADVANCE_LEXER;
}
break;
case lex_set:
{
ADVANCE_LEXER;
XR811 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_text:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_after:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_directive:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_ppdir_text;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_this:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_lvalue:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_this_lvalue;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_throw:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_analysis:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_throw_bad;
}
XR509 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_un_Hknown:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
XR796 (&XI712);
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_unify:
{
ADVANCE_LEXER;
XR807 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_unmatched:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_quote:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_unmatched;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_unreachable:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_code:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_reached;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_use:
{
ADVANCE_LEXER;
XR810 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_variable:
{
ADVANCE_LEXER;
XR808 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_weak:
{
ADVANCE_LEXER;
XR809 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_writeable:
{
int XI712;
unsigned XI381;
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_string:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
switch (CURRENT_TERMINAL) {
case lex_lit:
break;
default:
goto XL1;
}
ADVANCE_LEXER;
{
(XI712) = OPT_const_string;
}
XR510 (&XI381);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
{
set_option ((XI712), (XI381));
}
}
break;
case lex_error:
{
int XI712;
XR761 (&XI712);
XR785 (&XI712);
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case lex_keyword: case lex_undef:
{
XR555 ();
if ((CURRENT_TERMINAL) == 358) {
RESTORE_LEXER;
goto XL1;
}
}
break;
case 358:
return;
default:
goto XL1;
}
return;
XL1:;
SAVE_LEXER (358);
return;
}
/* END OF FILE */
syntax highlighted by Code2HTML, v. 0.9.1