1 /* funny.c 4.2 83/02/12 */ 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 #ifndef NEQN 23 printf(".ds %d \\s%d\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%d\n", yyval, ps, f, ps); 24 eht[yyval] = VERT( (ps+5)*6 -(ps*6*2)/10 ); 25 ebase[yyval] = VERT( (ps*6*3)/10 ); 26 #else NEQN 27 printf(".ds %d %s\n", yyval, f); 28 eht[yyval] = VERT(2); 29 ebase[yyval] = 0; 30 #endif NEQN 31 if(dbg)printf(".\tfunny: S%d <- %s; h=%d b=%d\n", 32 yyval, f, eht[yyval], ebase[yyval]); 33 lfont[yyval] = rfont[yyval] = ROM; 34 } 35