1*779fc935Sceastha /*
2*779fc935Sceastha * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
3*779fc935Sceastha * Use is subject to license terms.
4*779fc935Sceastha */
5*779fc935Sceastha
67c478bd9Sstevel@tonic-gate /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
77c478bd9Sstevel@tonic-gate /* All Rights Reserved */
87c478bd9Sstevel@tonic-gate
97c478bd9Sstevel@tonic-gate /*
107c478bd9Sstevel@tonic-gate * Copyright (c) 1980 Regents of the University of California.
117c478bd9Sstevel@tonic-gate * All rights reserved. The Berkeley software License Agreement
127c478bd9Sstevel@tonic-gate * specifies the terms and conditions for redistribution.
137c478bd9Sstevel@tonic-gate */
147c478bd9Sstevel@tonic-gate
15*779fc935Sceastha #pragma ident "%Z%%M% %I% %E% SMI"
167c478bd9Sstevel@tonic-gate
177c478bd9Sstevel@tonic-gate #include "e.h"
187c478bd9Sstevel@tonic-gate #include "e.def"
197c478bd9Sstevel@tonic-gate #include <locale.h>
207c478bd9Sstevel@tonic-gate
21*779fc935Sceastha void
funny(int n)22*779fc935Sceastha funny(int n)
23*779fc935Sceastha {
247c478bd9Sstevel@tonic-gate char *f;
257c478bd9Sstevel@tonic-gate
267c478bd9Sstevel@tonic-gate yyval = oalloc();
277c478bd9Sstevel@tonic-gate switch (n) {
287c478bd9Sstevel@tonic-gate case SUM:
297c478bd9Sstevel@tonic-gate f = "\\(*S"; break;
307c478bd9Sstevel@tonic-gate case UNION:
317c478bd9Sstevel@tonic-gate f = "\\(cu"; break;
327c478bd9Sstevel@tonic-gate case INTER: /* intersection */
337c478bd9Sstevel@tonic-gate f = "\\(ca"; break;
347c478bd9Sstevel@tonic-gate case PROD:
357c478bd9Sstevel@tonic-gate f = "\\(*P"; break;
367c478bd9Sstevel@tonic-gate default:
37*779fc935Sceastha (void) error(FATAL, gettext("funny type %d in funny"), n);
387c478bd9Sstevel@tonic-gate }
397c478bd9Sstevel@tonic-gate #ifndef NEQN
40*779fc935Sceastha printf(".ds %d \\s%d\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%d\n",
41*779fc935Sceastha yyval, ps, f, ps);
427c478bd9Sstevel@tonic-gate eht[yyval] = VERT(EM(1.0, ps+5) - EM(0.2, ps));
437c478bd9Sstevel@tonic-gate ebase[yyval] = VERT(EM(0.3, ps));
44*779fc935Sceastha #else /* NEQN */
457c478bd9Sstevel@tonic-gate printf(".ds %d %s\n", yyval, f);
467c478bd9Sstevel@tonic-gate eht[yyval] = VERT(2);
477c478bd9Sstevel@tonic-gate ebase[yyval] = 0;
48*779fc935Sceastha #endif /* NEQN */
49*779fc935Sceastha if (dbg)
50*779fc935Sceastha printf(".\tfunny: S%d <- %s; h=%d b=%d\n",
517c478bd9Sstevel@tonic-gate yyval, f, eht[yyval], ebase[yyval]);
527c478bd9Sstevel@tonic-gate lfont[yyval] = rfont[yyval] = ROM;
537c478bd9Sstevel@tonic-gate }
54