Annotation of xinu/con/lex.yy.c, revision 1.1.1.1

1.1       root        1: # include "stdio.h"
                      2: # define U(x) x
                      3: # define NLSTATE yyprevious=YYNEWLINE
                      4: # define BEGIN yybgin = yysvec + 1 +
                      5: # define INITIAL 0
                      6: # define YYLERR yysvec
                      7: # define YYSTATE (yyestate-yysvec-1)
                      8: # define YYOPTIM 1
                      9: # define YYLMAX 200
                     10: # define output(c) putc(c,yyout)
                     11: # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
                     12: # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
                     13: # define yymore() (yymorfg=1)
                     14: # define ECHO fprintf(yyout, "%s",yytext)
                     15: # define REJECT { nstr = yyreject(); goto yyfussy;}
                     16: int yyleng; extern char yytext[];
                     17: int yymorfg;
                     18: extern char *yysptr, yysbuf[];
                     19: int yytchar;
                     20: FILE *yyin ={stdin}, *yyout ={stdout};
                     21: extern int yylineno;
                     22: struct yysvf { 
                     23:        struct yywork *yystoff;
                     24:        struct yysvf *yyother;
                     25:        int *yystops;};
                     26: struct yysvf *yyestate;
                     27: extern struct yysvf yysvec[], *yybgin;
                     28:        int skipping;
                     29: # define YYNEWLINE 10
                     30: yylex(){
                     31: int nstr; extern int yyprevious;
                     32: while((nstr = yylook()) >= 0)
                     33: yyfussy: switch(nstr){
                     34: case 0:
                     35: if(yywrap()) return(0); break;
                     36: case 1:
                     37:                {skipping = 1;}
                     38: break;
                     39: case 2:
                     40:                {skipping = 0;}
                     41: break;
                     42: case 3:
                     43:                {extern int     brkcount;
                     44:                         if (! skipping)
                     45:                                if (++brkcount == 2)
                     46:                                        return(0); /* end-of-file */
                     47:                                else
                     48:                                        return(DEFBRK);
                     49:                        }
                     50: break;
                     51: case 4:
                     52:                {if (! skipping) return(COLON);}
                     53: break;
                     54: case 5:
                     55:                {if (! skipping) return(OCTAL);}
                     56: break;
                     57: case 6:
                     58:        {if (! skipping) return(INTEGER);}
                     59: break;
                     60: case 7:
                     61:                {if (! skipping) return(IS);}
                     62: break;
                     63: case 8:
                     64:                {if (! skipping) return(ON);}
                     65: break;
                     66: case 9:
                     67:                ;
                     68: break;
                     69: case 10:
                     70:                {if (! skipping) return(IINT);}
                     71: break;
                     72: case 11:
                     73:                {if (! skipping) return(IINT);}
                     74: break;
                     75: case 12:
                     76:                {if (! skipping) return(OINT);}
                     77: break;
                     78: case 13:
                     79:                {if (! skipping) return(OINT);}
                     80: break;
                     81: case 14:
                     82:                {if (! skipping) return(CSR);}
                     83: break;
                     84: case 15:
                     85:                {if (! skipping) return(CSR);}
                     86: break;
                     87: case 16:
                     88:                {if (! skipping) return(IVEC);}
                     89: break;
                     90: case 17:
                     91:                {if (! skipping) return(IVEC);}
                     92: break;
                     93: case 18:
                     94:                {if (! skipping) return(OVEC);}
                     95: break;
                     96: case 19:
                     97:                {if (! skipping) return(OVEC);}
                     98: break;
                     99: case 20:
                    100:                {if (! skipping) return(INIT);}
                    101: break;
                    102: case 21:
                    103:                {if (! skipping) return(INIT);}
                    104: break;
                    105: case 22:
                    106:                {if (! skipping) return(OPEN);}
                    107: break;
                    108: case 23:
                    109:                {if (! skipping) return(OPEN);}
                    110: break;
                    111: case 24:
                    112:                {if (! skipping) return(CLOSE);}
                    113: break;
                    114: case 25:
                    115:                {if (! skipping) return(CLOSE);}
                    116: break;
                    117: case 26:
                    118:                {if (! skipping) return(READ);}
                    119: break;
                    120: case 27:
                    121:                {if (! skipping) return(READ);}
                    122: break;
                    123: case 28:
                    124:                {if (! skipping) return(GETC);}
                    125: break;
                    126: case 29:
                    127:                {if (! skipping) return(GETC);}
                    128: break;
                    129: case 30:
                    130:                {if (! skipping) return(PUTC);}
                    131: break;
                    132: case 31:
                    133:                {if (! skipping) return(PUTC);}
                    134: break;
                    135: case 32:
                    136:                {if (! skipping) return(WRITE);}
                    137: break;
                    138: case 33:
                    139:                {if (! skipping) return(WRITE);}
                    140: break;
                    141: case 34:
                    142:                {if (! skipping) return(SEEK);}
                    143: break;
                    144: case 35:
                    145:                {if (! skipping) return(SEEK);}
                    146: break;
                    147: case 36:
                    148:                {if (! skipping) return(CNTL);}
                    149: break;
                    150: case 37:
                    151:                {if (! skipping) return(CNTL);}
                    152: break;
                    153: case 38:
                    154:                ;
                    155: break;
                    156: case 39:
                    157:                {extern int linectr;
                    158:                         linectr++;
                    159:                        }
                    160: break;
                    161: case 40:
                    162:                {if (! skipping) return(IDENT);}
                    163: break;
                    164: case 41:
                    165:                {if (! skipping) return(yytext[0]);}
                    166: break;
                    167: case -1:
                    168: break;
                    169: default:
                    170: fprintf(yyout,"bad switch yylook %d",nstr);
                    171: } return(0); }
                    172: /* end of yylex */
                    173: int yyvstop[] ={
                    174: 0,
                    175: 
                    176: 41,
                    177: 0,
                    178: 
                    179: 38,
                    180: 41,
                    181: 0,
                    182: 
                    183: 39,
                    184: 0,
                    185: 
                    186: 3,
                    187: 41,
                    188: 0,
                    189: 
                    190: 41,
                    191: 0,
                    192: 
                    193: 41,
                    194: 0,
                    195: 
                    196: 41,
                    197: 0,
                    198: 
                    199: 5,
                    200: 41,
                    201: 0,
                    202: 
                    203: 41,
                    204: 0,
                    205: 
                    206: 4,
                    207: 41,
                    208: 0,
                    209: 
                    210: 9,
                    211: 41,
                    212: 0,
                    213: 
                    214: 40,
                    215: 41,
                    216: 0,
                    217: 
                    218: 25,
                    219: 40,
                    220: 41,
                    221: 0,
                    222: 
                    223: 29,
                    224: 40,
                    225: 41,
                    226: 0,
                    227: 
                    228: 21,
                    229: 40,
                    230: 41,
                    231: 0,
                    232: 
                    233: 37,
                    234: 40,
                    235: 41,
                    236: 0,
                    237: 
                    238: 23,
                    239: 40,
                    240: 41,
                    241: 0,
                    242: 
                    243: 31,
                    244: 40,
                    245: 41,
                    246: 0,
                    247: 
                    248: 27,
                    249: 40,
                    250: 41,
                    251: 0,
                    252: 
                    253: 35,
                    254: 40,
                    255: 41,
                    256: 0,
                    257: 
                    258: 33,
                    259: 40,
                    260: 41,
                    261: 0,
                    262: 
                    263: 38,
                    264: 0,
                    265: 
                    266: 2,
                    267: 0,
                    268: 
                    269: 24,
                    270: 0,
                    271: 
                    272: 28,
                    273: 0,
                    274: 
                    275: 20,
                    276: 0,
                    277: 
                    278: 36,
                    279: 0,
                    280: 
                    281: 22,
                    282: 0,
                    283: 
                    284: 30,
                    285: 0,
                    286: 
                    287: 26,
                    288: 0,
                    289: 
                    290: 34,
                    291: 0,
                    292: 
                    293: 32,
                    294: 0,
                    295: 
                    296: 1,
                    297: 0,
                    298: 
                    299: 5,
                    300: 0,
                    301: 
                    302: 6,
                    303: 0,
                    304: 
                    305: 40,
                    306: 0,
                    307: 
                    308: 40,
                    309: 0,
                    310: 
                    311: 40,
                    312: 0,
                    313: 
                    314: 7,
                    315: 40,
                    316: 0,
                    317: 
                    318: 40,
                    319: 0,
                    320: 
                    321: 40,
                    322: 0,
                    323: 
                    324: 8,
                    325: 40,
                    326: 0,
                    327: 
                    328: 40,
                    329: 0,
                    330: 
                    331: 15,
                    332: 40,
                    333: 0,
                    334: 
                    335: 40,
                    336: 0,
                    337: 
                    338: 40,
                    339: 0,
                    340: 
                    341: 40,
                    342: 0,
                    343: 
                    344: 40,
                    345: 0,
                    346: 
                    347: 14,
                    348: 0,
                    349: 
                    350: 10,
                    351: 40,
                    352: 0,
                    353: 
                    354: 17,
                    355: 40,
                    356: 0,
                    357: 
                    358: 12,
                    359: 40,
                    360: 0,
                    361: 
                    362: 19,
                    363: 40,
                    364: 0,
                    365: 
                    366: 11,
                    367: 0,
                    368: 
                    369: 16,
                    370: 0,
                    371: 
                    372: 13,
                    373: 0,
                    374: 
                    375: 18,
                    376: 0,
                    377: 0};
                    378: # define YYTYPE char
                    379: struct yywork { YYTYPE verify, advance; } yycrank[] ={
                    380: 0,0,   0,0,    1,3,    0,0,    
                    381: 0,0,   0,0,    0,0,    0,0,    
                    382: 0,0,   0,0,    1,4,    1,5,    
                    383: 0,0,   4,24,   0,0,    0,0,    
                    384: 0,0,   0,0,    0,0,    0,0,    
                    385: 0,0,   0,0,    0,0,    0,0,    
                    386: 0,0,   0,0,    0,0,    0,0,    
                    387: 0,0,   0,0,    0,0,    0,0,    
                    388: 0,0,   0,0,    0,0,    0,0,    
                    389: 4,24,  0,0,    1,6,    0,0,    
                    390: 0,0,   0,0,    0,0,    1,7,    
                    391: 0,0,   0,0,    1,8,    9,35,   
                    392: 1,9,   1,10,   1,11,   7,25,   
                    393: 0,0,   0,0,    0,0,    2,6,    
                    394: 0,0,   0,0,    0,0,    1,12,   
                    395: 2,7,   0,0,    1,13,   2,8,    
                    396: 0,0,   2,9,    1,14,   0,0,    
                    397: 0,0,   0,0,    0,0,    0,0,    
                    398: 0,0,   0,0,    0,0,    0,0,    
                    399: 2,12,  0,0,    0,0,    2,13,   
                    400: 10,36, 10,36,  10,36,  10,36,  
                    401: 10,36, 10,36,  10,36,  10,36,  
                    402: 10,36, 10,36,  11,37,  11,37,  
                    403: 11,37, 11,37,  11,37,  11,37,  
                    404: 11,37, 11,37,  11,37,  11,37,  
                    405: 1,15,  0,0,    0,0,    0,0,    
                    406: 1,16,  0,0,    1,17,   0,0,    
                    407: 0,0,   0,0,    0,0,    1,18,   
                    408: 1,19,  1,20,   17,40,  1,21,   
                    409: 1,22,  2,15,   42,53,  15,39,  
                    410: 1,23,  2,16,   28,47,  2,17,   
                    411: 17,41, 26,46,  19,43,  17,42,  
                    412: 2,18,  2,19,   2,20,   19,44,  
                    413: 2,21,  2,22,   8,26,   28,48,  
                    414: 39,51, 2,23,   8,27,   19,45,  
                    415: 8,28,  40,52,  43,54,  45,55,  
                    416: 46,56, 8,29,   8,30,   8,31,   
                    417: 47,57, 8,32,   8,33,   48,58,  
                    418: 30,49, 49,59,  8,34,   14,38,  
                    419: 14,38, 14,38,  14,38,  14,38,  
                    420: 14,38, 14,38,  14,38,  14,38,  
                    421: 14,38, 30,50,  50,60,  52,61,  
                    422: 53,62, 54,63,  55,64,  57,65,  
                    423: 14,38, 14,38,  14,38,  14,38,  
                    424: 14,38, 14,38,  14,38,  14,38,  
                    425: 14,38, 14,38,  14,38,  14,38,  
                    426: 14,38, 14,38,  14,38,  14,38,  
                    427: 14,38, 14,38,  14,38,  14,38,  
                    428: 14,38, 14,38,  14,38,  14,38,  
                    429: 14,38, 14,38,  58,66,  59,67,  
                    430: 60,68, 0,0,    14,38,  0,0,    
                    431: 14,38, 14,38,  14,38,  14,38,  
                    432: 14,38, 14,38,  14,38,  14,38,  
                    433: 14,38, 14,38,  14,38,  14,38,  
                    434: 14,38, 14,38,  14,38,  14,38,  
                    435: 14,38, 14,38,  14,38,  14,38,  
                    436: 14,38, 14,38,  14,38,  14,38,  
                    437: 14,38, 14,38,  0,0,    0,0,    
                    438: 0,0};
                    439: struct yysvf yysvec[] ={
                    440: 0,     0,      0,
                    441: yycrank+-1,    0,              0,      
                    442: yycrank+-18,   yysvec+1,       0,      
                    443: yycrank+0,     0,              yyvstop+1,
                    444: yycrank+4,     0,              yyvstop+3,
                    445: yycrank+0,     0,              yyvstop+6,
                    446: yycrank+0,     0,              yyvstop+8,
                    447: yycrank+4,     0,              yyvstop+11,
                    448: yycrank+35,    0,              yyvstop+13,
                    449: yycrank+5,     0,              yyvstop+15,
                    450: yycrank+32,    0,              yyvstop+17,
                    451: yycrank+42,    0,              yyvstop+20,
                    452: yycrank+0,     0,              yyvstop+22,
                    453: yycrank+0,     0,              yyvstop+25,
                    454: yycrank+107,   0,              yyvstop+28,
                    455: yycrank+4,     yysvec+14,      yyvstop+31,
                    456: yycrank+0,     yysvec+14,      yyvstop+35,
                    457: yycrank+9,     yysvec+14,      yyvstop+39,
                    458: yycrank+0,     yysvec+14,      yyvstop+43,
                    459: yycrank+21,    yysvec+14,      yyvstop+47,
                    460: yycrank+0,     yysvec+14,      yyvstop+51,
                    461: yycrank+0,     yysvec+14,      yyvstop+55,
                    462: yycrank+0,     yysvec+14,      yyvstop+59,
                    463: yycrank+0,     yysvec+14,      yyvstop+63,
                    464: yycrank+0,     yysvec+4,       yyvstop+67,
                    465: yycrank+0,     0,              yyvstop+69,
                    466: yycrank+10,    0,              yyvstop+71,
                    467: yycrank+0,     0,              yyvstop+73,
                    468: yycrank+17,    0,              yyvstop+75,
                    469: yycrank+0,     0,              yyvstop+77,
                    470: yycrank+47,    0,              yyvstop+79,
                    471: yycrank+0,     0,              yyvstop+81,
                    472: yycrank+0,     0,              yyvstop+83,
                    473: yycrank+0,     0,              yyvstop+85,
                    474: yycrank+0,     0,              yyvstop+87,
                    475: yycrank+0,     0,              yyvstop+89,
                    476: yycrank+0,     yysvec+10,      yyvstop+91,
                    477: yycrank+0,     yysvec+11,      yyvstop+93,
                    478: yycrank+0,     yysvec+14,      yyvstop+95,
                    479: yycrank+22,    yysvec+14,      yyvstop+97,
                    480: yycrank+31,    yysvec+14,      yyvstop+99,
                    481: yycrank+0,     yysvec+14,      yyvstop+101,
                    482: yycrank+17,    yysvec+14,      yyvstop+104,
                    483: yycrank+32,    yysvec+14,      yyvstop+106,
                    484: yycrank+0,     yysvec+14,      yyvstop+108,
                    485: yycrank+42,    yysvec+14,      yyvstop+111,
                    486: yycrank+30,    0,              0,      
                    487: yycrank+38,    0,              0,      
                    488: yycrank+50,    0,              0,      
                    489: yycrank+43,    0,              0,      
                    490: yycrank+65,    0,              0,      
                    491: yycrank+0,     yysvec+14,      yyvstop+113,
                    492: yycrank+51,    yysvec+14,      yyvstop+116,
                    493: yycrank+69,    yysvec+14,      yyvstop+118,
                    494: yycrank+53,    yysvec+14,      yyvstop+120,
                    495: yycrank+71,    yysvec+14,      yyvstop+122,
                    496: yycrank+0,     0,              yyvstop+124,
                    497: yycrank+55,    0,              0,      
                    498: yycrank+99,    0,              0,      
                    499: yycrank+83,    0,              0,      
                    500: yycrank+101,   0,              0,      
                    501: yycrank+0,     yysvec+14,      yyvstop+126,
                    502: yycrank+0,     yysvec+14,      yyvstop+129,
                    503: yycrank+0,     yysvec+14,      yyvstop+132,
                    504: yycrank+0,     yysvec+14,      yyvstop+135,
                    505: yycrank+0,     0,              yyvstop+138,
                    506: yycrank+0,     0,              yyvstop+140,
                    507: yycrank+0,     0,              yyvstop+142,
                    508: yycrank+0,     0,              yyvstop+144,
                    509: 0,     0,      0};
                    510: struct yywork *yytop = yycrank+229;
                    511: struct yysvf *yybgin = yysvec+1;
                    512: char yymatch[] ={
                    513: 00  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
                    514: 01  ,011 ,012 ,01  ,01  ,01  ,01  ,01  ,
                    515: 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
                    516: 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
                    517: 011 ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
                    518: 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
                    519: '0' ,'1' ,'1' ,'1' ,'1' ,'1' ,'1' ,'1' ,
                    520: '1' ,'1' ,01  ,01  ,01  ,01  ,01  ,01  ,
                    521: 01  ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
                    522: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
                    523: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
                    524: 'A' ,'A' ,'A' ,01  ,01  ,01  ,01  ,'A' ,
                    525: 01  ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
                    526: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
                    527: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
                    528: 'A' ,'A' ,'A' ,01  ,01  ,01  ,01  ,01  ,
                    529: 0};
                    530: char yyextra[] ={
                    531: 0,0,0,0,0,0,0,0,
                    532: 0,0,0,0,0,0,0,0,
                    533: 0,0,0,0,0,0,0,0,
                    534: 0,0,0,0,0,0,0,0,
                    535: 0,0,0,0,0,0,0,0,
                    536: 0,0,0,0,0,0,0,0,
                    537: 0};
                    538: /*     ncform  4.1     83/08/11        */
                    539: 
                    540: int yylineno =1;
                    541: # define YYU(x) x
                    542: # define NLSTATE yyprevious=YYNEWLINE
                    543: char yytext[YYLMAX];
                    544: struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
                    545: char yysbuf[YYLMAX];
                    546: char *yysptr = yysbuf;
                    547: int *yyfnd;
                    548: extern struct yysvf *yyestate;
                    549: int yyprevious = YYNEWLINE;
                    550: yylook(){
                    551:        register struct yysvf *yystate, **lsp;
                    552:        register struct yywork *yyt;
                    553:        struct yysvf *yyz;
                    554:        int yych;
                    555:        struct yywork *yyr;
                    556: # ifdef LEXDEBUG
                    557:        int debug;
                    558: # endif
                    559:        char *yylastch;
                    560:        /* start off machines */
                    561: # ifdef LEXDEBUG
                    562:        debug = 0;
                    563: # endif
                    564:        if (!yymorfg)
                    565:                yylastch = yytext;
                    566:        else {
                    567:                yymorfg=0;
                    568:                yylastch = yytext+yyleng;
                    569:                }
                    570:        for(;;){
                    571:                lsp = yylstate;
                    572:                yyestate = yystate = yybgin;
                    573:                if (yyprevious==YYNEWLINE) yystate++;
                    574:                for (;;){
                    575: # ifdef LEXDEBUG
                    576:                        if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
                    577: # endif
                    578:                        yyt = yystate->yystoff;
                    579:                        if(yyt == yycrank){             /* may not be any transitions */
                    580:                                yyz = yystate->yyother;
                    581:                                if(yyz == 0)break;
                    582:                                if(yyz->yystoff == yycrank)break;
                    583:                                }
                    584:                        *yylastch++ = yych = input();
                    585:                tryagain:
                    586: # ifdef LEXDEBUG
                    587:                        if(debug){
                    588:                                fprintf(yyout,"char ");
                    589:                                allprint(yych);
                    590:                                putchar('\n');
                    591:                                }
                    592: # endif
                    593:                        yyr = yyt;
                    594:                        if ( (int)yyt > (int)yycrank){
                    595:                                yyt = yyr + yych;
                    596:                                if (yyt <= yytop && yyt->verify+yysvec == yystate){
                    597:                                        if(yyt->advance+yysvec == YYLERR)       /* error transitions */
                    598:                                                {unput(*--yylastch);break;}
                    599:                                        *lsp++ = yystate = yyt->advance+yysvec;
                    600:                                        goto contin;
                    601:                                        }
                    602:                                }
                    603: # ifdef YYOPTIM
                    604:                        else if((int)yyt < (int)yycrank) {              /* r < yycrank */
                    605:                                yyt = yyr = yycrank+(yycrank-yyt);
                    606: # ifdef LEXDEBUG
                    607:                                if(debug)fprintf(yyout,"compressed state\n");
                    608: # endif
                    609:                                yyt = yyt + yych;
                    610:                                if(yyt <= yytop && yyt->verify+yysvec == yystate){
                    611:                                        if(yyt->advance+yysvec == YYLERR)       /* error transitions */
                    612:                                                {unput(*--yylastch);break;}
                    613:                                        *lsp++ = yystate = yyt->advance+yysvec;
                    614:                                        goto contin;
                    615:                                        }
                    616:                                yyt = yyr + YYU(yymatch[yych]);
                    617: # ifdef LEXDEBUG
                    618:                                if(debug){
                    619:                                        fprintf(yyout,"try fall back character ");
                    620:                                        allprint(YYU(yymatch[yych]));
                    621:                                        putchar('\n');
                    622:                                        }
                    623: # endif
                    624:                                if(yyt <= yytop && yyt->verify+yysvec == yystate){
                    625:                                        if(yyt->advance+yysvec == YYLERR)       /* error transition */
                    626:                                                {unput(*--yylastch);break;}
                    627:                                        *lsp++ = yystate = yyt->advance+yysvec;
                    628:                                        goto contin;
                    629:                                        }
                    630:                                }
                    631:                        if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
                    632: # ifdef LEXDEBUG
                    633:                                if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
                    634: # endif
                    635:                                goto tryagain;
                    636:                                }
                    637: # endif
                    638:                        else
                    639:                                {unput(*--yylastch);break;}
                    640:                contin:
                    641: # ifdef LEXDEBUG
                    642:                        if(debug){
                    643:                                fprintf(yyout,"state %d char ",yystate-yysvec-1);
                    644:                                allprint(yych);
                    645:                                putchar('\n');
                    646:                                }
                    647: # endif
                    648:                        ;
                    649:                        }
                    650: # ifdef LEXDEBUG
                    651:                if(debug){
                    652:                        fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
                    653:                        allprint(yych);
                    654:                        putchar('\n');
                    655:                        }
                    656: # endif
                    657:                while (lsp-- > yylstate){
                    658:                        *yylastch-- = 0;
                    659:                        if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
                    660:                                yyolsp = lsp;
                    661:                                if(yyextra[*yyfnd]){            /* must backup */
                    662:                                        while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
                    663:                                                lsp--;
                    664:                                                unput(*yylastch--);
                    665:                                                }
                    666:                                        }
                    667:                                yyprevious = YYU(*yylastch);
                    668:                                yylsp = lsp;
                    669:                                yyleng = yylastch-yytext+1;
                    670:                                yytext[yyleng] = 0;
                    671: # ifdef LEXDEBUG
                    672:                                if(debug){
                    673:                                        fprintf(yyout,"\nmatch ");
                    674:                                        sprint(yytext);
                    675:                                        fprintf(yyout," action %d\n",*yyfnd);
                    676:                                        }
                    677: # endif
                    678:                                return(*yyfnd++);
                    679:                                }
                    680:                        unput(*yylastch);
                    681:                        }
                    682:                if (yytext[0] == 0  /* && feof(yyin) */)
                    683:                        {
                    684:                        yysptr=yysbuf;
                    685:                        return(0);
                    686:                        }
                    687:                yyprevious = yytext[0] = input();
                    688:                if (yyprevious>0)
                    689:                        output(yyprevious);
                    690:                yylastch=yytext;
                    691: # ifdef LEXDEBUG
                    692:                if(debug)putchar('\n');
                    693: # endif
                    694:                }
                    695:        }
                    696: yyback(p, m)
                    697:        int *p;
                    698: {
                    699: if (p==0) return(0);
                    700: while (*p)
                    701:        {
                    702:        if (*p++ == m)
                    703:                return(1);
                    704:        }
                    705: return(0);
                    706: }
                    707:        /* the following are only used in the lex library */
                    708: yyinput(){
                    709:        return(input());
                    710:        }
                    711: yyoutput(c)
                    712:   int c; {
                    713:        output(c);
                    714:        }
                    715: yyunput(c)
                    716:    int c; {
                    717:        unput(c);
                    718:        }

unix.superglobalmegacorp.com

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