|
|
1.1 root 1: # include "e.h"
2: # include "y.tab.h"
3:
4: extern int Funnyps;
5: extern float Funnyht, Funnybase;
6: extern char *Sum, *Union, *Inter, *Prod;
7:
8: funny(n)
9: int n;
10: {
11: char *f;
12:
13: yyval = salloc();
14: switch(n) {
15: case SUM:
16: f = Sum; break;
17: case UNION:
18: f = Union; break;
19: case INTER: /* intersection */
20: f = Inter; break;
21: case PROD:
22: f = Prod; break;
23: default:
24: error(FATAL, "funny type %d in funny", n);
25: }
26: printf(".ds %d %s\n", yyval, f);
27: eht[yyval] = EM(1.0, ps+Funnyps) - EM(Funnyht, ps);
28: ebase[yyval] = EM(Funnybase, ps);
29: eps[yyval] = ps;
30: dprintf(".\tS%d <- %s; h=%g b=%g\n",
31: yyval, f, eht[yyval], ebase[yyval]);
32: lfont[yyval] = rfont[yyval] = ROM;
33: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.