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

📄 y.tab.c

📁 c 语言编译器 源代码- c compiler
💻 C
📖 第 1 页 / 共 5 页
字号:
# 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 + -