📄 c-parse.c
字号:
/* A Bison parser, made from c-parse.y */#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 ALIGN 285#define ATTRIBUTE 286#define EXTENSION 287#define LABEL 288#define ASSIGN 289#define OROR 290#define ANDAND 291#define EQCOMPARE 292#define ARITHCOMPARE 293#define LSHIFT 294#define RSHIFT 295#define UNARY 296#define PLUSPLUS 297#define MINUSMINUS 298#define HYPERUNARY 299#define POINTSAT 300#define INTERFACE 301#define IMPLEMENTATION 302#define END 303#define SELECTOR 304#define DEFS 305#define ENCODE 306#define CLASSNAME 307#define PUBLIC 308#line 44 "c-parse.y"#include <stdio.h>#include <errno.h>#include <setjmp.h>#include "config.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#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 77 "c-parse.y"typedef union {long itype; tree ttype; enum tree_code code; char *filename; int lineno; } YYSTYPE;#line 183 "c-parse.y"/* Number of statements (loosely speaking) seen so far. */static int stmt_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;/* Stack of saved values of current_declspecs. */static tree declspec_stack;/* 1 if we explained undeclared var errors. */static 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 602#define YYFLAG -32768#define YYNTBASE 76#define YYTRANSLATE(x) ((unsigned)(x) <= 308 ? yytranslate[x] : 200)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, 72, 2, 2, 2, 51, 42, 2, 58, 68, 49, 47, 73, 48, 57, 50, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 37, 69, 2, 35, 2, 36, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 59, 2, 75, 41, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 74, 40, 70, 71, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 38, 39, 43, 44, 45, 46, 52, 53, 54, 55, 56, 60, 61, 62, 63, 64, 65, 66, 67};static const short yyprhs[] = { 0, 0, 1, 3, 4, 7, 8, 12, 14, 16, 22, 26, 31, 36, 39, 42, 45, 48, 50, 51, 52, 60, 65, 66, 67, 75, 80, 81, 82, 89, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 114, 116, 118, 122, 124, 127, 128, 132, 135, 138, 141, 146, 149, 154, 156, 161, 169, 171, 175, 179, 183, 187, 191, 195, 199, 203, 207, 211, 215, 219, 223, 227, 233, 237, 241, 243, 245, 247, 251, 255, 256, 261, 266, 271, 275, 279, 282, 285, 287, 290, 291, 293, 296, 300, 302, 304, 307, 310, 315, 320, 323, 326, 330, 332, 334, 337, 340, 341, 346, 351, 355, 359, 362, 365, 368, 372, 373, 376, 379, 381, 383, 386, 389, 392, 396, 397, 400, 402, 404, 406, 411, 416, 418, 420, 422, 424, 428, 430, 434, 435, 440, 441, 448, 452, 453, 460, 464, 465, 472, 474, 478, 480, 485, 490, 499, 501, 504, 508, 513, 515, 517, 521, 528, 537, 542, 549, 553, 559, 560, 564, 565, 569, 571, 573, 577, 581, 586, 590, 594, 596, 600, 605, 609, 613, 615, 619, 623, 627, 632, 636, 638, 639, 646, 651, 654, 655, 662, 667, 670, 671, 679, 680, 687, 690, 691, 693, 694, 696, 698, 701, 702, 706, 709, 713, 715, 719, 721, 723, 725, 729, 734, 741, 746, 748, 752, 754, 758, 761, 764, 765, 767, 769, 772, 773, 776, 780, 784, 787, 791, 796, 800, 803, 807, 810, 812, 815, 818, 819, 821, 824, 825, 826, 828, 830, 833, 837, 839, 842, 845, 852, 858, 864, 867, 870, 875, 876, 881, 882, 883, 887, 892, 896, 898, 900, 902, 905, 906, 911, 913, 917, 918, 919, 927, 933, 936, 937, 938, 939, 952, 953, 960, 963, 966, 969, 973, 980, 989, 1000, 1013, 1017, 1022, 1024, 1028, 1034, 1037, 1040, 1041, 1043, 1044, 1046, 1047, 1049, 1051, 1055, 1060, 1062, 1066, 1067, 1070, 1073, 1074, 1079, 1082, 1083, 1085, 1087, 1091, 1093, 1097, 1100,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -