Annotation of researchv10no/cmd/dict/oedread.l, revision 1.1.1.1

1.1       root        1: %e 5000
                      2: %p 5000
                      3: C [+0-9]*
                      4: %%
                      5: \374*\t                s();
                      6: \n             {nl(); nl();}
                      7: \+PR\|         s();
                      8: \+PS\|         ;
                      9: \+ET\|         nl();
                     10: \+OB\|         p("[");
                     11: \+EB\|         p("]");
                     12: \+HM[,][0-9]+[| ] hm();
                     13: \+LC[^| ]*[| ] ;
                     14: \+AR[^|]*\|    q("?");
                     15: \+NT\|         nl();
                     16: \+Q[NP]\|      nl();
                     17: \+AI\|         p("ante ");
                     18: \+CI\|         p("circa ");
                     19: \+IA\|         q("(A)");       /* usage alpha */
                     20: \+IB\|         q("(B)");       /* beta */
                     21: \+IG\|         q("(C)");       /* gamma */
                     22: \+ID\|         q("(D)");       /* delta */
                     23: \+IE\|         q("(E)");       /* epsilon */
                     24: \+IZ\|         q("(F)");       /* zeta */
                     25: \+IH\|         q("(G)");       /* eta */
                     26: \+IT\|         q("(H)");       /* theta */
                     27: \+FS\|         q("?");
                     28: \+S[OPNRS]\|   nl();
                     29: \+HW\|         ;
                     30: \+BL\|         {nl(); p("*");}
                     31: \+EL\|         ;
                     32: \+IL\|         {nl(); p("*");}
                     33: \+BF\|         ;
                     34: \+EF\|         ;
                     35: \+FB\|         ;
                     36: \+NU\|         p("{");
                     37: \+DN\|         p("}/{");
                     38: \+FE\|         p("}");
                     39: \+QT\|         ;
                     40: \+[IBSGR][| ]  ;
                     41: \+RB\|         p(">");
                     42: \+NR\|         ;       /* ? */
                     43: \+SC\|         ;
                     44: \+P[RS]\|      ;
                     45: \+VL\|         nl();
                     46: \+SU\|         p("<");
                     47: \+UP\|         p("<");
                     48: \+IN\|         p("<");
                     49: \+RR\|         ;
                     50: \+IR\|         ;
                     51: \+LA\|         ;
                     52: \+H\|          p("-");
                     53: \]             p("!");
                     54: \+0\|          s();
                     55: \|             s();
                     56: \+1\|          p("=");         /* macron */
                     57: \+2\|          p("\"");        /* umlaut */
                     58: \+3\|          p("'");         /* acute */
                     59: \+4\|          p("`");         /* grave */
                     60: \+5\|          p("'");
                     61: \+6\|          ;               /* short vowel */
                     62: \+7\|          p("ah");
                     63: \+8\|          ;               /* greek accent */
                     64: \+9\|          ;               /* greek accent */
                     65: \+10\|         p("..");
                     66: \+11[ |]       p(".");         /* main stress */
                     67: \+12\|         p(":");         /* secondary stress */
                     68: \+13\|         p("-"); /* dash */
                     69: \+14\|         p("-");
                     70: \+15\|         p("[");
                     71: \+16\|         p("]");
                     72: \+17\|         p("`");
                     73: \+18\|         p("'");
                     74: \+19\|         p("er");
                     75: \+20\|         p("uh");
                     76: \+21\|         p("*");
                     77: \+21\|\+19\|   p("*r");
                     78: \+22\|         p("+");
                     79: \+9?23{C}\|            p("ae");
                     80: \+9?24{C}\|            c("oe");
                     81: \+9?25{C}\|            c("zh");
                     82: \+9?26{C}\|            c("zh");        /* old english */
                     83: \+9?27{C}\|            c("dh");        /* thorn */
                     84: \+9?28{C}\|            c("dh");        /* thorn */
                     85: \+29\|         p("=");
                     86: \+30\|         p("ng");
                     87: \+31[| ]       p("+");         /* dagger */
                     88: \+32[| ]       p("||");
                     89: \+33[| ]       p("@");         /* paragraph */
                     90: \+34[| ]       p("|");
                     91: \+9?35\|       p("th");
                     92: \+36\|         p("PP");
                     93: \+37\|         p("``");
                     94: \+38\|         p("''");
                     95: \+9?39\|               c("d");
                     96: \+41\|         p("A");
                     97: \+42\|         p("b");
                     98: \+43\|         p("a");
                     99: \+44\|         p("ah");
                    100: \+45\|         p("sh");
                    101: \+9?47\|       c("zh");        /* old english */
                    102: \+9?48\|       c("l");
                    103: \+9?49\|       c("z");
                    104: \+50\|         ;               /* v over letter */
                    105: \+51\|         p("^");
                    106: \+52\|         ;               /* dot over letter */
                    107: \+53\|         ;               /* dot under */
                    108: \+54\|         ;               /* cedilla */
                    109: \+55\|         p("^");
                    110: \+56\|         p("~");
                    111: \+60\|         ;
                    112: \+63\|         s();
                    113: \+64\|         ;
                    114: \+9?75{C}\|    c("s");
                    115: \+9?76{C}\|    c("a");
                    116: \+9?77{C}\|    c("b");
                    117: \+9?78{C}\|    c("g");
                    118: \+9?79{C}\|    c("d");
                    119: \+9?80{C}\|    c("e");
                    120: \+9?81{C}\|    c("z");
                    121: \+9?82{C}\|    c("h");
                    122: \+9?83{C}\|    c("th");
                    123: \+9?84{C}\|    c("i");
                    124: \+9?85{C}\|    c("k");
                    125: \+9?86{C}\|    c("l");
                    126: \+9?87{C}\|    c("m");
                    127: \+9?88{C}\|    c("n");
                    128: \+9?89{C}\|    c("x");
                    129: \+9?90{C}\|    c("o");
                    130: \+9?91{C}\|    c("p");
                    131: \+9?92{C}\|    c("r");
                    132: \+9?93{C}\|    c("s");
                    133: \+9?94{C}\|    c("t");
                    134: \+9?95{C}\|    c("u");
                    135: \+9?96{C}\|    c("ph");
                    136: \+9?97{C}\|    c("ch");
                    137: \+9?98{C}\|    c("ps");
                    138: \+9?99{C}\|    c("w");
                    139: \+100\|                p("{");
                    140: \+102\|                p("SS");
                    141: \+103\|                p("L");         /* pound sterling */
                    142: \+105\|                p("->");
                    143: \+106\|                p("degrees");
                    144: \+107\|                p("...");
                    145: \+108\|                p("-");
                    146: \+112\|                p("!");
                    147: \+201\|                p("-");
                    148: \+202\|                p("*");
                    149: \+204\|                p("|");
                    150: \+205\|                p("\"");
                    151: \+206\|                p("|");
                    152: \+213\|                p("<");
                    153: \+232\|                q("DELTA");
                    154: \+235\|                p("/\\");
                    155: \+239\|                p(".");
                    156: \+241\|                p("=");
                    157: \+242\|                p("-");
                    158: \+304\|                p("+");
                    159: \+313\|                p("/\\");
                    160: \+317\|                p("b");
                    161: \+319\|                p("#");
                    162: \+334\|                p("'");
                    163: \+335\|                p("`");
                    164: \+336\|                p("^");
                    165: \+337\|                p("~");
                    166: \+338\|                p(",");
                    167: \+345\|                p("@");
                    168: \+349\|                q("sun");
                    169: \+350\|                p("#");
                    170: \+360\|                p("G");
                    171: \+361\|                p("<");
                    172: \+362\|                p("C");
                    173: \+363\|                p("C");
                    174: \+364\|                p("C");
                    175: \+365\|                p("G");
                    176: \+366\|                q("cancer");
                    177: \+367\|                q("alpha");
                    178: \+368\|                p("C");
                    179: \+369\|                q("Cbar");
                    180: \+372\|                p("_");
                    181: \+373\|                p("=");
                    182: \+377\|                p(".");
                    183: \+384\|                p("^");
                    184: \+385\|                p("'");
                    185: \+438\|                q("?");
                    186: \+466\|                q("?");
                    187: \+490\|                q("st");
                    188: \+[^|]*\|      p(yytext);
                    189: [^|+\374\n]+   p(yytext);
                    190: %%
                    191: #include <stdio.h>
                    192: #include <ctype.h>
                    193: 
                    194: int cpos;
                    195: int ll = 70;
                    196: 
                    197: s()
                    198: {
                    199:        if(cpos>0) {
                    200:                printf(" ");
                    201:                cpos++;
                    202:        }
                    203: }
                    204: 
                    205: p(s)
                    206: char *s;
                    207: {
                    208:        u(strlen(s));
                    209:        printf("%s",s);
                    210: }
                    211: 
                    212: u(n)
                    213: {
                    214:        if((cpos+=n) > ll) {
                    215:                nl();
                    216:                cpos = n;
                    217:        }
                    218: }
                    219: 
                    220: q(s)
                    221: char *s;
                    222: {
                    223:        u(strlen(s)+2);
                    224:        printf("*%s*",s);
                    225: }
                    226: 
                    227: c(s)
                    228: char *s;
                    229: {
                    230:        u(strlen(s));
                    231:        for( ; *s; s++)
                    232:                putchar(yytext[1]=='9'?toupper(*s):*s);
                    233: }
                    234: 
                    235: nl()
                    236: {
                    237:        printf("\n");
                    238:        cpos = 0;
                    239: }
                    240: 
                    241: hm()   /* +HM,number| */
                    242: {
                    243:        yytext[strlen(yytext)-1] = 0;
                    244:        p("[");
                    245:        p(&yytext[4]);
                    246:        p("]");
                    247: }

unix.superglobalmegacorp.com

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