📄 cp-parse.c
字号:
/* 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 + -