📄 parse.c
字号:
#define YY_parse_h_included
/* A Bison++ parser, made from parse.y */
/* with Bison++ version bison++ Version 1.21-7, adapted from GNU bison by coetmeur@icdc.fr
*/
#line 1 "/u/icdc/rdt/tools/lib/bison.cc"
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* HEADER SECTION */
#ifndef _MSDOS
#ifdef MSDOS
#define _MSDOS
#endif
#endif
/* turboc */
#ifdef __MSDOS__
#ifndef _MSDOS
#define _MSDOS
#endif
#endif
#ifndef alloca
#if defined( __GNUC__)
#define alloca __builtin_alloca
#elif (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
#include <alloca.h>
#elif defined (_MSDOS)
#include <malloc.h>
#ifndef __TURBOC__
/* MS C runtime lib */
#define alloca _alloca
#endif
#elif defined(_AIX)
#include <malloc.h>
#pragma alloca
#elif defined(__hpux)
#ifdef __cplusplus
extern "C" {
void *alloca (unsigned int);
};
#else /* not __cplusplus */
void *alloca ();
#endif /* not __cplusplus */
#endif /* not _AIX not MSDOS, or __TURBOC__ or _AIX, not sparc. */
#endif /* alloca not defined. */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif
#ifdef __cplusplus
#ifndef YY_USE_CLASS
#define YY_USE_CLASS
#endif
#else
#ifndef __STDC__
#define const
#endif
#endif
#include <stdio.h>
#define YYBISON 1
/* #line 77 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 89 "y.tab.c"
#line 6 "parse.y"
/*-
* Copyright (c) 1990 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Vern Paxson.
*
* The United States Government has rights in this work pursuant
* to contract no. DE-AC03-76SF00098 between the United States
* Department of Energy and the University of California.
*
* Redistribution and use in source and binary forms are permitted provided
* that: (1) source distributions retain this entire copyright notice and
* comment, and (2) distributions including binaries display the following
* acknowledgement: ``This product includes software developed by the
* University of California, Berkeley and its contributors'' in the
* documentation or other materials provided with the distribution and in
* all advertising materials mentioning features or use of this software.
* Neither the name of the University nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef lint
static char rcsid[] =
"@(#) $Header: c:\\program\040files\\development\\cvs\040repository/flex++/parse.c,v 1.1.1.1 2002/04/13 06:01:32 Bear Exp $ (LBL)";
#endif
#include "flexdef.h"
void yyerror();
void build_eof_action();
int pat, scnum, eps, headcnt, trailcnt, anyccl, lastchar, i, actvp, rulelen;
int trlcontxt, xcluflg, cclsorted, varlength, variable_trail_rule;
Char clower();
static int madeany = false; /* whether we've made the '.' character class */
int previous_continued_action; /* whether the previous rule's action was '|' */
#line 77 "/u/icdc/rdt/tools/lib/bison.cc"
/* %{ and %header{ and %union, during decl */
#define YY_parse_BISON 1
#ifndef YY_parse_COMPATIBILITY
#ifndef YY_USE_CLASS
#define YY_parse_COMPATIBILITY 1
#else
#define YY_parse_COMPATIBILITY 0
#endif
#endif
#if YY_parse_COMPATIBILITY != 0
/* backward compatibility */
#ifdef YYLTYPE
#ifndef YY_parse_LTYPE
#define YY_parse_LTYPE YYLTYPE
#endif
#endif
#ifdef YYSTYPE
#ifndef YY_parse_STYPE
#define YY_parse_STYPE YYSTYPE
#endif
#endif
#ifdef YYDEBUG
#ifndef YY_parse_DEBUG
#define YY_parse_DEBUG YYDEBUG
#endif
#endif
#ifdef YY_parse_STYPE
#ifndef yystype
#define yystype YY_parse_STYPE
#endif
#endif
/* use goto to be compatible */
#ifndef YY_parse_USE_GOTO
#define YY_parse_USE_GOTO 1
#endif
#endif
/* use no goto to be clean in C++ */
#ifndef YY_parse_USE_GOTO
#define YY_parse_USE_GOTO 0
#endif
#ifndef YY_parse_PURE
/* #line 121 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 182 "y.tab.c"
#line 121 "/u/icdc/rdt/tools/lib/bison.cc"
/* YY_parse_PURE */
#endif
/* section apres lecture def, avant lecture grammaire S2 */
/* #line 125 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 191 "y.tab.c"
#line 125 "/u/icdc/rdt/tools/lib/bison.cc"
/* prefix */
#ifndef YY_parse_DEBUG
/* #line 127 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 198 "y.tab.c"
#line 127 "/u/icdc/rdt/tools/lib/bison.cc"
/* YY_parse_DEBUG */
#endif
#ifndef YY_parse_LSP_NEEDED
/* #line 132 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 208 "y.tab.c"
#line 132 "/u/icdc/rdt/tools/lib/bison.cc"
/* YY_parse_LSP_NEEDED*/
#endif
/* DEFAULT LTYPE*/
#ifdef YY_parse_LSP_NEEDED
#ifndef YY_parse_LTYPE
typedef
struct yyltype
{
int timestamp;
int first_line;
int first_column;
int last_line;
int last_column;
char *text;
}
yyltype;
#define YY_parse_LTYPE yyltype
#endif
#endif
/* DEFAULT STYPE*/
/* We used to use `unsigned long' as YY_parse_STYPE on MSDOS,
but it seems better to be consistent.
Most programs should declare their own type anyway. */
#ifndef YY_parse_STYPE
#define YY_parse_STYPE int
#endif
/* DEFAULT MISCELANEOUS */
#ifndef YY_parse_PARSE
#define YY_parse_PARSE yyparse
#endif
#ifndef YY_parse_LEX
#define YY_parse_LEX yylex
#endif
#ifndef YY_parse_LVAL
#define YY_parse_LVAL yylval
#endif
#ifndef YY_parse_LLOC
#define YY_parse_LLOC yylloc
#endif
#ifndef YY_parse_CHAR
#define YY_parse_CHAR yychar
#endif
#ifndef YY_parse_NERRS
#define YY_parse_NERRS yynerrs
#endif
#ifndef YY_parse_DEBUG_FLAG
#define YY_parse_DEBUG_FLAG yydebug
#endif
#ifndef YY_parse_ERROR
#define YY_parse_ERROR yyerror
#endif
#ifndef YY_parse_PARSE_PARAM
#ifndef __STDC__
#ifndef __cplusplus
#ifndef YY_USE_CLASS
#define YY_parse_PARSE_PARAM
#ifndef YY_parse_PARSE_PARAM_DEF
#define YY_parse_PARSE_PARAM_DEF
#endif
#endif
#endif
#endif
#ifndef YY_parse_PARSE_PARAM
#define YY_parse_PARSE_PARAM void
#endif
#endif
#if YY_parse_COMPATIBILITY != 0
/* backward compatibility */
#ifdef YY_parse_LTYPE
#ifndef YYLTYPE
#define YYLTYPE YY_parse_LTYPE
#else
/* WARNING obsolete !!! user defined YYLTYPE not reported into generated header */
#endif
#endif
#ifndef YYSTYPE
#define YYSTYPE YY_parse_STYPE
#else
/* WARNING obsolete !!! user defined YYSTYPE not reported into generated header */
#endif
#ifdef YY_parse_PURE
#ifndef YYPURE
#define YYPURE YY_parse_PURE
#endif
#endif
#ifdef YY_parse_DEBUG
#ifndef YYDEBUG
#define YYDEBUG YY_parse_DEBUG
#endif
#endif
#ifndef YY_parse_ERROR_VERBOSE
#ifdef YYERROR_VERBOSE
#define YY_parse_ERROR_VERBOSE YYERROR_VERBOSE
#endif
#endif
#ifndef YY_parse_LSP_NEEDED
#ifdef YYLSP_NEEDED
#define YY_parse_LSP_NEEDED YYLSP_NEEDED
#endif
#endif
#endif
#ifndef YY_USE_CLASS
/* TOKEN C */
/* #line 240 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 321 "y.tab.c"
#define CHAR 258
#define NUMBER 259
#define SECTEND 260
#define SCDECL 261
#define XSCDECL 262
#define WHITESPACE 263
#define NAME 264
#define PREVCCL 265
#define EOF_OP 266
#line 240 "/u/icdc/rdt/tools/lib/bison.cc"
/* #defines tokens */
#else
/* CLASS */
#ifndef YY_parse_CLASS
#define YY_parse_CLASS parse
#endif
#ifndef YY_parse_INHERIT
#define YY_parse_INHERIT
#endif
#ifndef YY_parse_MEMBERS
#define YY_parse_MEMBERS
#endif
#ifndef YY_parse_LEX_BODY
#define YY_parse_LEX_BODY
#endif
#ifndef YY_parse_ERROR_BODY
#define YY_parse_ERROR_BODY
#endif
#ifndef YY_parse_CONSTRUCTOR_PARAM
#define YY_parse_CONSTRUCTOR_PARAM
#endif
#ifndef YY_parse_CONSTRUCTOR_CODE
#define YY_parse_CONSTRUCTOR_CODE
#endif
#ifndef YY_parse_CONSTRUCTOR_INIT
#define YY_parse_CONSTRUCTOR_INIT
#endif
/* choose between enum and const */
#ifndef YY_parse_USE_CONST_TOKEN
#define YY_parse_USE_CONST_TOKEN 0
/* yes enum is more compatible with flex, */
/* so by default we use it */
#endif
#if YY_parse_USE_CONST_TOKEN != 0
#ifndef YY_parse_ENUM_TOKEN
#define YY_parse_ENUM_TOKEN yy_parse_enum_token
#endif
#endif
class YY_parse_CLASS YY_parse_INHERIT
{
public:
#if YY_parse_USE_CONST_TOKEN != 0
/* static const int token ... */
/* #line 284 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 380 "y.tab.c"
static const int CHAR;
static const int NUMBER;
static const int SECTEND;
static const int SCDECL;
static const int XSCDECL;
static const int WHITESPACE;
static const int NAME;
static const int PREVCCL;
static const int EOF_OP;
#line 284 "/u/icdc/rdt/tools/lib/bison.cc"
/* decl const */
#else
enum YY_parse_ENUM_TOKEN { YY_parse_NULL_TOKEN=0
/* #line 287 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 398 "y.tab.c"
,CHAR=258
,NUMBER=259
,SECTEND=260
,SCDECL=261
,XSCDECL=262
,WHITESPACE=263
,NAME=264
,PREVCCL=265
,EOF_OP=266
#line 287 "/u/icdc/rdt/tools/lib/bison.cc"
/* enum token */
}; /* end of enum declaration */
#endif
public:
int YY_parse_PARSE (YY_parse_PARSE_PARAM);
virtual void YY_parse_ERROR(char *msg) YY_parse_ERROR_BODY;
#ifdef YY_parse_PURE
#ifdef YY_parse_LSP_NEEDED
virtual int YY_parse_LEX (YY_parse_STYPE *YY_parse_LVAL,YY_parse_LTYPE *YY_parse_LLOC) YY_parse_LEX_BODY;
#else
virtual int YY_parse_LEX (YY_parse_STYPE *YY_parse_LVAL) YY_parse_LEX_BODY;
#endif
#else
virtual int YY_parse_LEX() YY_parse_LEX_BODY;
YY_parse_STYPE YY_parse_LVAL;
#ifdef YY_parse_LSP_NEEDED
YY_parse_LTYPE YY_parse_LLOC;
#endif
int YY_parse_NERRS;
int YY_parse_CHAR;
#endif
#if YY_parse_DEBUG != 0
int YY_parse_DEBUG_FLAG; /* nonzero means print parse trace */
#endif
public:
YY_parse_CLASS(YY_parse_CONSTRUCTOR_PARAM);
public:
YY_parse_MEMBERS
};
/* other declare folow */
#if YY_parse_USE_CONST_TOKEN != 0
/* #line 318 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 444 "y.tab.c"
const int YY_parse_CLASS::CHAR=258;
const int YY_parse_CLASS::NUMBER=259;
const int YY_parse_CLASS::SECTEND=260;
const int YY_parse_CLASS::SCDECL=261;
const int YY_parse_CLASS::XSCDECL=262;
const int YY_parse_CLASS::WHITESPACE=263;
const int YY_parse_CLASS::NAME=264;
const int YY_parse_CLASS::PREVCCL=265;
const int YY_parse_CLASS::EOF_OP=266;
#line 318 "/u/icdc/rdt/tools/lib/bison.cc"
/* const YY_parse_CLASS::token */
#endif
/*apres const */
YY_parse_CLASS::YY_parse_CLASS(YY_parse_CONSTRUCTOR_PARAM) YY_parse_CONSTRUCTOR_INIT
{
#if YY_parse_DEBUG != 0
YY_parse_DEBUG_FLAG=0;
#endif
YY_parse_CONSTRUCTOR_CODE;
};
#endif
/* #line 329 "/u/icdc/rdt/tools/lib/bison.cc" */
#line 470 "y.tab.c"
#define YYFINAL 81
#define YYFLAG -32768
#define YYNTBASE 32
#define YYTRANSLATE(x) ((unsigned)(x) <= 266 ? yytranslate[x] : 51)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 12,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 26, 2, 17, 2, 2, 2, 27,
28, 20, 21, 16, 31, 25, 19, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 14,
2, 15, 22, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
29, 2, 30, 13, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 23, 18, 24, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -