Annotation of cci/usr/src/usr.bin/neqn/e.c, revision 1.1.1.1

1.1       root        1: 
                      2: # line 1 "../eqn/e.y"
                      3: #
                      4: /*     e.y     4.1     83/02/11        */
                      5: #include "e.h"
                      6: #
                      7: int    fromflg;
                      8: # define CONTIG 257
                      9: # define QTEXT 258
                     10: # define SPACE 259
                     11: # define THIN 260
                     12: # define TAB 261
                     13: # define MATRIX 262
                     14: # define LCOL 263
                     15: # define CCOL 264
                     16: # define RCOL 265
                     17: # define COL 266
                     18: # define MARK 267
                     19: # define LINEUP 268
                     20: # define SUM 269
                     21: # define INT 270
                     22: # define PROD 271
                     23: # define UNION 272
                     24: # define INTER 273
                     25: # define LPILE 274
                     26: # define PILE 275
                     27: # define CPILE 276
                     28: # define RPILE 277
                     29: # define ABOVE 278
                     30: # define DEFINE 279
                     31: # define TDEFINE 280
                     32: # define NDEFINE 281
                     33: # define DELIM 282
                     34: # define GSIZE 283
                     35: # define GFONT 284
                     36: # define INCLUDE 285
                     37: # define FROM 286
                     38: # define TO 287
                     39: # define OVER 288
                     40: # define SQRT 289
                     41: # define SUP 290
                     42: # define SUB 291
                     43: # define SIZE 292
                     44: # define FONT 293
                     45: # define ROMAN 294
                     46: # define ITALIC 295
                     47: # define BOLD 296
                     48: # define FAT 297
                     49: # define UP 298
                     50: # define DOWN 299
                     51: # define BACK 300
                     52: # define FWD 301
                     53: # define LEFT 302
                     54: # define RIGHT 303
                     55: # define DOT 304
                     56: # define DOTDOT 305
                     57: # define HAT 306
                     58: # define TILDE 307
                     59: # define BAR 308
                     60: # define UNDER 309
                     61: # define VEC 310
                     62: # define DYAD 311
                     63: #define yyclearin yychar = -1
                     64: #define yyerrok yyerrflag = 0
                     65: extern int yychar;
                     66: extern short yyerrflag;
                     67: #ifndef YYMAXDEPTH
                     68: #define YYMAXDEPTH 150
                     69: #endif
                     70: #ifndef YYSTYPE
                     71: #define YYSTYPE int
                     72: #endif
                     73: YYSTYPE yylval, yyval;
                     74: # define YYERRCODE 256
                     75: 
                     76: # line 167 "../eqn/e.y"
                     77: 
                     78: short yyexca[] ={
                     79: -1, 1,
                     80:        0, -1,
                     81:        -2, 0,
                     82:        };
                     83: # define YYNPROD 95
                     84: # define YYLAST 560
                     85: short yyact[]={
                     86: 
                     87:   34,  60,  61,  52, 152,  59,  58,  59,  58, 151,
                     88:  150, 149, 132,  59,  58, 131,  88,  89, 141,  67,
                     89:   69,  62,  68,  65,  66,  63,  64,  67,  69,  62,
                     90:   68,  65,  66,  63,  64,  67,  69,  62,  68,  65,
                     91:   66,  63,  64, 119, 120, 121, 122,  34,  53, 123,
                     92:  130, 128, 140, 139,  87, 138, 135,  86,  78,  77,
                     93:  105,   2,  76,  75,  79,  21,  20, 137,  19,  18,
                     94:   57,  55,  17, 111,  16,  92,  15,  81,  14,  13,
                     95:   12,  11,  90,   8,   7, 126, 118, 117,  91, 116,
                     96:  115, 113, 124,  22,  34,  93,  50, 114,   1,  94,
                     97:   95,  96,  97,   0,   0,   0,   0,   0,   0,  56,
                     98:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                     99:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    100:    0,   0,   0,   0,  36,  35,  37,  38,  39,  48,
                    101:   34,   0,   0,   0,   6,  51,  40,  32,  41,  42,
                    102:   43,  28,  31,  29,  30,   0,   0, 129, 104,   0,
                    103:    0,   0, 129, 129, 129, 129,  10, 134, 129,  23,
                    104:   27,  24,  25,  26,   9,  45,  47,  46,  44,  33,
                    105:  112,  36,  35,  37,  38,  39,  48,  34,  88,  89,
                    106:  144,   6,  51,  40,  32,  41,  42,  43,  28,  31,
                    107:   29,  30, 133, 129, 129, 119, 120, 121, 122,  88,
                    108:   89, 136, 127,  10,   0,   0,  23,  27,  24,  25,
                    109:   26,   9,  45,  47,  46,  44,  33,   3,  36,  35,
                    110:   37,  38,  39,  48,  34, 106, 107, 108,   6,   5,
                    111:   40,  32,  41,  42,  43,  28,  31,  29,  30,   0,
                    112:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    113:   10,   0,   0,  23,  27,  24,  25,  26,   9,  45,
                    114:   47,  46,  44,  33,  36,  35,  37,  38,  39,  48,
                    115:    0,   0,   0,   0,   6,  51,  40,  32,  41,  42,
                    116:   43,  28,  31,  29,  30,   0,   0, 145, 146, 147,
                    117:  148,   0,   0,   0,   0,   0,  10,   0,   0,  23,
                    118:   27,  24,  25,  26,   9,  45,  47,  46,  44,  33,
                    119:    0,  36,  35,  37,  38,  39,  48,  54,   0,   0,
                    120:    0,   6,   5,  40,  32,  41,  42,  43,  28,  31,
                    121:   29,  30,   0,  80,   0,   0,   0,   0,   0,   0,
                    122:    0,   0,   0,  10,   0,   0,  23,  27,  24,  25,
                    123:   26,   9,  45,  47,  46,  44,  33,   0,  36,  35,
                    124:   37,  38,  39,  48,   0,   0,   0,   0,   6,   0,
                    125:   40,  32,  41,  42,  43,  28,  31,  29,  30,   0,
                    126:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    127:   10,   0,   0,  23,  27,  24,  25,  26,   9,  45,
                    128:   47,  46,  44,  33,   4,   0,   0,  49,   0,   0,
                    129:    0,  70,  71,  72,  73,  74,   0,   0, 125,   0,
                    130:    0,   0,   0,  82,  83,  84,  85, 125,   0,   0,
                    131:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    132:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    133:    0,   0,   0,   0,   0,   0,  98,  99, 100, 101,
                    134:  102, 103,   0,   0,   0,   0,   0,   0,   0,   0,
                    135:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    136:    0,   0,   0,   0, 109, 110,  49,   0,   0,   0,
                    137:    0,   0,   0,   0,   0,   0,   0,   0,  49,   0,
                    138:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    139:   49,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    140:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    141:  142,   0, 143,   0,   0,   0,   0,   0,   0,   0,
                    142:    0,   0,   0,   0,   0,   0,   0,   0,   0,  49 };
                    143: short yypact[]={
                    144: 
                    145:  -29,-1000,  17,-1000,-285,-1000, 111, 111, 111, 111,
                    146:  111, -60, -61, -64, -65,-283,  64,-1000, 111, 111,
                    147:  111, 111, -66,-241,-1000,-1000,-1000,-241,-1000,-1000,
                    148: -1000,-1000,-1000, -48,  64,-1000,-1000,-1000,-1000,-1000,
                    149: -1000,-1000,-1000,-1000,-241,-241,-241,-241,-1000,-285,
                    150: -1000, 111, 111, 111, 111, 111, 111,-1000,-1000,-1000,
                    151: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
                    152: -285,-269,-269,-269,-277,  64,  64,  64,  64, 111,
                    153:  111,-123,-269,-269,-269,-269,-220,-1000,-1000,-1000,
                    154: -1000,-1000,-1000, -76,-1000,-1000,-1000,-1000,-285,-277,
                    155: -277,-277,-285,-285, -74,  17, -75,-110,-113,-277,
                    156: -277,-1000, -69, -58,-1000, -68, -70, -71,-105,-1000,
                    157: -1000,-1000,-1000,-1000,-1000, 111,-1000, 111,-1000,  64,
                    158: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,  64,  64,
                    159:   64,  64,-277,-285,  17,-114,-115,-116,-121,-1000,
                    160: -1000,-1000,-1000 };
                    161: short yypgo[]={
                    162: 
                    163:    0,  98,  60, 414,  96,  93,  91,  97,  90, 158,
                    164:   89,  87,  86,  92, 327,  85, 109,  84,  83,  81,
                    165:   80,  79,  78,  48,  76,  74,  73,  72,  71,  70,
                    166:   69,  68,  66,  65,  54 };
                    167: short yyr1[]={
                    168: 
                    169:    0,   1,   1,   1,   2,   2,   2,   2,   4,   5,
                    170:    6,   6,   7,   7,   7,   7,   8,  10,  11,  12,
                    171:   13,  15,  15,   3,   3,   3,   3,   3,   3,   3,
                    172:    3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
                    173:    3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
                    174:   24,  30,  31,  32,  33,  29,  29,  29,  29,  29,
                    175:   29,  29,  29,  28,  16,  25,  25,  26,  26,  26,
                    176:    9,   9,  19,  20,  22,  21,  17,  18,  18,  18,
                    177:   18,  23,  14,  27,  27,  27,  27,  27,  27,  27,
                    178:   27,  27,  27,  34,  34 };
                    179: short yyr2[]={
                    180: 
                    181:    0,   1,   1,   0,   1,   2,   2,   1,   2,   1,
                    182:    1,   2,   4,   4,   4,   4,   1,   1,   1,   1,
                    183:    2,   2,   0,   3,   2,   2,   2,   2,   2,   4,
                    184:    4,   4,   4,   4,   3,   3,   4,   3,   3,   1,
                    185:    3,   1,   4,   3,   2,   2,   2,   2,   2,   4,
                    186:    1,   2,   2,   2,   2,   1,   1,   1,   1,   1,
                    187:    1,   1,   1,   1,   1,   2,   2,   2,   2,   0,
                    188:    1,   3,   1,   1,   1,   1,   2,   1,   1,   1,
                    189:    2,   1,   1,   3,   1,   1,   1,   1,   1,   1,
                    190:    1,   1,   1,   1,   1 };
                    191: short yychk[]={
                    192: 
                    193: -1000,  -1,  -2, 256,  -3, 268, 267, -17, -18, 297,
                    194:  289, -19, -20, -21, -22, -24, -25, -27, -30, -31,
                    195:  -32, -33,  -5, 292, 294, 295, 296, 293, 274, 276,
                    196:  277, 275, 270, 302, 123, 258, 257, 259, 260, 261,
                    197:  269, 271, 272, 273, 301, 298, 300, 299, 262,  -3,
                    198:   -4, 268, 288, -23, -14, -28, -16, -29, 291, 290,
                    199:  286, 287, 306, 310, 311, 308, 309, 304, 307, 305,
                    200:   -3,  -3,  -3,  -3,  -3, 123, 123, 123, 123, -23,
                    201:  -14,  -2,  -3,  -3,  -3,  -3, 123, -34, 257, 258,
                    202:  -34, -34, 123,  -2, -34, -34, -34, -34,  -3,  -3,
                    203:   -3,  -3,  -3,  -3,  -9,  -2,  -9,  -9,  -9,  -3,
                    204:   -3, -26, 303,  -6,  -7,  -8, -10, -11, -12, 263,
                    205:  264, 265, 266, 125, -13, -14, -15, -16, 125, 278,
                    206:  125, 125, 125, -13, -34, 125,  -7, 125, 123, 123,
                    207:  123, 123,  -3,  -3,  -2,  -9,  -9,  -9,  -9, 125,
                    208:  125, 125, 125 };
                    209: short yydef[]={
                    210: 
                    211:    3,  -2,   1,   2,   4,   7,   0,   0,   0,   0,
                    212:    0,   0,   0,   0,   0,  39,   0,  41,   0,   0,
                    213:    0,   0,   0,   0,  77,  78,  79,   0,  72,  73,
                    214:   75,  74,  50,   0,   0,  84,  85,  86,  87,  88,
                    215:   89,  90,  91,  92,   0,   0,   0,   0,   9,   5,
                    216:    6,   0,   0,   0,   0,   0,   0,  44,  81,  82,
                    217:   63,  64,  55,  56,  57,  58,  59,  60,  61,  62,
                    218:   24,  25,  26,  27,  28,   0,   0,   0,   0,   0,
                    219:    0,  69,  45,  46,  47,  48,   0,  76,  93,  94,
                    220:   80,  65,  66,   0,  51,  52,  53,  54,   8,  23,
                    221:   34,  35,  22,  43,   0,  70,   0,   0,   0,  37,
                    222:   38,  40,   0,   0,  10,   0,   0,   0,   0,  16,
                    223:   17,  18,  19,  83,  33,   0,  42,   0,  29,   0,
                    224:   30,  31,  32,  36,  67,  68,  11,  49,   0,   0,
                    225:    0,   0,  20,  21,  71,   0,   0,   0,   0,  12,
                    226:   13,  14,  15 };
                    227: #ifndef lint
                    228: static char yaccpar_sccsid[] = "@(#)yaccpar    4.1     (Berkeley)      2/11/83";
                    229: #endif not lint
                    230: 
                    231: #
                    232: # define YYFLAG -1000
                    233: # define YYERROR goto yyerrlab
                    234: # define YYACCEPT return(0)
                    235: # define YYABORT return(1)
                    236: 
                    237: /*     parser for yacc output  */
                    238: 
                    239: #ifdef YYDEBUG
                    240: int yydebug = 0; /* 1 for debugging */
                    241: #endif
                    242: YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
                    243: int yychar = -1; /* current input token number */
                    244: int yynerrs = 0;  /* number of errors */
                    245: short yyerrflag = 0;  /* error recovery flag */
                    246: 
                    247: yyparse() {
                    248: 
                    249:        short yys[YYMAXDEPTH];
                    250:        short yyj, yym;
                    251:        register YYSTYPE *yypvt;
                    252:        register short yystate, *yyps, yyn;
                    253:        register YYSTYPE *yypv;
                    254:        register short *yyxi;
                    255: 
                    256:        yystate = 0;
                    257:        yychar = -1;
                    258:        yynerrs = 0;
                    259:        yyerrflag = 0;
                    260:        yyps= &yys[-1];
                    261:        yypv= &yyv[-1];
                    262: 
                    263:  yystack:    /* put a state and value onto the stack */
                    264: 
                    265: #ifdef YYDEBUG
                    266:        if( yydebug  ) printf( "state %d, char 0%o\n", yystate, yychar );
                    267: #endif
                    268:                if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); }
                    269:                *yyps = yystate;
                    270:                ++yypv;
                    271:                *yypv = yyval;
                    272: 
                    273:  yynewstate:
                    274: 
                    275:        yyn = yypact[yystate];
                    276: 
                    277:        if( yyn<= YYFLAG ) goto yydefault; /* simple state */
                    278: 
                    279:        if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0;
                    280:        if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault;
                    281: 
                    282:        if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
                    283:                yychar = -1;
                    284:                yyval = yylval;
                    285:                yystate = yyn;
                    286:                if( yyerrflag > 0 ) --yyerrflag;
                    287:                goto yystack;
                    288:                }
                    289: 
                    290:  yydefault:
                    291:        /* default state action */
                    292: 
                    293:        if( (yyn=yydef[yystate]) == -2 ) {
                    294:                if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0;
                    295:                /* look through exception table */
                    296: 
                    297:                for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */
                    298: 
                    299:                while( *(yyxi+=2) >= 0 ){
                    300:                        if( *yyxi == yychar ) break;
                    301:                        }
                    302:                if( (yyn = yyxi[1]) < 0 ) return(0);   /* accept */
                    303:                }
                    304: 
                    305:        if( yyn == 0 ){ /* error */
                    306:                /* error ... attempt to resume parsing */
                    307: 
                    308:                switch( yyerrflag ){
                    309: 
                    310:                case 0:   /* brand new error */
                    311: 
                    312:                        yyerror( "syntax error" );
                    313:                yyerrlab:
                    314:                        ++yynerrs;
                    315: 
                    316:                case 1:
                    317:                case 2: /* incompletely recovered error ... try again */
                    318: 
                    319:                        yyerrflag = 3;
                    320: 
                    321:                        /* find a state where "error" is a legal shift action */
                    322: 
                    323:                        while ( yyps >= yys ) {
                    324:                           yyn = yypact[*yyps] + YYERRCODE;
                    325:                           if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
                    326:                              yystate = yyact[yyn];  /* simulate a shift of "error" */
                    327:                              goto yystack;
                    328:                              }
                    329:                           yyn = yypact[*yyps];
                    330: 
                    331:                           /* the current yyps has no shift onn "error", pop stack */
                    332: 
                    333: #ifdef YYDEBUG
                    334:                           if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
                    335: #endif
                    336:                           --yyps;
                    337:                           --yypv;
                    338:                           }
                    339: 
                    340:                        /* there is no state on the stack with an error shift ... abort */
                    341: 
                    342:        yyabort:
                    343:                        return(1);
                    344: 
                    345: 
                    346:                case 3:  /* no shift yet; clobber input char */
                    347: 
                    348: #ifdef YYDEBUG
                    349:                        if( yydebug ) printf( "error recovery discards char %d\n", yychar );
                    350: #endif
                    351: 
                    352:                        if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
                    353:                        yychar = -1;
                    354:                        goto yynewstate;   /* try again in the same state */
                    355: 
                    356:                        }
                    357: 
                    358:                }
                    359: 
                    360:        /* reduction by production yyn */
                    361: 
                    362: #ifdef YYDEBUG
                    363:                if( yydebug ) printf("reduce %d\n",yyn);
                    364: #endif
                    365:                yyps -= yyr2[yyn];
                    366:                yypvt = yypv;
                    367:                yypv -= yyr2[yyn];
                    368:                yyval = yypv[1];
                    369:                yym=yyn;
                    370:                        /* consult goto table to find next state */
                    371:                yyn = yyr1[yyn];
                    372:                yyj = yypgo[yyn] + *yyps + 1;
                    373:                if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
                    374:                switch(yym){
                    375:                        
                    376: case 1:
                    377: # line 23 "../eqn/e.y"
                    378: { putout(yypvt[-0]); } break;
                    379: case 2:
                    380: # line 24 "../eqn/e.y"
                    381: { error(!FATAL, "syntax error"); } break;
                    382: case 3:
                    383: # line 25 "../eqn/e.y"
                    384: { eqnreg = 0; } break;
                    385: case 5:
                    386: # line 29 "../eqn/e.y"
                    387: { eqnbox(yypvt[-1], yypvt[-0], 0); } break;
                    388: case 6:
                    389: # line 30 "../eqn/e.y"
                    390: { eqnbox(yypvt[-1], yypvt[-0], 1); } break;
                    391: case 7:
                    392: # line 31 "../eqn/e.y"
                    393: { lineup(0); } break;
                    394: case 8:
                    395: # line 34 "../eqn/e.y"
                    396: { yyval = yypvt[-0]; lineup(1); } break;
                    397: case 9:
                    398: # line 37 "../eqn/e.y"
                    399: { yyval = ct; } break;
                    400: case 12:
                    401: # line 43 "../eqn/e.y"
                    402: { column('L', yypvt[-3]); } break;
                    403: case 13:
                    404: # line 44 "../eqn/e.y"
                    405: { column('C', yypvt[-3]); } break;
                    406: case 14:
                    407: # line 45 "../eqn/e.y"
                    408: { column('R', yypvt[-3]); } break;
                    409: case 15:
                    410: # line 46 "../eqn/e.y"
                    411: { column('-', yypvt[-3]); } break;
                    412: case 16:
                    413: # line 49 "../eqn/e.y"
                    414: { yyval = ct++; } break;
                    415: case 17:
                    416: # line 50 "../eqn/e.y"
                    417: { yyval = ct++; } break;
                    418: case 18:
                    419: # line 51 "../eqn/e.y"
                    420: { yyval = ct++; } break;
                    421: case 19:
                    422: # line 52 "../eqn/e.y"
                    423: { yyval = ct++; } break;
                    424: case 20:
                    425: # line 54 "../eqn/e.y"
                    426: { yyval = yypvt[-0]; } break;
                    427: case 21:
                    428: # line 57 "../eqn/e.y"
                    429: { yyval = yypvt[-0]; } break;
                    430: case 22:
                    431: # line 58 "../eqn/e.y"
                    432: { yyval = 0; } break;
                    433: case 23:
                    434: # line 61 "../eqn/e.y"
                    435: { boverb(yypvt[-2], yypvt[-0]); } break;
                    436: case 24:
                    437: # line 62 "../eqn/e.y"
                    438: { mark(yypvt[-0]); } break;
                    439: case 25:
                    440: # line 63 "../eqn/e.y"
                    441: { size(yypvt[-1], yypvt[-0]); } break;
                    442: case 26:
                    443: # line 64 "../eqn/e.y"
                    444: { font(yypvt[-1], yypvt[-0]); } break;
                    445: case 27:
                    446: # line 65 "../eqn/e.y"
                    447: { fatbox(yypvt[-0]); } break;
                    448: case 28:
                    449: # line 66 "../eqn/e.y"
                    450: { sqrt(yypvt[-0]); } break;
                    451: case 29:
                    452: # line 67 "../eqn/e.y"
                    453: { lpile('L', yypvt[-3], ct); ct = yypvt[-3]; } break;
                    454: case 30:
                    455: # line 68 "../eqn/e.y"
                    456: { lpile('C', yypvt[-3], ct); ct = yypvt[-3]; } break;
                    457: case 31:
                    458: # line 69 "../eqn/e.y"
                    459: { lpile('R', yypvt[-3], ct); ct = yypvt[-3]; } break;
                    460: case 32:
                    461: # line 70 "../eqn/e.y"
                    462: { lpile('-', yypvt[-3], ct); ct = yypvt[-3]; } break;
                    463: case 33:
                    464: # line 71 "../eqn/e.y"
                    465: { shift2(yypvt[-3], yypvt[-1], yypvt[-0]); } break;
                    466: case 34:
                    467: # line 72 "../eqn/e.y"
                    468: { bshiftb(yypvt[-2], yypvt[-1], yypvt[-0]); } break;
                    469: case 35:
                    470: # line 73 "../eqn/e.y"
                    471: { bshiftb(yypvt[-2], yypvt[-1], yypvt[-0]); } break;
                    472: case 36:
                    473: # line 74 "../eqn/e.y"
                    474: { integral(yypvt[-3], yypvt[-1], yypvt[-0]); } break;
                    475: case 37:
                    476: # line 75 "../eqn/e.y"
                    477: { integral(yypvt[-2], yypvt[-0], 0); } break;
                    478: case 38:
                    479: # line 76 "../eqn/e.y"
                    480: { integral(yypvt[-2], 0, yypvt[-0]); } break;
                    481: case 39:
                    482: # line 77 "../eqn/e.y"
                    483: { integral(yypvt[-0], 0, 0); } break;
                    484: case 40:
                    485: # line 78 "../eqn/e.y"
                    486: { paren(yypvt[-2], yypvt[-1], yypvt[-0]); } break;
                    487: case 42:
                    488: # line 80 "../eqn/e.y"
                    489: { fromto(yypvt[-3], yypvt[-1], yypvt[-0]); fromflg=0; } break;
                    490: case 43:
                    491: # line 81 "../eqn/e.y"
                    492: { fromto(yypvt[-2], 0, yypvt[-0]); } break;
                    493: case 44:
                    494: # line 82 "../eqn/e.y"
                    495: { diacrit(yypvt[-1], yypvt[-0]); } break;
                    496: case 45:
                    497: # line 83 "../eqn/e.y"
                    498: { move(FWD, yypvt[-1], yypvt[-0]); } break;
                    499: case 46:
                    500: # line 84 "../eqn/e.y"
                    501: { move(UP, yypvt[-1], yypvt[-0]); } break;
                    502: case 47:
                    503: # line 85 "../eqn/e.y"
                    504: { move(BACK, yypvt[-1], yypvt[-0]); } break;
                    505: case 48:
                    506: # line 86 "../eqn/e.y"
                    507: { move(DOWN, yypvt[-1], yypvt[-0]); } break;
                    508: case 49:
                    509: # line 87 "../eqn/e.y"
                    510: { matrix(yypvt[-3]); } break;
                    511: case 50:
                    512: # line 90 "../eqn/e.y"
                    513: { setintegral(); } break;
                    514: case 51:
                    515: # line 93 "../eqn/e.y"
                    516: { yyval = atoi((char *) yypvt[-1]); } break;
                    517: case 52:
                    518: # line 94 "../eqn/e.y"
                    519: { yyval = atoi((char *) yypvt[-1]); } break;
                    520: case 53:
                    521: # line 95 "../eqn/e.y"
                    522: { yyval = atoi((char *) yypvt[-1]); } break;
                    523: case 54:
                    524: # line 96 "../eqn/e.y"
                    525: { yyval = atoi((char *) yypvt[-1]); } break;
                    526: case 55:
                    527: # line 98 "../eqn/e.y"
                    528: { yyval = HAT; } break;
                    529: case 56:
                    530: # line 99 "../eqn/e.y"
                    531: { yyval = VEC; } break;
                    532: case 57:
                    533: # line 100 "../eqn/e.y"
                    534: { yyval = DYAD; } break;
                    535: case 58:
                    536: # line 101 "../eqn/e.y"
                    537: { yyval = BAR; } break;
                    538: case 59:
                    539: # line 102 "../eqn/e.y"
                    540: { yyval = UNDER; } break;
                    541: case 60:
                    542: # line 103 "../eqn/e.y"
                    543: { yyval = DOT; } break;
                    544: case 61:
                    545: # line 104 "../eqn/e.y"
                    546: { yyval = TILDE; } break;
                    547: case 62:
                    548: # line 105 "../eqn/e.y"
                    549: { yyval = DOTDOT; } break;
                    550: case 63:
                    551: # line 108 "../eqn/e.y"
                    552: { yyval=ps; ps -= 3; fromflg = 1;
                    553:                if(dbg)printf(".\tfrom: old ps %d, new ps %d, fflg %d\n", yyval, ps, fromflg);
                    554:                } break;
                    555: case 64:
                    556: # line 113 "../eqn/e.y"
                    557: { yyval=ps; if(fromflg==0)ps -= 3; 
                    558:                        if(dbg)printf(".\tto: old ps %d, new ps %d\n", yyval, ps);
                    559:                } break;
                    560: case 65:
                    561: # line 118 "../eqn/e.y"
                    562: { yyval = ((char *)yypvt[-0])[0]; } break;
                    563: case 66:
                    564: # line 119 "../eqn/e.y"
                    565: { yyval = '{'; } break;
                    566: case 67:
                    567: # line 122 "../eqn/e.y"
                    568: { yyval = ((char *)yypvt[-0])[0]; } break;
                    569: case 68:
                    570: # line 123 "../eqn/e.y"
                    571: { yyval = '}'; } break;
                    572: case 69:
                    573: # line 124 "../eqn/e.y"
                    574: { yyval = 0; } break;
                    575: case 70:
                    576: # line 127 "../eqn/e.y"
                    577: { lp[ct++] = yypvt[-0]; } break;
                    578: case 71:
                    579: # line 128 "../eqn/e.y"
                    580: { lp[ct++] = yypvt[-0]; } break;
                    581: case 72:
                    582: # line 131 "../eqn/e.y"
                    583: { yyval = ct; } break;
                    584: case 73:
                    585: # line 132 "../eqn/e.y"
                    586: { yyval = ct; } break;
                    587: case 74:
                    588: # line 133 "../eqn/e.y"
                    589: { yyval = ct; } break;
                    590: case 75:
                    591: # line 134 "../eqn/e.y"
                    592: { yyval = ct; } break;
                    593: case 76:
                    594: # line 136 "../eqn/e.y"
                    595: { yyval = ps; setsize((char *) yypvt[-0]); } break;
                    596: case 77:
                    597: # line 139 "../eqn/e.y"
                    598: { setfont(ROM); } break;
                    599: case 78:
                    600: # line 140 "../eqn/e.y"
                    601: { setfont(ITAL); } break;
                    602: case 79:
                    603: # line 141 "../eqn/e.y"
                    604: { setfont(BLD); } break;
                    605: case 80:
                    606: # line 142 "../eqn/e.y"
                    607: { setfont(((char *)yypvt[-0])[0]); } break;
                    608: case 81:
                    609: # line 145 "../eqn/e.y"
                    610: { shift(SUB); } break;
                    611: case 82:
                    612: # line 148 "../eqn/e.y"
                    613: { shift(SUP); } break;
                    614: case 83:
                    615: # line 151 "../eqn/e.y"
                    616: { yyval = yypvt[-1]; } break;
                    617: case 84:
                    618: # line 152 "../eqn/e.y"
                    619: { text(QTEXT, (char *) yypvt[-0]); } break;
                    620: case 85:
                    621: # line 153 "../eqn/e.y"
                    622: { text(CONTIG, (char *) yypvt[-0]); } break;
                    623: case 86:
                    624: # line 154 "../eqn/e.y"
                    625: { text(SPACE, 0); } break;
                    626: case 87:
                    627: # line 155 "../eqn/e.y"
                    628: { text(THIN, 0); } break;
                    629: case 88:
                    630: # line 156 "../eqn/e.y"
                    631: { text(TAB, 0); } break;
                    632: case 89:
                    633: # line 157 "../eqn/e.y"
                    634: { funny(SUM); } break;
                    635: case 90:
                    636: # line 158 "../eqn/e.y"
                    637: { funny(PROD); } break;
                    638: case 91:
                    639: # line 159 "../eqn/e.y"
                    640: { funny(UNION); } break;
                    641: case 92:
                    642: # line 160 "../eqn/e.y"
                    643: { funny(INTER); } break;
                    644:                }
                    645:                goto yystack;  /* stack new state and value */
                    646: 
                    647:        }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.