BSD 3 development
[unix-history] / usr / src / cmd / apl / aw.c
CommitLineData
a2271d4a
KT
1#include "apl.h"
2
3#ifdef FULLD
4
5char *opname[]
6{
7 "eol", /* 0 */
8 "add", /* 1 */
9 "plus", /* 2 */
10 "sub", /* 3 */
11 "minus", /* 4 */
12 "mul", /* 5 */
13 "sgn", /* 6 */
14 "div", /* 7 */
15 "recip", /* 8 */
16 "mod", /* 9 */
17 "abs", /* 10 */
18 "min", /* 11 */
19 "floor", /* 12 */
20 "max", /* 13 */
21 "ceil", /* 14 */
22 "pwr", /* 15 */
23 "exp", /* 16 */
24 "log", /* 17 */
25 "loge", /* 18 */
26 "cir", /* 19 */
27 "pi", /* 20 */
28 "comb", /* 21 */
29 "fac", /* 22 */
30 "deal", /* 23 */
31 "rand", /* 24 */
32 "drho", /* 25 */
33 "mrho", /* 26 */
34 "diot", /* 27 */
35 "miot", /* 28 */
36 "rot0", /* 29 */
37 "rev0", /* 30 */
38 "dtrn", /* 31 */
39 "mtrn", /* 32 */
40 "dibm", /* 33 */
41 "mibm", /* 34 */
42 "gdu", /* 35 */
43 "gduk", /* 36 */
44 "gdd", /* 37 */
45 "gddk", /* 38 */
46 "exd", /* 39 */
47 "scan", /* 40 */
48 "exdk", /* 41 */
49 "scank", /* 42 */
50 "iprod", /* 43 */
51 "oprod", /* 44 */
52 "quad", /* 45 */
53 "qquad", /* 46 */
54 "br0", /* 47 */
55 "br", /* 48 */
56 "ddom", /* 49 */
57 "mdom", /* 50 */
58 "com", /* 51 */
59 "red", /* 52 */
60 "comk", /* 53 */
61 "redk", /* 54 */
62 "rot", /* 55 */
63 "rev", /* 56 */
64 "rotk", /* 57 */
65 "revk", /* 58 */
66 "cat", /* 59 */
67 "rav", /* 60 */
68 "catk", /* 61 */
69 "ravk", /* 62 */
70 "print", /* 63 */
71 "quot", /* 64 */
72 "elid", /* 65 */
73 "cquad", /* 66 */
74 "comnt", /* 67 */
75 "index", /* 68 */
76 "hprint", /* 69 */
77 0, /* 70 */
78 "lt", /* 71 */
79 "le", /* 72 */
80 "gt", /* 73 */
81 "ge", /* 74 */
82 "eq", /* 75 */
83 "ne", /* 76 */
84 "and", /* 77 */
85 "or", /* 78 */
86 "nand", /* 79 */
87 "nor", /* 80 */
88 "not", /* 81 */
89 "eps", /* 82 */
90 "meps", /* 83 */
91 "rep", /* 84 */
92 "take", /* 85 */
93 "drop", /* 86 */
94 "exd0", /* 87 */
95 "asgn", /* 88 */
96 "immed", /* 89 */
97 "name", /* 90 */
98 "const", /* 91 */
99 "fun", /* 92 */
100 "arg1", /* 93 */
101 "arg2", /* 94 */
102 "auto", /* 95 */
103 "rest", /* 96 */
104 "com0", /* 97 */
105 "red0", /* 98 */
106 "exd0", /* 99 */
107 "scan0", /*100 */
108 "base", /*101 */
109 "menc", /*102 */ /* monadic encode */
110 "label", /*103 */
111};
112
113#endif
114
115#ifdef SOMED
116
117dump(cp)
118char *cp;
119{
120 register char *s, *t;
121 register i;
122
123 s = cp;
124
125loop:
126 putchar(' ');
127 if(column > 50)
128 putchar('\n');
129 i = *s++;
130#ifdef FULLD
131 if(i >= 0 && i <= 103 && opname[i]) {
132 t = opname[i];
133 while(*t)
134 putchar(*t++);
135 } else
136#endif
137 printf("%d", i);
138 switch(i) {
139
140 case EOL:
141 if(*s != EOL)
142 break;
143 case EOF:
144 putchar('\n');
145 return;
146
147 case QUOT:
148 i = *s++;
149 s =+ i;
150 break;
151
152 case CONST:
153 i = *s++;
154 s =+ i*SDAT;
155 break;
156
157 case NAME:
158 case FUN:
159 case ARG1:
160 case ARG2:
161 case AUTO:
162 case REST:
163 s =+ copy(IN, s, &cp, 1);
164 putchar('-');
165 t = cp->namep;
166 while(*t)
167 putchar(*t++);
168 break;
169
170 case INDEX:
171 case IMMED:
172 s++;
173 break;
174 }
175 goto loop;
176}
177#endif