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

📄 objc-parse.c

📁 GCC编译器源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/*  A Bison parser, made from objc-parse.y with Bison version GNU Bison version 1.24  */#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	STRUCT	268#define	UNION	269#define	IF	270#define	ELSE	271#define	WHILE	272#define	DO	273#define	FOR	274#define	SWITCH	275#define	CASE	276#define	DEFAULT	277#define	BREAK	278#define	CONTINUE	279#define	RETURN	280#define	GOTO	281#define	ASM_KEYWORD	282#define	TYPEOF	283#define	ALIGNOF	284#define	ATTRIBUTE	285#define	EXTENSION	286#define	LABEL	287#define	REALPART	288#define	IMAGPART	289#define	ASSIGN	290#define	OROR	291#define	ANDAND	292#define	EQCOMPARE	293#define	ARITHCOMPARE	294#define	LSHIFT	295#define	RSHIFT	296#define	UNARY	297#define	PLUSPLUS	298#define	MINUSMINUS	299#define	HYPERUNARY	300#define	POINTSAT	301#define	INTERFACE	302#define	IMPLEMENTATION	303#define	END	304#define	SELECTOR	305#define	DEFS	306#define	ENCODE	307#define	CLASSNAME	308#define	PUBLIC	309#define	PRIVATE	310#define	PROTECTED	311#define	PROTOCOL	312#define	OBJECTNAME	313#define	CLASS	314#define	ALIAS	315#define	OBJC_STRING	316#line 33 "objc-parse.y"#include "config.h"#include <stdio.h>#include <errno.h>#include <setjmp.h>#include "tree.h"#include "input.h"#include "c-lex.h"#include "c-tree.h"#include "flags.h"#ifdef MULTIBYTE_CHARS#include <stdlib.h>#include <locale.h>#endif#include "objc-act.h"/* Since parsers are distinct for each language, put the language string   definition here.  */char *language_string = "GNU Obj-C";#ifndef errnoextern int errno;#endifvoid yyerror ();/* Like YYERROR but do call yyerror.  */#define YYERROR1 { yyerror ("syntax error"); YYERROR; }/* Cause the `yydebug' variable to be defined.  */#define YYDEBUG 1#line 72 "objc-parse.y"typedef union {long itype; tree ttype; enum tree_code code;	char *filename; int lineno; int ends_in_label; } YYSTYPE;#line 199 "objc-parse.y"/* Number of statements (loosely speaking) and compound statements    seen so far.  */static int stmt_count;static int compstmt_count;  /* Input file and line number of the end of the body of last simple_if;   used by the stmt-rule immediately after simple_if returns.  */static char *if_stmt_file;static int if_stmt_line;/* List of types and structure classes of the current declaration.  */static tree current_declspecs = NULL_TREE;static tree prefix_attributes = NULL_TREE;/* Stack of saved values of current_declspecs and prefix_attributes.  */static tree declspec_stack;/* 1 if we explained undeclared var errors.  */static int undeclared_variable_notice;/* Objective-C specific information */tree objc_interface_context;tree objc_implementation_context;tree objc_method_context;tree objc_ivar_chain;tree objc_ivar_context;enum tree_code objc_inherit_code;int objc_receiver_context;int objc_public_flag;/* 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 __cplusplus#ifndef __STDC__#define const#endif#endif#define	YYFINAL		941#define	YYFLAG		-32768#define	YYNTBASE	84#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 306)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,    80,     2,     2,     2,    52,    43,     2,    59,    76,    50,    48,    81,    49,    58,    51,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,    38,    77,     2,    36,     2,    37,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,    60,     2,    83,    42,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,    82,    41,    78,    79,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,     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,    39,    40,    44,    45,    46,    47,    53,    54,    55,    56,    57,    61,    62,    63,    64,    65,    66,    67,    68,    69,    70,    71,    72,    73,    74,    75};#if YYDEBUG != 0static const short yyprhs[] = {     0,     0,     1,     3,     4,     7,     8,    12,    14,    16,    18,    24,    27,    31,    36,    41,    44,    47,    50,    53,    55,    56,    57,    65,    70,    71,    72,    80,    85,    86,    87,

⌨️ 快捷键说明

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