home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume3 / trek73 / part01 / src / grammar.c < prev   
C/C++ Source or Header  |  1987-12-17  |  17KB  |  625 lines

  1. # define NUMBER 257
  2. # define NAME 258
  3. # define ABORT 259
  4. # define ALL 260
  5. # define CONTROL 261
  6. # define CORB 262
  7. # define COURSE 263
  8. # define DAMAGE 264
  9. # define DEAD 265
  10. # define DELAY 266
  11. # define DEMAND 267
  12. # define DESTR 268
  13. # define DET 269
  14. # define DISPLAY 270
  15. # define ELUDE 271
  16. # define ENG 272
  17. # define FIRE 273
  18. # define HELP 274
  19. # define JETT 275
  20. # define LAUNCH 276
  21. # define LOAD 277
  22. # define LOCK 278
  23. # define PARAM 279
  24. # define PHASER 280
  25. # define POWER 281
  26. # define PROBE 282
  27. # define PROXIMITY 283
  28. # define PURSUE 284
  29. # define ROTATE 285
  30. # define SAVE 286
  31. # define SCAN 287
  32. # define SPREAD 288
  33. # define STATUS 289
  34. # define SURREND 290
  35. # define SURV 291
  36. # define TACTIC 292
  37. # define TOWARD 293
  38. # define TUBE 294
  39. # define UNLOAD 295
  40. # define VERSION 296
  41. # define WARP 297
  42.  
  43. # line 51 "grammar.y"
  44. #ident "@(#) TREK73 $Header: grammar.y,v 1.2 87/10/09 12:24:34 okamoto Exp $"
  45. /*
  46.  * $Source: /ccc/okamoto/src/trek/src/RCS/grammar.y,v $
  47.  *
  48.  * $Header: grammar.y,v 1.2 87/10/09 12:24:34 okamoto Exp $
  49.  *
  50.  * $Log:    grammar.y,v $
  51.  * Revision 1.2  87/10/09  12:24:34  12:24:34  okamoto (Jeff Okamoto)
  52.  * Added many extra stuff
  53.  * 
  54.  * Revision 1.1  87/10/09  12:22:55  12:22:55  okamoto (Jeff Okamoto)
  55.  * Initial revision
  56.  * 
  57.  */
  58. #include "union.h"
  59.     extern char parsed[];
  60.     char string[80];
  61.     double num1;
  62.     double num2;
  63.     double num3;
  64.     double num4;
  65. #define yyclearin yychar = -1
  66. #define yyerrok yyerrflag = 0
  67. extern int yychar;
  68. extern short yyerrflag;
  69. #ifndef YYMAXDEPTH
  70. #define YYMAXDEPTH 150
  71. #endif
  72. YYSTYPE yylval, yyval;
  73. # define YYERRCODE 256
  74.  
  75. # line 358 "grammar.y"
  76.  
  77.  
  78. #include "lex.yy.c"
  79.  
  80. yywrap() { return(1); }
  81.  
  82. yyerror(s) char *s; { fprintf(stderr, "%s", s); }
  83. short yyexca[] ={
  84. -1, 1,
  85.     0, -1,
  86.     -2, 0,
  87.     };
  88. # define YYNPROD 122
  89. # define YYLAST 287
  90. short yyact[]={
  91.  
  92.    2, 124, 124,  86,  86, 107, 104, 100, 113, 111,
  93.   97,  73,  71,  68,  80,  78, 147,  77,  76, 108,
  94.  105, 101, 151, 128, 127,  83,  98, 137,  95,  94,
  95.   82,  74,  70,  67,  86,  84,  86,  88,  88, 154,
  96.   91, 141, 122, 120, 118,  75,  72,  69,  81,  79,
  97.  149, 124, 150,  86,  87,  85,  35, 123,  34,  33,
  98.   32,  31,  30,  29,  28,  27,  26,  25,  24,  23,
  99.   22,  21,  20,  19,  18,  17,  16,  15,  14,  13,
  100.   12,  11,  10,   9,   8,   7,   6,   5,   4,   1,
  101.  153, 148,   0,   0,   0,   0,   0,   0,   0,   0,
  102.    0,   0,   0,   0,  89,   0,  90,  92,  93,   0,
  103.    0,  96,   0,   0,   0,   0,   0,   0,   0,   0,
  104.    0,   0,   0,  99,   0, 102, 103,   0, 106,   0,
  105.  109, 110,   0,   0,   0, 112,   0, 114, 115, 116,
  106.  117,   0,   0, 119,   0, 121,   0, 125,   0,   0,
  107.  126,   0,   0,   0,   0,   0,   0,   0, 129, 130,
  108.  131, 132,   0, 133, 134,   0,   0, 135, 136,   0,
  109.    0,   0,   0,   0, 138,   0, 139,   0,   0,   0,
  110.  140,   0,   0, 142, 144, 143,   0,   0,   0,   0,
  111.    0,   0,   0,   0,   0, 145,   0,   0,   0, 146,
  112.    0,   0,   0,   0,   0, 152,   0,   0,   0,   0,
  113.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  114.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  115.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  116.    0,   0,   0,   0,   0,   0,   3,   0,   0,  62,
  117.    0,  44,  58,  50,  51,  56,   0,  60,  61,  55,
  118.   47,  49,   0,  36,  66,  54,  43,  41,  37,  57,
  119.   39,  53,  45,   0,  48,  38,  65,  52,   0,   0,
  120.   59,  63,  46,   0,  40,  42,  64 };
  121. short yypact[]={
  122.  
  123.  -10,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  124. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  125. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  126. -1000,-1000,-1000,-1000,-1000,-1000,-247,-248,-249,-271,
  127. -272,-245,-246,-252,-257,-226,-1000,-204,-220,-220,
  128. -223,-1000,-221,-1000,-243,-244,-220,-1000,-1000,-1000,
  129. -280,-1000,-242,-1000,-1000,-1000,-1000,-204,-273,-204,
  130. -204,-274,-204,-275,-204,-204,-1000,-1000,-285,-204,
  131. -286,-204,-204,-204,-204,-1000,-1000,-253,-1000,-254,
  132. -255,-204,-1000,-1000,-1000,-220,-1000,-1000,-1000,-264,
  133. -265,-1000,-1000,-220,-220,-220,-220,-204,-204,-206,
  134. -206,-1000,-1000,-1000,-1000,-239,-1000,-1000,-204,-1000,
  135. -204,-1000,-206,-1000,-1000,-256,-1000,-206,-204,-1000,
  136. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-206,-1000,-1000,
  137. -1000,-206,-1000,-1000,-1000,-267,-1000,-207,-241,-1000,
  138. -220,-218,-1000,-1000,-1000 };
  139. short yypgo[]={
  140.  
  141.    0,  55,  57,  91,  90,  54,  89,  88,  87,  86,
  142.   85,  84,  83,  82,  81,  80,  79,  78,  77,  76,
  143.   75,  74,  73,  72,  71,  70,  69,  68,  67,  66,
  144.   65,  64,  63,  62,  61,  60,  59,  58,  56 };
  145. short yyr1[]={
  146.  
  147.    0,   6,   6,   6,   6,   6,   6,   6,   6,   6,
  148.    6,   6,   6,   6,   6,   6,   6,   6,   6,   6,
  149.    6,   6,   6,   6,   6,   6,   6,   6,   6,   6,
  150.    6,   6,   6,   6,   6,   6,   1,   2,   3,   4,
  151.    5,   7,   7,   7,   7,   7,   8,   8,   8,   9,
  152.    9,   9,   9,   9,  10,  10,  10,  10,  10,  11,
  153.   11,  11,  11,  12,  12,  12,  12,  13,  14,  15,
  154.   15,  15,  15,  15,  15,  16,  16,  16,  16,  16,
  155.   16,  17,  17,  17,  17,  18,  19,  19,  20,  20,
  156.   20,  20,  21,  21,  21,  21,  22,  22,  22,  22,
  157.   22,  22,  23,  24,  24,  24,  25,  26,  27,  27,
  158.   29,  28,  28,  30,  31,  32,  33,  34,  35,  36,
  159.   37,  38 };
  160. short yyr2[]={
  161.  
  162.    0,   0,   1,   1,   1,   1,   1,   1,   1,   1,
  163.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  164.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  165.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  166.    1,   5,   3,   5,   3,   2,   3,   3,   2,   4,
  167.    3,   4,   3,   2,   4,   3,   4,   3,   2,   4,
  168.    3,   4,   3,   4,   3,   4,   3,   2,   2,   3,
  169.    3,   3,   3,   2,   2,   2,   3,   5,   7,   9,
  170.    9,   3,   2,   3,   2,   1,   2,   1,   4,   3,
  171.    2,   1,   4,   3,   2,   1,   4,   3,   2,   5,
  172.    4,   3,   1,   2,   2,   1,   1,   2,   3,   2,
  173.    1,   2,   1,   1,   1,   2,   1,   2,   1,   1,
  174.    1,   1 };
  175. short yychk[]={
  176.  
  177. -1000,  -6,  10, 256,  -7,  -8,  -9, -10, -11, -12,
  178.  -13, -14, -15, -16, -17, -18, -19, -20, -21, -22,
  179.  -23, -24, -25, -26, -27, -28, -29, -30, -31, -32,
  180.  -33, -34, -35, -36, -37, -38, 273, 278, 285, 280,
  181.  294, 277, 295, 276, 261, 282, 292, 270, 284, 271,
  182.  263, 264, 287, 281, 275, 269, 265, 279, 262, 290,
  183.  267, 268, 259, 291, 296, 286, 274, 280, 260, 294,
  184.  280, 260, 294, 260, 280, 294, 289, 289, 260, 294,
  185.  260, 294, 282, 282, 261,  -1, 257,  -5, 258,  -5,
  186.   -1, 263,  -5,  -1, 272, 272,  -5, 290, 268,  -1,
  187.  280, 294,  -1,  -1, 280, 294,  -1, 280, 294,  -1,
  188.   -1, 294,  -1, 294,  -1,  -1,  -1,  -1, 297,  -1,
  189.  297,  -1, 297,  -2, 257,  -1,  -5, 288, 288,  -5,
  190.   -5,  -5,  -5,  -1,  -1,  -2,  -2, 266,  -1,  -1,
  191.   -2, 297,  -2,  -2,  -1,  -2,  -2, 283,  -3, 257,
  192.  293, 263,  -5,  -4, 257 };
  193. short yydef[]={
  194.  
  195.    1,  -2,   2,   3,   4,   5,   6,   7,   8,   9,
  196.   10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
  197.   20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
  198.   30,  31,  32,  33,  34,  35,   0,   0,   0,   0,
  199.    0,   0,   0,   0,   0,   0,  85,  87,  91,  95,
  200.    0, 102, 105, 106,   0,   0, 112, 110, 113, 114,
  201.    0, 116,   0, 118, 119, 120, 121,  45,   0,  48,
  202.   53,   0,  58,   0,   0,   0,  67,  68,   0,  73,
  203.    0,  74,  75,  82,  84,  86,  36,  90,  40,  94,
  204.   98,   0, 103, 104, 107, 109, 111, 115, 117,  42,
  205.   44,  47,  46,  50,  52,  57,  55,  60,  64,  62,
  206.   66,  69,  71,  70,  72,  76,  81,  83,   0,  89,
  207.    0,  93,   0,  97,  37, 101, 108,   0,   0,  49,
  208.   51,  56,  54,  59,  63,  61,  65,   0,  88,  92,
  209.   96,   0, 100,  41,  43,  77,  99,   0,  78,  38,
  210.    0,   0,  79,  80,  39 };
  211. #ifndef lint
  212. static char yaccpar_sccsid[] = "@(#)yaccpar    4.1    (Berkeley)    2/11/83";
  213. #endif not lint
  214.  
  215. #
  216. # define YYFLAG -1000
  217. # define YYERROR goto yyerrlab
  218. # define YYACCEPT return(0)
  219. # define YYABORT return(1)
  220.  
  221. /*    parser for yacc output    */
  222.  
  223. #ifdef YYDEBUG
  224. int yydebug = 0; /* 1 for debugging */
  225. #endif
  226. YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
  227. int yychar = -1; /* current input token number */
  228. int yynerrs = 0;  /* number of errors */
  229. short yyerrflag = 0;  /* error recovery flag */
  230.  
  231. yyparse() {
  232.  
  233.     short yys[YYMAXDEPTH];
  234.     short yyj, yym;
  235.     register YYSTYPE *yypvt;
  236.     register short yystate, *yyps, yyn;
  237.     register YYSTYPE *yypv;
  238.     register short *yyxi;
  239.  
  240.     yystate = 0;
  241.     yychar = -1;
  242.     yynerrs = 0;
  243.     yyerrflag = 0;
  244.     yyps= &yys[-1];
  245.     yypv= &yyv[-1];
  246.  
  247.  yystack:    /* put a state and value onto the stack */
  248.  
  249. #ifdef YYDEBUG
  250.     if( yydebug  ) printf( "state %d, char 0%o\n", yystate, yychar );
  251. #endif
  252.         if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); }
  253.         *yyps = yystate;
  254.         ++yypv;
  255.         *yypv = yyval;
  256.  
  257.  yynewstate:
  258.  
  259.     yyn = yypact[yystate];
  260.  
  261.     if( yyn<= YYFLAG ) goto yydefault; /* simple state */
  262.  
  263.     if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0;
  264.     if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault;
  265.  
  266.     if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
  267.         yychar = -1;
  268.         yyval = yylval;
  269.         yystate = yyn;
  270.         if( yyerrflag > 0 ) --yyerrflag;
  271.         goto yystack;
  272.         }
  273.  
  274.  yydefault:
  275.     /* default state action */
  276.  
  277.     if( (yyn=yydef[yystate]) == -2 ) {
  278.         if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0;
  279.         /* look through exception table */
  280.  
  281.         for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */
  282.  
  283.         while( *(yyxi+=2) >= 0 ){
  284.             if( *yyxi == yychar ) break;
  285.             }
  286.         if( (yyn = yyxi[1]) < 0 ) return(0);   /* accept */
  287.         }
  288.  
  289.     if( yyn == 0 ){ /* error */
  290.         /* error ... attempt to resume parsing */
  291.  
  292.         switch( yyerrflag ){
  293.  
  294.         case 0:   /* brand new error */
  295.  
  296.             yyerror( "syntax error" );
  297.         yyerrlab:
  298.             ++yynerrs;
  299.  
  300.         case 1:
  301.         case 2: /* incompletely recovered error ... try again */
  302.  
  303.             yyerrflag = 3;
  304.  
  305.             /* find a state where "error" is a legal shift action */
  306.  
  307.             while ( yyps >= yys ) {
  308.                yyn = yypact[*yyps] + YYERRCODE;
  309.                if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
  310.                   yystate = yyact[yyn];  /* simulate a shift of "error" */
  311.                   goto yystack;
  312.                   }
  313.                yyn = yypact[*yyps];
  314.  
  315.                /* the current yyps has no shift onn "error", pop stack */
  316.  
  317. #ifdef YYDEBUG
  318.                if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
  319. #endif
  320.                --yyps;
  321.                --yypv;
  322.                }
  323.  
  324.             /* there is no state on the stack with an error shift ... abort */
  325.  
  326.     yyabort:
  327.             return(1);
  328.  
  329.  
  330.         case 3:  /* no shift yet; clobber input char */
  331.  
  332. #ifdef YYDEBUG
  333.             if( yydebug ) printf( "error recovery discards char %d\n", yychar );
  334. #endif
  335.  
  336.             if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
  337.             yychar = -1;
  338.             goto yynewstate;   /* try again in the same state */
  339.  
  340.             }
  341.  
  342.         }
  343.  
  344.     /* reduction by production yyn */
  345.  
  346. #ifdef YYDEBUG
  347.         if( yydebug ) printf("reduce %d\n",yyn);
  348. #endif
  349.         yyps -= yyr2[yyn];
  350.         yypvt = yypv;
  351.         yypv -= yyr2[yyn];
  352.         yyval = yypv[1];
  353.         yym=yyn;
  354.             /* consult goto table to find next state */
  355.         yyn = yyr1[yyn];
  356.         yyj = yypgo[yyn] + *yyps + 1;
  357.         if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
  358.         switch(yym){
  359.             
  360. case 3:
  361. # line 79 "grammar.y"
  362. { yyclearin; } break;
  363. case 36:
  364. # line 115 "grammar.y"
  365. { num1 = yylval.dval; } break;
  366. case 37:
  367. # line 119 "grammar.y"
  368. { num2 = yylval.dval; } break;
  369. case 38:
  370. # line 122 "grammar.y"
  371. { num3 = yylval.dval; } break;
  372. case 39:
  373. # line 125 "grammar.y"
  374. { num4 = yylval.dval; } break;
  375. case 40:
  376. # line 129 "grammar.y"
  377. { strcpy(string, yylval.sval); } break;
  378. case 41:
  379. # line 133 "grammar.y"
  380. { sprintf(parsed, "1 %.0f %.0f", num1, num2);} break;
  381. case 42:
  382. # line 135 "grammar.y"
  383. { sprintf(parsed, "1 %.0f", num1); } break;
  384. case 43:
  385. # line 137 "grammar.y"
  386. { sprintf(parsed, "1 all %.0f", num1); } break;
  387. case 44:
  388. # line 139 "grammar.y"
  389. { strcpy(parsed, "1 all"); } break;
  390. case 45:
  391. # line 141 "grammar.y"
  392. { strcpy(parsed, "1"); } break;
  393. case 46:
  394. # line 145 "grammar.y"
  395. { sprintf(parsed, "2 %.0f", num1); } break;
  396. case 47:
  397. # line 147 "grammar.y"
  398. { sprintf(parsed, "2 all"); } break;
  399. case 48:
  400. # line 149 "grammar.y"
  401. { strcpy(parsed, "2"); } break;
  402. case 49:
  403. # line 153 "grammar.y"
  404. { sprintf(parsed, "3 %.0f %s", num1, string);} break;
  405. case 50:
  406. # line 155 "grammar.y"
  407. { sprintf(parsed, "3 %.0f", num1); } break;
  408. case 51:
  409. # line 157 "grammar.y"
  410. { (void)sprintf(parsed, "3 all %s", string); } break;
  411. case 52:
  412. # line 159 "grammar.y"
  413. { strcpy(parsed, "3 all"); } break;
  414. case 53:
  415. # line 161 "grammar.y"
  416. { strcpy(parsed, "3"); } break;
  417. case 54:
  418. # line 165 "grammar.y"
  419. { sprintf(parsed, "4 %.0f %s", num1, string);} break;
  420. case 55:
  421. # line 167 "grammar.y"
  422. { sprintf(parsed, "4 %.0f", num1); } break;
  423. case 56:
  424. # line 169 "grammar.y"
  425. { (void)sprintf(parsed, "4 all %s", string); } break;
  426. case 57:
  427. # line 171 "grammar.y"
  428. { strcpy(parsed, "4 all"); } break;
  429. case 58:
  430. # line 173 "grammar.y"
  431. { strcpy(parsed, "4"); } break;
  432. case 59:
  433. # line 177 "grammar.y"
  434. { sprintf(parsed, "5 all %.0f", num1); } break;
  435. case 60:
  436. # line 179 "grammar.y"
  437. { strcpy(parsed, "5 all"); } break;
  438. case 61:
  439. # line 181 "grammar.y"
  440. { sprintf(parsed,"5 %.0f %.0f", num1, num2); } break;
  441. case 62:
  442. # line 183 "grammar.y"
  443. { sprintf(parsed,"5 %.0f", num1); } break;
  444. case 63:
  445. # line 187 "grammar.y"
  446. { sprintf(parsed, "6 all %.0f", num1); } break;
  447. case 64:
  448. # line 189 "grammar.y"
  449. { strcpy(parsed, "6 all"); } break;
  450. case 65:
  451. # line 191 "grammar.y"
  452. { sprintf(parsed,"6 %.0f %.0f", num1, num2); } break;
  453. case 66:
  454. # line 193 "grammar.y"
  455. { sprintf(parsed,"6 %.0f", num1); } break;
  456. case 67:
  457. # line 197 "grammar.y"
  458. { strcpy(parsed, "7"); } break;
  459. case 68:
  460. # line 201 "grammar.y"
  461. { strcpy(parsed, "8"); } break;
  462. case 69:
  463. # line 205 "grammar.y"
  464. { strcpy(parsed, "9 l all"); } break;
  465. case 70:
  466. # line 207 "grammar.y"
  467. { strcpy(parsed, "9 u all"); } break;
  468. case 71:
  469. # line 209 "grammar.y"
  470. { sprintf(parsed, "9 l %.0f", num1); } break;
  471. case 72:
  472. # line 211 "grammar.y"
  473. { sprintf(parsed, "9 u %.0f", num1); } break;
  474. case 73:
  475. # line 213 "grammar.y"
  476. { strcpy(parsed, "9 l"); } break;
  477. case 74:
  478. # line 215 "grammar.y"
  479. { strcpy(parsed, "9 u"); } break;
  480. case 75:
  481. # line 219 "grammar.y"
  482. { strcpy(parsed, "10"); } break;
  483. case 76:
  484. # line 221 "grammar.y"
  485. { sprintf(parsed, "10 %.0f", num1); } break;
  486. case 77:
  487. # line 223 "grammar.y"
  488. {sprintf(parsed, "10 %.0f %.0f", num1, num2); } break;
  489. case 78:
  490. # line 225 "grammar.y"
  491. { sprintf(parsed, "10 %.0f %.0f %.0f", num1, num2, num3); } break;
  492. case 79:
  493. # line 227 "grammar.y"
  494. { sprintf(parsed, "10 %.0f %.0f %.0f %s", num1, num2, num3, string); } break;
  495. case 80:
  496. # line 229 "grammar.y"
  497. { sprintf(parsed, "10 %.0f %.0f %.0f\n\r %.0f", num1, num2, num3, num4); } break;
  498. case 81:
  499. # line 233 "grammar.y"
  500. { sprintf(parsed, "11 %.0f", num1); } break;
  501. case 82:
  502. # line 235 "grammar.y"
  503. { strcpy(parsed, "11"); } break;
  504. case 83:
  505. # line 237 "grammar.y"
  506. { sprintf(parsed, "11 %.0f", num1); } break;
  507. case 84:
  508. # line 239 "grammar.y"
  509. { strcpy(parsed, "11"); } break;
  510. case 85:
  511. # line 243 "grammar.y"
  512. { strcpy(parsed, "12"); } break;
  513. case 86:
  514. # line 247 "grammar.y"
  515. { sprintf(parsed, "13 %.0f", num1); } break;
  516. case 87:
  517. # line 249 "grammar.y"
  518. { strcpy(parsed, "13"); } break;
  519. case 88:
  520. # line 253 "grammar.y"
  521. { sprintf(parsed, "14 %s %f", string, num1);} break;
  522. case 89:
  523. # line 255 "grammar.y"
  524. { sprintf(parsed, "14 %s %f", string, num1);} break;
  525. case 90:
  526. # line 257 "grammar.y"
  527. { sprintf(parsed, "14 %s", string); } break;
  528. case 91:
  529. # line 259 "grammar.y"
  530. { strcpy(parsed, "14"); } break;
  531. case 92:
  532. # line 263 "grammar.y"
  533. { sprintf(parsed, "15 %s %f", string, num1);} break;
  534. case 93:
  535. # line 265 "grammar.y"
  536. { sprintf(parsed, "15 %s %f", string, num1);} break;
  537. case 94:
  538. # line 267 "grammar.y"
  539. { sprintf(parsed, "15 %s", string); } break;
  540. case 95:
  541. # line 269 "grammar.y"
  542. { strcpy(parsed, "15"); } break;
  543. case 96:
  544. # line 273 "grammar.y"
  545. { sprintf(parsed, "16 %.0f %0f", num1, num2);} break;
  546. case 97:
  547. # line 275 "grammar.y"
  548. { sprintf(parsed, "16 %.0f %0f", num1, num2);} break;
  549. case 98:
  550. # line 277 "grammar.y"
  551. { sprintf(parsed, "16 %.0f", num1);} break;
  552. case 99:
  553. # line 279 "grammar.y"
  554. { sprintf(parsed, "16 %.0f %0f", num1, num2);} break;
  555. case 100:
  556. # line 281 "grammar.y"
  557. { sprintf(parsed, "16 %.0f %0f", num1, num2);} break;
  558. case 101:
  559. # line 283 "grammar.y"
  560. { sprintf(parsed, "16 %.0f", num1);} break;
  561. case 102:
  562. # line 287 "grammar.y"
  563. { strcpy(parsed, "17"); } break;
  564. case 103:
  565. # line 291 "grammar.y"
  566. { sprintf(parsed, "18 %s", string); } break;
  567. case 104:
  568. # line 293 "grammar.y"
  569. { sprintf(parsed, "18 %.0f", num1); } break;
  570. case 105:
  571. # line 295 "grammar.y"
  572. { strcpy(parsed, "18"); } break;
  573. case 106:
  574. # line 299 "grammar.y"
  575. { strcpy(parsed, "19"); } break;
  576. case 107:
  577. # line 303 "grammar.y"
  578. { strcpy(parsed, "20"); } break;
  579. case 108:
  580. # line 307 "grammar.y"
  581. { sprintf(parsed, "21 %s", string); } break;
  582. case 109:
  583. # line 309 "grammar.y"
  584. { strcpy(parsed, "21"); } break;
  585. case 110:
  586. # line 313 "grammar.y"
  587. { strcpy(parsed, "22"); } break;
  588. case 111:
  589. # line 317 "grammar.y"
  590. { sprintf(parsed, "23 %s", string); } break;
  591. case 112:
  592. # line 319 "grammar.y"
  593. { strcpy(parsed, "23"); } break;
  594. case 113:
  595. # line 323 "grammar.y"
  596. { strcpy(parsed, "24"); } break;
  597. case 114:
  598. # line 327 "grammar.y"
  599. { strcpy(parsed, "25"); } break;
  600. case 115:
  601. # line 331 "grammar.y"
  602. { strcpy(parsed, "26"); } break;
  603. case 116:
  604. # line 335 "grammar.y"
  605. { strcpy(parsed, "27"); } break;
  606. case 117:
  607. # line 339 "grammar.y"
  608. { strcpy(parsed, "28"); } break;
  609. case 118:
  610. # line 343 "grammar.y"
  611. { strcpy(parsed, "29"); } break;
  612. case 119:
  613. # line 347 "grammar.y"
  614. { strcpy(parsed, "30"); } break;
  615. case 120:
  616. # line 351 "grammar.y"
  617. { strcpy(parsed, "31"); } break;
  618. case 121:
  619. # line 355 "grammar.y"
  620. { strcpy(parsed, "32"); } break;
  621.         }
  622.         goto yystack;  /* stack new state and value */
  623.  
  624.     }
  625.