📄 y.tab.c
字号:
# line 43 "gram.y"#include "size.h"#include "cfront.h"#define YYMAXDEPTH 300extern int yyparse();Pbase defa_type;Pbase moe_type;Pexpr dummy;Pexpr zero;Pclass ccl;int cdi = 0;static Pname cd = 0, cd_vec[BLMAX];static char stmt_seen = 0, stmt_vec[BLMAX];Plist modified_tn = 0;static Plist tn_vec[BLMAX];Pname sta_name = (Pname)&sta_name;extern TOK back;TOK back;#define lex_unget(x) back = x#define Ndata(a,b) Pname(b)->normalize((Pbase)a,0,0)#define Ncast(a,b) Pname(b)->normalize((Pbase)a,0,1)#define Nfct(a,b,c) Pname(b)->normalize((Pbase)a,(Pblock)c,0)#define Ntype(p) Pname(p)->tp#define Nstclass(p) Pname(p)->n_stclass#define Nlist(p) Pname(p)->n_list#define Ncopy(n) (Pname(n)->base==TNAME)?new name(Pname(n)->string):Pname(n)#define Nhide(n) Pname(n)->hide()#define fieldN(e) new basetype(FIELD,(Pname)e)#define enumdefN(m) new enumdef(m)#define Fargtype(p) Pfct(p)->argtype#define Finit(p) Pfct(p)->f_init#define Finline(p) Pfct(p)->f_inline = 1#define Fargdcl(p,q,r) Pfct(p)->argdcl(q,r)#define Freturns(p) Pfct(p)->returns#define fctN(t,a,k) new fct(t,a,k)#define vecN(e) new vec(0,e)#define Vtype(v) Pvec(v)->typ#define Ptyp(p) Pptr(p)->typ#define conN(t,v) new expr(t,(Pexpr)v,0)#define nlistN(n) (PP)new nlist((Pname)n)#define Nadd(l,n) ((class nlist *)l)->add((Pname)n)#define Nadd_list(l,n) ((class nlist *)l)->add_list((Pname)n)#define Nunlist(l) name_unlist((nlist*)l)#define slistN(s) (PP)new slist((Pstmt)s)#define Sadd(l,s) ((slist*)l)->add((Pstmt)s)#define Sunlist(l) stmt_unlist((slist*)l)#define Eadd(l,e) ((elist*)l)->add((Pexpr)e)#define Eunlist(l) expr_unlist((elist*)l) /* avoid redefinitions */#undef EOFTOK#undef ASM#undef BREAK#undef CASE#undef CONTINUE#undef DEFAULT#undef DELETE#undef DO#undef ELSE#undef ENUM#undef FOR#undef FORTRAN#undef GOTO#undef IF#undef NEW#undef OPERATOR#undef PUBLIC#undef RETURN#undef SIZEOF#undef SWITCH#undef THIS#undef WHILE#undef LP#undef RP#undef LB#undef RB#undef REF#undef DOT #undef NOT #undef COMPL #undef MUL #undef AND #undef PLUS #undef MINUS #undef ER #undef OR #undef ANDAND#undef OROR#undef QUEST#undef COLON#undef ASSIGN#undef CM#undef SM #undef LC #undef RC#undef ID#undef STRING#undef ICON#undef FCON #undef CCON #undef ZERO#undef ASOP#undef RELOP#undef EQUOP#undef DIVOP#undef SHIFTOP#undef ICOP#undef TYPE#undef TNAME#undef EMPTY#undef NO_ID#undef NO_EXPR#undef ELLIPSIS#undef AGGR#undef MEM#undef CAST#undef ENDCASTPname syn(){ return (Pname) yyparse();}# line 176 "gram.y"typedef union { char* s; TOK t; int i; loc l; Pname pn; Ptype pt; Pexpr pe; Pstmt ps; Pbase pb; PP p; /* fudge: pointer to all class node objects neccessary only because unions of class pointers are not implemented by cpre */} YYSTYPE;# line 192 "gram.y"extern YYSTYPE yylval;# define EOFTOK 0# define ASM 1# define BREAK 3# define CASE 4# define CONTINUE 7# define DEFAULT 8# define DELETE 9# define DO 10# define ELSE 12# define ENUM 13# define FOR 16# define FORTRAN 17# define GOTO 19# define IF 20# define NEW 23# define OPERATOR 24# define PUBLIC 25# define RETURN 28# define SIZEOF 30# define SWITCH 33# define THIS 34# define WHILE 39# define LP 40# define RP 41# define LB 42# define RB 43# define REF 44# define DOT 45# define NOT 46# define COMPL 47# define MUL 50# define AND 52# define PLUS 54# define MINUS 55# define ER 64# define OR 65# define ANDAND 66# define OROR 67# define QUEST 68# define COLON 69# define ASSIGN 70# define CM 71# define SM 72# define LC 73# define RC 74# define CAST 113# define ENDCAST 122# define ID 80# define STRING 81# define ICON 82# define FCON 83# define CCON 84# define ZERO 86# define ASOP 90# define RELOP 91# define EQUOP 92# define DIVOP 93# define SHIFTOP 94# define ICOP 95# define TYPE 97# define TNAME 123# define EMPTY 124# define NO_ID 125# define NO_EXPR 126# define ELLIPSIS 155# define AGGR 156# define MEM 160#define yyclearin yychar = -1#define yyerrok yyerrflag = 0extern int yychar;extern int yyerrflag;#ifndef YYMAXDEPTH#define YYMAXDEPTH 150#endifYYSTYPE yylval, yyval;typedef int yytabelem;# define YYERRCODE 256# line 1256 "gram.y"yytabelem yyexca[] ={-1, 1, 0, -1, -2, 0,-1, 30, 71, 20, 72, 20, -2, 19,-1, 43, 155, 231, -2, 178,-1, 49, 155, 231, -2, 178,-1, 221, 1, 126, 3, 126, 4, 126, 7, 126, 8, 126, 9, 126, 10, 126, 13, 126, 16, 126, 19, 126, 20, 126, 23, 126, 24, 126, 28, 126, 30, 126, 33, 126, 34, 126, 39, 126, 40, 126, 46, 126, 47, 126, 50, 126, 52, 126, 54, 126, 55, 126, 64, 126, 65, 126, 66, 126, 67, 126, 68, 126, 70, 126, 71, 126, 72, 126, 73, 126, 113, 126, 80, 126, 81, 126, 82, 126, 83, 126, 84, 126, 86, 126, 90, 126, 91, 126, 92, 126, 93, 126, 94, 126, 95, 126, 97, 126, 123, 126, 156, 126, 160, 126, -2, 0,-1, 249, 72, 51, -2, 100,-1, 250, 72, 50, -2, 64, };# define YYNPROD 237# define YYLAST 1502yytabelem yyact[]={ 351, 44, 372, 338, 42, 341, 5, 137, 342, 6, 16, 104, 133, 223, 290, 50, 298, 164, 48, 60, 287, 233, 61, 201, 204, 118, 136, 163, 49, 199, 45, 10, 200, 46, 343, 89, 50, 217, 14, 48, 102, 91, 377, 92, 139, 23, 144, 129, 318, 59, 139, 153, 296, 227, 334, 54, 256, 23, 50, 94, 50, 48, 145, 48, 38, 20, 92, 289, 22, 87, 95, 21, 86, 131, 285, 141, 35, 388, 224, 96, 22, 141, 36, 229, 90, 381, 93, 165, 357, 178, 146, 92, 307, 176, 177, 158, 155, 364, 159, 139, 162, 250, 174, 129, 379, 317, 171, 221, 92, 93, 127, 300, 128, 53, 178, 191, 166, 406, 225, 127, 216, 206, 207, 208, 209, 210, 211, 212, 213, 131, 92, 27, 184, 217, 93, 27, 230, 27, 168, 203, 205, 139, 167, 370, 249, 17, 23, 218, 47, 200, 219, 93, 240, 231, 255, 239, 52, 184, 292, 215, 99, 100, 18, 220, 172, 313, 126, 228, 24, 22, 25, 257, 24, 93, 25, 126, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 244, 275, 254, 276, 139, 35, 299, 139, 139, 54, 15, 36, 248, 258, 242, 35, 277, 281, 170, 282, 283, 36, 27, 33, 247, 246, 279, 19, 236, 19, 278, 280, 45, 139, 286, 27, 23, 154, 24, 139, 25, 252, 203, 308, 316, 301, 306, 293, 252, 232, 284, 251, 253, 13, 205, 132, 51, 27, 158, 22, 309, 159, 315, 162, 305, 310, 311, 295, 234, 141, 245, 43, 24, 45, 25, 149, 152, 35, 314, 35, 101, 141, 28, 36, 202, 36, 28, 304, 28, 312, 148, 27, 147, 51, 45, 235, 24, 328, 25, 241, 331, 45, 43, 40, 45, 43, 19, 45, 154, 330, 398, 139, 383, 325, 332, 333, 326, 329, 139, 33, 308, 308, 358, 360, 335, 362, 158, 336, 365, 159, 361, 162, 132, 359, 292, 98, 43, 150, 45, 328, 366, 19, 331, 331, 24, 232, 25, 130, 195, 368, 194, 327, 196, 197, 330, 324, 374, 288, 376, 291, 367, 45, 323, 380, 322, 28, 303, 132, 363, 45, 238, 226, 169, 385, 151, 19, 384, 387, 28, 373, 386, 375, 390, 371, 389, 302, 391, 395, 393, 235, 235, 198, 29, 405, 397, 41, 399, 160, 7, 396, 28, 132, 378, 193, 401, 394, 402, 392, 404, 382, 408, 407, 161, 8, 178, 409, 410, 297, 176, 177, 412, 340, 134, 352, 349, 414, 97, 353, 350, 103, 356, 138, 83, 27, 28, 135, 346, 339, 337, 355, 344, 31, 288, 107, 127, 291, 291, 157, 354, 88, 116, 27, 26, 347, 125, 185, 183, 184, 182, 345, 119, 12, 23, 1, 222, 2, 113, 114, 0, 0, 109, 0, 110, 0, 112, 111, 0, 0, 18, 0, 0, 0, 0, 0, 0, 22, 0, 0, 24, 0, 25, 0, 0, 221, 369, 0, 0, 0, 0, 0, 348, 123, 121, 122, 124, 11, 120, 39, 0, 0, 32, 0, 0, 0, 0, 115, 30, 142, 37, 340, 0, 352, 349, 55, 57, 353, 350, 103, 356, 0, 0, 27, 0, 108, 346, 33, 0, 355, 344, 0, 178, 107, 127, 143, 176, 177, 354, 0, 116, 178, 27, 347, 125, 176, 177, 0, 0, 345, 119, 0, 0, 34, 23, 0, 113, 114, 0, 0, 109, 0, 110, 0, 112, 111, 0, 0, 28, 236, 18, 0, 117, 185, 0, 184, 182, 22, 0, 24, 24, 25, 25, 221, 184, 182, 28, 0, 0, 0, 348, 123, 121, 122, 124, 0, 120, 173, 0, 39, 103, 0, 0, 0, 27, 115, 0, 142, 0, 234, 37, 0, 0, 0, 107, 127, 0, 0, 0, 0, 0, 116, 0, 108, 0, 125, 33, 0, 0, 173, 0, 119, 0, 143, 23, 23, 0, 113, 114, 0, 0, 109, 0, 110, 0, 112, 111, 0, 0, 0, 18, 18, 232, 58, 0, 0, 0, 22, 22, 0, 24, 24, 25, 25, 140, 0, 28, 0, 0, 0, 117, 126, 123, 121, 122, 124, 0, 120, 0, 0, 0, 103, 0, 0, 0, 28, 115, 0, 142, 0, 15, 15, 0, 0, 0, 107, 127, 0, 0, 0, 0, 0, 116, 0, 108, 0, 125, 0, 0, 0, 0, 0, 119, 0, 143, 0, 0, 0, 113, 114, 0, 0, 109, 0, 110, 0, 112, 111, 0, 0, 0, 0, 0, 58, 56, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 140, 0, 28, 0, 0, 0, 117, 126, 123, 121, 122, 124, 0, 120, 0, 0, 0, 103, 0, 0, 0, 0, 115, 0, 105, 0, 0, 0, 4, 9, 0, 107, 127, 185, 183, 184, 182, 0, 116, 0, 108, 27, 125, 0, 0, 0, 0, 0, 119, 0, 106, 0, 23, 0, 113, 114, 0, 0, 109, 0, 110, 0, 112, 111, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 22, 0, 0, 24, 0, 25, 0, 0, 0, 0, 0, 0, 117, 126, 123, 121, 122, 124, 0, 120, 107, 127, 0, 0, 0, 3, 0, 116, 115, 0, 105, 125, 0, 15, 0, 0, 0, 119, 0, 192, 0, 0, 0, 113, 114, 0, 108, 109, 0, 110, 19, 112, 111, 0, 0, 178, 106, 179, 0, 176, 177, 178, 0, 179, 0, 176, 177, 0, 0, 181, 180, 186, 187, 190, 0, 181, 13, 126, 123, 121, 122, 124, 0, 120, 107, 127, 0, 0, 0, 0, 0, 116, 115, 117, 105, 125, 185, 183, 184, 182, 0, 119, 185, 183, 184, 182, 0, 113, 114, 28, 108, 109, 0, 110, 0, 112, 111, 0, 0, 178, 106, 179, 0, 176, 177, 0, 0, 0, 0, 107, 127, 0, 0, 181, 180, 186, 116, 0, 0, 0, 125, 126, 123, 121, 122, 124, 119, 120, 107, 127, 0, 0, 113, 114, 0, 116, 115, 117, 105, 125, 185, 183, 184, 182, 0, 119, 0, 0, 0, 0, 0, 113, 114, 0, 108, 109, 0, 110, 0, 112, 111, 0, 0, 0, 106, 0, 126, 123, 121, 122, 124, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 105, 0, 126, 123, 121, 122, 124, 0, 120, 27, 0, 0, 0, 0, 0, 0, 108, 115, 117, 105, 23, 156, 0, 82, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 214, 18, 81, 0, 0, 0, 0, 0, 22, 0, 106, 24, 0, 25, 0, 0, 0, 0, 0, 74, 0, 75, 0, 0, 0, 76, 77, 0, 117, 64, 0, 65, 0, 62, 63, 0, 0, 0, 0, 0, 0, 15, 0, 67, 66, 72, 73, 117, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 71, 69, 70, 68, 78, 0, 84, 0, 0, 0, 413, 0, 0, 0, 13, 0, 0, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 0, 0, 0, 0, 0, 85, 181, 180, 186, 187, 190, 0, 175, 189, 0, 0, 0, 0, 0, 0, 28, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 0, 188, 185, 183, 184, 182, 181, 180, 186, 187, 190, 0, 175, 189, 411, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 0, 188, 185, 183, 184, 182, 181, 180, 186, 187, 190, 403, 175, 189, 400, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 0, 188, 185, 183, 184, 182, 181, 180, 186, 187, 190, 0, 175, 189, 0, 0, 321, 0, 0, 0, 0, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 0, 188, 185, 183, 184, 182, 181, 180, 186, 187, 190, 0, 175, 189, 0, 0, 320, 0, 0, 0, 0, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 0, 188, 185, 183, 184, 182, 181, 180, 186, 187, 190, 0, 175, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 179, 0, 176, 177, 0, 0, 0, 188, 185, 183, 184, 182, 181, 180, 186,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -