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

📄 cp-parse.c

📁 早期freebsd实现
💻 C
📖 第 1 页 / 共 5 页
字号:
/*  A Bison parser, made from cp-parse.y  */#define YYBISON 1  /* Identify Bison output.  */#define	IDENTIFIER	258#define	TYPENAME	259#define	SCOPED_TYPENAME	260#define	SCSPEC	261#define	TYPESPEC	262#define	TYPE_QUAL	263#define	CONSTANT	264#define	STRING	265#define	ELLIPSIS	266#define	SIZEOF	267#define	ENUM	268#define	IF	269#define	ELSE	270#define	WHILE	271#define	DO	272#define	FOR	273#define	SWITCH	274#define	CASE	275#define	DEFAULT	276#define	BREAK	277#define	CONTINUE	278#define	RETURN	279#define	GOTO	280#define	ASM_KEYWORD	281#define	TYPEOF	282#define	ALIGNOF	283#define	HEADOF	284#define	CLASSOF	285#define	ATTRIBUTE	286#define	EXTENSION	287#define	LABEL	288#define	AGGR	289#define	VISSPEC	290#define	DELETE	291#define	NEW	292#define	OVERLOAD	293#define	THIS	294#define	OPERATOR	295#define	DYNAMIC	296#define	POINTSAT_LEFT_RIGHT	297#define	LEFT_RIGHT	298#define	TEMPLATE	299#define	SCOPE	300#define	START_DECLARATOR	301#define	EMPTY	302#define	TYPENAME_COLON	303#define	ASSIGN	304#define	RANGE	305#define	OROR	306#define	ANDAND	307#define	MIN_MAX	308#define	EQCOMPARE	309#define	ARITHCOMPARE	310#define	LSHIFT	311#define	RSHIFT	312#define	UNARY	313#define	PLUSPLUS	314#define	MINUSMINUS	315#define	HYPERUNARY	316#define	PAREN_STAR_PAREN	317#define	POINTSAT	318#define	POINTSAT_STAR	319#define	DOT_STAR	320#define	RAISE	321#define	RAISES	322#define	RERAISE	323#define	TRY	324#define	EXCEPT	325#define	CATCH	326#define	THROW	327#define	ANSI_TRY	328#define	ANSI_THROW	329#define	TYPENAME_ELLIPSIS	330#define	PTYPENAME	331#define	PRE_PARSED_FUNCTION_DECL	332#define	EXTERN_LANG_STRING	333#define	ALL	334#define	PRE_PARSED_CLASS_DECL	335#define	TYPENAME_DEFN	336#define	IDENTIFIER_DEFN	337#define	PTYPENAME_DEFN	338#define	END_OF_SAVED_INPUT	339#line 42 "cp-parse.y"#if defined(GATHER_STATISTICS) || defined(SPEW_DEBUG)#undef YYDEBUG#define YYDEBUG 1#endif#include "config.h"#include <stdio.h>#include <errno.h>#include "tree.h"#include "input.h"#include "flags.h"#include "cp-lex.h"#include "cp-tree.h"extern tree void_list_node;extern struct obstack permanent_obstack;#ifndef errnoextern int errno;#endifextern int end_of_file;void yyerror ();/* Like YYERROR but do call yyerror.  */#define YYERROR1 { yyerror ("syntax error"); YYERROR; }static void position_after_white_space ();/* Contains error message to give if user tries to declare   a variable where one does not belong.  */static char *stmt_decl_msg = 0;/* 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 104 "cp-parse.y"typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;#line 261 "cp-parse.y"/* List of types and structure classes of the current declaration.  */static tree current_declspecs;/* When defining an aggregate, this is the most recent one being defined.  */static tree current_aggr;/* 1 if we explained undeclared var errors.  */int undeclared_variable_notice;/* 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 ();#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 __STDC__#define const#endif#define	YYFINAL		1271#define	YYFLAG		-32768#define	YYNTBASE	109#define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 298)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,    72,    60,     2,    82,   103,    70,    68,    50,    69,    80,    71,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,    54,   104,    64,    52,    65,    53,     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,    83,     2,   108,    59,     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,    49,    58,   105,   106,     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 + -