1 /*- 2 * Copyright (c) 1991 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.proprietary.c% 6 */ 7 8 #ifndef lint 9 static char sccsid[] = "@(#)funny.c 4.4 (Berkeley) 04/17/91"; 10 #endif /* not lint */ 11 12 # include "e.h" 13 # include "e.def" 14 15 funny(n) int n; { 16 char *f; 17 18 yyval = oalloc(); 19 switch(n) { 20 case SUM: 21 f = "\\(*S"; break; 22 case UNION: 23 f = "\\(cu"; break; 24 case INTER: /* intersection */ 25 f = "\\(ca"; break; 26 case PROD: 27 f = "\\(*P"; break; 28 default: 29 error(FATAL, "funny type %d in funny", n); 30 } 31 #ifndef NEQN 32 printf(".ds %d \\s%d\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%d\n", yyval, ps, f, ps); 33 eht[yyval] = VERT( (ps+5)*6 -(ps*6*2)/10 ); 34 ebase[yyval] = VERT( (ps*6*3)/10 ); 35 #else NEQN 36 printf(".ds %d %s\n", yyval, f); 37 eht[yyval] = VERT(2); 38 ebase[yyval] = 0; 39 #endif NEQN 40 if(dbg)printf(".\tfunny: S%d <- %s; h=%d b=%d\n", 41 yyval, f, eht[yyval], ebase[yyval]); 42 lfont[yyval] = rfont[yyval] = ROM; 43 } 44