Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / mimc / nprint.mima
1
2 <PACKAGE "NPRINT">
3
4 <ENTRY NODE-COMPLAIN NODE-PRINT>
5
6 <USE "COMPDEC" "NEWSTRUC">
7
8 <NEW-CHANNEL-TYPE INTCHAN DEFAULT OPEN INTCHAN-OPEN CLOSE INTCHAN-CLOSE WRITE-BYTE INTCHAN-WRITE-BYTE WRITE-BUFFER INTCHAN-WRITE-BUFFER>
9
10 <NEWSTRUC INTCHAN VECTOR INTOUT <OR CHANNEL FALSE> INTCOUNT FIX INTMAX FIX>
11
12 #WORD *35031554542*
13                     <GFCN \1aNODE-COMPLAIN ("VALUE" <OR FALSE FIX> NODE "OPTIONAL" FIX) N6 MAX7>
14                     <OPT-DISPATCH 1 %<> OPT4 OPT5>
15 OPT4
16                     <PUSH 80>
17 OPT5
18                     <TEMP P8:NODE OPP12 TEMP17 TEM9 TEMP24>
19                     <INTGO>
20                     <SET P8 N6>
21                     <SET OPP12 P8>
22                     <LOOP>
23 AGAIN13
24                     <INTGO>
25                     <EMPUV? OPP12 + EXIT10 (TYPE NODE)>
26                     <FRAME '\1aNODE-PRINT>
27                     <PUSH OPP12>
28                     <PUSH N6>
29                     <PUSH MAX7>
30                     <PUSH 'T>
31                     <CALL '\1aNODE-PRINT 4 = TEMP17>
32                     <TYPE? TEMP17 <TYPE-CODE FALSE> + EXIT10>
33                     <DEAD TEMP17>
34                     <SET P8 OPP12>
35                     <NTHUV P8 2 = TEM9>
36                     <TYPE? TEM9 <TYPE-CODE NODE> - EXIT10>
37                     <SET TEMP17 OPP12>
38                     <DEAD OPP12>
39                     <SET OPP12 TEM9>
40                     <DEAD TEM9>
41                     <NTHUV OPP12 5 = TEM9 (TYPE LIST)>
42                     <EMPL? TEM9 + EXIT10>
43                     <LOOP (TEMP17 VALUE) (TEM9 VALUE)>
44 TAG21
45                     <NTHL TEM9 1 = TEMP24>
46                     <VEQUAL? TEMP24 TEMP17 + AGAIN13>
47                     <DEAD TEMP24>
48                     <RESTL TEM9 1 = TEM9 (TYPE LIST)>
49                     <EMPL? TEM9 - TAG21>
50 EXIT10
51                     <FRAME '\1aNODE-PRINT>
52                     <PUSH P8>
53                     <DEAD P8>
54                     <PUSH N6>
55                     <DEAD N6>
56                     <PUSH MAX7>
57                     <DEAD MAX7>
58                     <CALL '\1aNODE-PRINT 3 = TEM9>
59                     <RETURN TEM9>
60                     <DEAD TEM9>
61                     <END \1aNODE-COMPLAIN>
62
63 #WORD *24123452527*
64                     <GFCN \1aNODE-PRINT ("VALUE" <OR !<FALSE> FIX> ANY "OPTIONAL" <OR FALSE NODE> FIX ANY) N8 LOSER9 MAX10 FLAT11>
65                     <OPT-DISPATCH 1 %<> OPT4 OPT5 OPT6 OPT7>
66 OPT4
67                     <PUSH #T$UNBOUND 0>
68 OPT5
69                     <PUSH 80>
70 OPT6
71                     <PUSH %<>>
72 OPT7
73                     <TEMP TEMP3:LBIND OUTC12 TEMP22 SU27>
74                     <INTGO>
75                     <GETS 'BIND = TEMP3 (TYPE LBIND)>
76                     <TYPE? LOSER9 <TYPE-CODE UNBOUND> - TAG15>
77                     <SET LOSER9 %<> (TYPE FALSE)>
78 TAG15
79                     <BBIND 'LOSER <OR FALSE NODE> 'FIX LOSER9>
80                     <DEAD LOSER9>
81                     <FIXBIND>
82                     <GEN-LVAL 'OUTCHAN = OUTC12>
83                     <FRAME '\1aCHANNEL-OPEN>
84                     <PUSH 'INTCHAN>
85                     <PUSH "">
86                     <TYPE? FLAT11 <TYPE-CODE FALSE> + PHRASE21>
87                     <SET TEMP22 %<> (TYPE FALSE)>
88                     <JUMP + COND20>
89 PHRASE21
90                     <SET TEMP22 OUTC12>
91 COND20
92                     <PUSH TEMP22>
93                     <DEAD TEMP22>
94                     <PUSH 0>
95                     <PUSH MAX10>
96                     <DEAD MAX10>
97                     <CALL '\1aCHANNEL-OPEN 5 = TEMP22>
98                     <BBIND 'OUTCHAN 'CHANNEL 'FIX TEMP22>
99                     <DEAD TEMP22>
100                     <FRAME '\1aRESET>
101                     <NTHR 'OUTCHAN 2 = TEMP22 (RECORD-TYPE ATOM) (TYPE LBIND)>
102                     <NTHR TEMP22 1 = STACK (RECORD-TYPE LBIND)>
103                     <DEAD TEMP22>
104                     <CALL '\1aRESET 1>
105                     <NTHR 'OUTCHAN 2 = TEMP22 (RECORD-TYPE ATOM) (TYPE LBIND)>
106                     <NTHR TEMP22 1 = TEMP22 (RECORD-TYPE LBIND)>
107                     <NTHUV TEMP22 6 = SU27 (TYPE MUD-CHAN)>
108                     <DEAD TEMP22>
109                     <NTHUV OUTC12 6 = TEMP22 (TYPE MUD-CHAN)>
110                     <NTHUV TEMP22 1 = TEMP22 (TYPE FIX)>
111                     <SUB TEMP22 2 = TEMP22 (TYPE FIX)>
112                     <PUTUV SU27 1 TEMP22 (TYPE FIX)>
113                     <DEAD SU27>
114                     <ICALL EXIT38 = TEMP22>
115                     <TEMP TEMP39 TEMP42>
116                     <INTGO>
117                     <CFRAME = TEMP39>
118                     <NTHR TEMP39 5 = TEMP39 (RECORD-TYPE FRAME)>
119                     <CFRAME = TEMP42 (TYPE FRAME)>
120                     <BBIND 'NACT 'FRAME 'FIX TEMP42>
121                     <DEAD TEMP42>
122                     <ACTIVATION>
123                     <FRAME '\1aNPRINT>
124                     <SETLR TEMP42 TEMP39 N8>
125                     <PUSH TEMP42>
126                     <DEAD TEMP42>
127                     <CALL '\1aNPRINT 1>
128                     <RETURN %<>>
129 EXIT38
130                     <TYPE? TEMP22 <TYPE-CODE FALSE> + PHRASE37>
131                     <DEAD TEMP22>
132                     <TYPE? FLAT11 <TYPE-CODE FALSE> - BOOL45>
133                     <FRAME '\1aPRINC>
134                     <PUSH " ...">
135                     <PUSH OUTC12>
136                     <CALL '\1aPRINC 2>
137 BOOL45
138                     <SET SU27 %<> (TYPE FALSE)>
139                     <JUMP + PHRASE47>
140 PHRASE37
141                     <NTHR 'OUTCHAN 2 = TEMP22 (RECORD-TYPE ATOM) (TYPE LBIND)>
142                     <NTHR TEMP22 1 = TEMP22 (RECORD-TYPE LBIND)>
143                     <NTHUV TEMP22 5 = TEMP22 (TYPE INTCHAN)>
144                     <NTHUV TEMP22 2 = SU27 (TYPE FIX)>
145                     <DEAD TEMP22>
146 PHRASE47
147                     <TYPE? FLAT11 <TYPE-CODE FALSE> - BOOL50>
148                     <DEAD FLAT11>
149                     <FRAME '\1aCRLF>
150                     <PUSH OUTC12>
151                     <DEAD OUTC12>
152                     <CALL '\1aCRLF 1>
153 BOOL50
154                     <FRAME '\1aCLOSE>
155                     <NTHR 'OUTCHAN 2 = TEMP22 (RECORD-TYPE ATOM) (TYPE LBIND)>
156                     <NTHR TEMP22 1 = STACK (RECORD-TYPE LBIND)>
157                     <DEAD TEMP22>
158                     <CALL '\1aCLOSE 1>
159                     <UNBIND TEMP3>
160                     <DEAD TEMP3>
161                     <ADJ -18>
162                     <RETURN SU27>
163                     <DEAD SU27>
164                     <END \1aNODE-PRINT>
165
166 #WORD *22020566200*
167                     <GFCN \1aINTCHAN-OPEN ("VALUE" INTCHAN ANY ANY ANY ANY ANY ANY) TYP4 OPER5 NM6 C-OR-F7 CNT8 MAX9>
168                     <TEMP TEMP11>
169                     <INTGO>
170                     <PUSH C-OR-F7>
171                     <DEAD C-OR-F7>
172                     <PUSH CNT8>
173                     <DEAD CNT8>
174                     <PUSH MAX9>
175                     <DEAD MAX9>
176                     <UBLOCK <TYPE-CODE VECTOR> 3 = TEMP11>
177                     <CHTYPE TEMP11 <TYPE-CODE INTCHAN> = TEMP11>
178                     <RETURN TEMP11>
179                     <DEAD TEMP11>
180                     <END \1aINTCHAN-OPEN>
181
182 #WORD *247250345*
183                     <GFCN \1aINTCHAN-CLOSE ("VALUE" ATOM ANY ANY) CHANNEL4 OPER5>
184                     <TEMP>
185                     <INTGO>
186                     <RETURN 'T>
187                     <END \1aINTCHAN-CLOSE>
188
189 #WORD *10455001245*
190                     <GFCN \1aINTCHAN-WRITE-BYTE ("VALUE" ANY CHANNEL ANY ANY) CHAN4 OPER5 CHR6>
191                     <TEMP D7 INO8 TEMP13>
192                     <INTGO>
193                     <NTHUV CHAN4 5 = D7>
194                     <DEAD CHAN4>
195                     <NTHUV D7 1 = INO8>
196                     <TYPE? INO8 <TYPE-CODE FALSE> - PHRASE10>
197                     <DEAD INO8>
198                     <NTHUV D7 2 = TEMP13 (TYPE FIX)>
199                     <ADD TEMP13 1 = INO8 (TYPE FIX)>
200                     <DEAD TEMP13>
201                     <NTHUV D7 3 = TEMP13 (TYPE FIX)>
202                     <GRTR? INO8 TEMP13 - PHRASE12 (TYPE FIX)>
203                     <DEAD TEMP13>
204                     <FRAME '\1aRETURN>
205                     <PUSH 'T>
206                     <GEN-LVAL 'NACT = STACK>
207                     <CALL '\1aRETURN 2 = D7>
208                     <RETURN D7>
209                     <DEAD D7>
210 PHRASE12
211                     <PUTUV D7 2 INO8 (TYPE FIX)>
212                     <DEAD INO8>
213                     <RETURN D7>
214                     <DEAD D7>
215 PHRASE10
216                     <NTHUV D7 2 = INO8 (TYPE FIX)>
217                     <NTHUV D7 3 = TEMP13 (TYPE FIX)>
218                     <VEQUAL? INO8 TEMP13 - TAG22 (TYPE FIX)>
219                     <DEAD INO8 TEMP13>
220                     <RETURN %<>>
221 TAG22
222                     <FRAME '\1aCHANNEL-OP>
223                     <NTHUV D7 1 = STACK (TYPE CHANNEL)>
224                     <PUSH 'WRITE-BYTE>
225                     <PUSH CHR6>
226                     <DEAD CHR6>
227                     <CALL '\1aCHANNEL-OP 3>
228                     <NTHUV D7 2 = INO8 (TYPE FIX)>
229                     <ADD INO8 1 = INO8 (TYPE FIX)>
230                     <PUTUV D7 2 INO8 (TYPE FIX)>
231                     <DEAD INO8>
232                     <RETURN D7>
233                     <DEAD D7>
234                     <END \1aINTCHAN-WRITE-BYTE>
235
236 #WORD *5123450277*
237                     <GFCN \1aINTCHAN-WRITE-BUFFER ("VALUE" ANY CHANNEL ANY STRING "OPTIONAL" FIX) CHAN6 OPER7 STR8 N9>
238                     <OPT-DISPATCH 3 %<> OPT4 OPT5>
239 OPT4
240                     <PUSH #T$UNBOUND 0>
241 OPT5
242                     <TEMP D10 INO11 TEMP16:FIX TEMP30:FIX>
243                     <INTGO>
244                     <TYPE? N9 <TYPE-CODE UNBOUND> - TAG12>
245                     <LENUS STR8 = N9 (TYPE FIX)>
246 TAG12
247                     <NTHUV CHAN6 5 = D10>
248                     <DEAD CHAN6>
249                     <NTHUV D10 1 = INO11>
250                     <TYPE? INO11 <TYPE-CODE FALSE> - PHRASE15>
251                     <NTHUV D10 3 = TEMP16 (TYPE FIX)>
252                     <NTHUV D10 2 = INO11 (TYPE FIX)>
253                     <ADD INO11 N9 = INO11 (TYPE FIX)>
254                     <DEAD N9>
255                     <GRTR? TEMP16 INO11 - TAG18>
256                     <SET TEMP16 INO11 (TYPE FIX)>
257                     <DEAD INO11>
258 TAG18
259                     <SET INO11 TEMP16>
260                     <DEAD TEMP16>
261                     <PUTUV D10 2 INO11 (TYPE FIX)>
262                     <NTHUV D10 3 = D10 (TYPE FIX)>
263                     <VEQUAL? INO11 D10 + TAG22 (TYPE FIX)>
264                     <DEAD INO11 D10>
265                     <RETURN %<>>
266 TAG22
267                     <FRAME '\1aRETURN>
268                     <PUSH 'T>
269                     <GEN-LVAL 'NACT = STACK>
270                     <CALL '\1aRETURN 2 = INO11>
271                     <RETURN INO11>
272                     <DEAD INO11>
273 PHRASE15
274                     <NTHUV D10 2 = TEMP16 (TYPE FIX)>
275                     <ADD TEMP16 N9 = N9 (TYPE FIX)>
276                     <DEAD TEMP16>
277                     <NTHUV D10 3 = TEMP16 (TYPE FIX)>
278                     <GRTR? N9 TEMP16 + PHRASE26 (TYPE FIX)>
279                     <DEAD TEMP16>
280                     <FRAME '\1aCHANNEL-OP>
281                     <PUSH INO11>
282                     <DEAD INO11>
283                     <PUSH 'WRITE-BUFFER>
284                     <PUSH STR8>
285                     <DEAD STR8>
286                     <NTHUV D10 2 = TEMP16 (TYPE FIX)>
287                     <SUB N9 TEMP16 = STACK (TYPE FIX)>
288                     <DEAD TEMP16>
289                     <CALL '\1aCHANNEL-OP 4>
290                     <PUTUV D10 2 N9 (TYPE FIX)>
291                     <DEAD N9>
292                     <RETURN D10>
293                     <DEAD D10>
294 PHRASE26
295                     <NTHUV D10 2 = TEMP16 (TYPE FIX)>
296                     <NTHUV D10 3 = TEMP30 (TYPE FIX)>
297                     <VEQUAL? TEMP16 TEMP30 - TAG31 (TYPE FIX)>
298                     <DEAD TEMP16 TEMP30>
299                     <RETURN %<>>
300 TAG31
301                     <FRAME '\1aCHANNEL-OP>
302                     <PUSH INO11>
303                     <DEAD INO11>
304                     <PUSH 'WRITE-BUFFER>
305                     <PUSH STR8>
306                     <DEAD STR8>
307                     <NTHUV D10 3 = TEMP16 (TYPE FIX)>
308                     <NTHUV D10 2 = TEMP30 (TYPE FIX)>
309                     <SUB TEMP16 TEMP30 = STACK (TYPE FIX)>
310                     <DEAD TEMP16 TEMP30>
311                     <CALL '\1aCHANNEL-OP 4>
312                     <NTHUV D10 3 = TEMP30 (TYPE FIX)>
313                     <PUTUV D10 2 TEMP30 (TYPE FIX)>
314                     <DEAD TEMP30>
315                     <RETURN D10>
316                     <DEAD D10>
317                     <END \1aINTCHAN-WRITE-BUFFER>
318
319 #WORD *7266266326*
320                     <GFCN \1aNPRINT ("VALUE" ANY NODE) N4>
321                     <TEMP COD5 TEMP9 TEMP61 TEMP62 TEMP83>
322                     <INTGO>
323                     <NTHUV N4 1 = COD5 (TYPE FIX)>
324                     <GEN-LVAL 'LOSER = TEMP9>
325                     <EQUAL? TEMP9 N4 - TAG8>
326                     <DEAD TEMP9>
327                     <SET TEMP9 'T (TYPE ATOM)>
328                     <JUMP + TAG12>
329 TAG8
330                     <SET TEMP9 %<> (TYPE FALSE)>
331 TAG12
332                     <VEQUAL? TEMP9 0 + BOOL13>
333                     <FRAME '\1aPRINC>
334                     <PUSH " **** ">
335                     <GEN-LVAL 'OUTCHAN = STACK>
336                     <CALL '\1aPRINC 2>
337 BOOL13
338                     <VEQUAL? COD5 1 + BOOL19 (TYPE FIX)>
339                     <VEQUAL? COD5 51 - PHRASE18 (TYPE FIX)>
340 BOOL19
341                     <FRAME '\1aPRINC>
342                     <PUSH "<FUNCTION ">
343                     <GEN-LVAL 'OUTCHAN = STACK>
344                     <CALL '\1aPRINC 2>
345                     <FRAME '\1aPRNARGL>
346                     <NTHUV N4 10 = STACK (TYPE LIST)>
347                     <NTHUV N4 3 = STACK>
348                     <PUSH %<>>
349                     <CALL '\1aPRNARGL 3>
350                     <FRAME '\1aPRINC>
351                     <PUSH " ">
352                     <GEN-LVAL 'OUTCHAN = STACK>
353                     <CALL '\1aPRINC 2>
354                     <FRAME '\1aSEQ-PRINT>
355                     <NTHUV N4 5 = STACK (TYPE LIST)>
356                     <DEAD N4>
357                     <CALL '\1aSEQ-PRINT 1>
358                     <FRAME '\1aPRINC>
359                     <PUSH ">">
360                     <GEN-LVAL 'OUTCHAN = STACK>
361                     <CALL '\1aPRINC 2>
362                     <JUMP + PHRASE194>
363 PHRASE18
364                     <VEQUAL? COD5 5 - PHRASE36 (TYPE FIX)>
365                     <FRAME '\1aPRINC>
366                     <PUSH "<">
367                     <GEN-LVAL 'OUTCHAN = STACK>
368                     <CALL '\1aPRINC 2>
369                     <FRAME '\1aPRIN1>
370                     <NTHUV N4 4 = STACK>
371                     <GEN-LVAL 'OUTCHAN = STACK>
372                     <CALL '\1aPRIN1 2>
373                     <FRAME '\1aPRINC>
374                     <PUSH " ">
375                     <GEN-LVAL 'OUTCHAN = STACK>
376                     <CALL '\1aPRINC 2>
377                     <FRAME '\1aPRNARGL>
378                     <NTHUV N4 10 = STACK (TYPE LIST)>
379                     <NTHUV N4 3 = STACK>
380                     <PUSH 'T>
381                     <CALL '\1aPRNARGL 3>
382                     <FRAME '\1aPRINC>
383                     <PUSH " ">
384                     <GEN-LVAL 'OUTCHAN = STACK>
385                     <CALL '\1aPRINC 2>
386                     <FRAME '\1aSEQ-PRINT>
387                     <NTHUV N4 5 = STACK (TYPE LIST)>
388                     <DEAD N4>
389                     <CALL '\1aSEQ-PRINT 1>
390                     <FRAME '\1aPRINC>
391                     <PUSH ">">
392                     <GEN-LVAL 'OUTCHAN = STACK>
393                     <CALL '\1aPRINC 2>
394                     <JUMP + PHRASE194>
395 PHRASE36
396                     <VEQUAL? COD5 71 - PHRASE59 (TYPE FIX)>
397                     <FRAME '\1aPRINC>
398                     <GVAL 'MAP-SPEC-PRINT = TEMP61>
399                     <NTHUV N4 9 = TEMP62>
400                     <DEAD N4>
401                     <NTHUV TEMP61 TEMP62 = STACK (TYPE STRING)>
402                     <DEAD TEMP61 TEMP62>
403                     <GEN-LVAL 'OUTCHAN = STACK>
404                     <CALL '\1aPRINC 2>
405                     <JUMP + PHRASE194>
406 PHRASE59
407                     <VEQUAL? COD5 62 - PHRASE65 (TYPE FIX)>
408                     <FRAME '\1aPRINC>
409                     <PUSH ",">
410                     <GEN-LVAL 'OUTCHAN = STACK>
411                     <CALL '\1aPRINC 2>
412                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
413                     <EMPL? TEMP61 + PHRASE194 (TYPE LIST)>
414                     <DEAD TEMP61>
415                     <FRAME '\1aPRIN1>
416                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
417                     <DEAD N4>
418                     <NTHL TEMP61 1 = TEMP61 (TYPE NODE)>
419                     <NTHUV TEMP61 4 = STACK>
420                     <DEAD TEMP61>
421                     <GEN-LVAL 'OUTCHAN = STACK>
422                     <CALL '\1aPRIN1 2>
423                     <JUMP + PHRASE194>
424 PHRASE65
425                     <VEQUAL? COD5 15 - PHRASE75 (TYPE FIX)>
426                     <FRAME '\1aPRINC>
427                     <GVAL 'ST-CHRS = TEMP61>
428                     <NTHUV N4 4 = TEMP62>
429                     <SET TEMP83 [TUPLE UVECTOR VECTOR LIST] (TYPE VECTOR)>
430                     <TYPE? TEMP62 <TYPE-CODE ATOM> - TAG78>
431                     <LOOP (TEMP62 VALUE) (TEMP83 LENGTH VALUE)>
432 TAG80
433                     <NTHUV TEMP83 1 = COD5>
434                     <VEQUAL? COD5 TEMP62 + TAG79>
435                     <DEAD COD5>
436                     <RESTUV TEMP83 1 = TEMP83 (TYPE VECTOR)>
437                     <EMPUV? TEMP83 - TAG80>
438 TAG78
439                     <SET TEMP83 %<> (TYPE FALSE)>
440 TAG79
441                     <LENR TEMP83 = COD5 (RECORD-TYPE %<>) (TYPE FIX)>
442                     <DEAD TEMP83>
443                     <NTHUV TEMP61 COD5 = STACK (TYPE STRING)>
444                     <DEAD TEMP61>
445                     <GEN-LVAL 'OUTCHAN = STACK>
446                     <CALL '\1aPRINC 2>
447                     <FRAME '\1aSEQ-PRINT>
448                     <NTHUV N4 5 = STACK (TYPE LIST)>
449                     <DEAD N4>
450                     <CALL '\1aSEQ-PRINT 1>
451                     <FRAME '\1aPRINC>
452                     <GVAL 'EN-CHRS = TEMP83>
453                     <NTHUV TEMP83 COD5 = STACK (TYPE STRING)>
454                     <DEAD TEMP83 COD5>
455                     <GEN-LVAL 'OUTCHAN = STACK>
456                     <CALL '\1aPRINC 2>
457                     <JUMP + PHRASE194>
458 PHRASE75
459                     <VEQUAL? COD5 68 + BOOL92 (TYPE FIX)>
460                     <VEQUAL? COD5 3 - PHRASE91 (TYPE FIX)>
461 BOOL92
462                     <FRAME '\1aPRINC>
463                     <PUSH "!">
464                     <GEN-LVAL 'OUTCHAN = STACK>
465                     <CALL '\1aPRINC 2>
466                     <NTHUV N4 5 = COD5 (TYPE LIST)>
467                     <EMPL? COD5 + PHRASE194 (TYPE LIST)>
468                     <DEAD COD5>
469                     <FRAME '\1aNPRINT>
470                     <NTHUV N4 5 = COD5 (TYPE LIST)>
471                     <DEAD N4>
472                     <NTHL COD5 1 = STACK (TYPE NODE)>
473                     <DEAD COD5>
474                     <CALL '\1aNPRINT 1>
475                     <JUMP + PHRASE194>
476 PHRASE91
477                     <VEQUAL? COD5 8 - PHRASE99 (TYPE FIX)>
478                     <FRAME '\1aPRINC>
479                     <PUSH "(">
480                     <GEN-LVAL 'OUTCHAN = STACK>
481                     <CALL '\1aPRINC 2>
482                     <FRAME '\1aNPRINT>
483                     <NTHUV N4 4 = STACK (TYPE NODE)>
484                     <CALL '\1aNPRINT 1>
485                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
486                     <EMPL? TEMP61 + PHRASE105 (TYPE LIST)>
487                     <DEAD TEMP61>
488                     <FRAME '\1aPRINC>
489                     <PUSH " ">
490                     <GEN-LVAL 'OUTCHAN = STACK>
491                     <CALL '\1aPRINC 2>
492                     <FRAME '\1aSEQ-PRINT>
493                     <NTHUV N4 5 = STACK (TYPE LIST)>
494                     <DEAD N4>
495                     <CALL '\1aSEQ-PRINT 1>
496 PHRASE105
497                     <FRAME '\1aPRINC>
498                     <PUSH ")">
499                     <GEN-LVAL 'OUTCHAN = STACK>
500                     <CALL '\1aPRINC 2>
501                     <JUMP + PHRASE194>
502 PHRASE99
503                     <VEQUAL? COD5 2 - PHRASE115 (TYPE FIX)>
504                     <NTHUV N4 4 = TEMP61>
505                     <TYPE? TEMP61 <TYPE-CODE VECTOR> + TAG118>
506                     <TYPE? TEMP61 <TYPE-CODE UVECTOR> + TAG118>
507                     <TYPE? TEMP61 <TYPE-CODE LIST> + TAG118>
508                     <TYPE? TEMP61 <TYPE-CODE FORM> - BOOL116>
509                     <DEAD TEMP61>
510 TAG118
511                     <FRAME '\1aPRINC>
512                     <PUSH !\'>
513                     <GEN-LVAL 'OUTCHAN = STACK>
514                     <CALL '\1aPRINC 2>
515 BOOL116
516                     <FRAME '\1aPRIN1>
517                     <NTHUV N4 4 = STACK>
518                     <DEAD N4>
519                     <GEN-LVAL 'OUTCHAN = STACK>
520                     <CALL '\1aPRIN1 2>
521                     <JUMP + PHRASE194>
522 PHRASE115
523                     <VEQUAL? COD5 11 + BOOL128 (TYPE FIX)>
524                     <VEQUAL? COD5 32 - PHRASE127 (TYPE FIX)>
525 BOOL128
526                     <FRAME '\1aPRINC>
527                     <PUSH "<">
528                     <GEN-LVAL 'OUTCHAN = STACK>
529                     <CALL '\1aPRINC 2>
530                     <FRAME '\1aPRIN1>
531                     <PUSH 'SET>
532                     <GEN-LVAL 'OUTCHAN = STACK>
533                     <CALL '\1aPRIN1 2>
534                     <FRAME '\1aPRINC>
535                     <PUSH " ">
536                     <GEN-LVAL 'OUTCHAN = STACK>
537                     <CALL '\1aPRINC 2>
538                     <FRAME '\1aSEQ-PRINT>
539                     <NTHUV N4 5 = STACK (TYPE LIST)>
540                     <DEAD N4>
541                     <CALL '\1aSEQ-PRINT 1>
542                     <FRAME '\1aPRINC>
543                     <PUSH ">">
544                     <GEN-LVAL 'OUTCHAN = STACK>
545                     <CALL '\1aPRINC 2>
546                     <JUMP + PHRASE194>
547 PHRASE127
548                     <GVAL 'LGV = TEMP61>
549                     <EMPUU? TEMP61 + TAG148>
550                     <LOOP (COD5 VALUE) (TEMP61 LENGTH VALUE)>
551 TAG149
552                     <NTHUU TEMP61 1 = TEMP62>
553                     <VEQUAL? TEMP62 COD5 + BOOL154>
554                     <DEAD TEMP62>
555                     <RESTUU TEMP61 1 = TEMP61 (TYPE UVECTOR)>
556                     <EMPUU? TEMP61 - TAG149>
557 TAG148
558                     <VEQUAL? COD5 6 - PHRASE146 (TYPE FIX)>
559                     <DEAD COD5>
560                     <NTHUV N4 9 = TEMP61>
561                     <GVAL 'LVAL = TEMP62>
562                     <EQUAL? TEMP61 TEMP62 - BOOL155>
563                     <DEAD TEMP61 TEMP62>
564                     <SET COD5 31 (TYPE FIX)>
565                     <JUMP + BOOL154>
566 BOOL155
567                     <NTHUV N4 9 = TEMP62>
568                     <GVAL 'GVAL = TEMP61>
569                     <EQUAL? TEMP62 TEMP61 - PHRASE146>
570                     <DEAD TEMP62 TEMP61>
571                     <SET COD5 33 (TYPE FIX)>
572 BOOL154
573                     <VEQUAL? COD5 10 + BOOL159 (TYPE FIX)>
574                     <VEQUAL? COD5 31 - PHRASE158 (TYPE FIX)>
575                     <DEAD COD5>
576 BOOL159
577                     <FRAME '\1aPRINC>
578                     <PUSH !\.>
579                     <GEN-LVAL 'OUTCHAN = STACK>
580                     <CALL '\1aPRINC 2>
581                     <JUMP + PHRASE163>
582 PHRASE158
583                     <FRAME '\1aPRINC>
584                     <PUSH !\,>
585                     <GEN-LVAL 'OUTCHAN = STACK>
586                     <CALL '\1aPRINC 2>
587 PHRASE163
588                     <NTHUV N4 4 = TEMP61>
589                     <TYPE? TEMP61 <TYPE-CODE SYMTAB> - PHRASE168>
590                     <DEAD TEMP61>
591                     <FRAME '\1aPRIN1>
592                     <NTHUV N4 4 = TEMP61 (TYPE SYMTAB)>
593                     <DEAD N4>
594                     <NTHUV TEMP61 2 = STACK (TYPE ATOM)>
595                     <DEAD TEMP61>
596                     <GEN-LVAL 'OUTCHAN = STACK>
597                     <CALL '\1aPRIN1 2>
598                     <JUMP + PHRASE194>
599 PHRASE168
600                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
601                     <EMPL? TEMP61 + PHRASE194 (TYPE LIST)>
602                     <DEAD TEMP61>
603                     <FRAME '\1aNPRINT>
604                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
605                     <DEAD N4>
606                     <NTHL TEMP61 1 = STACK (TYPE NODE)>
607                     <DEAD TEMP61>
608                     <CALL '\1aNPRINT 1>
609                     <JUMP + PHRASE194>
610 PHRASE146
611                     <NTHUV N4 4 = TEMP61>
612                     <EQUAL? TEMP61 'INTH - PHRASE178>
613                     <DEAD TEMP61>
614                     <FRAME '\1aPRINC>
615                     <PUSH "<">
616                     <GEN-LVAL 'OUTCHAN = STACK>
617                     <CALL '\1aPRINC 2>
618                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
619                     <EMPL? TEMP61 + BOOL182 (TYPE LIST)>
620                     <DEAD TEMP61>
621                     <FRAME '\1aNPRINT>
622                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
623                     <RESTL TEMP61 1 = TEMP61 (TYPE LIST)>
624                     <NTHL TEMP61 1 = STACK (TYPE NODE)>
625                     <DEAD TEMP61>
626                     <CALL '\1aNPRINT 1>
627 BOOL182
628                     <FRAME '\1aPRINC>
629                     <PUSH " ">
630                     <GEN-LVAL 'OUTCHAN = STACK>
631                     <CALL '\1aPRINC 2>
632                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
633                     <EMPL? TEMP61 + BOOL188 (TYPE LIST)>
634                     <DEAD TEMP61>
635                     <FRAME '\1aNPRINT>
636                     <NTHUV N4 5 = TEMP61 (TYPE LIST)>
637                     <DEAD N4>
638                     <NTHL TEMP61 1 = STACK (TYPE NODE)>
639                     <DEAD TEMP61>
640                     <CALL '\1aNPRINT 1>
641 BOOL188
642                     <FRAME '\1aPRINC>
643                     <PUSH ">">
644                     <GEN-LVAL 'OUTCHAN = STACK>
645                     <CALL '\1aPRINC 2>
646                     <JUMP + PHRASE194>
647 PHRASE178
648                     <FRAME '\1aPRINC>
649                     <PUSH "<">
650                     <GEN-LVAL 'OUTCHAN = STACK>
651                     <CALL '\1aPRINC 2>
652                     <FRAME '\1aPRINC>
653                     <NTHUV N4 4 = STACK>
654                     <GEN-LVAL 'OUTCHAN = STACK>
655                     <CALL '\1aPRINC 2>
656                     <FRAME '\1aPRINC>
657                     <PUSH " ">
658                     <GEN-LVAL 'OUTCHAN = STACK>
659                     <CALL '\1aPRINC 2>
660                     <FRAME '\1aSEQ-PRINT>
661                     <NTHUV N4 5 = STACK (TYPE LIST)>
662                     <DEAD N4>
663                     <CALL '\1aSEQ-PRINT 1>
664                     <FRAME '\1aPRINC>
665                     <PUSH ">">
666                     <GEN-LVAL 'OUTCHAN = STACK>
667                     <CALL '\1aPRINC 2>
668 PHRASE194
669                     <VEQUAL? TEMP9 0 + BOOL212>
670                     <FRAME '\1aPRINC>
671                     <PUSH " **** ">
672                     <GEN-LVAL 'OUTCHAN = STACK>
673                     <CALL '\1aPRINC 2 = TEMP9>
674 BOOL212
675                     <RETURN TEMP9>
676                     <DEAD TEMP9>
677                     <END \1aNPRINT>
678
679 <SETG MAP-SPEC-PRINT [",+" ",-" ",*" ",/" ",LIST"]>
680
681 <SETG LGV <UVECTOR ,LVAL-CODE ,FLVAL-CODE ,GVAL-CODE ,FGVAL-CODE ,ASSIGNED?-CODE>>
682
683 <SETG ST-CHRS ["(" "[" "![" "<TUPLE"]>
684
685 <SETG EN-CHRS [")" "]" "!]" ">"]>
686
687 <GDECL (MAP-SPEC-PRINT ST-CHRS EN-CHRS) <VECTOR [REST STRING]> (LGV) <UVECTOR [REST FIX]>>
688
689 #WORD *24500121346*
690                     <GFCN \1aSEQ-PRINT ("VALUE" ANY <LIST [REST NODE]>) L4>
691                     <TEMP TEMP7 TEMP19:LIST>
692                     <INTGO>
693                     <EMPL? L4 - TAG8 (TYPE LIST)>
694                     <RETURN %<>>
695 TAG8
696                     <FRAME '\1aNPRINT>
697                     <NTHL L4 1 = STACK (TYPE NODE)>
698                     <CALL '\1aNPRINT 1>
699                     <RESTL L4 1 = L4 (TYPE LIST)>
700                     <EMPL? L4 - TAG12 (TYPE LIST)>
701                     <RETURN %<>>
702 TAG12
703                     <SET TEMP7 %<> (TYPE FALSE)>
704                     <SET TEMP19 L4 (TYPE LIST)>
705                     <DEAD L4>
706                     <LOOP>
707 MAP14
708                     <INTGO>
709                     <EMPL? TEMP19 + MAPAP17>
710                     <NTHL TEMP19 1 = TEMP7>
711                     <FRAME '\1aPRINC>
712                     <PUSH " ">
713                     <GEN-LVAL 'OUTCHAN = STACK>
714                     <CALL '\1aPRINC 2>
715                     <FRAME '\1aNPRINT>
716                     <PUSH TEMP7>
717                     <DEAD TEMP7>
718                     <CALL '\1aNPRINT 1 = TEMP7>
719                     <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
720                     <JUMP + MAP14>
721 MAPAP17
722                     <RETURN TEMP7>
723                     <DEAD TEMP7>
724                     <END \1aSEQ-PRINT>
725
726 #WORD *4170524230*
727                     <GFCN \1aPRNARGL ("VALUE" ANY <LIST [REST SYMTAB]> ANY "OPTIONAL" ANY) B6 R7 INAUX8>
728                     <OPT-DISPATCH 2 %<> OPT4 OPT5>
729 OPT4
730                     <PUSH %<>>
731 OPT5
732                     <TEMP (INOPT9 %<>) (DC10 ()) (FIRST11 'T) TEMP22 SYM27:SYMTAB COD28>
733                     <INTGO>
734                     <FRAME '\1aPRINC>
735                     <PUSH "(">
736                     <GEN-LVAL 'OUTCHAN = STACK>
737                     <CALL '\1aPRINC 2>
738                     <SET TEMP22 B6 (TYPE LIST)>
739                     <DEAD B6>
740                     <LOOP>
741 MAP17
742                     <INTGO>
743                     <EMPL? TEMP22 + MAPAP20>
744                     <NTHL TEMP22 1 = SYM27>
745                     <NTHUV SYM27 4 = COD28 (TYPE FIX)>
746                     <VEQUAL? FIRST11 0 - BOOL29>
747                     <DEAD FIRST11>
748                     <FRAME '\1aPRINC>
749                     <PUSH " ">
750                     <GEN-LVAL 'OUTCHAN = STACK>
751                     <CALL '\1aPRINC 2>
752 BOOL29
753                     <SET FIRST11 %<> (TYPE FALSE)>
754                     <VEQUAL? COD28 1 - PHRASE35 (TYPE FIX)>
755                     <FRAME '\1aPRINC>
756                     <PUSH "\"NAME\" ">
757                     <GEN-LVAL 'OUTCHAN = STACK>
758                     <CALL '\1aPRINC 2>
759                     <FRAME '\1aPRIN1>
760                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
761                     <GEN-LVAL 'OUTCHAN = STACK>
762                     <CALL '\1aPRIN1 2>
763                     <JUMP + PHRASE154>
764 PHRASE35
765                     <GRTR? COD28 3 + PHRASE46 (TYPE FIX)>
766                     <TYPE? INAUX8 <TYPE-CODE FALSE> - PHRASE48>
767                     <SET INAUX8 'T (TYPE ATOM)>
768                     <FRAME '\1aPRINC>
769                     <PUSH "\"AUX\" ">
770                     <GEN-LVAL 'OUTCHAN = STACK>
771                     <CALL '\1aPRINC 2>
772 PHRASE48
773                     <VEQUAL? COD28 2 - PHRASE54 (TYPE FIX)>
774                     <DEAD COD28>
775                     <FRAME '\1aPRINC>
776                     <PUSH "(">
777                     <GEN-LVAL 'OUTCHAN = STACK>
778                     <CALL '\1aPRINC 2>
779                     <FRAME '\1aPRIN1>
780                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
781                     <GEN-LVAL 'OUTCHAN = STACK>
782                     <CALL '\1aPRIN1 2>
783                     <FRAME '\1aPRINC>
784                     <PUSH " ">
785                     <GEN-LVAL 'OUTCHAN = STACK>
786                     <CALL '\1aPRINC 2>
787                     <FRAME '\1aNPRINT>
788                     <NTHUV SYM27 9 = STACK>
789                     <CALL '\1aNPRINT 1>
790                     <FRAME '\1aPRINC>
791                     <PUSH ")">
792                     <GEN-LVAL 'OUTCHAN = STACK>
793                     <CALL '\1aPRINC 2>
794                     <JUMP + PHRASE154>
795 PHRASE54
796                     <FRAME '\1aPRIN1>
797                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
798                     <GEN-LVAL 'OUTCHAN = STACK>
799                     <CALL '\1aPRIN1 2>
800                     <JUMP + PHRASE154>
801 PHRASE46
802                     <VEQUAL? COD28 4 - PHRASE77 (TYPE FIX)>
803                     <FRAME '\1aPRINC>
804                     <PUSH "\"TUPLE\" ">
805                     <GEN-LVAL 'OUTCHAN = STACK>
806                     <CALL '\1aPRINC 2>
807                     <FRAME '\1aPRIN1>
808                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
809                     <GEN-LVAL 'OUTCHAN = STACK>
810                     <CALL '\1aPRIN1 2>
811                     <JUMP + PHRASE154>
812 PHRASE77
813                     <VEQUAL? COD28 5 - PHRASE86 (TYPE FIX)>
814                     <FRAME '\1aPRINC>
815                     <PUSH "\"ARGS\" ">
816                     <GEN-LVAL 'OUTCHAN = STACK>
817                     <CALL '\1aPRINC 2>
818                     <FRAME '\1aPRIN1>
819                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
820                     <GEN-LVAL 'OUTCHAN = STACK>
821                     <CALL '\1aPRIN1 2>
822                     <JUMP + PHRASE154>
823 PHRASE86
824                     <GRTR? COD28 9 + PHRASE95 (TYPE FIX)>
825                     <VEQUAL? INOPT9 0 - PHRASE97>
826                     <SET INOPT9 'T (TYPE ATOM)>
827                     <FRAME '\1aPRINC>
828                     <PUSH "\"OPTIONAL\" ">
829                     <GEN-LVAL 'OUTCHAN = STACK>
830                     <CALL '\1aPRINC 2>
831 PHRASE97
832                     <GRTR? COD28 7 + PHRASE103 (TYPE FIX)>
833                     <FRAME '\1aPRINC>
834                     <PUSH "(">
835                     <GEN-LVAL 'OUTCHAN = STACK>
836                     <CALL '\1aPRINC 2>
837                     <VEQUAL? COD28 6 - BOOL108 (TYPE FIX)>
838                     <DEAD COD28>
839                     <FRAME '\1aPRINC>
840                     <PUSH "'">
841                     <GEN-LVAL 'OUTCHAN = STACK>
842                     <CALL '\1aPRINC 2>
843 BOOL108
844                     <FRAME '\1aPRIN1>
845                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
846                     <GEN-LVAL 'OUTCHAN = STACK>
847                     <CALL '\1aPRIN1 2>
848                     <FRAME '\1aPRINC>
849                     <PUSH " ">
850                     <GEN-LVAL 'OUTCHAN = STACK>
851                     <CALL '\1aPRINC 2>
852                     <FRAME '\1aNPRINT>
853                     <NTHUV SYM27 9 = STACK>
854                     <CALL '\1aNPRINT 1>
855                     <FRAME '\1aPRINC>
856                     <PUSH ")">
857                     <GEN-LVAL 'OUTCHAN = STACK>
858                     <CALL '\1aPRINC 2>
859                     <JUMP + PHRASE154>
860 PHRASE103
861                     <VEQUAL? COD28 8 - BOOL127 (TYPE FIX)>
862                     <DEAD COD28>
863                     <FRAME '\1aPRINC>
864                     <PUSH "'">
865                     <GEN-LVAL 'OUTCHAN = STACK>
866                     <CALL '\1aPRINC 2>
867 BOOL127
868                     <FRAME '\1aPRIN1>
869                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
870                     <GEN-LVAL 'OUTCHAN = STACK>
871                     <CALL '\1aPRIN1 2>
872                     <JUMP + PHRASE154>
873 PHRASE95
874                     <VEQUAL? COD28 10 - PHRASE136 (TYPE FIX)>
875                     <FRAME '\1aPRINC>
876                     <PUSH "\"CALL\" ">
877                     <GEN-LVAL 'OUTCHAN = STACK>
878                     <CALL '\1aPRINC 2>
879                     <FRAME '\1aPRIN1>
880                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
881                     <GEN-LVAL 'OUTCHAN = STACK>
882                     <CALL '\1aPRIN1 2>
883                     <JUMP + PHRASE154>
884 PHRASE136
885                     <VEQUAL? COD28 11 - PHRASE145 (TYPE FIX)>
886                     <FRAME '\1aPRINC>
887                     <PUSH "\"BIND\" ">
888                     <GEN-LVAL 'OUTCHAN = STACK>
889                     <CALL '\1aPRINC 2>
890                     <FRAME '\1aPRIN1>
891                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
892                     <GEN-LVAL 'OUTCHAN = STACK>
893                     <CALL '\1aPRIN1 2>
894                     <JUMP + PHRASE154>
895 PHRASE145
896                     <VEQUAL? COD28 12 - BOOL155 (TYPE FIX)>
897                     <DEAD COD28>
898                     <FRAME '\1aPRINC>
899                     <PUSH "'">
900                     <GEN-LVAL 'OUTCHAN = STACK>
901                     <CALL '\1aPRINC 2>
902 BOOL155
903                     <FRAME '\1aPRIN1>
904                     <NTHUV SYM27 2 = STACK (TYPE ATOM)>
905                     <GEN-LVAL 'OUTCHAN = STACK>
906                     <CALL '\1aPRIN1 2>
907 PHRASE154
908                     <NTHUV SYM27 7 = COD28>
909                     <VEQUAL? COD28 'ANY + PHRASE165>
910                     <DEAD COD28>
911                     <NTHUV SYM27 7 = COD28>
912                     <CONS COD28 DC10 = COD28>
913                     <DEAD DC10>
914                     <NTHUV SYM27 2 = DC10 (TYPE ATOM)>
915                     <DEAD SYM27>
916                     <CONS DC10 () = DC10>
917                     <CONS DC10 COD28 = DC10>
918                     <DEAD COD28>
919 PHRASE165
920                     <RESTL TEMP22 1 = TEMP22 (TYPE LIST)>
921                     <JUMP + MAP17>
922 MAPAP20
923                     <TYPE? R7 <TYPE-CODE FALSE> + PHRASE169>
924                     <EQUAL? R7 'ANY + PHRASE169>
925                     <CONS R7 DC10 = TEMP22>
926                     <DEAD R7 DC10>
927                     <CONS (VALUE) TEMP22 = DC10>
928                     <DEAD TEMP22>
929 PHRASE169
930                     <FRAME '\1aPRINC>
931                     <PUSH ")">
932                     <GEN-LVAL 'OUTCHAN = STACK>
933                     <CALL '\1aPRINC 2>
934                     <EMPL? DC10 - TAG176 (TYPE LIST)>
935                     <RETURN %<>>
936 TAG176
937                     <FRAME '\1aPRINC>
938                     <PUSH " ">
939                     <GEN-LVAL 'OUTCHAN = STACK>
940                     <CALL '\1aPRINC 2>
941                     <FRAME '\1aPRIN1>
942                     <CHTYPE DC10 <TYPE-CODE DECL> = STACK>
943                     <DEAD DC10>
944                     <GEN-LVAL 'OUTCHAN = STACK>
945                     <CALL '\1aPRIN1 2 = INOPT9>
946                     <RETURN INOPT9>
947                     <DEAD INOPT9>
948                     <END \1aPRNARGL>
949
950 <ENDPACKAGE>