📄 y.tab.h
字号:
/* A Bison parser, made by GNU Bison 1.875d. */
/* Skeleton parser for Yacc-like parsing with Bison,
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
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 2, 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., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
T_Void = 258,
T_Bool = 259,
T_Int = 260,
T_Double = 261,
T_String = 262,
T_Class = 263,
T_LessEqual = 264,
T_GreaterEqual = 265,
T_Equal = 266,
T_NotEqual = 267,
T_Dims = 268,
T_And = 269,
T_Or = 270,
T_Null = 271,
T_Extends = 272,
T_This = 273,
T_While = 274,
T_For = 275,
T_If = 276,
T_Else = 277,
T_Return = 278,
T_Break = 279,
T_New = 280,
T_NewArray = 281,
T_Print = 282,
T_ReadInteger = 283,
T_ReadLine = 284,
T_Try = 285,
T_Catch = 286,
T_Throw = 287,
T_Switch = 288,
T_Case = 289,
T_Default = 290,
T_Identifier = 291,
T_StringConstant = 292,
T_IntConstant = 293,
T_DoubleConstant = 294,
T_BoolConstant = 295,
UMINUS = 296,
Lower_Else = 297
};
#endif
#define T_Void 258
#define T_Bool 259
#define T_Int 260
#define T_Double 261
#define T_String 262
#define T_Class 263
#define T_LessEqual 264
#define T_GreaterEqual 265
#define T_Equal 266
#define T_NotEqual 267
#define T_Dims 268
#define T_And 269
#define T_Or 270
#define T_Null 271
#define T_Extends 272
#define T_This 273
#define T_While 274
#define T_For 275
#define T_If 276
#define T_Else 277
#define T_Return 278
#define T_Break 279
#define T_New 280
#define T_NewArray 281
#define T_Print 282
#define T_ReadInteger 283
#define T_ReadLine 284
#define T_Try 285
#define T_Catch 286
#define T_Throw 287
#define T_Switch 288
#define T_Case 289
#define T_Default 290
#define T_Identifier 291
#define T_StringConstant 292
#define T_IntConstant 293
#define T_DoubleConstant 294
#define T_BoolConstant 295
#define UMINUS 296
#define Lower_Else 297
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 43 "parser.y"
typedef union YYSTYPE {
int integerConstant;
bool boolConstant;
char *stringConstant;
double doubleConstant;
char identifier[MaxIdentLen+1]; // +1 for terminating null
Decl *decl;
List<Decl*> *declList;
List<VarDecl*> *varDeclList;
List<Expr*> *exprList;
VarDecl *varDecl;
Type *type;
Identifier *ident;
FnDecl *fnDecl;
Stmt *stmt;
List<Stmt*> *stmtList;
StmtBlock *stmtBlock;
IfStmt *ifStmt;
WhileStmt *whileStmt;
ForStmt *forStmt;
ReturnStmt *returnStmt;
BreakStmt *breakStmt;
PrintStmt *printStmt;
TryStmt *tryStmt;
CatchStmt *catchStmt;
ThrowStmt *throwStmt;
SwitchStmt *switchStmt;
CaseStmt *caseStmt;
DefaultStmt *defaultStmt;
SwitchBody *switchBody;
List<CatchStmt*> *catchStmtList;
List<CaseStmt*> *caseStmtList;
Expr *expr;
LValue *LV;
Call *call;
} YYSTYPE;
/* Line 1285 of yacc.c. */
#line 163 "y.tab.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE yylval;
#if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED)
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
extern YYLTYPE yylloc;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -