📄 y.tab.cpp
字号:
#include "ast_exception.h"
#include "fe_declarator.h"
#include "fe_interface_header.h"
#include "utl_identifier.h"
#include "utl_err.h"
#include "utl_string.h"
#include "utl_strlist.h"
#include "utl_namelist.h"
#include "utl_exprlist.h"
#include "utl_labellist.h"
#include "utl_decllist.h"
#include "global_extern.h"
#include "nr_extern.h"
#if (defined(apollo) || defined(hpux)) && defined(__cplusplus)
extern "C" int tao_yywrap();
#endif // (defined(apollo) || defined(hpux)) && defined(__cplusplus)
void tao_yyerror (const char *);
int tao_yylex (void);
extern "C" int tao_yywrap (void);
extern char tao_yytext[];
extern int tao_yyleng;
AST_Decl *tao_enum_constant_decl = 0;
#define TAO_YYDEBUG_LEXER_TEXT (tao_yytext[tao_yyleng] = '\0', tao_yytext)
// Force the pretty debugging code to compile.
#define TAO_YYDEBUG 1
/* Enabling traces. */
#ifndef TAO_YYDEBUG
# define TAO_YYDEBUG 0
#endif
/* Enabling verbose error messages. */
#ifdef TAO_YYERROR_VERBOSE
# undef TAO_YYERROR_VERBOSE
# define TAO_YYERROR_VERBOSE 1
#else
# define TAO_YYERROR_VERBOSE 0
#endif
#if ! defined (TAO_YYSTYPE) && ! defined (TAO_YYSTYPE_IS_DECLARED)
typedef union TAO_YYSTYPE {
AST_Decl *dcval; /* Decl value */
UTL_StrList *slval; /* String list */
UTL_NameList *nlval; /* Name list */
UTL_ExprList *elval; /* Expression list */
UTL_LabelList *llval; /* Label list */
UTL_DeclList *dlval; /* Declaration list */
FE_InterfaceHeader *ihval; /* Interface header */
FE_OBVHeader *vhval; /* Valuetype header */
FE_EventHeader *ehval; /* Event header */
FE_ComponentHeader *chval; /* Component header */
FE_HomeHeader *hhval; /* Home header */
AST_Expression *exval; /* Expression value */
AST_UnionLabel *ulval; /* Union label */
AST_Field *ffval; /* Field value */
AST_Field::Visibility vival; /* N/A, pub or priv */
AST_Expression::ExprType etval; /* Expression type */
AST_Argument::Direction dival; /* Argument direction */
AST_Operation::Flags ofval; /* Operation flags */
FE_Declarator *deval; /* Declarator value */
idl_bool bval; /* Boolean value */
long ival; /* Long value */
ACE_UINT64 uival; /* Unsigned long value */
double dval; /* Double value */
float fval; /* Float value */
char cval; /* Char value */
ACE_CDR::WChar wcval; /* WChar value */
UTL_String *sval; /* String value */
char *wsval; /* WString value */
char *strval; /* char * value */
Identifier *idval; /* Identifier */
UTL_IdList *idlist; /* Identifier list */
} TAO_YYSTYPE;
/* Line 191 of yacc.c. */
# define tao_yystype TAO_YYSTYPE /* obsolescent; will be withdrawn */
# define TAO_YYSTYPE_IS_DECLARED 1
# define TAO_YYSTYPE_IS_TRIVIAL 1
#endif
/* Copy the second part of user declarations. */
/* Line 214 of yacc.c. */
#if ! defined (tao_yyoverflow) || TAO_YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
# if TAO_YYSTACK_USE_ALLOCA
# define TAO_YYSTACK_ALLOC alloca
# else
# ifndef TAO_YYSTACK_USE_ALLOCA
# if defined (alloca) || defined (_ALLOCA_H)
# define TAO_YYSTACK_ALLOC alloca
# else
# ifdef __GNUC__
# define TAO_YYSTACK_ALLOC __builtin_alloca
# endif
# endif
# endif
# endif
# ifdef TAO_YYSTACK_ALLOC
/* Pacify GCC's `empty if-body' warning. */
# define TAO_YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# else
# if defined (__STDC__) || defined (__cplusplus)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# define TAO_YYSIZE_T size_t
# endif
# define TAO_YYSTACK_ALLOC malloc
# define TAO_YYSTACK_FREE free
# endif
#endif /* ! defined (tao_yyoverflow) || TAO_YYERROR_VERBOSE */
#if (! defined (tao_yyoverflow) \
&& (! defined (__cplusplus) \
|| (TAO_YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union tao_yyalloc
{
short tao_yyss;
TAO_YYSTYPE tao_yyvs;
};
/* The size of the maximum gap between one aligned stack and the next. */
# define TAO_YYSTACK_GAP_MAXIMUM (sizeof (union tao_yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define TAO_YYSTACK_BYTES(N) \
((N) * (sizeof (short) + sizeof (TAO_YYSTYPE)) \
+ TAO_YYSTACK_GAP_MAXIMUM)
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef TAO_YYCOPY
# if 1 < __GNUC__
# define TAO_YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
# define TAO_YYCOPY(To, From, Count) \
do \
{ \
register TAO_YYSIZE_T tao_yyi; \
for (tao_yyi = 0; tao_yyi < (Count); tao_yyi++) \
(To)[tao_yyi] = (From)[tao_yyi]; \
} \
while (0)
# endif
# endif
/* Relocate STACK from its old location to the new one. The
local variables TAO_YYSIZE and TAO_YYSTACKSIZE give the old and new number of
elements in the stack, and TAO_YYPTR gives the new location of the
stack. Advance TAO_YYPTR to a properly aligned location for the next
stack. */
# define TAO_YYSTACK_RELOCATE(Stack) \
do \
{ \
TAO_YYSIZE_T tao_yynewbytes; \
TAO_YYCOPY (&tao_yyptr->Stack, Stack, tao_yysize); \
Stack = &tao_yyptr->Stack; \
tao_yynewbytes = tao_yystacksize * sizeof (*Stack) + TAO_YYSTACK_GAP_MAXIMUM; \
tao_yyptr += tao_yynewbytes / sizeof (*tao_yyptr); \
} \
while (0)
#endif
#if defined (__STDC__) || defined (__cplusplus)
typedef signed char tao_yysigned_char;
#else
typedef short tao_yysigned_char;
#endif
/* TAO_YYFINAL -- State number of the termination state. */
#define TAO_YYFINAL 3
/* TAO_YYLAST -- Last index in TAO_YYTABLE. */
#define TAO_YYLAST 1111
/* TAO_YYNTOKENS -- Number of terminals. */
#define TAO_YYNTOKENS 100
/* TAO_YYNNTS -- Number of nonterminals. */
#define TAO_YYNNTS 322
/* TAO_YYNRULES -- Number of rules. */
#define TAO_YYNRULES 477
/* TAO_YYNRULES -- Number of states. */
#define TAO_YYNSTATES 675
/* TAO_YYTRANSLATE(TAO_YYLEX) -- Bison symbol number corresponding to TAO_YYLEX. */
#define TAO_YYUNDEFTOK 2
#define TAO_YYMAXUTOK 333
#define TAO_YYTRANSLATE(TAO_YYX) \
((unsigned int) (TAO_YYX) <= TAO_YYMAXUTOK ? tao_yytranslate[TAO_YYX] : TAO_YYUNDEFTOK)
/* TAO_YYTRANSLATE[TAO_YYLEX] -- Bison symbol number corresponding to TAO_YYLEX. */
static const unsigned char tao_yytranslate[] =
{
0, 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, 92, 87, 2,
94, 95, 90, 88, 83, 89, 2, 91, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 82, 79,
97, 84, 96, 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, 98, 2, 99, 86, 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, 80, 85, 81, 93, 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, 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, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -