📄 objc-parse.c
字号:
/* A Bison parser, made from objc-parse.y by GNU Bison version 1.25 */#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 "system.h"#include <setjmp.h>#include "tree.h"#include "input.h"#include "c-lex.h"#include "c-tree.h"#include "flags.h"#include "output.h"#include "toplev.h"#ifdef MULTIBYTE_CHARS#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";/* Like YYERROR but do call yyerror. */#define YYERROR1 { yyerror ("syntax error"); YYERROR; }/* Cause the `yydebug' variable to be defined. */#define YYDEBUG 1#line 65 "objc-parse.y"typedef union {long itype; tree ttype; enum tree_code code; char *filename; int lineno; int ends_in_label; } YYSTYPE;#line 193 "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 PROTO ((FILE *, int, YYSTYPE));#include <stdio.h>#ifndef __cplusplus#ifndef __STDC__#define const#endif#endif#define YYFINAL 955#define YYFLAG -32768#define YYNTBASE 84#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 311)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, 94, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 123, 125, 127, 131, 133, 136, 139, 142, 145, 148, 153, 156, 161, 164, 167, 169, 171, 173, 178, 179, 187, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233, 237, 238, 243, 244, 249, 250, 251, 259, 260, 266, 270, 274, 276, 278, 280, 284, 288, 289, 294, 299, 304, 308, 312, 315, 318, 320, 322, 324, 326, 328, 330, 333, 335, 338, 339, 341, 344, 348, 350, 352, 355, 358, 363, 368, 371, 374, 378, 380, 382, 385, 388, 389, 390, 395, 400, 404, 408, 411, 414, 417, 420, 424, 425, 428, 431, 434, 437, 441, 442, 445, 448, 450, 452, 455, 458, 460, 462, 465, 468, 471, 475, 476, 479, 481, 483, 485, 488, 491, 493, 498, 503, 505, 507, 509, 511, 515, 517, 521, 522, 527, 528, 535, 539, 540, 547, 551, 552, 554, 556, 559, 566, 568, 572, 573, 575, 580, 587, 592, 594, 596, 598, 600, 602, 603, 608, 610, 611, 614, 616, 620, 624, 627, 628, 633, 635, 636, 641, 643, 645, 647, 650, 653, 654,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -