Annotation of researchv10no/cmd/ipa/ipa_trans.lex, revision 1.1.1.1

1.1       root        1: %Start P1 P2 P3
                      2: %{
                      3: void ipa_out();
                      4: %}
                      5: %%
                      6: "@ipa("        { BEGIN P1; }
                      7: "@ipa{"        { BEGIN P2; }
                      8: "@ipa/" { BEGIN P3; }
                      9: <P1>")"        { BEGIN 0; }
                     10: <P2>"}" { BEGIN 0; }
                     11: <P3>"/" { BEGIN 0; }
                     12: <P1,P2,P3>"p"  ipa_out(1,1);
                     13: <P1,P2,P3>"t"  ipa_out(1,3);
                     14: <P1,P2,P3>"C"  { ipa_out(1,3); ipa_out(1,66); }
                     15: <P1,P2,P3>"k"  ipa_out(1,5);
                     16: <P1,P2,P3>"b"  ipa_out(1,2);
                     17: <P1,P2,P3>"d"  ipa_out(1,4);
                     18: <P1,P2,P3>"J"  { ipa_out(1,4); ipa_out(1,67); }
                     19: <P1,P2,P3>"g"  ipa_out(1,11);
                     20: <P1,P2,P3>"m"  ipa_out(1,6);
                     21: <P1,P2,P3>"n"  ipa_out(1,7);
                     22: <P1,P2,P3>"G"  ipa_out(1,39);
                     23: <P1,P2,P3>"l"  ipa_out(1,8);
                     24: <P1,P2,P3>"r"  ipa_out(1,59);
                     25: <P1,P2,P3>"f"  ipa_out(1,9);
                     26: <P1,P2,P3>"T"  ipa_out(1,57);
                     27: <P1,P2,P3>"D"  ipa_out(1,58);
                     28: <P1,P2,P3>"s"  ipa_out(1,18);
                     29: <P1,P2,P3>"S"  ipa_out(1,66);
                     30: <P1,P2,P3>"Z"  ipa_out(1,67);
                     31: <P1,P2,P3>"v"  ipa_out(1,19);
                     32: <P1,P2,P3>"z"  ipa_out(1,22);
                     33: <P1,P2,P3>"w"  ipa_out(1,20);
                     34: <P1,P2,P3>"y"  ipa_out(1,99);
                     35: <P1,P2,P3>"h"  ipa_out(1,10);
                     36: <P1,P2,P3>"?"  ipa_out(1,35);
                     37: <P1,P2,P3>"Q"  ipa_out(1,52);
                     38: <P1,P2,P3>"E"  ipa_out(1,91);
                     39: <P1,P2,P3>"i"  ipa_out(2,8);
                     40: <P1,P2,P3>"e"  ipa_out(1,93);
                     41: <P1,P2,P3>"A"  { ipa_out(1,92); ipa_out(2,71); }
                     42: <P1,P2,P3>"a"  ipa_out(2,12);
                     43: <P1,P2,P3>"o"  ipa_out(1,95);
                     44: <P1,P2,P3>"@"  ipa_out(2,2);
                     45: <P1,P2,P3>"^"  ipa_out(2,3);
                     46: <P1,P2,P3>"O"  ipa_out(1,97);
                     47: <P1,P2,P3>"U"  ipa_out(1,98);
                     48: <P1,P2,P3>"u"  ipa_out(2,9);
                     49: <P1,P2,P3>"W"  { ipa_out(1,94); ipa_out(2,73); }
                     50: <P1,P2,P3>"I"  { ipa_out(1,94); ipa_out(2,71); }
                     51: <P1,P2,P3>"Y"  { ipa_out(1,96); ipa_out(2,71); }
                     52: <P1,P2,P3>"R"  ipa_out(2,77);
                     53: <P1,P2,P3>"%"  ipa_out(2,99);
                     54: <P1,P2,P3>"c"  ipa_out(1,96);
                     55: <P1,P2,P3>">"  ipa_out(1,96);
                     56: <P1,P2,P3>"&"  ipa_out(2,14);
                     57: <P1,P2,P3>"*"  ipa_out(2,6);
                     58: <P1,P2,P3>"#"  ECHO;
                     59: <P1,P2,P3>"+"  ECHO;
                     60: <P1,P2,P3>"'"  ipa_out(2,78);
                     61: <P1,P2,P3>"."  ipa_out(2,79);
                     62: <P1,P2,P3>"N"  ipa_out(2,76);
                     63: <P1,P2,P3>"L"  ipa_out(2,74);
                     64: <P1,P2,P3>":"   ipa_out(2,66);
                     65: <P1,P2,P3>"["[1-2]"."[0-9]+"]"         {
                     66:                /* any member of one of the two fonts */
                     67:                ipa_out(atoi(&yytext[1]),atoi(&yytext[3]));
                     68:        }
                     69: <P1,P2,P3>[    \n]     ECHO;
                     70: <P1,P2,P3>.    { 
                     71:                ipa_out(2,68);   /* a slightly raised 'x'
                     72:                                            for all characters not otherwise
                     73:                                            defined */
                     74:                }
                     75: .      ECHO;
                     76: %%
                     77: void
                     78: ipa_out(fontnum,charnum)
                     79: int fontnum, charnum;
                     80: {
                     81:        printf("\\f(P%d\\N'%d'\\fP",fontnum,charnum);
                     82: /* should check that charnum is in range */
                     83: }

unix.superglobalmegacorp.com

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