Annotation of cci/usr/src/usr.bin/diction/endlex.c, revision 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: #ifndef lint
        !            29: static char sccsid[] = "@(#)end.l      4.2     (Berkeley)      82/11/06";
        !            30: #endif not lint
        !            31: 
        !            32: #include <stdio.h>
        !            33: #include <ctype.h>
        !            34: #include "names.h"
        !            35: #include "ehash.c"
        !            36: #include "edict.c"
        !            37: #define OUT1(c) putchar(c); putchar(':'); for(i=yyleng-1;i>=0;)putchar(yytext[i--])
        !            38: #define POUT1(c) putchar(c); putchar(':'); for(i=yyleng-1;i>0;)putchar(yytext[i--])
        !            39: int i;
        !            40: int nomin = 0;
        !            41: int NOCAPS = 0;                /*if set, all caps mapped to lower, plurals stripped*/
        !            42: # define YYNEWLINE 10
        !            43: yylex(){
        !            44: int nstr; extern int yyprevious;
        !            45: while((nstr = yylook()) >= 0)
        !            46: yyfussy: switch(nstr){
        !            47: case 0:
        !            48: if(yywrap()) return(0); break;
        !            49: case 1:
        !            50: {
        !            51:        ECHO;
        !            52:        }
        !            53: break;
        !            54: case 2:
        !            55: {
        !            56:        look(ic,2,ADJ);
        !            57:        }
        !            58: break;
        !            59: case 3:
        !            60: {
        !            61:        look(ed,2,ED);
        !            62:        }
        !            63: break;
        !            64: case 4:
        !            65: {
        !            66:        if(yytext[5] == 'E'){
        !            67:                OUT1(NOUN_ADJ);
        !            68:        }
        !            69:        OUT1(ADJ_ADV);
        !            70:        }
        !            71: break;
        !            72: case 5:
        !            73: {
        !            74:        look(ace,3,NOUN_VERB);
        !            75:        }
        !            76: break;
        !            77: case 6:
        !            78: {
        !            79:        look(ice,3,NOUN_VERB);
        !            80:        }
        !            81: break;
        !            82: case 7:
        !            83: {
        !            84:        if(look(ence,4,NOM))nomin++;
        !            85:        }
        !            86: break;
        !            87: case 8:
        !            88: {
        !            89:        if(look(ance,4,NOM))nomin++;
        !            90:        }
        !            91: break;
        !            92: case 9:
        !            93: {
        !            94:        look(ee,2,NOUN);
        !            95:        }
        !            96: break;
        !            97: case 10:
        !            98: {
        !            99:        look(age,3,NOUN);
        !           100:        }
        !           101: break;
        !           102: case 11:
        !           103: {
        !           104:        look(able,4,ADJ);
        !           105:        }
        !           106: break;
        !           107: case 12:
        !           108: {
        !           109:        look(ible,4,ADJ);
        !           110:        }
        !           111: break;
        !           112: case 13:
        !           113: {
        !           114:        look(cle,3,NOUN);
        !           115:        }
        !           116: break;
        !           117: case 14:
        !           118: {
        !           119:        look(ure,3,NOUN);
        !           120:        }
        !           121: break;
        !           122: case 15:
        !           123: {
        !           124:        look(ite,3,NOUN);
        !           125:        }
        !           126: break;
        !           127: case 16:
        !           128: {
        !           129:        look(ive,3,ADJ);
        !           130:        }
        !           131: break;
        !           132: case 17:
        !           133: {
        !           134:        look(ize,3,VERB);
        !           135:        }
        !           136: break;
        !           137: case 18:
        !           138: {
        !           139:        look(ing,3,ING);
        !           140:        }
        !           141: break;
        !           142: case 19:
        !           143: {
        !           144:        look(ish,3,ADJ);
        !           145:        }
        !           146: break;
        !           147: case 20:
        !           148: {
        !           149:        look(cal,3,ADJ);
        !           150:        }
        !           151: break;
        !           152: case 21:
        !           153: {
        !           154:        look(ional,5,ADJ);
        !           155:        }
        !           156: break;
        !           157: case 22:
        !           158: {
        !           159:        look(ful,3,ADJ);
        !           160:        }
        !           161: break;
        !           162: case 23:
        !           163: {
        !           164:        OUT1(NOUN);
        !           165:        }
        !           166: break;
        !           167: case 24:
        !           168: {
        !           169:        look(man,3,NOUN);
        !           170:        }
        !           171: break;
        !           172: case 25:
        !           173: {
        !           174:        OUT1(NV_PL);
        !           175:        }
        !           176: break;
        !           177: case 26:
        !           178: {
        !           179:        if(look(ion,3,NOM))nomin++;
        !           180:        }
        !           181: break;
        !           182: case 27:
        !           183: {
        !           184:        look(ship,4,NOUN);
        !           185:        }
        !           186: break;
        !           187: case 28:
        !           188: {
        !           189:        look(lar,3,ADJ);
        !           190:        }
        !           191: break;
        !           192: case 29:
        !           193: {
        !           194:        OUT1(NOUN_VERB);
        !           195:        }
        !           196: break;
        !           197: case 30:
        !           198: {
        !           199:        OUT1(NOUN);
        !           200:        }
        !           201: break;
        !           202: case 31:
        !           203: {
        !           204:        look(is,2,NOUN);
        !           205:        }
        !           206: break;
        !           207: case 32:
        !           208: {
        !           209:        look(less,4,ADJ);
        !           210:        }
        !           211: break;
        !           212: case 33:
        !           213: {
        !           214:        look(ness,4,NOUN);
        !           215:        }
        !           216: break;
        !           217: case 34:
        !           218: {
        !           219:        look(ess,3,NOUN);
        !           220:        }
        !           221: break;
        !           222: case 35:
        !           223: {
        !           224:        look(ss,2,NOUN);
        !           225:        }
        !           226: break;
        !           227: case 36:
        !           228: {
        !           229:        look(ous,3,ADJ);
        !           230:        }
        !           231: break;
        !           232: case 37:
        !           233: {
        !           234:        look(us,2,NOUN);
        !           235:        }
        !           236: break;
        !           237: case 38:
        !           238: {
        !           239:        if(look(ion,4,PNOUN))nomin++;
        !           240:        }
        !           241: break;
        !           242: case 39:
        !           243: {
        !           244:                if(look(ment,5,PNOUN))nomin++;
        !           245:                }
        !           246: break;
        !           247: case 40:
        !           248: {
        !           249:                if(look(ence,5,PNOUN))nomin++;
        !           250:                }
        !           251: break;
        !           252: case 41:
        !           253: {
        !           254:                if(look(ance,5,PNOUN))nomin++;
        !           255:                }
        !           256: break;
        !           257: case 42:
        !           258: {
        !           259:        if(isupper(yytext[yyleng-1])){
        !           260:                if(NOCAPS){
        !           261:                        yytext[yyleng-1] = tolower(yytext[yyleng-1]);
        !           262:                        POUT1(PNOUN);
        !           263:                }
        !           264:                else { OUT1(PNOUN); }
        !           265:        }
        !           266:        else {
        !           267:                if(NOCAPS){POUT1(NV_PL);}
        !           268:                else{ OUT1(NV_PL); }
        !           269:        }
        !           270:        }
        !           271: break;
        !           272: case 43:
        !           273: {
        !           274:        look(ant,3,NOUN_ADJ);
        !           275:        }
        !           276: break;
        !           277: case 44:
        !           278: {
        !           279:        if(look(ment,4,NOM))nomin++;
        !           280:        }
        !           281: break;
        !           282: case 45:
        !           283: {
        !           284:        look(est,3,ADJ);
        !           285:        }
        !           286: break;
        !           287: case 46:
        !           288: {
        !           289:        look(ist,3,NOUN);
        !           290:        }
        !           291: break;
        !           292: case 47:
        !           293: {
        !           294:        putchar(yytext[0]);
        !           295:        }
        !           296: break;
        !           297: case 48:
        !           298: {
        !           299:        if(isupper(yytext[yyleng-1])){
        !           300:                if(NOCAPS)
        !           301:                        yytext[yyleng-1] = tolower(yytext[yyleng-1]);
        !           302:                if((yytext[0] == 'n' || yytext[0] == 'l') && yytext[1] == 'a'){
        !           303:                        OUT1(NOUN_ADJ);
        !           304:                }
        !           305:                else {
        !           306:                        OUT1(NOUN);
        !           307:                }
        !           308:        }
        !           309:        else {
        !           310:                OUT1(UNK);
        !           311:        }
        !           312:        }
        !           313: break;
        !           314: case 49:
        !           315: {
        !           316:        egetd();
        !           317:        }
        !           318: break;
        !           319: case 50:
        !           320: {
        !           321:        printf("%s",yytext);
        !           322:        }
        !           323: break;
        !           324: case -1:
        !           325: break;
        !           326: default:
        !           327: fprintf(yyout,"bad switch yylook %d",nstr);
        !           328: } return(0); }
        !           329: /* end of yylex */
        !           330: look(f,n,nc)
        !           331: char (*f)();
        !           332: int n;
        !           333: char nc;
        !           334: {
        !           335:        int in,nn,ret;
        !           336:        char sch;
        !           337:        in=0;
        !           338:        sch=yytext[yyleng-1];
        !           339:        if(isupper(sch)){
        !           340:                yytext[yyleng-1] = tolower(sch);
        !           341:                in=1;
        !           342:        }
        !           343:        if((*f)(&yytext[n],1,0) != 0){
        !           344:                nn = (*f)(&yytext[n],1,0);
        !           345:                if(nc == PNOUN)
        !           346:                        if(nn == NOUN_VERB){
        !           347:                                if(in == 1)nn=PNOUN;
        !           348:                                else nn=NV_PL;
        !           349:                        }
        !           350:                ret = 0;
        !           351:        }
        !           352:        else {
        !           353:                nn = nc;
        !           354:                ret = 1;
        !           355:        }
        !           356:        if(in==1){
        !           357:                if(nn == NOUN_VERB)nn=NOUN;
        !           358:                if(!NOCAPS)yytext[yyleng-1]=sch;        
        !           359:        }
        !           360:        if(nn==PNOUN && yytext[0] == 's' && NOCAPS){
        !           361:                POUT1(nn);
        !           362:        }
        !           363:        else {
        !           364:                OUT1(nn);
        !           365:        }
        !           366:        return(ret);
        !           367: }
        !           368: yywrap(){
        !           369:        printf(";%d\n",nomin);
        !           370:        return(1);
        !           371: }
        !           372: int yyvstop[] ={
        !           373: 0,
        !           374: 
        !           375: 47,
        !           376: 0,
        !           377: 
        !           378: 48,
        !           379: 0,
        !           380: 
        !           381: 47,
        !           382: 0,
        !           383: 
        !           384: 48,
        !           385: 0,
        !           386: 
        !           387: 48,
        !           388: 0,
        !           389: 
        !           390: 48,
        !           391: 0,
        !           392: 
        !           393: 48,
        !           394: 0,
        !           395: 
        !           396: 48,
        !           397: 0,
        !           398: 
        !           399: 48,
        !           400: 0,
        !           401: 
        !           402: 48,
        !           403: 0,
        !           404: 
        !           405: 48,
        !           406: 0,
        !           407: 
        !           408: 48,
        !           409: 0,
        !           410: 
        !           411: 48,
        !           412: 0,
        !           413: 
        !           414: 48,
        !           415: 0,
        !           416: 
        !           417: 48,
        !           418: 0,
        !           419: 
        !           420: 48,
        !           421: 0,
        !           422: 
        !           423: 49,
        !           424: 0,
        !           425: 
        !           426: 48,
        !           427: 0,
        !           428: 
        !           429: 48,
        !           430: 0,
        !           431: 
        !           432: 48,
        !           433: 0,
        !           434: 
        !           435: 48,
        !           436: 0,
        !           437: 
        !           438: 48,
        !           439: 0,
        !           440: 
        !           441: 48,
        !           442: 0,
        !           443: 
        !           444: 48,
        !           445: 0,
        !           446: 
        !           447: 48,
        !           448: 0,
        !           449: 
        !           450: 48,
        !           451: 0,
        !           452: 
        !           453: 48,
        !           454: 0,
        !           455: 
        !           456: 48,
        !           457: 0,
        !           458: 
        !           459: 48,
        !           460: 0,
        !           461: 
        !           462: 48,
        !           463: 0,
        !           464: 
        !           465: 48,
        !           466: 0,
        !           467: 
        !           468: 48,
        !           469: 0,
        !           470: 
        !           471: 48,
        !           472: 0,
        !           473: 
        !           474: 48,
        !           475: 0,
        !           476: 
        !           477: 48,
        !           478: 0,
        !           479: 
        !           480: 48,
        !           481: 0,
        !           482: 
        !           483: 48,
        !           484: 0,
        !           485: 
        !           486: 48,
        !           487: 0,
        !           488: 
        !           489: 48,
        !           490: 0,
        !           491: 
        !           492: 42,
        !           493: 0,
        !           494: 
        !           495: 42,
        !           496: 48,
        !           497: 0,
        !           498: 
        !           499: 42,
        !           500: 0,
        !           501: 
        !           502: 42,
        !           503: 48,
        !           504: 0,
        !           505: 
        !           506: 42,
        !           507: 48,
        !           508: 0,
        !           509: 
        !           510: 42,
        !           511: 48,
        !           512: 0,
        !           513: 
        !           514: 42,
        !           515: 48,
        !           516: 0,
        !           517: 
        !           518: 42,
        !           519: 48,
        !           520: 0,
        !           521: 
        !           522: 42,
        !           523: 48,
        !           524: 0,
        !           525: 
        !           526: 48,
        !           527: 0,
        !           528: 
        !           529: 48,
        !           530: 0,
        !           531: 
        !           532: 1,
        !           533: 0,
        !           534: 
        !           535: 50,
        !           536: 0,
        !           537: 
        !           538: 2,
        !           539: 0,
        !           540: 
        !           541: 2,
        !           542: 48,
        !           543: 0,
        !           544: 
        !           545: 3,
        !           546: 0,
        !           547: 
        !           548: 3,
        !           549: 48,
        !           550: 0,
        !           551: 
        !           552: 48,
        !           553: 0,
        !           554: 
        !           555: 48,
        !           556: 0,
        !           557: 
        !           558: 48,
        !           559: 0,
        !           560: 
        !           561: 48,
        !           562: 0,
        !           563: 
        !           564: 9,
        !           565: 0,
        !           566: 
        !           567: 9,
        !           568: 48,
        !           569: 0,
        !           570: 
        !           571: 48,
        !           572: 0,
        !           573: 
        !           574: 48,
        !           575: 0,
        !           576: 
        !           577: 48,
        !           578: 0,
        !           579: 
        !           580: 48,
        !           581: 0,
        !           582: 
        !           583: 48,
        !           584: 0,
        !           585: 
        !           586: 48,
        !           587: 0,
        !           588: 
        !           589: 48,
        !           590: 0,
        !           591: 
        !           592: 48,
        !           593: 0,
        !           594: 
        !           595: 48,
        !           596: 0,
        !           597: 
        !           598: 48,
        !           599: 0,
        !           600: 
        !           601: 48,
        !           602: 0,
        !           603: 
        !           604: 48,
        !           605: 0,
        !           606: 
        !           607: 48,
        !           608: 0,
        !           609: 
        !           610: 24,
        !           611: 48,
        !           612: 0,
        !           613: 
        !           614: 25,
        !           615: 48,
        !           616: 0,
        !           617: 
        !           618: 48,
        !           619: 0,
        !           620: 
        !           621: 48,
        !           622: 0,
        !           623: 
        !           624: 48,
        !           625: 0,
        !           626: 
        !           627: 30,
        !           628: 0,
        !           629: 
        !           630: 30,
        !           631: 48,
        !           632: 0,
        !           633: 
        !           634: 30,
        !           635: 48,
        !           636: 0,
        !           637: 
        !           638: 1,
        !           639: 42,
        !           640: 0,
        !           641: 
        !           642: 42,
        !           643: 48,
        !           644: 0,
        !           645: 
        !           646: 31,
        !           647: 42,
        !           648: 0,
        !           649: 
        !           650: 31,
        !           651: 42,
        !           652: 48,
        !           653: 0,
        !           654: 
        !           655: 42,
        !           656: 48,
        !           657: 0,
        !           658: 
        !           659: 35,
        !           660: 42,
        !           661: 0,
        !           662: 
        !           663: 35,
        !           664: 42,
        !           665: 48,
        !           666: 0,
        !           667: 
        !           668: 35,
        !           669: 42,
        !           670: 48,
        !           671: 0,
        !           672: 
        !           673: 42,
        !           674: 48,
        !           675: 0,
        !           676: 
        !           677: 37,
        !           678: 42,
        !           679: 0,
        !           680: 
        !           681: 37,
        !           682: 42,
        !           683: 48,
        !           684: 0,
        !           685: 
        !           686: 37,
        !           687: 42,
        !           688: 48,
        !           689: 0,
        !           690: 
        !           691: 48,
        !           692: 0,
        !           693: 
        !           694: 48,
        !           695: 0,
        !           696: 
        !           697: 48,
        !           698: 0,
        !           699: 
        !           700: 48,
        !           701: 0,
        !           702: 
        !           703: 48,
        !           704: 0,
        !           705: 
        !           706: 5,
        !           707: 0,
        !           708: 
        !           709: 5,
        !           710: 48,
        !           711: 0,
        !           712: 
        !           713: 6,
        !           714: 0,
        !           715: 
        !           716: 6,
        !           717: 48,
        !           718: 0,
        !           719: 
        !           720: 48,
        !           721: 0,
        !           722: 
        !           723: 48,
        !           724: 0,
        !           725: 
        !           726: 10,
        !           727: 0,
        !           728: 
        !           729: 10,
        !           730: 48,
        !           731: 0,
        !           732: 
        !           733: 48,
        !           734: 0,
        !           735: 
        !           736: 48,
        !           737: 0,
        !           738: 
        !           739: 13,
        !           740: 0,
        !           741: 
        !           742: 13,
        !           743: 48,
        !           744: 0,
        !           745: 
        !           746: 14,
        !           747: 0,
        !           748: 
        !           749: 14,
        !           750: 48,
        !           751: 0,
        !           752: 
        !           753: 15,
        !           754: 0,
        !           755: 
        !           756: 15,
        !           757: 48,
        !           758: 0,
        !           759: 
        !           760: 16,
        !           761: 0,
        !           762: 
        !           763: 16,
        !           764: 48,
        !           765: 0,
        !           766: 
        !           767: 17,
        !           768: 0,
        !           769: 
        !           770: 17,
        !           771: 48,
        !           772: 0,
        !           773: 
        !           774: 18,
        !           775: 0,
        !           776: 
        !           777: 18,
        !           778: 48,
        !           779: 0,
        !           780: 
        !           781: 19,
        !           782: 0,
        !           783: 
        !           784: 19,
        !           785: 48,
        !           786: 0,
        !           787: 
        !           788: 20,
        !           789: 0,
        !           790: 
        !           791: 20,
        !           792: 48,
        !           793: 0,
        !           794: 
        !           795: 48,
        !           796: 0,
        !           797: 
        !           798: 22,
        !           799: 0,
        !           800: 
        !           801: 22,
        !           802: 48,
        !           803: 0,
        !           804: 
        !           805: 23,
        !           806: 0,
        !           807: 
        !           808: 23,
        !           809: 48,
        !           810: 0,
        !           811: 
        !           812: 24,
        !           813: 0,
        !           814: 
        !           815: 25,
        !           816: 0,
        !           817: 
        !           818: 26,
        !           819: 0,
        !           820: 
        !           821: 26,
        !           822: 48,
        !           823: 0,
        !           824: 
        !           825: 48,
        !           826: 0,
        !           827: 
        !           828: 28,
        !           829: 0,
        !           830: 
        !           831: 28,
        !           832: 48,
        !           833: 0,
        !           834: 
        !           835: 30,
        !           836: 48,
        !           837: 0,
        !           838: 
        !           839: 42,
        !           840: 48,
        !           841: 0,
        !           842: 
        !           843: 42,
        !           844: 48,
        !           845: 0,
        !           846: 
        !           847: 34,
        !           848: 35,
        !           849: 42,
        !           850: 0,
        !           851: 
        !           852: 34,
        !           853: 35,
        !           854: 42,
        !           855: 48,
        !           856: 0,
        !           857: 
        !           858: 34,
        !           859: 35,
        !           860: 42,
        !           861: 48,
        !           862: 0,
        !           863: 
        !           864: 34,
        !           865: 35,
        !           866: 42,
        !           867: 48,
        !           868: 0,
        !           869: 
        !           870: 42,
        !           871: 48,
        !           872: 0,
        !           873: 
        !           874: 36,
        !           875: 37,
        !           876: 42,
        !           877: 0,
        !           878: 
        !           879: 36,
        !           880: 37,
        !           881: 42,
        !           882: 48,
        !           883: 0,
        !           884: 
        !           885: 43,
        !           886: 0,
        !           887: 
        !           888: 43,
        !           889: 48,
        !           890: 0,
        !           891: 
        !           892: 48,
        !           893: 0,
        !           894: 
        !           895: 45,
        !           896: 0,
        !           897: 
        !           898: 45,
        !           899: 48,
        !           900: 0,
        !           901: 
        !           902: 46,
        !           903: 0,
        !           904: 
        !           905: 46,
        !           906: 48,
        !           907: 0,
        !           908: 
        !           909: 4,
        !           910: 0,
        !           911: 
        !           912: 4,
        !           913: 48,
        !           914: 0,
        !           915: 
        !           916: 8,
        !           917: 0,
        !           918: 
        !           919: 8,
        !           920: 48,
        !           921: 0,
        !           922: 
        !           923: 7,
        !           924: 0,
        !           925: 
        !           926: 7,
        !           927: 48,
        !           928: 0,
        !           929: 
        !           930: 11,
        !           931: 0,
        !           932: 
        !           933: 11,
        !           934: 48,
        !           935: 0,
        !           936: 
        !           937: 12,
        !           938: 0,
        !           939: 
        !           940: 12,
        !           941: 48,
        !           942: 0,
        !           943: 
        !           944: 48,
        !           945: 0,
        !           946: 
        !           947: 27,
        !           948: 0,
        !           949: 
        !           950: 27,
        !           951: 48,
        !           952: 0,
        !           953: 
        !           954: 29,
        !           955: 30,
        !           956: 48,
        !           957: 0,
        !           958: 
        !           959: 42,
        !           960: 48,
        !           961: 0,
        !           962: 
        !           963: 42,
        !           964: 48,
        !           965: 0,
        !           966: 
        !           967: 38,
        !           968: 42,
        !           969: 0,
        !           970: 
        !           971: 38,
        !           972: 42,
        !           973: 48,
        !           974: 0,
        !           975: 
        !           976: 32,
        !           977: 34,
        !           978: 35,
        !           979: 42,
        !           980: 0,
        !           981: 
        !           982: 32,
        !           983: 34,
        !           984: 35,
        !           985: 42,
        !           986: 48,
        !           987: 0,
        !           988: 
        !           989: 33,
        !           990: 34,
        !           991: 35,
        !           992: 42,
        !           993: 0,
        !           994: 
        !           995: 33,
        !           996: 34,
        !           997: 35,
        !           998: 42,
        !           999: 48,
        !          1000: 0,
        !          1001: 
        !          1002: 42,
        !          1003: 48,
        !          1004: 0,
        !          1005: 
        !          1006: 44,
        !          1007: 0,
        !          1008: 
        !          1009: 44,
        !          1010: 48,
        !          1011: 0,
        !          1012: 
        !          1013: 21,
        !          1014: 0,
        !          1015: 
        !          1016: 21,
        !          1017: 48,
        !          1018: 0,
        !          1019: 
        !          1020: 41,
        !          1021: 42,
        !          1022: 0,
        !          1023: 
        !          1024: 41,
        !          1025: 42,
        !          1026: 48,
        !          1027: 0,
        !          1028: 
        !          1029: 40,
        !          1030: 42,
        !          1031: 0,
        !          1032: 
        !          1033: 40,
        !          1034: 42,
        !          1035: 48,
        !          1036: 0,
        !          1037: 
        !          1038: 39,
        !          1039: 42,
        !          1040: 0,
        !          1041: 
        !          1042: 39,
        !          1043: 42,
        !          1044: 48,
        !          1045: 0,
        !          1046: 0};
        !          1047: # define YYTYPE int
        !          1048: struct yywork { YYTYPE verify, advance; } yycrank[] ={
        !          1049: 0,0,   0,0,    0,0,    0,0,    
        !          1050: 0,0,   0,0,    0,0,    0,0,    
        !          1051: 0,0,   0,0,    0,0,    1,3,    
        !          1052: 22,58, 0,0,    0,0,    0,0,    
        !          1053: 0,0,   0,0,    0,0,    0,0,    
        !          1054: 0,0,   0,0,    0,0,    0,0,    
        !          1055: 0,0,   0,0,    0,0,    0,0,    
        !          1056: 0,0,   0,0,    0,0,    0,0,    
        !          1057: 0,0,   0,0,    0,0,    0,0,    
        !          1058: 0,0,   0,0,    0,0,    0,0,    
        !          1059: 0,0,   0,0,    0,0,    0,0,    
        !          1060: 0,0,   1,3,    1,4,    0,0,    
        !          1061: 0,0,   0,0,    0,0,    0,0,    
        !          1062: 0,0,   0,0,    0,0,    0,0,    
        !          1063: 0,0,   0,0,    57,0,   5,21,   
        !          1064: 8,21,  60,0,   62,0,   68,0,   
        !          1065: 0,0,   0,0,    1,4,    1,4,    
        !          1066: 1,4,   1,4,    1,4,    1,4,    
        !          1067: 1,4,   1,4,    1,4,    1,4,    
        !          1068: 1,4,   1,4,    1,4,    1,4,    
        !          1069: 1,4,   1,4,    1,4,    1,4,    
        !          1070: 1,4,   1,4,    1,4,    1,4,    
        !          1071: 1,4,   1,4,    1,4,    1,4,    
        !          1072: 9,21,  10,21,  12,21,  13,21,  
        !          1073: 17,21, 11,21,  1,4,    1,4,    
        !          1074: 1,4,   1,4,    1,4,    1,4,    
        !          1075: 1,4,   1,4,    1,4,    1,4,    
        !          1076: 1,4,   1,4,    1,4,    1,4,    
        !          1077: 1,4,   1,4,    1,4,    1,4,    
        !          1078: 1,4,   1,4,    1,4,    1,4,    
        !          1079: 1,4,   1,4,    1,4,    1,4,    
        !          1080: 2,3,   26,63,  29,69,  30,70,  
        !          1081: 30,71, 31,72,  32,73,  33,74,  
        !          1082: 34,75, 35,76,  36,77,  38,80,  
        !          1083: 10,25, 39,81,  11,27,  9,24,   
        !          1084: 11,28, 40,82,  11,29,  17,43,  
        !          1085: 41,83, 37,78,  12,35,  11,30,  
        !          1086: 2,5,   10,26,  15,21,  42,84,  
        !          1087: 13,36, 11,31,  43,85,  11,32,  
        !          1088: 37,79, 11,33,  2,6,    2,4,    
        !          1089: 44,86, 11,34,  2,5,    2,5,    
        !          1090: 2,5,   2,5,    2,5,    2,5,    
        !          1091: 2,5,   2,5,    2,5,    2,5,    
        !          1092: 2,7,   2,5,    55,102, 63,106, 
        !          1093: 79,133,        85,142, 55,103, 2,8,    
        !          1094: 2,8,   2,8,    2,8,    2,8,    
        !          1095: 2,8,   2,8,    2,8,    2,8,    
        !          1096: 2,8,   2,8,    2,8,    2,8,    
        !          1097: 2,8,   2,8,    2,8,    2,8,    
        !          1098: 2,8,   2,8,    2,8,    2,8,    
        !          1099: 2,8,   2,8,    2,8,    2,8,    
        !          1100: 2,8,   56,104, 66,111, 15,39,  
        !          1101: 90,0,  56,105, 66,112, 2,8,    
        !          1102: 2,8,   2,9,    2,10,   2,11,   
        !          1103: 2,8,   2,12,   2,13,   2,8,    
        !          1104: 2,8,   2,8,    2,14,   2,15,   
        !          1105: 2,16,  2,8,    2,17,   2,8,    
        !          1106: 2,18,  2,19,   2,20,   2,8,    
        !          1107: 2,8,   2,8,    2,8,    2,8,    
        !          1108: 2,8,   4,4,    27,64,  70,115, 
        !          1109: 93,0,  103,157,        108,0,  110,0,  
        !          1110: 114,0, 118,0,  27,65,  70,116, 
        !          1111: 120,0, 122,0,  124,0,  27,66,  
        !          1112: 126,0, 128,0,  130,0,  132,0,  
        !          1113: 133,172,       4,4,    4,4,    4,4,    
        !          1114: 4,4,   4,4,    4,4,    4,4,    
        !          1115: 4,4,   4,4,    4,4,    4,4,    
        !          1116: 4,4,   4,4,    4,4,    4,4,    
        !          1117: 4,4,   4,4,    4,4,    4,4,    
        !          1118: 4,4,   4,4,    4,4,    4,4,    
        !          1119: 4,4,   4,4,    4,4,    14,21,  
        !          1120: 16,21, 135,0,  18,21,  137,0,  
        !          1121: 20,21, 4,4,    4,4,    4,4,    
        !          1122: 4,4,   4,4,    4,4,    4,4,    
        !          1123: 4,4,   4,4,    4,4,    4,4,    
        !          1124: 4,4,   4,4,    4,4,    4,4,    
        !          1125: 4,4,   4,4,    4,4,    4,4,    
        !          1126: 4,4,   4,4,    4,4,    4,4,    
        !          1127: 4,4,   4,4,    4,4,    7,22,   
        !          1128: 47,0,  19,46,  49,0,   21,57,  
        !          1129: 141,0, 24,59,  14,37,  16,40,  
        !          1130: 7,23,  18,44,  19,0,   16,41,  
        !          1131: 21,0,  144,0,  24,0,   154,0,  
        !          1132: 156,0, 51,0,   25,61,  159,0,  
        !          1133: 161,0, 16,42,  163,0,  18,45,  
        !          1134: 20,55, 165,0,  14,38,  25,0,   
        !          1135: 167,0, 20,56,  169,0,  28,67,  
        !          1136: 7,22,  53,0,   19,46,  47,47,  
        !          1137: 21,57, 49,47,  24,59,  171,0,  
        !          1138: 28,0,  174,0,  7,22,   7,22,   
        !          1139: 19,46, 19,47,  21,57,  21,57,  
        !          1140: 24,59, 24,60,  45,87,  25,61,  
        !          1141: 51,47, 179,0,  181,0,  47,47,  
        !          1142: 183,0, 49,47,  19,48,  45,0,   
        !          1143: 186,0, 25,61,  25,62,  7,22,   
        !          1144: 28,67, 19,47,  188,0,  21,57,  
        !          1145: 53,47, 24,60,  190,0,  59,0,   
        !          1146: 51,47, 61,0,   28,67,  28,68,  
        !          1147: 46,46, 192,0,  48,90,  194,0,  
        !          1148: 50,92, 0,0,    25,62,  45,87,  
        !          1149: 0,0,   46,0,   0,0,    48,0,   
        !          1150: 53,47, 50,0,   0,0,    49,91,  
        !          1151: 0,0,   45,87,  45,88,  28,68,  
        !          1152: 67,0,  0,0,    0,0,    0,0,    
        !          1153: 88,0,  19,49,  0,0,    52,95,  
        !          1154: 0,0,   19,50,  59,59,  0,0,    
        !          1155: 61,61, 46,46,  19,51,  48,90,  
        !          1156: 52,0,  50,92,  45,88,  19,52,  
        !          1157: 19,53, 19,54,  51,94,  46,46,  
        !          1158: 46,46, 48,90,  48,90,  50,92,  
        !          1159: 50,93, 54,99,  59,59,  0,0,    
        !          1160: 61,61, 64,107, 0,0,    67,67,  
        !          1161: 65,109,        53,98,  54,0,   88,88,  
        !          1162: 52,95, 0,0,    64,0,   0,0,    
        !          1163: 46,46, 65,0,   48,90,  0,0,    
        !          1164: 50,93, 92,0,   52,95,  52,96,  
        !          1165: 69,113,        0,0,    0,0,    67,67,  
        !          1166: 0,0,   91,0,   71,117, 88,88,  
        !          1167: 0,0,   69,0,   54,99,  45,89,  
        !          1168: 0,0,   72,119, 64,107, 71,0,   
        !          1169: 0,0,   65,109, 0,0,    52,96,  
        !          1170: 54,99, 54,100, 72,0,   0,0,    
        !          1171: 64,107,        64,108, 96,0,   65,109, 
        !          1172: 65,110,        73,121, 0,0,    0,0,    
        !          1173: 92,92, 69,113, 98,0,   0,0,    
        !          1174: 0,0,   0,0,    73,0,   71,117, 
        !          1175: 91,47, 54,100, 74,123, 69,113, 
        !          1176: 69,114,        64,108, 72,119, 0,0,    
        !          1177: 65,110,        71,117, 71,118, 74,0,   
        !          1178: 92,92, 0,0,    0,0,    52,97,  
        !          1179: 72,119,        72,120, 75,125, 0,0,    
        !          1180: 91,47, 96,96,  73,121, 0,0,    
        !          1181: 69,114,        76,127, 0,0,    75,0,   
        !          1182: 0,0,   98,47,  71,118, 77,129, 
        !          1183: 73,121,        73,122, 76,0,   74,123, 
        !          1184: 0,0,   72,120, 0,0,    0,0,    
        !          1185: 77,0,  96,96,  0,0,    78,131, 
        !          1186: 0,0,   74,123, 74,124, 54,101, 
        !          1187: 80,134,        98,47,  81,136, 75,125, 
        !          1188: 78,0,  73,122, 0,0,    0,0,    
        !          1189: 0,0,   80,0,   76,127, 81,0,   
        !          1190: 0,0,   75,125, 75,126, 89,0,   
        !          1191: 77,129,        91,146, 74,124, 0,0,    
        !          1192: 76,127,        76,128, 0,0,    100,0,  
        !          1193: 0,0,   107,0,  77,129, 77,130, 
        !          1194: 78,131,        0,0,    0,0,    0,0,    
        !          1195: 0,0,   80,134, 75,126, 81,136, 
        !          1196: 0,0,   98,152, 78,131, 78,132, 
        !          1197: 82,138,        76,128, 83,139, 80,134, 
        !          1198: 80,135,        81,136, 81,137, 77,130, 
        !          1199: 84,140,        82,0,   89,88,  83,0,   
        !          1200: 0,0,   94,0,   86,143, 0,0,    
        !          1201: 87,87, 84,0,   100,100,        78,132, 
        !          1202: 107,107,       0,0,    0,0,    86,0,   
        !          1203: 80,135,        87,0,   81,137, 0,0,    
        !          1204: 0,0,   0,0,    89,88,  0,0,    
        !          1205: 109,0, 82,138, 0,0,    83,139, 
        !          1206: 113,0, 0,0,    100,100,        0,0,    
        !          1207: 107,107,       84,140, 0,0,    82,138, 
        !          1208: 82,82, 83,139, 83,83,  86,143, 
        !          1209: 94,47, 87,87,  0,0,    84,140, 
        !          1210: 84,141,        95,95,  0,0,    117,0,  
        !          1211: 97,148,        86,143, 86,144, 87,87,  
        !          1212: 87,87, 99,99,  95,0,   0,0,    
        !          1213: 82,82, 97,0,   83,83,  109,109,        
        !          1214: 94,47, 0,0,    99,0,   113,113,        
        !          1215: 84,141,        0,0,    119,0,  0,0,    
        !          1216: 89,145,        0,0,    86,144, 101,153,        
        !          1217: 87,87, 0,0,    0,0,    102,155,        
        !          1218: 0,0,   0,0,    95,95,  109,109,        
        !          1219: 101,0, 97,148, 117,117,        113,113,        
        !          1220: 102,0, 0,0,    99,99,  0,0,    
        !          1221: 95,95, 95,95,  104,158,        97,148, 
        !          1222: 97,149,        121,0,  105,160,        123,0,  
        !          1223: 99,99, 99,99,  106,162,        104,0,  
        !          1224: 94,147,        119,119,        117,117,        105,0,  
        !          1225: 101,153,       0,0,    0,0,    106,0,  
        !          1226: 102,155,       95,95,  0,0,    125,0,  
        !          1227: 97,149,        0,0,    101,153,        101,154,        
        !          1228: 111,164,       99,99,  102,155,        102,156,        
        !          1229: 112,166,       119,119,        0,0,    104,158,        
        !          1230: 0,0,   111,0,  127,0,  105,160,        
        !          1231: 121,121,       112,0,  123,123,        106,162,        
        !          1232: 0,0,   104,158,        104,159,        101,154,        
        !          1233: 129,0, 105,160,        105,161,        102,156,        
        !          1234: 131,0, 106,162,        106,163,        115,168,        
        !          1235: 0,0,   0,0,    125,125,        134,0,  
        !          1236: 121,121,       111,164,        123,123,        0,0,    
        !          1237: 115,0, 112,166,        104,159,        97,150, 
        !          1238: 116,170,       97,151, 105,161,        111,164,        
        !          1239: 111,165,       127,127,        106,163,        112,166,        
        !          1240: 112,167,       116,0,  125,125,        0,0,    
        !          1241: 136,0, 138,0,  139,0,  129,129,        
        !          1242: 0,0,   140,0,  143,0,  131,131,        
        !          1243: 115,168,       145,0,  146,0,  149,0,  
        !          1244: 111,165,       127,127,        134,134,        142,173,        
        !          1245: 112,167,       0,0,    115,168,        115,169,        
        !          1246: 0,0,   116,170,        0,0,    129,129,        
        !          1247: 142,0, 0,0,    0,0,    131,131,        
        !          1248: 152,0, 147,178,        0,0,    116,170,        
        !          1249: 116,171,       153,0,  134,134,        136,136,        
        !          1250: 138,138,       139,139,        147,0,  115,169,        
        !          1251: 140,140,       143,143,        148,148,        0,0,    
        !          1252: 145,88,        146,47, 149,149,        0,0,    
        !          1253: 142,173,       155,0,  0,0,    148,0,  
        !          1254: 116,171,       0,0,    158,0,  136,136,        
        !          1255: 138,138,       139,139,        142,173,        142,174,        
        !          1256: 140,140,       143,143,        147,178,        152,47, 
        !          1257: 145,88,        146,47, 149,149,        150,180,        
        !          1258: 153,153,       151,182,        0,0,    0,0,    
        !          1259: 147,178,       147,179,        0,0,    148,148,        
        !          1260: 150,0, 0,0,    151,0,  142,174,        
        !          1261: 160,0, 157,185,        162,0,  152,47, 
        !          1262: 155,155,       148,148,        148,148,        164,0,  
        !          1263: 153,153,       158,158,        157,0,  166,0,  
        !          1264: 0,0,   147,179,        168,0,  170,0,  
        !          1265: 0,0,   146,176,        0,0,    173,0,  
        !          1266: 150,180,       146,177,        151,182,        145,175,        
        !          1267: 155,155,       175,0,  148,148,        0,0,    
        !          1268: 0,0,   158,158,        150,180,        150,181,        
        !          1269: 151,182,       151,183,        157,185,        160,160,        
        !          1270: 0,0,   162,162,        178,0,  172,187,        
        !          1271: 180,0, 0,0,    164,164,        176,189,        
        !          1272: 157,185,       157,186,        166,166,        152,184,        
        !          1273: 172,0, 168,168,        170,170,        150,181,        
        !          1274: 176,0, 151,183,        173,173,        160,160,        
        !          1275: 0,0,   162,162,        177,191,        182,0,  
        !          1276: 175,88,        185,0,  164,164,        187,0,  
        !          1277: 189,0, 157,186,        166,166,        177,0,  
        !          1278: 0,0,   168,168,        170,170,        191,0,  
        !          1279: 172,187,       178,178,        173,173,        180,180,        
        !          1280: 176,189,       0,0,    193,0,  0,0,    
        !          1281: 175,88,        0,0,    172,187,        172,188,        
        !          1282: 0,0,   0,0,    176,189,        176,190,        
        !          1283: 184,193,       0,0,    0,0,    177,191,        
        !          1284: 0,0,   178,178,        182,182,        180,180,        
        !          1285: 185,185,       184,0,  187,187,        189,189,        
        !          1286: 0,0,   177,191,        177,192,        172,188,        
        !          1287: 0,0,   0,0,    191,191,        176,190,        
        !          1288: 0,0,   0,0,    0,0,    0,0,    
        !          1289: 0,0,   193,193,        182,182,        0,0,    
        !          1290: 185,185,       0,0,    187,187,        189,189,        
        !          1291: 0,0,   184,193,        177,192,        0,0,    
        !          1292: 0,0,   0,0,    191,191,        0,0,    
        !          1293: 0,0,   0,0,    0,0,    184,193,        
        !          1294: 184,194,       193,193,        0,0,    0,0,    
        !          1295: 0,0,   0,0,    0,0,    0,0,    
        !          1296: 0,0,   0,0,    0,0,    0,0,    
        !          1297: 0,0,   0,0,    0,0,    0,0,    
        !          1298: 0,0,   0,0,    0,0,    0,0,    
        !          1299: 184,194,       0,0,    0,0,    0,0,    
        !          1300: 0,0};
        !          1301: struct yysvf yysvec[] ={
        !          1302: 0,     0,      0,
        !          1303: yycrank+1,     0,              0,      
        !          1304: yycrank+114,   0,              0,      
        !          1305: yycrank+0,     0,              yyvstop+1,
        !          1306: yycrank+192,   0,              yyvstop+3,
        !          1307: yycrank+1,     0,              0,      
        !          1308: yycrank+0,     yysvec+5,       yyvstop+5,
        !          1309: yycrank+-314,  0,              0,      
        !          1310: yycrank+2,     yysvec+4,       yyvstop+7,
        !          1311: yycrank+34,    yysvec+4,       yyvstop+9,
        !          1312: yycrank+35,    yysvec+4,       yyvstop+11,
        !          1313: yycrank+39,    yysvec+4,       yyvstop+13,
        !          1314: yycrank+36,    yysvec+4,       yyvstop+15,
        !          1315: yycrank+37,    yysvec+4,       yyvstop+17,
        !          1316: yycrank+225,   yysvec+4,       yyvstop+19,
        !          1317: yycrank+92,    yysvec+4,       yyvstop+21,
        !          1318: yycrank+226,   yysvec+4,       yyvstop+23,
        !          1319: yycrank+38,    yysvec+4,       yyvstop+25,
        !          1320: yycrank+228,   yysvec+4,       yyvstop+27,
        !          1321: yycrank+-316,  0,              yyvstop+29,
        !          1322: yycrank+230,   yysvec+4,       yyvstop+31,
        !          1323: yycrank+-318,  0,              0,      
        !          1324: yycrank+-2,    yysvec+7,       0,      
        !          1325: yycrank+0,     0,              yyvstop+33,
        !          1326: yycrank+-320,  0,              yyvstop+35,
        !          1327: yycrank+-333,  0,              yyvstop+37,
        !          1328: yycrank+28,    yysvec+4,       yyvstop+39,
        !          1329: yycrank+141,   yysvec+4,       yyvstop+41,
        !          1330: yycrank+-346,  0,              yyvstop+43,
        !          1331: yycrank+29,    yysvec+4,       yyvstop+45,
        !          1332: yycrank+29,    yysvec+4,       yyvstop+47,
        !          1333: yycrank+12,    yysvec+4,       yyvstop+49,
        !          1334: yycrank+25,    yysvec+4,       yyvstop+51,
        !          1335: yycrank+26,    yysvec+4,       yyvstop+53,
        !          1336: yycrank+27,    yysvec+4,       yyvstop+55,
        !          1337: yycrank+28,    yysvec+4,       yyvstop+57,
        !          1338: yycrank+29,    yysvec+4,       yyvstop+59,
        !          1339: yycrank+46,    yysvec+4,       yyvstop+61,
        !          1340: yycrank+33,    yysvec+4,       yyvstop+63,
        !          1341: yycrank+32,    yysvec+4,       yyvstop+65,
        !          1342: yycrank+32,    yysvec+4,       yyvstop+67,
        !          1343: yycrank+35,    yysvec+4,       yyvstop+69,
        !          1344: yycrank+46,    yysvec+4,       yyvstop+71,
        !          1345: yycrank+50,    yysvec+4,       yyvstop+73,
        !          1346: yycrank+52,    yysvec+4,       yyvstop+75,
        !          1347: yycrank+-365,  0,              yyvstop+77,
        !          1348: yycrank+-391,  0,              yyvstop+79,
        !          1349: yycrank+-306,  yysvec+46,      yyvstop+81,
        !          1350: yycrank+-393,  0,              yyvstop+84,
        !          1351: yycrank+-308,  yysvec+46,      yyvstop+86,
        !          1352: yycrank+-395,  0,              yyvstop+89,
        !          1353: yycrank+-323,  yysvec+46,      yyvstop+92,
        !          1354: yycrank+-418,  0,              yyvstop+95,
        !          1355: yycrank+-339,  yysvec+46,      yyvstop+98,
        !          1356: yycrank+-440,  0,              yyvstop+101,
        !          1357: yycrank+77,    yysvec+4,       yyvstop+104,
        !          1358: yycrank+104,   yysvec+4,       yyvstop+106,
        !          1359: yycrank+-48,   yysvec+21,      yyvstop+108,
        !          1360: yycrank+0,     0,              yyvstop+110,
        !          1361: yycrank+-377,  yysvec+24,      yyvstop+112,
        !          1362: yycrank+-51,   yysvec+24,      yyvstop+114,
        !          1363: yycrank+-379,  yysvec+25,      yyvstop+117,
        !          1364: yycrank+-52,   yysvec+25,      yyvstop+119,
        !          1365: yycrank+56,    yysvec+4,       yyvstop+122,
        !          1366: yycrank+-444,  0,              yyvstop+124,
        !          1367: yycrank+-447,  0,              yyvstop+126,
        !          1368: yycrank+109,   yysvec+4,       yyvstop+128,
        !          1369: yycrank+-402,  yysvec+28,      yyvstop+130,
        !          1370: yycrank+-53,   yysvec+28,      yyvstop+132,
        !          1371: yycrank+-463,  0,              yyvstop+135,
        !          1372: yycrank+142,   yysvec+4,       yyvstop+137,
        !          1373: yycrank+-469,  0,              yyvstop+139,
        !          1374: yycrank+-476,  0,              yyvstop+141,
        !          1375: yycrank+-492,  0,              yyvstop+143,
        !          1376: yycrank+-505,  0,              yyvstop+145,
        !          1377: yycrank+-521,  0,              yyvstop+147,
        !          1378: yycrank+-528,  0,              yyvstop+149,
        !          1379: yycrank+-534,  0,              yyvstop+151,
        !          1380: yycrank+-546,  0,              yyvstop+153,
        !          1381: yycrank+65,    yysvec+4,       yyvstop+155,
        !          1382: yycrank+-551,  0,              yyvstop+157,
        !          1383: yycrank+-553,  0,              yyvstop+159,
        !          1384: yycrank+-591,  0,              yyvstop+161,
        !          1385: yycrank+-593,  0,              yyvstop+164,
        !          1386: yycrank+-599,  0,              yyvstop+167,
        !          1387: yycrank+62,    yysvec+4,       yyvstop+169,
        !          1388: yycrank+-605,  0,              yyvstop+171,
        !          1389: yycrank+-607,  0,              yyvstop+173,
        !          1390: yycrank+-406,  yysvec+87,      yyvstop+175,
        !          1391: yycrank+-557,  yysvec+87,      yyvstop+178,
        !          1392: yycrank+-198,  yysvec+48,      yyvstop+181,
        !          1393: yycrank+-459,  yysvec+46,      yyvstop+184,
        !          1394: yycrank+-451,  yysvec+50,      yyvstop+187,
        !          1395: yycrank+-230,  yysvec+50,      yyvstop+190,
        !          1396: yycrank+-595,  yysvec+46,      yyvstop+194,
        !          1397: yycrank+-644,  0,              yyvstop+197,
        !          1398: yycrank+-480,  yysvec+95,      yyvstop+200,
        !          1399: yycrank+-647,  0,              yyvstop+204,
        !          1400: yycrank+-488,  yysvec+46,      yyvstop+208,
        !          1401: yycrank+-652,  0,              yyvstop+211,
        !          1402: yycrank+-565,  yysvec+99,      yyvstop+214,
        !          1403: yycrank+-670,  0,              yyvstop+218,
        !          1404: yycrank+-674,  0,              yyvstop+222,
        !          1405: yycrank+132,   yysvec+4,       yyvstop+224,
        !          1406: yycrank+-689,  0,              yyvstop+226,
        !          1407: yycrank+-693,  0,              yyvstop+228,
        !          1408: yycrank+-697,  0,              yyvstop+230,
        !          1409: yycrank+-567,  yysvec+64,      yyvstop+232,
        !          1410: yycrank+-232,  yysvec+64,      yyvstop+234,
        !          1411: yycrank+-614,  yysvec+65,      yyvstop+237,
        !          1412: yycrank+-233,  yysvec+65,      yyvstop+239,
        !          1413: yycrank+-715,  0,              yyvstop+242,
        !          1414: yycrank+-719,  0,              yyvstop+244,
        !          1415: yycrank+-618,  yysvec+69,      yyvstop+246,
        !          1416: yycrank+-234,  yysvec+69,      yyvstop+248,
        !          1417: yycrank+-742,  0,              yyvstop+251,
        !          1418: yycrank+-755,  0,              yyvstop+253,
        !          1419: yycrank+-637,  yysvec+71,      yyvstop+255,
        !          1420: yycrank+-235,  yysvec+71,      yyvstop+257,
        !          1421: yycrank+-656,  yysvec+72,      yyvstop+260,
        !          1422: yycrank+-238,  yysvec+72,      yyvstop+262,
        !          1423: yycrank+-683,  yysvec+73,      yyvstop+265,
        !          1424: yycrank+-239,  yysvec+73,      yyvstop+267,
        !          1425: yycrank+-685,  yysvec+74,      yyvstop+270,
        !          1426: yycrank+-240,  yysvec+74,      yyvstop+272,
        !          1427: yycrank+-701,  yysvec+75,      yyvstop+275,
        !          1428: yycrank+-242,  yysvec+75,      yyvstop+277,
        !          1429: yycrank+-716,  yysvec+76,      yyvstop+280,
        !          1430: yycrank+-243,  yysvec+76,      yyvstop+282,
        !          1431: yycrank+-726,  yysvec+77,      yyvstop+285,
        !          1432: yycrank+-244,  yysvec+77,      yyvstop+287,
        !          1433: yycrank+-730,  yysvec+78,      yyvstop+290,
        !          1434: yycrank+-245,  yysvec+78,      yyvstop+292,
        !          1435: yycrank+151,   yysvec+4,       yyvstop+295,
        !          1436: yycrank+-737,  yysvec+80,      yyvstop+297,
        !          1437: yycrank+-275,  yysvec+80,      yyvstop+299,
        !          1438: yycrank+-758,  yysvec+81,      yyvstop+302,
        !          1439: yycrank+-277,  yysvec+81,      yyvstop+304,
        !          1440: yycrank+-759,  yysvec+82,      yyvstop+307,
        !          1441: yycrank+-760,  yysvec+83,      yyvstop+309,
        !          1442: yycrank+-763,  yysvec+84,      yyvstop+311,
        !          1443: yycrank+-310,  yysvec+84,      yyvstop+313,
        !          1444: yycrank+-782,  0,              yyvstop+316,
        !          1445: yycrank+-764,  yysvec+86,      yyvstop+318,
        !          1446: yycrank+-319,  yysvec+86,      yyvstop+320,
        !          1447: yycrank+-767,  yysvec+87,      yyvstop+323,
        !          1448: yycrank+-768,  yysvec+46,      yyvstop+326,
        !          1449: yycrank+-796,  0,              yyvstop+329,
        !          1450: yycrank+-809,  0,              yyvstop+332,
        !          1451: yycrank+-769,  yysvec+148,     yyvstop+336,
        !          1452: yycrank+-834,  0,              yyvstop+341,
        !          1453: yycrank+-836,  0,              yyvstop+346,
        !          1454: yycrank+-786,  yysvec+46,      yyvstop+351,
        !          1455: yycrank+-791,  yysvec+101,     yyvstop+354,
        !          1456: yycrank+-321,  yysvec+101,     yyvstop+358,
        !          1457: yycrank+-807,  yysvec+102,     yyvstop+363,
        !          1458: yycrank+-322,  yysvec+102,     yyvstop+365,
        !          1459: yycrank+-848,  0,              yyvstop+368,
        !          1460: yycrank+-812,  yysvec+104,     yyvstop+370,
        !          1461: yycrank+-325,  yysvec+104,     yyvstop+372,
        !          1462: yycrank+-838,  yysvec+105,     yyvstop+375,
        !          1463: yycrank+-326,  yysvec+105,     yyvstop+377,
        !          1464: yycrank+-840,  yysvec+106,     yyvstop+380,
        !          1465: yycrank+-328,  yysvec+106,     yyvstop+382,
        !          1466: yycrank+-845,  yysvec+111,     yyvstop+385,
        !          1467: yycrank+-331,  yysvec+111,     yyvstop+387,
        !          1468: yycrank+-849,  yysvec+112,     yyvstop+390,
        !          1469: yycrank+-334,  yysvec+112,     yyvstop+392,
        !          1470: yycrank+-852,  yysvec+115,     yyvstop+395,
        !          1471: yycrank+-336,  yysvec+115,     yyvstop+397,
        !          1472: yycrank+-853,  yysvec+116,     yyvstop+400,
        !          1473: yycrank+-345,  yysvec+116,     yyvstop+402,
        !          1474: yycrank+-886,  0,              yyvstop+405,
        !          1475: yycrank+-857,  yysvec+142,     yyvstop+407,
        !          1476: yycrank+-347,  yysvec+142,     yyvstop+409,
        !          1477: yycrank+-863,  yysvec+87,      yyvstop+412,
        !          1478: yycrank+-890,  0,              yyvstop+416,
        !          1479: yycrank+-905,  0,              yyvstop+419,
        !          1480: yycrank+-876,  yysvec+147,     yyvstop+422,
        !          1481: yycrank+-359,  yysvec+147,     yyvstop+425,
        !          1482: yycrank+-878,  yysvec+150,     yyvstop+429,
        !          1483: yycrank+-360,  yysvec+150,     yyvstop+434,
        !          1484: yycrank+-897,  yysvec+151,     yyvstop+440,
        !          1485: yycrank+-362,  yysvec+151,     yyvstop+445,
        !          1486: yycrank+-935,  0,              yyvstop+451,
        !          1487: yycrank+-899,  yysvec+157,     yyvstop+454,
        !          1488: yycrank+-366,  yysvec+157,     yyvstop+456,
        !          1489: yycrank+-901,  yysvec+172,     yyvstop+459,
        !          1490: yycrank+-372,  yysvec+172,     yyvstop+461,
        !          1491: yycrank+-902,  yysvec+176,     yyvstop+464,
        !          1492: yycrank+-376,  yysvec+176,     yyvstop+467,
        !          1493: yycrank+-909,  yysvec+177,     yyvstop+471,
        !          1494: yycrank+-383,  yysvec+177,     yyvstop+474,
        !          1495: yycrank+-916,  yysvec+184,     yyvstop+478,
        !          1496: yycrank+-385,  yysvec+184,     yyvstop+481,
        !          1497: 0,     0,      0};
        !          1498: struct yywork *yytop = yycrank+1000;
        !          1499: struct yysvf *yybgin = yysvec+1;
        !          1500: char yymatch[] ={
        !          1501: 00  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
        !          1502: 01  ,01  ,012 ,01  ,01  ,01  ,01  ,01  ,
        !          1503: 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
        !          1504: 01  ,01  ,01  ,01  ,01  ,01  ,01  ,01  ,
        !          1505: 01  ,01  ,'"' ,01  ,01  ,01  ,01  ,01  ,
        !          1506: 01  ,01  ,01  ,01  ,',' ,'-' ,01  ,01  ,
        !          1507: '"' ,'"' ,'"' ,'"' ,'"' ,'"' ,'"' ,'"' ,
        !          1508: '"' ,'"' ,01  ,'"' ,01  ,01  ,01  ,01  ,
        !          1509: 01  ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
        !          1510: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
        !          1511: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
        !          1512: 'A' ,'A' ,'A' ,01  ,01  ,01  ,01  ,01  ,
        !          1513: 01  ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
        !          1514: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
        !          1515: 'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,'A' ,
        !          1516: 'A' ,'A' ,'A' ,01  ,01  ,01  ,01  ,01  ,
        !          1517: 0};
        !          1518: char yyextra[] ={
        !          1519: 0,0,0,0,0,0,0,0,
        !          1520: 0,0,0,0,0,0,0,0,
        !          1521: 0,0,0,0,0,0,0,0,
        !          1522: 0,0,0,0,0,0,0,0,
        !          1523: 0,0,0,0,0,0,0,0,
        !          1524: 0,0,0,0,0,0,0,0,
        !          1525: 0,0,0,0,0,0,0,0,
        !          1526: 0};
        !          1527: /*     ncform  4.1     83/08/11        */
        !          1528: 
        !          1529: int yylineno =1;
        !          1530: # define YYU(x) x
        !          1531: # define NLSTATE yyprevious=YYNEWLINE
        !          1532: char yytext[YYLMAX];
        !          1533: struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp;
        !          1534: char yysbuf[YYLMAX];
        !          1535: char *yysptr = yysbuf;
        !          1536: int *yyfnd;
        !          1537: extern struct yysvf *yyestate;
        !          1538: int yyprevious = YYNEWLINE;
        !          1539: yylook(){
        !          1540:        register struct yysvf *yystate, **lsp;
        !          1541:        register struct yywork *yyt;
        !          1542:        struct yysvf *yyz;
        !          1543:        int yych;
        !          1544:        struct yywork *yyr;
        !          1545: # ifdef LEXDEBUG
        !          1546:        int debug;
        !          1547: # endif
        !          1548:        char *yylastch;
        !          1549:        /* start off machines */
        !          1550: # ifdef LEXDEBUG
        !          1551:        debug = 0;
        !          1552: # endif
        !          1553:        if (!yymorfg)
        !          1554:                yylastch = yytext;
        !          1555:        else {
        !          1556:                yymorfg=0;
        !          1557:                yylastch = yytext+yyleng;
        !          1558:                }
        !          1559:        for(;;){
        !          1560:                lsp = yylstate;
        !          1561:                yyestate = yystate = yybgin;
        !          1562:                if (yyprevious==YYNEWLINE) yystate++;
        !          1563:                for (;;){
        !          1564: # ifdef LEXDEBUG
        !          1565:                        if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1);
        !          1566: # endif
        !          1567:                        yyt = yystate->yystoff;
        !          1568:                        if(yyt == yycrank){             /* may not be any transitions */
        !          1569:                                yyz = yystate->yyother;
        !          1570:                                if(yyz == 0)break;
        !          1571:                                if(yyz->yystoff == yycrank)break;
        !          1572:                                }
        !          1573:                        *yylastch++ = yych = input();
        !          1574:                tryagain:
        !          1575: # ifdef LEXDEBUG
        !          1576:                        if(debug){
        !          1577:                                fprintf(yyout,"char ");
        !          1578:                                allprint(yych);
        !          1579:                                putchar('\n');
        !          1580:                                }
        !          1581: # endif
        !          1582:                        yyr = yyt;
        !          1583:                        if ( (int)yyt > (int)yycrank){
        !          1584:                                yyt = yyr + yych;
        !          1585:                                if (yyt <= yytop && yyt->verify+yysvec == yystate){
        !          1586:                                        if(yyt->advance+yysvec == YYLERR)       /* error transitions */
        !          1587:                                                {unput(*--yylastch);break;}
        !          1588:                                        *lsp++ = yystate = yyt->advance+yysvec;
        !          1589:                                        goto contin;
        !          1590:                                        }
        !          1591:                                }
        !          1592: # ifdef YYOPTIM
        !          1593:                        else if((int)yyt < (int)yycrank) {              /* r < yycrank */
        !          1594:                                yyt = yyr = yycrank+(yycrank-yyt);
        !          1595: # ifdef LEXDEBUG
        !          1596:                                if(debug)fprintf(yyout,"compressed state\n");
        !          1597: # endif
        !          1598:                                yyt = yyt + yych;
        !          1599:                                if(yyt <= yytop && yyt->verify+yysvec == yystate){
        !          1600:                                        if(yyt->advance+yysvec == YYLERR)       /* error transitions */
        !          1601:                                                {unput(*--yylastch);break;}
        !          1602:                                        *lsp++ = yystate = yyt->advance+yysvec;
        !          1603:                                        goto contin;
        !          1604:                                        }
        !          1605:                                yyt = yyr + YYU(yymatch[yych]);
        !          1606: # ifdef LEXDEBUG
        !          1607:                                if(debug){
        !          1608:                                        fprintf(yyout,"try fall back character ");
        !          1609:                                        allprint(YYU(yymatch[yych]));
        !          1610:                                        putchar('\n');
        !          1611:                                        }
        !          1612: # endif
        !          1613:                                if(yyt <= yytop && yyt->verify+yysvec == yystate){
        !          1614:                                        if(yyt->advance+yysvec == YYLERR)       /* error transition */
        !          1615:                                                {unput(*--yylastch);break;}
        !          1616:                                        *lsp++ = yystate = yyt->advance+yysvec;
        !          1617:                                        goto contin;
        !          1618:                                        }
        !          1619:                                }
        !          1620:                        if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){
        !          1621: # ifdef LEXDEBUG
        !          1622:                                if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1);
        !          1623: # endif
        !          1624:                                goto tryagain;
        !          1625:                                }
        !          1626: # endif
        !          1627:                        else
        !          1628:                                {unput(*--yylastch);break;}
        !          1629:                contin:
        !          1630: # ifdef LEXDEBUG
        !          1631:                        if(debug){
        !          1632:                                fprintf(yyout,"state %d char ",yystate-yysvec-1);
        !          1633:                                allprint(yych);
        !          1634:                                putchar('\n');
        !          1635:                                }
        !          1636: # endif
        !          1637:                        ;
        !          1638:                        }
        !          1639: # ifdef LEXDEBUG
        !          1640:                if(debug){
        !          1641:                        fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1);
        !          1642:                        allprint(yych);
        !          1643:                        putchar('\n');
        !          1644:                        }
        !          1645: # endif
        !          1646:                while (lsp-- > yylstate){
        !          1647:                        *yylastch-- = 0;
        !          1648:                        if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){
        !          1649:                                yyolsp = lsp;
        !          1650:                                if(yyextra[*yyfnd]){            /* must backup */
        !          1651:                                        while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){
        !          1652:                                                lsp--;
        !          1653:                                                unput(*yylastch--);
        !          1654:                                                }
        !          1655:                                        }
        !          1656:                                yyprevious = YYU(*yylastch);
        !          1657:                                yylsp = lsp;
        !          1658:                                yyleng = yylastch-yytext+1;
        !          1659:                                yytext[yyleng] = 0;
        !          1660: # ifdef LEXDEBUG
        !          1661:                                if(debug){
        !          1662:                                        fprintf(yyout,"\nmatch ");
        !          1663:                                        sprint(yytext);
        !          1664:                                        fprintf(yyout," action %d\n",*yyfnd);
        !          1665:                                        }
        !          1666: # endif
        !          1667:                                return(*yyfnd++);
        !          1668:                                }
        !          1669:                        unput(*yylastch);
        !          1670:                        }
        !          1671:                if (yytext[0] == 0  /* && feof(yyin) */)
        !          1672:                        {
        !          1673:                        yysptr=yysbuf;
        !          1674:                        return(0);
        !          1675:                        }
        !          1676:                yyprevious = yytext[0] = input();
        !          1677:                if (yyprevious>0)
        !          1678:                        output(yyprevious);
        !          1679:                yylastch=yytext;
        !          1680: # ifdef LEXDEBUG
        !          1681:                if(debug)putchar('\n');
        !          1682: # endif
        !          1683:                }
        !          1684:        }
        !          1685: yyback(p, m)
        !          1686:        int *p;
        !          1687: {
        !          1688: if (p==0) return(0);
        !          1689: while (*p)
        !          1690:        {
        !          1691:        if (*p++ == m)
        !          1692:                return(1);
        !          1693:        }
        !          1694: return(0);
        !          1695: }
        !          1696:        /* the following are only used in the lex library */
        !          1697: yyinput(){
        !          1698:        return(input());
        !          1699:        }
        !          1700: yyoutput(c)
        !          1701:   int c; {
        !          1702:        output(c);
        !          1703:        }
        !          1704: yyunput(c)
        !          1705:    int c; {
        !          1706:        unput(c);
        !          1707:        }

unix.superglobalmegacorp.com

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