Annotation of cci/usr/src/usr.bin/diction/endlex.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: #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.