|
|
1.1 root 1: static char Sccsid[] = "aw.c @(#)aw.c 1.1 10/1/82 Berkeley ";
2: #include "apl.h"
3:
4: char *opname[] = {
5:
6: "eol", /* 0 */
7: "add", /* 1 */
8: "plus", /* 2 */
9: "sub", /* 3 */
10: "minus", /* 4 */
11: "mul", /* 5 */
12: "sgn", /* 6 */
13: "div", /* 7 */
14: "recip", /* 8 */
15: "mod", /* 9 */
16: "abs", /* 10 */
17: "min", /* 11 */
18: "floor", /* 12 */
19: "max", /* 13 */
20: "ceil", /* 14 */
21: "pwr", /* 15 */
22: "exp", /* 16 */
23: "log", /* 17 */
24: "loge", /* 18 */
25: "cir", /* 19 */
26: "pi", /* 20 */
27: "comb", /* 21 */
28: "fac", /* 22 */
29: "deal", /* 23 */
30: "rand", /* 24 */
31: "drho", /* 25 */
32: "mrho", /* 26 */
33: "diot", /* 27 */
34: "miot", /* 28 */
35: "rot0", /* 29 */
36: "rev0", /* 30 */
37: "dtrn", /* 31 */
38: "mtrn", /* 32 */
39: "dibm", /* 33 */
40: "mibm", /* 34 */
41: "gdu", /* 35 */
42: "gduk", /* 36 */
43: "gdd", /* 37 */
44: "gddk", /* 38 */
45: "exd", /* 39 */
46: "scan", /* 40 */
47: "exdk", /* 41 */
48: "scank", /* 42 */
49: "iprod", /* 43 */
50: "oprod", /* 44 */
51: "quad", /* 45 */
52: "qquad", /* 46 */
53: "br0", /* 47 */
54: "br", /* 48 */
55: "ddom", /* 49 */
56: "mdom", /* 50 */
57: "com", /* 51 */
58: "red", /* 52 */
59: "comk", /* 53 */
60: "redk", /* 54 */
61: "rot", /* 55 */
62: "rev", /* 56 */
63: "rotk", /* 57 */
64: "revk", /* 58 */
65: "cat", /* 59 */
66: "rav", /* 60 */
67: "catk", /* 61 */
68: "ravk", /* 62 */
69: "print", /* 63 */
70: "quot", /* 64 */
71: "elid", /* 65 */
72: "cquad", /* 66 */
73: "comnt", /* 67 */
74: "index", /* 68 */
75: "hprint", /* 69 */
76: 0, /* 70 */
77: "lt", /* 71 */
78: "le", /* 72 */
79: "gt", /* 73 */
80: "ge", /* 74 */
81: "eq", /* 75 */
82: "ne", /* 76 */
83: "and", /* 77 */
84: "or", /* 78 */
85: "nand", /* 79 */
86: "nor", /* 80 */
87: "not", /* 81 */
88: "eps", /* 82 */
89: "meps", /* 83 */
90: "rep", /* 84 */
91: "take", /* 85 */
92: "drop", /* 86 */
93: "exd0", /* 87 */
94: "asgn", /* 88 */
95: "immed", /* 89 */
96: "name", /* 90 */
97: "const", /* 91 */
98: "fun", /* 92 */
99: "arg1", /* 93 */
100: "arg2", /* 94 */
101: "auto", /* 95 */
102: "rest", /* 96 */
103: "com0", /* 97 */
104: "red0", /* 98 */
105: "exd0", /* 99 */
106: "scan0", /*100 */
107: "base", /*101 */
108: "format", /*102 */ /* format */
109: "label", /*103 */
110: "psi", /*104 */
111: "psi1", /*105 */
112: "psi2", /*106 */
113: "isp", /*107 */
114: "isp1", /*108 */
115: "isp2", /*109 */
116: "Lwidth", /*110 */
117: "Lfuzz", /*111 */
118: "Lrun", /*112 */
119: "Lfork", /*113 */
120: "Lwait", /*114 */
121: "Lexec", /*115 */
122: "Lfx", /*116 */
123: "Lexit", /*117 */
124: "Lpipe", /*118 */
125: "Lchdir", /*119 */
126: "Lopen", /*120 */
127: "Lclose", /*121 */
128: "Lread", /*122 */
129: "Lwrite", /*123 */
130: "Lcreat", /*124 */
131: "Lseek", /*125 */
132: "Lrm", /*126 */
133: "Lrd", /*127 */
134: "Ldup", /*128 */
135: "Lap", /*129 */
136: "Lkill", /*130 */
137: "Lcr", /*131 */
138: "dfmt", /*132 */
139: "mfmt", /*133 */
140: "Lnc", /*134 */
141: "nilret", /*135 */
142: "Llx", /*136 */
143: "ibr", /*137 */
144: "ibr0", /*138 */
145: "rval", /*139 */
146: "Lsig", /*140 */
147: "Lfloat", /*141 */
148: "Lnl", /*142 */
149: };
150:
151: dump(cp, flag)
152: char *cp;
153: {
154: register char *s, *t;
155: register i;
156:
157: s = cp;
158: if(flag)
159: printf("[ ");
160:
161: loop:
162: putchar(' ');
163: if(column > 50)
164: if(flag)
165: printf(" ]\n[ ");
166: else
167: putchar('\n');
168: i = *s++;
169: if(i != EOF)
170: i &= 0377;
171: if(i >= 0 && i <= 140 && opname[i]) {
172: t = opname[i];
173: while(*t)
174: putchar(*t++);
175: } else if(i != EOF)
176: printf("%d ", i);
177: switch(i) {
178:
179: case EOL:
180: if(*s != EOL)
181: break;
182: case EOF:
183: printf(".");
184: if(flag)
185: printf(" ].");
186: putchar('\n');
187: return;
188:
189: case QUOT:
190: i = *s++;
191: s += i;
192: break;
193:
194: case CONST:
195: i = *s++;
196: s += i*SDAT;
197: break;
198:
199: case NAME:
200: case FUN:
201: case ARG1:
202: case ARG2:
203: case AUTO:
204: case REST:
205: case RVAL:
206: s += copy(IN, s, &cp, 1);
207: putchar('-');
208: t = ((struct nlist *)cp)->namep;
209: while(*t)
210: putchar(*t++);
211: break;
212:
213: case INDEX:
214: case IMMED:
215: s++;
216: break;
217: }
218: goto loop;
219: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.