|
|
1.1 ! root 1: # define ID 257 ! 2: # define CON 258 ! 3: # define UNARYMINUS 259 ! 4: #define yyclearin yychar = -1 ! 5: #define yyerrok yyerrflag = 0 ! 6: extern int yychar; ! 7: extern short yyerrflag; ! 8: #ifndef YYMAXDEPTH ! 9: #define YYMAXDEPTH 150 ! 10: #endif ! 11: #ifndef YYSTYPE ! 12: #define YYSTYPE int ! 13: #endif ! 14: YYSTYPE yylval, yyval; ! 15: # define YYERRCODE 256 ! 16: ! 17: # line 27 "yacc.y" ! 18: ! 19: ! 20: #include <stdio.h> ! 21: ! 22: # define U(x) x ! 23: # define NLSTATE yyprevious=YYNEWLINE ! 24: # define BEGIN yybgin = yysvec + 1 + ! 25: # define INITIAL 0 ! 26: # define YYLERR yysvec ! 27: # define YYSTATE (yyestate-yysvec-1) ! 28: # define YYOPTIM 1 ! 29: # define YYLMAX 200 ! 30: # define output(c) putc(c,yyout) ! 31: # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) ! 32: # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} ! 33: # define yymore() (yymorfg=1) ! 34: # define ECHO fprintf(yyout, "%s",yytext) ! 35: # define REJECT { nstr = yyreject(); goto yyfussy;} ! 36: int yyleng; extern char yytext[]; ! 37: int yymorfg; ! 38: extern char *yysptr, yysbuf[]; ! 39: int yytchar; ! 40: FILE *yyin ={stdin}, *yyout ={stdout}; ! 41: extern int yylineno; ! 42: struct yysvf { ! 43: struct yywork *yystoff; ! 44: struct yysvf *yyother; ! 45: int *yystops;}; ! 46: struct yysvf *yyestate; ! 47: extern struct yysvf yysvec[], *yybgin; ! 48: # define YYNEWLINE 10 ! 49: yylex(){ ! 50: int nstr; extern int yyprevious; ! 51: while((nstr = yylook()) >= 0) ! 52: yyfussy: switch(nstr){ ! 53: case 0: ! 54: if(yywrap()) return(0); break; ! 55: case 1: ! 56: return ID; ! 57: break; ! 58: case 2: ! 59: return CON; ! 60: break; ! 61: case 3: ! 62: ; ! 63: break; ! 64: case 4: ! 65: return yytext[0]; ! 66: break; ! 67: case -1: ! 68: break; ! 69: default: ! 70: fprintf(yyout,"bad switch yylook %d",nstr); ! 71: } return(0); } ! 72: /* end of yylex */ ! 73: int yyvstop[] ={ ! 74: 0, ! 75: ! 76: 4, ! 77: 0, ! 78: ! 79: 3, ! 80: 4, ! 81: 0, ! 82: ! 83: 2, ! 84: 4, ! 85: 0, ! 86: ! 87: 1, ! 88: 4, ! 89: 0, ! 90: ! 91: 2, ! 92: 0, ! 93: ! 94: 1, ! 95: 0, ! 96: 0}; ! 97: # define YYTYPE char ! 98: struct yywork { YYTYPE verify, advance; } yycrank[] ={ ! 99: 0,0, 0,0, 1,3, 0,0, ! 100: 0,0, 0,0, 0,0, 0,0, ! 101: 0,0, 0,0, 1,4, 1,3, ! 102: 0,0, 0,0, 0,0, 0,0, ! 103: 0,0, 0,0, 0,0, 0,0, ! 104: 0,0, 0,0, 0,0, 0,0, ! 105: 0,0, 0,0, 0,0, 0,0, ! 106: 0,0, 0,0, 0,0, 0,0, ! 107: 0,0, 0,0, 0,0, 0,0, ! 108: 0,0, 0,0, 0,0, 0,0, ! 109: 0,0, 0,0, 0,0, 0,0, ! 110: 0,0, 0,0, 0,0, 0,0, ! 111: 0,0, 1,5, 5,7, 5,7, ! 112: 5,7, 5,7, 5,7, 5,7, ! 113: 5,7, 5,7, 5,7, 5,7, ! 114: 0,0, 0,0, 0,0, 0,0, ! 115: 0,0, 0,0, 1,6, 6,8, ! 116: 6,8, 6,8, 6,8, 6,8, ! 117: 6,8, 6,8, 6,8, 6,8, ! 118: 6,8, 0,0, 0,0, 0,0, ! 119: 0,0, 0,0, 0,0, 0,0, ! 120: 6,8, 6,8, 6,8, 6,8, ! 121: 6,8, 6,8, 6,8, 6,8, ! 122: 6,8, 6,8, 6,8, 6,8, ! 123: 6,8, 6,8, 6,8, 6,8, ! 124: 6,8, 6,8, 6,8, 6,8, ! 125: 6,8, 6,8, 6,8, 6,8, ! 126: 6,8, 6,8, 0,0, 0,0, ! 127: 0,0, 0,0, 6,8, 0,0, ! 128: 6,8, 6,8, 6,8, 6,8, ! 129: 6,8, 6,8, 6,8, 6,8, ! 130: 6,8, 6,8, 6,8, 6,8, ! 131: 6,8, 6,8, 6,8, 6,8, ! 132: 6,8, 6,8, 6,8, 6,8, ! 133: 6,8, 6,8, 6,8, 6,8, ! 134: 6,8, 6,8, 0,0, 0,0, ! 135: 0,0}; ! 136: struct yysvf yysvec[] ={ ! 137: 0, 0, 0, ! 138: yycrank+-1, 0, 0, ! 139: yycrank+0, yysvec+1, 0, ! 140: yycrank+0, 0, yyvstop+1, ! 141: yycrank+0, 0, yyvstop+3, ! 142: yycrank+2, 0, yyvstop+6, ! 143: yycrank+19, 0, yyvstop+9, ! 144: yycrank+0, yysvec+5, yyvstop+12, ! 145: yycrank+0, yysvec+6, yyvstop+14, ! 146: 0, 0, 0}; ! 147: struct yywork *yytop = yycrank+141; ! 148: struct yysvf *yybgin = yysvec+1; ! 149: char yymatch[] ={ ! 150: 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 151: 01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 , ! 152: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 153: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 154: 011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 155: 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , ! 156: '0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' ,'0' , ! 157: '0' ,'0' ,01 ,01 ,01 ,01 ,01 ,01 , ! 158: 01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , ! 159: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , ! 160: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , ! 161: 'A' ,'A' ,'A' ,01 ,01 ,01 ,01 ,'A' , ! 162: 01 ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , ! 163: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , ! 164: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' , ! 165: 'A' ,'A' ,'A' ,01 ,01 ,01 ,01 ,01 , ! 166: 0}; ! 167: char yyextra[] ={ ! 168: 0,0,0,0,0,0,0,0, ! 169: 0}; ! 170: /* ncform 4.1 83/08/11 */ ! 171: ! 172: int yylineno =1; ! 173: # define YYU(x) x ! 174: # define NLSTATE yyprevious=YYNEWLINE ! 175: char yytext[YYLMAX]; ! 176: struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; ! 177: char yysbuf[YYLMAX]; ! 178: char *yysptr = yysbuf; ! 179: int *yyfnd; ! 180: extern struct yysvf *yyestate; ! 181: int yyprevious = YYNEWLINE; ! 182: yylook(){ ! 183: register struct yysvf *yystate, **lsp; ! 184: register struct yywork *yyt; ! 185: struct yysvf *yyz; ! 186: int yych; ! 187: struct yywork *yyr; ! 188: # ifdef LEXDEBUG ! 189: int debug; ! 190: # endif ! 191: char *yylastch; ! 192: /* start off machines */ ! 193: # ifdef LEXDEBUG ! 194: debug = 0; ! 195: # endif ! 196: if (!yymorfg) ! 197: yylastch = yytext; ! 198: else { ! 199: yymorfg=0; ! 200: yylastch = yytext+yyleng; ! 201: } ! 202: for(;;){ ! 203: lsp = yylstate; ! 204: yyestate = yystate = yybgin; ! 205: if (yyprevious==YYNEWLINE) yystate++; ! 206: for (;;){ ! 207: # ifdef LEXDEBUG ! 208: if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1); ! 209: # endif ! 210: yyt = yystate->yystoff; ! 211: if(yyt == yycrank){ /* may not be any transitions */ ! 212: yyz = yystate->yyother; ! 213: if(yyz == 0)break; ! 214: if(yyz->yystoff == yycrank)break; ! 215: } ! 216: *yylastch++ = yych = input(); ! 217: tryagain: ! 218: # ifdef LEXDEBUG ! 219: if(debug){ ! 220: fprintf(yyout,"char "); ! 221: allprint(yych); ! 222: putchar('\n'); ! 223: } ! 224: # endif ! 225: yyr = yyt; ! 226: if ( (int)yyt > (int)yycrank){ ! 227: yyt = yyr + yych; ! 228: if (yyt <= yytop && yyt->verify+yysvec == yystate){ ! 229: if(yyt->advance+yysvec == YYLERR) /* error transitions */ ! 230: {unput(*--yylastch);break;} ! 231: *lsp++ = yystate = yyt->advance+yysvec; ! 232: goto contin; ! 233: } ! 234: } ! 235: # ifdef YYOPTIM ! 236: else if((int)yyt < (int)yycrank) { /* r < yycrank */ ! 237: yyt = yyr = yycrank+(yycrank-yyt); ! 238: # ifdef LEXDEBUG ! 239: if(debug)fprintf(yyout,"compressed state\n"); ! 240: # endif ! 241: yyt = yyt + yych; ! 242: if(yyt <= yytop && yyt->verify+yysvec == yystate){ ! 243: if(yyt->advance+yysvec == YYLERR) /* error transitions */ ! 244: {unput(*--yylastch);break;} ! 245: *lsp++ = yystate = yyt->advance+yysvec; ! 246: goto contin; ! 247: } ! 248: yyt = yyr + YYU(yymatch[yych]); ! 249: # ifdef LEXDEBUG ! 250: if(debug){ ! 251: fprintf(yyout,"try fall back character "); ! 252: allprint(YYU(yymatch[yych])); ! 253: putchar('\n'); ! 254: } ! 255: # endif ! 256: if(yyt <= yytop && yyt->verify+yysvec == yystate){ ! 257: if(yyt->advance+yysvec == YYLERR) /* error transition */ ! 258: {unput(*--yylastch);break;} ! 259: *lsp++ = yystate = yyt->advance+yysvec; ! 260: goto contin; ! 261: } ! 262: } ! 263: if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){ ! 264: # ifdef LEXDEBUG ! 265: if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); ! 266: # endif ! 267: goto tryagain; ! 268: } ! 269: # endif ! 270: else ! 271: {unput(*--yylastch);break;} ! 272: contin: ! 273: # ifdef LEXDEBUG ! 274: if(debug){ ! 275: fprintf(yyout,"state %d char ",yystate-yysvec-1); ! 276: allprint(yych); ! 277: putchar('\n'); ! 278: } ! 279: # endif ! 280: ; ! 281: } ! 282: # ifdef LEXDEBUG ! 283: if(debug){ ! 284: fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1); ! 285: allprint(yych); ! 286: putchar('\n'); ! 287: } ! 288: # endif ! 289: while (lsp-- > yylstate){ ! 290: *yylastch-- = 0; ! 291: if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){ ! 292: yyolsp = lsp; ! 293: if(yyextra[*yyfnd]){ /* must backup */ ! 294: while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){ ! 295: lsp--; ! 296: unput(*yylastch--); ! 297: } ! 298: } ! 299: yyprevious = YYU(*yylastch); ! 300: yylsp = lsp; ! 301: yyleng = yylastch-yytext+1; ! 302: yytext[yyleng] = 0; ! 303: # ifdef LEXDEBUG ! 304: if(debug){ ! 305: fprintf(yyout,"\nmatch "); ! 306: sprint(yytext); ! 307: fprintf(yyout," action %d\n",*yyfnd); ! 308: } ! 309: # endif ! 310: return(*yyfnd++); ! 311: } ! 312: unput(*yylastch); ! 313: } ! 314: if (yytext[0] == 0 /* && feof(yyin) */) ! 315: { ! 316: yysptr=yysbuf; ! 317: return(0); ! 318: } ! 319: yyprevious = yytext[0] = input(); ! 320: if (yyprevious>0) ! 321: output(yyprevious); ! 322: yylastch=yytext; ! 323: # ifdef LEXDEBUG ! 324: if(debug)putchar('\n'); ! 325: # endif ! 326: } ! 327: } ! 328: yyback(p, m) ! 329: int *p; ! 330: { ! 331: if (p==0) return(0); ! 332: while (*p) ! 333: { ! 334: if (*p++ == m) ! 335: return(1); ! 336: } ! 337: return(0); ! 338: } ! 339: /* the following are only used in the lex library */ ! 340: yyinput(){ ! 341: return(input()); ! 342: } ! 343: yyoutput(c) ! 344: int c; { ! 345: output(c); ! 346: } ! 347: yyunput(c) ! 348: int c; { ! 349: unput(c); ! 350: } ! 351: ! 352: main() { ! 353: yyparse(); ! 354: } ! 355: ! 356: /* yyerror - issue error message */ ! 357: yyerror() { ! 358: printf("syntax error\n"); ! 359: } ! 360: short yyexca[] ={ ! 361: -1, 1, ! 362: 0, -1, ! 363: -2, 0, ! 364: }; ! 365: # define YYNPROD 15 ! 366: # define YYLAST 249 ! 367: short yyact[]={ ! 368: ! 369: 12, 2, 9, 8, 17, 11, 25, 17, 15, 18, ! 370: 16, 10, 18, 17, 15, 7, 16, 13, 18, 5, ! 371: 3, 1, 0, 19, 20, 0, 0, 21, 22, 23, ! 372: 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 373: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 374: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 375: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 376: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 377: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 378: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 379: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 380: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 381: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 382: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 383: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 384: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 385: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 386: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 387: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 388: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 389: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 390: 0, 0, 0, 0, 0, 0, 0, 6, 14, 0, ! 391: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 392: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ! 393: 0, 0, 0, 0, 0, 0, 0, 4, 6 }; ! 394: short yypact[]={ ! 395: ! 396: -1000, -9,-1000, 5, -7, -59,-1000,-1000,-1000, -40, ! 397: -29, -40, -40,-1000,-1000, -40, -40, -40, -40, -38, ! 398: -35, -38, -38,-1000,-1000,-1000 }; ! 399: short yypgo[]={ ! 400: ! 401: 0, 21, 20, 17, 11 }; ! 402: short yyr1[]={ ! 403: ! 404: 0, 1, 1, 1, 1, 2, 4, 4, 4, 4, ! 405: 4, 4, 4, 4, 3 }; ! 406: short yyr2[]={ ! 407: ! 408: 0, 0, 2, 3, 3, 3, 3, 3, 3, 3, ! 409: 2, 3, 1, 1, 1 }; ! 410: short yychk[]={ ! 411: ! 412: -1000, -1, 10, -2, 256, -3, 257, 10, 10, 61, ! 413: -4, 45, 40, -3, 258, 43, 45, 42, 47, -4, ! 414: -4, -4, -4, -4, -4, 41 }; ! 415: short yydef[]={ ! 416: ! 417: 1, -2, 2, 0, 0, 0, 14, 3, 4, 0, ! 418: 5, 0, 0, 12, 13, 0, 0, 0, 0, 10, ! 419: 0, 6, 7, 8, 9, 11 }; ! 420: #ifndef lint ! 421: #endif ! 422: ! 423: # define YYFLAG -1000 ! 424: # define YYERROR goto yyerrlab ! 425: # define YYACCEPT return(0) ! 426: # define YYABORT return(1) ! 427: ! 428: /* parser for yacc output */ ! 429: ! 430: #ifdef YYDEBUG ! 431: int yydebug = 0; /* 1 for debugging */ ! 432: #endif ! 433: YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */ ! 434: int yychar = -1; /* current input token number */ ! 435: int yynerrs = 0; /* number of errors */ ! 436: short yyerrflag = 0; /* error recovery flag */ ! 437: ! 438: yyparse() { ! 439: ! 440: short yys[YYMAXDEPTH]; ! 441: short yyj, yym; ! 442: register YYSTYPE *yypvt; ! 443: register short yystate, *yyps, yyn; ! 444: register YYSTYPE *yypv; ! 445: register short *yyxi; ! 446: ! 447: yystate = 0; ! 448: yychar = -1; ! 449: yynerrs = 0; ! 450: yyerrflag = 0; ! 451: yyps= &yys[-1]; ! 452: yypv= &yyv[-1]; ! 453: ! 454: yystack: /* put a state and value onto the stack */ ! 455: ! 456: #ifdef YYDEBUG ! 457: if( yydebug ) printf( "state %d, char 0%o\n", yystate, yychar ); ! 458: #endif ! 459: if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); } ! 460: *yyps = yystate; ! 461: ++yypv; ! 462: *yypv = yyval; ! 463: ! 464: yynewstate: ! 465: ! 466: yyn = yypact[yystate]; ! 467: ! 468: if( yyn<= YYFLAG ) goto yydefault; /* simple state */ ! 469: ! 470: if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0; ! 471: if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault; ! 472: ! 473: if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */ ! 474: yychar = -1; ! 475: yyval = yylval; ! 476: yystate = yyn; ! 477: if( yyerrflag > 0 ) --yyerrflag; ! 478: goto yystack; ! 479: } ! 480: ! 481: yydefault: ! 482: /* default state action */ ! 483: ! 484: if( (yyn=yydef[yystate]) == -2 ) { ! 485: if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0; ! 486: /* look through exception table */ ! 487: ! 488: for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */ ! 489: ! 490: while( *(yyxi+=2) >= 0 ){ ! 491: if( *yyxi == yychar ) break; ! 492: } ! 493: if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */ ! 494: } ! 495: ! 496: if( yyn == 0 ){ /* error */ ! 497: /* error ... attempt to resume parsing */ ! 498: ! 499: switch( yyerrflag ){ ! 500: ! 501: case 0: /* brand new error */ ! 502: ! 503: yyerror( "syntax error" ); ! 504: yyerrlab: ! 505: ++yynerrs; ! 506: ! 507: case 1: ! 508: case 2: /* incompletely recovered error ... try again */ ! 509: ! 510: yyerrflag = 3; ! 511: ! 512: /* find a state where "error" is a legal shift action */ ! 513: ! 514: while ( yyps >= yys ) { ! 515: yyn = yypact[*yyps] + YYERRCODE; ! 516: if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){ ! 517: yystate = yyact[yyn]; /* simulate a shift of "error" */ ! 518: goto yystack; ! 519: } ! 520: yyn = yypact[*yyps]; ! 521: ! 522: /* the current yyps has no shift onn "error", pop stack */ ! 523: ! 524: #ifdef YYDEBUG ! 525: if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] ); ! 526: #endif ! 527: --yyps; ! 528: --yypv; ! 529: } ! 530: ! 531: /* there is no state on the stack with an error shift ... abort */ ! 532: ! 533: yyabort: ! 534: return(1); ! 535: ! 536: ! 537: case 3: /* no shift yet; clobber input char */ ! 538: ! 539: #ifdef YYDEBUG ! 540: if( yydebug ) printf( "error recovery discards char %d\n", yychar ); ! 541: #endif ! 542: ! 543: if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */ ! 544: yychar = -1; ! 545: goto yynewstate; /* try again in the same state */ ! 546: ! 547: } ! 548: ! 549: } ! 550: ! 551: /* reduction by production yyn */ ! 552: ! 553: #ifdef YYDEBUG ! 554: if( yydebug ) printf("reduce %d\n",yyn); ! 555: #endif ! 556: yyps -= yyr2[yyn]; ! 557: yypvt = yypv; ! 558: yypv -= yyr2[yyn]; ! 559: yyval = yypv[1]; ! 560: yym=yyn; ! 561: /* consult goto table to find next state */ ! 562: yyn = yyr1[yyn]; ! 563: yyj = yypgo[yyn] + *yyps + 1; ! 564: if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]]; ! 565: switch(yym){ ! 566: ! 567: case 4: ! 568: # line 9 "yacc.y" ! 569: { yyerrok; } break; ! 570: case 5: ! 571: # line 12 "yacc.y" ! 572: { printf("store\n"); } break; ! 573: case 6: ! 574: # line 15 "yacc.y" ! 575: { printf("add\n"); } break; ! 576: case 7: ! 577: # line 16 "yacc.y" ! 578: { printf("negate\nadd\n"); } break; ! 579: case 8: ! 580: # line 17 "yacc.y" ! 581: { printf("multiply\n"); } break; ! 582: case 9: ! 583: # line 18 "yacc.y" ! 584: { printf("divide\n"); } break; ! 585: case 10: ! 586: # line 19 "yacc.y" ! 587: { printf("negate\n"); } break; ! 588: case 12: ! 589: # line 21 "yacc.y" ! 590: { printf("load\n"); } break; ! 591: case 13: ! 592: # line 22 "yacc.y" ! 593: { printf("push %s\n", yytext); } break; ! 594: case 14: ! 595: # line 25 "yacc.y" ! 596: { printf("%s\n", yytext); } break; ! 597: } ! 598: goto yystack; /* stack new state and value */ ! 599: ! 600: } ! 601: int yywrap() { return 1; }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.