📄 y.tab.c
字号:
9, 57, 0, 47, 43, 12, 280, 287, 0, 0, 294, 279, 32, 0, 39, 0, 295, 19, 20, 244, 0, 0, 0, 0, 0, 0, 8, 10, 0, 0, 49, 0, 58, 59, 45, 0, 0, 0, 0, 0, 26, 27, 0, 34, 0, 41, 296, 0, 0, 245, 264, 261, 227, 269, 270, 272, 274, 267, 211, 212, 213, 214, 215, 217, 219, 240, 221, 0, 30, 37, 0, 55, 6, 0, 56, 50, 138, 46, 48, 44, 4, 0, 285, 0, 33, 102, 40, 102, 0, 21, 23, 265, 262, 0, 254, 255, 256, 257, 258, 259, 260, 0, 251, 252, 253, 0, 0, 0, 246, 247, 248, 249, 250, 216, 222, 224, 225, -2, 0, 0, 244, 242, 25, 0, 0, 53, 149, 54, 0, 0, 131, 134, 0, 139, 140, 9, 281, 0, 28, 35, 61, 62, 63, 64, 65, 66, 67, 68, 69, 93, 0, 104, 128, 107, 278, 70, 72, 75, -2, 81, 84, 103, 42, 297, 0, 0, 228, 275, 271, 273, 268, 0, 0, 0, 0, 0, 220, 0, 244, 31, 38, 7, 141, 0, 151, 51, 60, 132, 0, 0, 282, 0, 286, 0, 95, 0, 0, 113, 0, 0, 0, 0, 0, 87, 0, 90, 266, 263, 0, 229, 226, 167, 0, 235, 218, 241, 0, 142, 144, 148, 0, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 0, -2, 170, 181, 189, 192, 195, 203, 209, 149, 0, 138, 135, 136, 283, 0, 94, 0, 105, 129, 116, 109, 110, 0, 0, 73, 76, 79, 0, 0, 0, 0, 223, 230, 169, 233, 232, 235, 238, 243, 149, 149, 150, 162, 165, 0, 0, 0, 149, 0, 0, 0, 0, 52, 133, 0, 0, 5, 0, 0, 102, 0, 0, 117, 111, 114, 71, 0, 0, 0, 82, 88, 85, 91, 0, 0, 236, 235, 0, 143, 145, 0, 0, 0, 0, 0, 0, 221, 204, 0, 210, 147, 137, 284, 96, 0, 99, 106, 130, 108, 0, 113, 102, 74, 288, 0, 290, 291, 293, 276, 277, 77, 80, 0, 0, 0, 0, 231, 235, 237, 239, 163, 171, 182, 190, 193, 196, 205, 207, 102, 98, 100, 120, 112, 115, 289, 292, 83, 89, 86, 92, 234, 149, 186, 149, 0, 0, 0, 149, 97, 0, 0, 121, 173, 146, 186, 184, 0, 191, 194, 0, 206, 208, 101, 118, 0, 172, 174, 183, 185, 0, 0, 199, 201, 125, 122, 179, 187, 197, 0, 0, -2, 123, 0, 175, 176, 149, 149, 149, 200, 202, 124, 0, 0, 180, 0, 198, 126, 0, 188, 0, 177, 113, 149, 0, 173, 0, 178, 127 };#ifndef lintstatic char yaccpar_sccsid[] = "@(#)yaccpar 4.1 (Berkeley) 2/11/83";#endif## define YYFLAG -1000# define YYERROR goto yyerrlab# define YYACCEPT return(0)# define YYABORT return(1)/* parser for yacc output */#ifdef YYDEBUGint yydebug = 0; /* 1 for debugging */#endifYYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */int yychar = -1; /* current input token number */int yynerrs = 0; /* number of errors */short yyerrflag = 0; /* error recovery flag */yyparse() { short yys[YYMAXDEPTH]; short yyj, yym; register YYSTYPE *yypvt; register short yystate, *yyps, yyn; register YYSTYPE *yypv; register short *yyxi; yystate = 0; yychar = -1; yynerrs = 0; yyerrflag = 0; yyps= &yys[-1]; yypv= &yyv[-1]; yystack: /* put a state and value onto the stack */#ifdef YYDEBUG if( yydebug ) printf( "state %d, char 0%o\n", yystate, yychar );#endif if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); } *yyps = yystate; ++yypv; *yypv = yyval; yynewstate: yyn = yypact[yystate]; if( yyn<= YYFLAG ) goto yydefault; /* simple state */ if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0; if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault; if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */ yychar = -1; yyval = yylval; yystate = yyn; if( yyerrflag > 0 ) --yyerrflag; goto yystack; } yydefault: /* default state action */ if( (yyn=yydef[yystate]) == -2 ) { if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0; /* look through exception table */ for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */ while( *(yyxi+=2) >= 0 ){ if( *yyxi == yychar ) break; } if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */ } if( yyn == 0 ){ /* error */ /* error ... attempt to resume parsing */ switch( yyerrflag ){ case 0: /* brand new error */ yyerror( "syntax error" ); yyerrlab: ++yynerrs; case 1: case 2: /* incompletely recovered error ... try again */ yyerrflag = 3; /* find a state where "error" is a legal shift action */ while ( yyps >= yys ) { yyn = yypact[*yyps] + YYERRCODE; if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){ yystate = yyact[yyn]; /* simulate a shift of "error" */ goto yystack; } yyn = yypact[*yyps]; /* the current yyps has no shift onn "error", pop stack */#ifdef YYDEBUG if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );#endif --yyps; --yypv; } /* there is no state on the stack with an error shift ... abort */ yyabort: return(1); case 3: /* no shift yet; clobber input char */#ifdef YYDEBUG if( yydebug ) printf( "error recovery discards char %d\n", yychar );#endif if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */ yychar = -1; goto yynewstate; /* try again in the same state */ } } /* reduction by production yyn */#ifdef YYDEBUG if( yydebug ) printf("reduce %d\n",yyn);#endif yyps -= yyr2[yyn]; yypvt = yypv; yypv -= yyr2[yyn]; yyval = yypv[1]; yym=yyn; /* consult goto table to find next state */ yyn = yyr1[yyn]; yyj = yypgo[yyn] + *yyps + 1; if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]]; switch(yym){ case 4:# line 135 "pascal.gram"{ SetProgFile(); } break;case 6:# line 141 "pascal.gram"{ PrintKeyword("BEGIN"); } break;case 8:# line 145 "pascal.gram"{ SourceError("forward does not exist"); } break;case 19:# line 172 "pascal.gram"{ SourceError("declaration error"); } break;case 20:# line 176 "pascal.gram"{ PrintString("(* #"); PrintKeyword("INCLUDE");} break;case 21:# line 178 "pascal.gram"{ PrintStringConst(yypvt[-0]); PrintString(" *)"); ProcessInclude(yypvt[-0]); } break;case 22:# line 182 "pascal.gram"{ PrintKeyword("LABEL"); } break;case 23:# line 184 "pascal.gram"{ PrintSemi(); SourceError("no gotos or labels"); } break;case 24:# line 188 "pascal.gram"{ PrintKeyword("CONST"); } break;case 25:# line 190 "pascal.gram"{ PrintSemi(); } break;case 26:# line 192 "pascal.gram"{ PrintSemi(); } break;case 27:# line 196 "pascal.gram"{ PrintString("="); } break;case 29:# line 201 "pascal.gram"{ PrintKeyword("TYPE"); } break;case 30:# line 202 "pascal.gram"{ PrintSemi(); } break;case 32:# line 204 "pascal.gram"{ PrintSemi(); } break;case 34:# line 208 "pascal.gram"{ PrintString("="); } break;case 36:# line 212 "pascal.gram"{ PrintKeyword("VAR"); } break;case 37:# line 212 "pascal.gram"{ PrintSemi(); } break;case 39:# line 214 "pascal.gram"{ PrintSemi(); } break;case 41:# line 218 "pascal.gram"{ PrintString(":"); } break;case 43:# line 222 "pascal.gram"{ PrintKeyword("PROCEDURE"); } break;case 44:# line 223 "pascal.gram"{ DefineFunction(yypvt[-0]); yyval = yypvt[-0]; } break;case 45:# line 228 "pascal.gram"{ DefineParameters(0); PrintSemi(); yyval=yypvt[-1]; } break;case 46:# line 230 "pascal.gram"{ DefineParameters(1); PrintSemi(); yyval=yypvt[-2]; } break;case 47:# line 234 "pascal.gram"{ PrintKeyword("PROCEDURE"); } break;case 48:# line 235 "pascal.gram"{ DefineFunction(yypvt[-0]); yyval = yypvt[-0]; } break;case 49:# line 239 "pascal.gram"{ DefineParameters(0); PrintSemi(); yyval=yypvt[-1]; } break;case 50:# line 241 "pascal.gram"{ PrintString(":"); } break;case 51:# line 242 "pascal.gram"{ DefineParameters(1); } break;case 52:# line 243 "pascal.gram"{ PrintSemi(); yyval=yypvt[-6]; } break;case 53:# line 247 "pascal.gram"{ PrintKeyword("END"); PrintIdent(yypvt[-3]); EndFunction(); PrintSemi(); } break;case 54:# line 251 "pascal.gram"{ PrintKeyword("END"); PrintIdent(yypvt[-3]); EndFunction(); PrintSemi(); } break;case 55:# line 255 "pascal.gram"{ EndFunction(); PrintSemi(); } break;case 56:# line 258 "pascal.gram"{ EndFunction(); PrintSemi(); } break;case 57:# line 263 "pascal.gram"{ PrintString("()"); } break;case 59:# line 268 "pascal.gram"{ PrintString("("); } break;case 60:# line 270 "pascal.gram"{ PrintString(")"); } break;case 70:# line 302 "pascal.gram"{ PrintString("("); } break;case 71:# line 304 "pascal.gram"{ PrintString(")"); } break;case 72:# line 308 "pascal.gram"{ PrintString("["); PrintConst(yypvt[-0]); } break;case 73:# line 310 "pascal.gram"{ PrintString(".."); } break;case 74:# line 312 "pascal.gram"{ PrintString("]"); } break;case 75:# line 314 "pascal.gram"{ PrintString("["); PrintStringConst(yypvt[-0]); } break;case 76:# line 316 "pascal.gram"{ PrintString(".."); } break;case 77:# line 318 "pascal.gram"{ PrintString("]"); } break;case 78:# line 320 "pascal.gram"{ PrintString("["); PrintIdent(yypvt[-0]); } break;case 79:# line 322 "pascal.gram"{ PrintString(".."); } break;case 80:# line 324 "pascal.gram"{ PrintString("]"); } break;case 81:# line 326 "pascal.gram"{ PrintString("[+"); } break;case 82:# line 328 "pascal.gram"{ PrintString(".."); } break;case 83:# line 330 "pascal.gram"{ PrintString("]"); } break;case 84:# line 332 "pascal.gram"{ PrintString("[-"); } break;case 85:# line 334 "pascal.gram"{ PrintString(".."); } break;case 86:# line 336 "pascal.gram"{ PrintString("]"); } break;case 87:# line 339 "pascal.gram"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -