#include <y_tab.c.h>
#if defined (SVR4_LEX_YACC)
# define NIDL_YYV_DEFINITION YYSTYPE yy_yyv[YYMAXDEPTH], *yyv
# define NIDL_YYS_DEFINITION YACC_INT yy_yys[YYMAXDEPTH], *yys
# define NIDL_YACC_YYV_ARRAY
# define NIDL_YACC_YYS_ARRAY
#elif defined (GNU_LEX_YACC)
# define NIDL_YYV_DEFINITION
# define NIDL_YYS_DEFINITION
#elif !(defined(SUN_LEX_YACC) && defined(SUN_41_LEX_YACC))
# define NIDL_YYV_DEFINITION YYSTYPE yyv[YYMAXDEPTH]
# define NIDL_YYS_DEFINITION YACC_INT yys[YYMAXDEPTH]
# define NIDL_YACC_YYV_ARRAY
# define NIDL_YACC_YYS_ARRAY
#else
# define NIDL_YYV_DEFINITION YYSTYPE *yyv
# define NIDL_YYS_DEFINITION YACC_INT *yys
#endif
#if defined (UMIPS_LEX_YACC) || defined(ULTRIX_LEX_YACC) || (defined(SUN_LEX_YACC) && !defined(SUN_41_LEX_YACC))
int yystate;
int yytmp;
int *yyps;
YYSTYPE *yypv;
YYSTYPE *yypvt;
NIDL_YYS_DEFINITION;
#endif
#if defined(SUN_LEX_YACC) && defined(SUN_41_LEX_YACC)
YYSTYPE *yypvt;
#endif
#if defined(APOLLO_LEX_YACC) || defined(HPUX_LEX_YACC) || defined(SVR4_LEX_YACC)
YYSTYPE *yypvt;
#endif
struct yywork {
YYTYPE verify, advance;
};
struct yysvf {
struct yywork *yystoff;
struct yysvf *yyother;
int *yystops;
};
extern int yyleng;
extern int yymorfg;
extern char *yysptr;
extern int yytchar;
extern FILE *yyin;
extern struct yysvf *yyestate;
extern struct yysvf *yybgin;
extern int yylineno;
extern char yytext[];
extern struct yysvf *yylstate;
extern struct yysvf **yylsp;
extern struct yysvf **yyolsp;
extern char yysbuf[];
extern char *yysptr;
extern int *yyfnd;
extern int yyprevious;
extern int yynerrs;
#include "flex_state.h"
typedef struct {
#ifdef GNU_LEX_YACC
struct FlexState flex_State;
int yynerrs;
FILE *yyin;
#else
YYSTYPE yylval;
YYSTYPE yyval;
NIDL_YYV_DEFINITION;
NIDL_YYS_DEFINITION;
YYSTYPE *yypv;
int *yyps;
YACC_INT yystate;
int yytmp;
int yynerrs;
YACC_INT yyerrflag;
int yychar;
YYSTYPE *yypvt;
int yyleng;
int yymorfg;
int yytchar;
FILE *yyin;
struct yysvf *yyestate;
struct yysvf *yybgin;
int yylineno;
char yytext[ YYLMAX ];
struct yysvf *yylstate;
struct yysvf **yylsp;
struct yysvf **yyolsp;
char yysbuf[ YYLMAX ];
char *yysptr;
int *yyfnd;
int yyprevious;
#endif
} lex_yacc_state_buffer_t;
lex_yacc_state_t NIDL_save_lex_yacc_state()
{
#ifndef GNU_LEX_YACC
YYSTYPE * yyv_ptr;
YYSTYPE * yyv_end;
YACC_INT * yys_ptr;
YACC_INT * yys_end;
YYSTYPE * saved_yyv_ptr;
YACC_INT * saved_yys_ptr;
#endif
lex_yacc_state_buffer_t *save_state;
save_state = (lex_yacc_state_buffer_t *)
malloc(sizeof(lex_yacc_state_buffer_t));
#ifdef GNU_LEX_YACC
save_state->yynerrs = yynerrs;
save_state->yyin = yyin;
flex_SaveState (&save_state->flex_State);
#else
save_state->yylval = yylval;
save_state->yyval = yyval;
save_state->yypv = yypv;
save_state->yyps = yyps;
save_state->yystate = yystate;
save_state->yytmp = yytmp;
save_state->yynerrs = yynerrs;
save_state->yyerrflag = yyerrflag;
save_state->yychar = yychar;
save_state->yypvt = yypvt;
save_state->yyleng = yyleng;
save_state->yymorfg = yymorfg;
save_state->yytchar = yytchar;
save_state->yyin = yyin;
save_state->yyestate = yyestate;
save_state->yybgin = yybgin;
save_state->yylineno = yylineno;
save_state->yylstate = yylstate;
save_state->yylsp = yylsp;
save_state->yyolsp = yyolsp;
save_state->yysptr = yysptr;
save_state->yyfnd = yyfnd;
save_state->yyprevious= yyprevious;
#if defined(NIDL_YACC_YYV_ARRAY)
#if defined(SVR4_LEX_YACC)
save_state->yyv = yyv;
save_state->yys = yys;
yyv_end = &yy_yyv[YYMAXDEPTH-1];
for (yyv_ptr = yy_yyv, saved_yyv_ptr = save_state->yy_yyv;
#else
yyv_end = &yyv[YYMAXDEPTH-1];
for (yyv_ptr = yyv, saved_yyv_ptr = save_state->yyv;
#endif
yyv_ptr <= yyv_end;
yyv_ptr++, saved_yyv_ptr++)
*saved_yyv_ptr = *yyv_ptr;
#else
save_state->yyv = yyv;
#endif
#if defined(NIDL_YACC_YYS_ARRAY)
#if defined(SVR4_LEX_YACC)
yys_end = &yy_yys[YYMAXDEPTH-1];
for (yys_ptr = yy_yys, saved_yys_ptr = save_state->yy_yys;
#else
yys_end = &yys[YYMAXDEPTH-1];
for (yys_ptr = yys, saved_yys_ptr = save_state->yys;
#endif
yys_ptr <= yys_end;
yys_ptr++, saved_yys_ptr++)
*saved_yys_ptr = *yys_ptr;
#else
save_state->yys = yys;
#endif
strcpy(save_state->yysbuf, yysbuf);
strcpy(save_state->yytext, yytext);
#endif
return ((lex_yacc_state_t)save_state);
}
void NIDL_restore_lex_yacc_state(state_ptr)
lex_yacc_state_t state_ptr;
{
#ifndef GNU_LEX_YACC
YYSTYPE * yyv_ptr;
YYSTYPE * yyv_end;
YACC_INT * yys_ptr;
YACC_INT * yys_end;
YYSTYPE * saved_yyv_ptr;
YACC_INT * saved_yys_ptr;
#endif
lex_yacc_state_buffer_t *saved_state;
saved_state = (lex_yacc_state_buffer_t *) state_ptr;
#ifdef GNU_LEX_YACC
yynerrs = saved_state->yynerrs;
yyin = saved_state->yyin;
flex_RestoreState (&saved_state->flex_State);
#else
yylval = saved_state->yylval;
yyval = saved_state->yyval;
yypv = saved_state->yypv;
yyps = saved_state->yyps;
yystate = saved_state->yystate;
yytmp = saved_state->yytmp;
yynerrs = saved_state->yynerrs + yynerrs;
yyerrflag = saved_state->yyerrflag;
yychar = saved_state->yychar;
yypvt = saved_state->yypvt;
yyleng = saved_state->yyleng;
yymorfg = saved_state->yymorfg;
yytchar = saved_state->yytchar;
yyin = saved_state->yyin;
yyestate = saved_state->yyestate;
yybgin = saved_state->yybgin;
yylineno = saved_state->yylineno;
yylstate = saved_state->yylstate;
yylsp = saved_state->yylsp;
yyolsp = saved_state->yyolsp;
yysptr = saved_state->yysptr;
yyfnd = saved_state->yyfnd;
yyprevious = saved_state->yyprevious;
#if defined(NIDL_YACC_YYV_ARRAY)
#if defined(SVR4_LEX_YACC)
yys = saved_state->yys;
yyv = saved_state->yyv;
yyv_end = &yy_yyv[YYMAXDEPTH-1];
for (yyv_ptr = yy_yyv, saved_yyv_ptr = saved_state->yy_yyv;
#else
yyv_end = &yyv[YYMAXDEPTH-1];
for (yyv_ptr = yyv, saved_yyv_ptr = saved_state->yyv;
#endif
yyv_ptr <= yyv_end;
yyv_ptr++, saved_yyv_ptr++)
*yyv_ptr = *saved_yyv_ptr;
#else
yyv = saved_state->yyv;
#endif
#if defined(NIDL_YACC_YYS_ARRAY)
#if defined(SVR4_LEX_YACC)
yys_end = &yy_yys[YYMAXDEPTH-1];
for (yys_ptr = yy_yys, saved_yys_ptr = saved_state->yy_yys;
#else
yys_end = &yys[YYMAXDEPTH-1];
for (yys_ptr = yys, saved_yys_ptr = saved_state->yys;
#endif
yys_ptr <= yys_end;
yys_ptr++, saved_yys_ptr++)
*yys_ptr = *saved_yys_ptr;
#else
yys = saved_state->yys;
#endif
strcpy(yysbuf, saved_state->yysbuf);
strcpy(yytext, saved_state->yytext);
#endif
free((char *)saved_state);
return;
}