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