|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.