1 /* funny.c 4.1 83/02/11 */ 2 3 # include "e.h" 4 # include "e.def" 5 6 funny(n) int n; { 7 char *f; 8 9 yyval = oalloc(); 10 switch(n) { 11 case SUM: 12 f = "\\(*S"; break; 13 case UNION: 14 f = "\\(cu"; break; 15 case INTER: /* intersection */ 16 f = "\\(ca"; break; 17 case PROD: 18 f = "\\(*P"; break; 19 default: 20 error(FATAL, "funny type %d in funny", n); 21 } 22 printf(".ds %d \\s%d\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%d\n", yyval, ps, f, ps); 23 eht[yyval] = VERT( (ps+5)*6 -(ps*6*2)/10 ); 24 ebase[yyval] = VERT( (ps*6*3)/10 ); 25 if(dbg)printf(".\tfunny: S%d <- %s; h=%d b=%d\n", 26 yyval, f, eht[yyval], ebase[yyval]); 27 lfont[yyval] = rfont[yyval] = ROM; 28 } 29