⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parse.c

📁 gcc库的原代码,对编程有很大帮助.
💻 C
📖 第 1 页 / 共 5 页
字号:
/*  A Bison parser, made from parse.y with Bison version GNU Bison version 1.22  */#define YYBISON 1  /* Identify Bison output.  */#define	IDENTIFIER	258#define	TYPENAME	259#define	SCSPEC	260#define	TYPESPEC	261#define	TYPE_QUAL	262#define	CONSTANT	263#define	STRING	264#define	ELLIPSIS	265#define	SIZEOF	266#define	ENUM	267#define	IF	268#define	ELSE	269#define	WHILE	270#define	DO	271#define	FOR	272#define	SWITCH	273#define	CASE	274#define	DEFAULT	275#define	BREAK	276#define	CONTINUE	277#define	RETURN	278#define	GOTO	279#define	ASM_KEYWORD	280#define	GCC_ASM_KEYWORD	281#define	TYPEOF	282#define	ALIGNOF	283#define	SIGOF	284#define	ATTRIBUTE	285#define	EXTENSION	286#define	LABEL	287#define	AGGR	288#define	VISSPEC	289#define	DELETE	290#define	NEW	291#define	OVERLOAD	292#define	THIS	293#define	OPERATOR	294#define	CXX_TRUE	295#define	CXX_FALSE	296#define	NAMESPACE	297#define	TYPENAME_KEYWORD	298#define	USING	299#define	LEFT_RIGHT	300#define	TEMPLATE	301#define	TYPEID	302#define	DYNAMIC_CAST	303#define	STATIC_CAST	304#define	REINTERPRET_CAST	305#define	CONST_CAST	306#define	SCOPE	307#define	EMPTY	308#define	PTYPENAME	309#define	NSNAME	310#define	THROW	311#define	ASSIGN	312#define	OROR	313#define	ANDAND	314#define	MIN_MAX	315#define	EQCOMPARE	316#define	ARITHCOMPARE	317#define	LSHIFT	318#define	RSHIFT	319#define	POINTSAT_STAR	320#define	DOT_STAR	321#define	UNARY	322#define	PLUSPLUS	323#define	MINUSMINUS	324#define	HYPERUNARY	325#define	PAREN_STAR_PAREN	326#define	POINTSAT	327#define	TRY	328#define	CATCH	329#define	TYPENAME_ELLIPSIS	330#define	PRE_PARSED_FUNCTION_DECL	331#define	EXTERN_LANG_STRING	332#define	ALL	333#define	PRE_PARSED_CLASS_DECL	334#define	TYPENAME_DEFN	335#define	IDENTIFIER_DEFN	336#define	PTYPENAME_DEFN	337#define	END_OF_LINE	338#define	END_OF_SAVED_INPUT	339#line 29 "parse.y"/* Cause the `yydebug' variable to be defined.  */#define YYDEBUG 1#include "config.h"#include <stdio.h>#include <errno.h>#include "tree.h"#include "input.h"#include "flags.h"#include "lex.h"#include "cp-tree.h"#include "output.h"/* Since parsers are distinct for each language, put the language string   definition here.  (fnf) */char *language_string = "GNU C++";extern tree void_list_node;extern struct obstack permanent_obstack;#ifndef errnoextern int errno;#endifextern int end_of_file;extern int current_class_depth;/* FSF LOCAL dje prefix attributes */extern tree strip_attrs		PROTO((tree));/* END FSF LOCAL */void yyerror ();/* Like YYERROR but do call yyerror.  */#define YYERROR1 { yyerror ("syntax error"); YYERROR; }#define OP0(NODE) (TREE_OPERAND (NODE, 0))#define OP1(NODE) (TREE_OPERAND (NODE, 1))/* Contains the statement keyword (if/while/do) to include in an   error message if the user supplies an empty conditional expression.  */static char *cond_stmt_keyword;/* Nonzero if we have an `extern "C"' acting as an extern specifier.  */int have_extern_spec;int used_extern_spec;void yyhook ();/* Cons up an empty parameter list.  */#ifdef __GNUC____inline#endifstatic treeempty_parms (){  tree parms;  if (strict_prototype)    parms = void_list_node;  else    parms = NULL_TREE;  return parms;}#line 100 "parse.y"typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;#line 278 "parse.y"/* List of types and structure classes of the current declaration.  */static tree current_declspecs;/* List of prefix attributes in effect.   Prefix attributes are parsed by the reserved_declspecs and declmods   rules.  They create a list that contains *both* declspecs and attrs.  *//* ??? It is not clear yet that all cases where an attribute can now appear in   a declspec list have been updated.  */static tree prefix_attributes;/* When defining an aggregate, this is the most recent one being defined.  */static tree current_aggr;/* Tell yyparse how to print a token's value, if yydebug is set.  */#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)extern void yyprint ();extern tree combine_strings		PROTO((tree));#ifndef YYLTYPEtypedef  struct yyltype    {      int timestamp;      int first_line;      int first_column;      int last_line;      int last_column;      char *text;   }  yyltype;#define YYLTYPE yyltype#endif#include <stdio.h>#ifndef __cplusplus#ifndef __STDC__#define const#endif#endif#define	YYFINAL		1399#define	YYFLAG		-32768#define	YYNTBASE	109#define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 364)static const char 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,   107,     2,     2,     2,    80,    68,     2,    91,   105,    78,    76,    57,    77,    90,    79,     2,     2,     2,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -