4 <ENTRY MAPPER-AN MAPRET-STOP-ANA MAPLEAVE-ANA MENTROPY MAUX MAUX1 MTUPLE MBAD MOPT MOPT2 MNORM MARGS-ANA>
6 <USE "COMPDEC" "SYMANA" "CHKDCL" "CARANA" "ADVMESS">
8 <SETG SPECIAL-MAPF-R-SUBRS [,LIST ,+ ,* ,MAX ,MIN]>
11 <GFCN
\1aMAPPER-AN ("VALUE" ANY NODE ANY) MNOD4 MRTYP5>
12 <TEMP TEMP3:LBIND TEMP32 TEMP33 K6 (SBRL23 %<>) FINTYPE25 (CHF31 %<>) FAP9:NODE SBR22 TEMP53 TEMP54 ITRNOD8:NODE TT7 L-D18:LIST KK122:LIST ASSU17:LIST LAST-SEG163 SKIPF164>
14 <GETS 'BIND = TEMP3 (TYPE LBIND)>
15 <BBIND 'MNOD 'NODE %<> MNOD4>
17 <BBIND 'MRTYP 'ANY %<> MRTYP5>
20 <NTHR 'MNOD 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
21 <NTHR TEMP33 1 = TEMP32 (RECORD-TYPE LBIND)>
23 <NTHUV TEMP32 5 = K6 (TYPE LIST)>
25 <BBIND 'MPSTRS 'LIST 'FIX ()>
26 <NTHR 'MNOD 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
27 <NTHR TEMP33 1 = TEMP32 (RECORD-TYPE LBIND)>
29 <NTHUV TEMP32 9 = TEMP32>
31 <EQUAL? TEMP32 TEMP33 - TAG36>
33 <SET TEMP33 'T (TYPE ATOM)>
36 <SET TEMP33 %<> (TYPE FALSE)>
38 <BBIND 'R? <OR ATOM FALSE> 'FIX TEMP33>
40 <BBIND 'TUPCNT 'FIX 'FIX 1>
41 <BBIND 'RETYPS 'ANY 'FIX 'NO-RETURN>
42 <BBIND 'L-V 'LIST 'FIX>
43 <BBIND 'D-V 'LIST 'FIX>
44 <BBIND 'VALSPCD 'LIST 'FIX>
45 <BBIND 'SEGFX <LIST [REST NODE]> 'FIX ()>
46 <BBIND 'STATE 'FIX 'FIX>
47 <BBIND 'FRET 'ANY 'FIX 'T>
48 <BBIND 'FSTOP 'ANY 'FIX 'T>
49 <GEN-LVAL 'VARTBL = TEMP33>
50 <BBIND 'OV 'SYMTAB 'FIX TEMP33>
53 <NTHL K6 1 = FAP9 (TYPE NODE)>
56 <NTHR 'MNOD 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
57 <NTHR TEMP33 1 = TEMP33 (RECORD-TYPE LBIND)>
58 <NTHUV TEMP33 4 = STACK>
63 <CALL '
\1aSUBAP? 1 = SBR22>
64 <TYPE? SBR22 <TYPE-CODE FALSE> + PHRASE46>
66 <GVAL 'SPECIAL-MAPF-R-SUBRS = TEMP32>
67 <TYPE TEMP33 = TEMP53>
68 <EMPTY? TEMP32 + TAG49>
69 <LOOP (TEMP33 VALUE) (TEMP53 VALUE) (TEMP32 LENGTH VALUE TYPE)>
71 <NTH1 TEMP32 = TEMP54>
72 <TYPE? TEMP54 TEMP53 - TAG52>
73 <VEQUAL? TEMP54 TEMP33 + TAG50>
76 <REST1 TEMP32 = TEMP32>
77 <EMPTY? TEMP32 - TAG51>
79 <SET SBRL23 %<> (TYPE FALSE)>
84 <PUTUV FAP9 1 71 (TYPE FIX)>
88 <EQUAL? TEMP32 TEMP53 + PHRASE56>
90 <SET FINTYPE25 <OR FIX FLOAT> (TYPE FORM)>
91 <NTHR 'STATE 2 = TEMP53 (RECORD-TYPE ATOM) (TYPE LBIND)>
92 <PUTR TEMP53 1 1 (RECORD-TYPE LBIND)>
96 <SET FINTYPE25 'LIST (TYPE ATOM)>
98 <LENUV SBRL23 = TEMP53 (TYPE FIX)>
102 <RESTL K6 1 = TEMP53 (TYPE LIST)>
103 <NTHL TEMP53 1 = ITRNOD8 (TYPE NODE)>
105 <RESTL K6 1 = TEMP32 (TYPE LIST)>
106 <RESTL TEMP32 1 = TEMP33 (TYPE LIST)>
111 <EMPL? TEMP33 + MAPAP64>
112 <NTHL TEMP33 1 = TEMP53>
114 <NTHUV TEMP53 3 = STACK>
116 <CALL '
\1aMINL 1 = TEMP32>
117 <LESS? TEMP32 1 - PHRASE71 (TYPE FIX)>
119 <SET CHF31 'T (TYPE ATOM)>
121 <RESTL TEMP33 1 = TEMP33 (TYPE LIST)>
124 <NTHUV ITRNOD8 1 = TT7 (TYPE FIX)>
125 <VEQUAL? TT7 51 - PHRASE76 (TYPE FIX)>
126 <PUTUV ITRNOD8 8 %<>>
127 <RESTL K6 1 = K6 (TYPE LIST)>
128 <RESTL K6 1 = K6 (TYPE LIST)>
129 <SET TEMP33 K6 (TYPE LIST)>
133 <EMPL? TEMP33 + MAPAP81>
134 <NTHL TEMP33 1 = TEMP53>
135 <NTHUV TEMP53 1 = SBR22 (TYPE FIX)>
136 <VEQUAL? SBR22 3 + BOOL89 (TYPE FIX)>
138 <NTHUV TEMP53 1 = SBR22 (TYPE FIX)>
139 <VEQUAL? SBR22 68 - PHRASE88 (TYPE FIX)>
143 <NTHUV TEMP53 5 = SBR22 (TYPE LIST)>
144 <NTHL SBR22 1 = STACK (TYPE NODE)>
147 <NTHR 'MNOD 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
148 <NTHR SBR22 1 = SBR22 (RECORD-TYPE LBIND)>
149 <NTHUV SBR22 4 = STACK>
151 <CALL '
\1aEANA 3 = TEMP32>
152 <FRAME '
\1aGET-ELE-TYPE>
156 <CALL '
\1aGET-ELE-TYPE 2 = TEMP32>
160 <CALL '
\1aTYPE-OK? 2 = SBR22>
161 <TYPE? SBR22 <TYPE-CODE FALSE> - PHRASE101>
163 <FRAME '
\1aCOMPILE-ERROR>
164 <PUSH "MAPF/R on non structured object(s)">
165 <NTHR 'MNOD 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
166 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
168 <CALL '
\1aCOMPILE-ERROR 2>
174 <NTHR 'MNOD 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
175 <NTHR SBR22 1 = SBR22 (RECORD-TYPE LBIND)>
176 <NTHUV SBR22 4 = STACK>
178 <CALL '
\1aEANA 3 = TEMP32>
180 <GEN-LVAL 'VERBOSE = SBR22>
181 <TYPE? SBR22 <TYPE-CODE FALSE> + PHRASE106>
185 <CALL '
\1aSTRUCTYP 1 = SBR22>
186 <TYPE? SBR22 <TYPE-CODE FALSE> + BOOL110>
187 <EQUAL? SBR22 'TEMPLATE - PHRASE106>
191 <NTHR 'MNOD 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
192 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
194 <CONS TEMP32 () = SBR22>
196 <CONS " type is: " SBR22 = SBR22>
197 <CONS TEMP53 SBR22 = SBR22>
199 <CONS "Non-specific structure for MAPF/R: " SBR22 = STACK>
201 <CALL '
\1aADDVMESS 2>
203 <RESTL TEMP33 1 = TEMP33 (TYPE LIST)>
206 <FRAME '
\1aSAVE-L-D-STATE>
207 <GEN-LVAL 'VARTBL = STACK>
208 <CALL '
\1aSAVE-L-D-STATE 1 = L-D18>
209 <GETS 'BIND = TEMP32 (TYPE LBIND)>
210 <BBIND 'HTMPS 'FIX 'FIX 0>
211 <BBIND 'TMPS 'FIX 'FIX 0>
212 <NTHUV ITRNOD8 11 = TEMP54 (TYPE SYMTAB)>
213 <BBIND 'VARTBL 'SYMTAB 'FIX TEMP54>
217 <GEN-LVAL 'LIFE = TEMP33>
218 <GEN-LVAL 'VERBOSE = TEMP53>
222 <GEN-LVAL 'VERBOSE = TEMP54>
223 <TYPE? TEMP54 <TYPE-CODE FALSE> + PHRASE131>
225 <GEN-SET 'VERBOSE TEMP53>
228 <GEN-SET 'LIFE TEMP33>
229 <NTHR 'L-V 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
230 <PUTR TEMP54 1 () (RECORD-TYPE LBIND)>
232 <NTHR 'FSTOP 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
233 <PUTR TEMP54 1 'T (RECORD-TYPE LBIND)>
235 <FRAME '
\1aRESET-VARS>
236 <NTHR 'VARTBL 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
237 <NTHR TEMP54 1 = STACK (RECORD-TYPE LBIND)>
239 <NTHR 'OV 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
240 <NTHR TEMP54 1 = STACK (RECORD-TYPE LBIND)>
242 <CALL '
\1aRESET-VARS 2>
243 <FRAME '
\1aMUNG-L-D-STATE>
244 <NTHR 'VARTBL 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
245 <NTHR TEMP54 1 = STACK (RECORD-TYPE LBIND)>
247 <CALL '
\1aMUNG-L-D-STATE 1>
249 <NTHR 'RETYPS 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
250 <PUTR TEMP54 1 'NO-RETURN (RECORD-TYPE LBIND)>
252 <FRAME '
\1aBUILD-TYPE-LIST>
253 <NTHR 'OV 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
254 <NTHR TEMP54 1 = STACK (RECORD-TYPE LBIND)>
256 <CALL '
\1aBUILD-TYPE-LIST 1 = ASSU17>
257 <FRAME '
\1aBUILD-TYPE-LIST>
258 <NTHR 'OV 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
259 <NTHR TEMP54 1 = STACK (RECORD-TYPE LBIND)>
261 <CALL '
\1aBUILD-TYPE-LIST 1 = TEMP54>
262 <NTHR 'VALSPCD 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
263 <PUTR SBR22 1 TEMP54 (RECORD-TYPE LBIND)>
265 <NTHUV ITRNOD8 10 = TT7 (TYPE LIST)>
266 <SET TEMP54 %<> (TYPE FALSE)>
267 <SET LAST-SEG163 %<> (TYPE FALSE)>
268 <SET SKIPF164 %<> (TYPE FALSE)>
272 <EMPL? TT7 - PHRASE167 (TYPE LIST)>
273 <TYPE? LAST-SEG163 <TYPE-CODE FALSE> - EXIT160>
275 <EMPL? K6 + EXIT160 (TYPE LIST)>
277 <FRAME '
\1aCOMPILE-ERROR>
278 <PUSH "MAPF/R function takes too few args ">
280 <CALL '
\1aCOMPILE-ERROR 2>
283 <NTHL TT7 1 = SBR22 (TYPE SYMTAB)>
284 <NTHUV SBR22 4 = SBR22 (TYPE FIX)>
285 <VEQUAL? SBR22 4 - PHRASE173 (TYPE FIX)>
287 <SET TEMP54 'T (TYPE ATOM)>
289 <EMPL? K6 + PHRASE181 (TYPE LIST)>
290 <NTHL K6 1 = SBR22 (TYPE NODE)>
291 <NTHUV SBR22 1 = SBR22 (TYPE FIX)>
292 <VEQUAL? SBR22 68 + BOOL177 (TYPE FIX)>
294 <NTHL K6 1 = SBR22 (TYPE NODE)>
295 <NTHUV SBR22 1 = SBR22 (TYPE FIX)>
296 <VEQUAL? SBR22 3 - PHRASE181 (TYPE FIX)>
299 <RESTL K6 1 = SBR22 (TYPE LIST)>
300 <EMPL? SBR22 - PHRASE179 (TYPE LIST)>
302 <SET LAST-SEG163 1 (TYPE FIX)>
304 <TYPE? LAST-SEG163 <TYPE-CODE FALSE> - PHRASE181>
305 <VEQUAL? TEMP54 0 - PHRASE181>
306 <SET SKIPF164 'T (TYPE ATOM)>
308 <FRAME '
\1aMANAL-DISP>
310 <EMPL? K6 - TAG189 (TYPE LIST)>
311 <SET SBR22 %<> (TYPE FALSE)>
314 <NTHL K6 1 = SBR22 (TYPE NODE)>
320 <CALL '
\1aMANAL-DISP 4 = SBR22>
321 <TYPE? SBR22 <TYPE-CODE FALSE> - BOOL185>
323 <VEQUAL? TEMP54 0 + PHRASE184>
325 <RESTL TT7 1 = TT7 (TYPE LIST)>
327 <EMPL? TT7 + PHRASE191 (TYPE LIST)>
328 <NTHL TT7 1 = SBR22 (TYPE SYMTAB)>
329 <NTHUV SBR22 3 = SBR22>
330 <TYPE? SBR22 <TYPE-CODE FALSE> + PHRASE191>
332 <PUTUV ITRNOD8 13 'T>
334 <TYPE? LAST-SEG163 <TYPE-CODE FALSE> + PHRASE194>
335 <ADD LAST-SEG163 1 = LAST-SEG163 (TYPE FIX)>
337 <TYPE? LAST-SEG163 <TYPE-CODE FALSE> - AGAIN165>
338 <EMPL? K6 + AGAIN165 (TYPE LIST)>
339 <RESTL K6 1 = K6 (TYPE LIST)>
343 <PUTUV ITRNOD8 16 SBR22>
345 <NTHR 'TMPS 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
346 <NTHR SBR22 1 = TT7 (RECORD-TYPE LBIND)>
348 <NTHR 'HTMPS 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
349 <NTHR SBR22 1 = K6 (RECORD-TYPE LBIND)>
351 <GEN-LVAL 'LIFE = TEMP54>
352 <GEN-LVAL 'VERBOSE = LAST-SEG163>
356 <GEN-LVAL 'VERBOSE = SBR22>
357 <TYPE? SBR22 <TYPE-CODE FALSE> + PHRASE214>
359 <GEN-SET 'VERBOSE LAST-SEG163>
360 <PUTREST LAST-SEG163 ()>
362 <GEN-SET 'LIFE TEMP54>
363 <NTHR 'FRET 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
364 <PUTR SBR22 1 'T (RECORD-TYPE LBIND)>
366 <NTHR 'TMPS 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
367 <PUTR SBR22 1 TT7 (RECORD-TYPE LBIND)>
369 <NTHR 'HTMPS 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
370 <PUTR SBR22 1 K6 (RECORD-TYPE LBIND)>
372 <FRAME '
\1aBUILD-TYPE-LIST>
373 <NTHR 'VARTBL 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
374 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
376 <CALL '
\1aBUILD-TYPE-LIST 1 = SBR22>
377 <PUTUV ITRNOD8 18 SBR22 (TYPE LIST)>
379 <PUTUV ITRNOD8 14 'NO-RETURN>
381 <NTHUV ITRNOD8 5 = STACK (TYPE LIST)>
382 <NTHUV ITRNOD8 17 = STACK>
383 <CALL '
\1aSEQ-AN 2 = SKIPF164>
384 <NTHUV ITRNOD8 19 = SBR22>
385 <TYPE? SBR22 <TYPE-CODE FALSE> + BOOL231>
387 <FRAME '
\1aASSUM-OK?>
388 <NTHUV ITRNOD8 18 = STACK (TYPE LIST)>
389 <NTHUV ITRNOD8 19 = STACK (TYPE LIST)>
390 <CALL '
\1aASSUM-OK? 2 = SBR22>
391 <TYPE? SBR22 <TYPE-CODE FALSE> + AGAIN212>
394 <EQUAL? SKIPF164 'NO-RETURN + PHRASE234>
395 <NTHR 'FRET 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
396 <NTHR SBR22 1 = SBR22 (RECORD-TYPE LBIND)>
397 <TYPE? SBR22 <TYPE-CODE FALSE> - PHRASE236>
399 <FRAME '
\1aMSAVE-L-D-STATE>
400 <NTHR 'L-V 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
401 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
403 <NTHR 'OV 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
404 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
406 <CALL '
\1aMSAVE-L-D-STATE 2 = SBR22>
407 <NTHR 'L-V 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
408 <PUTR TEMP54 1 SBR22 (RECORD-TYPE LBIND)>
410 <FRAME '
\1aASSERT-TYPES>
412 <NTHR 'VARTBL 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
413 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
415 <NTHUV ITRNOD8 16 = STACK (TYPE LIST)>
416 <CALL '
\1aORUPC 2 = STACK>
417 <CALL '
\1aASSERT-TYPES 1>
420 <FRAME '
\1aSAVE-L-D-STATE>
421 <NTHR 'OV 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
422 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
424 <CALL '
\1aSAVE-L-D-STATE 1 = SBR22>
425 <NTHR 'L-V 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
426 <PUTR TEMP54 1 SBR22 (RECORD-TYPE LBIND)>
430 <NTHUV ITRNOD8 14 = SBR22>
431 <EQUAL? SBR22 'NO-RETURN + PHRASE257>
433 <FRAME '
\1aASSERT-TYPES>
434 <NTHUV ITRNOD8 16 = STACK (TYPE LIST)>
435 <CALL '
\1aASSERT-TYPES 1>
438 <NTHR 'OV 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
439 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
441 <NTHR 'VALSPCD 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
442 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
444 <CALL '
\1aORUPC 2 = SBR22>
445 <NTHR 'VALSPCD 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
446 <PUTR TEMP54 1 SBR22 (RECORD-TYPE LBIND)>
448 <FRAME '
\1aASSUM-OK?>
451 <FRAME '
\1aBUILD-TYPE-LIST>
452 <NTHR 'VARTBL 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
453 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
455 <CALL '
\1aBUILD-TYPE-LIST 1 = STACK>
456 <CALL '
\1aASSUM-OK? 2 = SBR22>
457 <TYPE? SBR22 <TYPE-CODE FALSE> + AGAIN129>
459 <FRAME '
\1aTYPE-MERGE>
461 <NTHUV ITRNOD8 14 = STACK>
462 <CALL '
\1aTYPE-MERGE 2 = SBR22>
463 <PUTUV ITRNOD8 14 SBR22>
466 <NTHUV ITRNOD8 14 = STACK>
467 <NTHUV ITRNOD8 17 = STACK>
468 <CALL '
\1aTYPE-OK? 2 = SBR22>
469 <PUTUV ITRNOD8 3 SBR22>
474 <FRAME '
\1aASSERT-TYPES>
475 <NTHR 'VALSPCD 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
476 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
478 <CALL '
\1aASSERT-TYPES 1>
479 <NTHR 'STATE 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
480 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
481 <TYPE? TEMP32 <TYPE-CODE UNBOUND> + PHRASE283>
483 <FRAME '
\1aFIX-STATE>
484 <NTHUV ITRNOD8 14 = STACK>
486 <CALL '
\1aFIX-STATE 2>
487 <NTHR 'STATE 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
488 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
489 <GRTR? TEMP32 4 - PHRASE280 (TYPE FIX)>
491 <SET SBRL23 %<> (TYPE FALSE)>
492 <PUTUV FAP9 1 66 (TYPE FIX)>
493 <SET FINTYPE25 <OR FIX FLOAT> (TYPE FORM)>
496 <NTHR 'STATE 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
497 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
498 <SUB TEMP32 1 = TEMP32 (TYPE FIX)>
499 <NTHUV [FIX FLOAT FLOAT] TEMP32 = FINTYPE25 (TYPE ATOM)>
502 <FRAME '
\1aSAVE-SURVIVORS>
505 <GEN-LVAL 'LIFE = STACK>
507 <CALL '
\1aSAVE-SURVIVORS 3>
508 <FRAME '
\1aSAVE-SURVIVORS>
509 <NTHR 'L-V 2 = SBR22 (RECORD-TYPE ATOM) (TYPE LBIND)>
510 <NTHR SBR22 1 = STACK (RECORD-TYPE LBIND)>
512 <GEN-LVAL 'LIFE = STACK>
513 <CALL '
\1aSAVE-SURVIVORS 2>
514 <NTHR 'FSTOP 2 = TEMP54 (RECORD-TYPE ATOM) (TYPE LBIND)>
515 <NTHR TEMP54 1 = TEMP54 (RECORD-TYPE LBIND)>
516 <TYPE? TEMP54 <TYPE-CODE FALSE> + PHRASE295>
518 <FRAME '
\1aSAVE-L-D-STATE>
519 <GEN-LVAL 'VARTBL = STACK>
520 <CALL '
\1aSAVE-L-D-STATE 1 = TEMP32>
523 <FRAME '
\1aMSAVE-L-D-STATE>
524 <NTHR 'D-V 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
525 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
527 <GEN-LVAL 'VARTBL = STACK>
528 <CALL '
\1aMSAVE-L-D-STATE 2 = TEMP32>
530 <NTHR 'D-V 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
531 <PUTR TEMP33 1 TEMP32 (RECORD-TYPE LBIND)>
533 <FRAME '
\1aFREST-L-D-STATE>
534 <NTHR 'D-V 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
535 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
537 <CALL '
\1aFREST-L-D-STATE 1>
539 <GEN-LVAL 'LIFE = STACK>
540 <NTHR 'OV 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
541 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
543 <CALL '
\1aKILL-REM 2 = TEMP33>
544 <GEN-SET 'LIFE TEMP33>
546 <TYPE? SBRL23 <TYPE-CODE FALSE> + PHRASE323>
548 <FRAME '
\1aMUNG-SEGS>
549 <NTHR 'SEGFX 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
550 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
552 <CALL '
\1aMUNG-SEGS 1>
554 <NTHUV ITRNOD8 8 = TEMP33>
555 <TYPE? TEMP33 <TYPE-CODE FALSE> + PHRASE328>
557 <FRAME '
\1aUPDATE-SIDE-EFFECTS>
559 <NTHR 'MNOD 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
560 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
562 <CALL '
\1aUPDATE-SIDE-EFFECTS 2>
564 <NTHUV FAP9 1 = TEMP33 (TYPE FIX)>
565 <VEQUAL? TEMP33 2 - PHRASE333 (TYPE FIX)>
567 <NTHUV FAP9 4 = TEMP33>
568 <EQUAL? TEMP33 %<> - PHRASE333>
571 <VEQUAL? CHF31 0 + PHRASE337>
573 <FRAME '
\1aTYPE-MERGE>
577 <NTHR 'RETYPS 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
578 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
580 <CALL '
\1aTYPE-MERGE 3 = TEMP33>
584 <FRAME '
\1aTYPE-MERGE>
587 <NTHR 'RETYPS 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
588 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
590 <CALL '
\1aTYPE-MERGE 2 = STACK>
591 <NTHR 'MRTYP 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
592 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
594 <CALL '
\1aTYPE-OK? 2 = TEMP33>
598 <NTHR 'MRTYP 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
599 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
601 <CALL '
\1aTYPE-OK? 2 = TEMP33>
604 <TYPE? FINTYPE25 <TYPE-CODE UNBOUND> + PHRASE351>
605 <VEQUAL? FINTYPE25 'LIST - PHRASE353>
607 <FRAME '
\1aTYPE-MERGE>
611 <NTHUV ITRNOD8 3 = STACK>
613 <UBLOCK <TYPE-CODE VECTOR> 2 = STACK>
614 <CALL '
\1aFORM 2 = STACK>
615 <NTHR 'RETYPS 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
616 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
618 <CALL '
\1aTYPE-MERGE 2 = STACK>
619 <NTHR 'MRTYP 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
620 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
622 <CALL '
\1aTYPE-OK? 2 = TEMP33>
626 <FRAME '
\1aTYPE-MERGE>
629 <NTHR 'RETYPS 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
630 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
632 <CALL '
\1aTYPE-MERGE 2 = STACK>
633 <NTHR 'MRTYP 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
634 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
636 <CALL '
\1aTYPE-OK? 2 = TEMP33>
639 <NTHUV FAP9 1 = TEMP32 (TYPE FIX)>
640 <VEQUAL? TEMP32 66 - PHRASE369 (TYPE FIX)>
642 <NTHUV FAP9 4 = TEMP32>
643 <SET TEMP33 [TUPLE VECTOR UVECTOR] (TYPE VECTOR)>
644 <TYPE? TEMP32 <TYPE-CODE ATOM> - PHRASE369>
645 <LOOP (TEMP32 VALUE) (TEMP33 LENGTH VALUE)>
647 <NTHUV TEMP33 1 = SBRL23>
648 <VEQUAL? SBRL23 TEMP32 + TAG371>
650 <RESTUV TEMP33 1 = TEMP33 (TYPE VECTOR)>
651 <EMPUV? TEMP33 - TAG372>
655 <NTHUV FAP9 4 = STACK>
660 <UBLOCK <TYPE-CODE VECTOR> 2 = STACK>
661 <CALL '
\1aFORM 2 = SKIPF164>
663 <FRAME '
\1aTYPE-MERGE>
664 <NTHR 'RETYPS 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
665 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
669 <CALL '
\1aTYPE-MERGE 2 = STACK>
670 <NTHR 'MRTYP 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
671 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
673 <CALL '
\1aTYPE-OK? 2 = TEMP33>
677 <FRAME '
\1aTYPE-MERGE>
681 <CALL '
\1aAPPLTYP 1 = STACK>
682 <NTHR 'RETYPS 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
683 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
685 <CALL '
\1aTYPE-MERGE 2 = STACK>
686 <NTHR 'MRTYP 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
687 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
689 <CALL '
\1aTYPE-OK? 2 = TEMP33>
692 <VEQUAL? TT7 62 + PHRASE394 (TYPE FIX)>
696 <NTHR 'MNOD 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
697 <NTHR TEMP33 1 = TEMP33 (RECORD-TYPE LBIND)>
698 <NTHUV TEMP33 4 = STACK>
702 <RESTL K6 1 = TEMP32 (TYPE LIST)>
704 <RESTL TEMP32 1 = TEMP33 (TYPE LIST)>
706 <NTHR 'MPSTRS 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
707 <PUTR TEMP32 1 TEMP33 (RECORD-TYPE LBIND)>
712 <EMPL? TEMP33 + MAPAP402>
713 <NTHL TEMP33 1 = TEMP53>
714 <NTHUV TEMP53 1 = TEMP32 (TYPE FIX)>
715 <VEQUAL? TEMP32 3 + BOOL415 (TYPE FIX)>
717 <NTHUV TEMP53 1 = TEMP32 (TYPE FIX)>
718 <VEQUAL? TEMP32 68 - PHRASE414 (TYPE FIX)>
722 <NTHUV TEMP53 5 = TEMP32 (TYPE LIST)>
723 <NTHL TEMP32 1 = STACK (TYPE NODE)>
726 <NTHR 'MNOD 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
727 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
728 <NTHUV TEMP32 4 = STACK>
730 <CALL '
\1aEANA 3 = SBR22>
731 <FRAME '
\1aGET-ELE-TYPE>
735 <CALL '
\1aGET-ELE-TYPE 2 = SBR22>
741 <NTHR 'MNOD 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
742 <NTHR TEMP32 1 = TEMP32 (RECORD-TYPE LBIND)>
743 <NTHUV TEMP32 4 = STACK>
745 <CALL '
\1aEANA 3 = SBR22>
747 <GEN-LVAL 'VERBOSE = TEMP32>
748 <TYPE? TEMP32 <TYPE-CODE FALSE> + PHRASE425>
752 <CALL '
\1aSTRUCTYP 1 = TEMP32>
753 <TYPE? TEMP32 <TYPE-CODE FALSE> + BOOL429>
754 <EQUAL? TEMP32 'TEMPLATE - PHRASE425>
758 <NTHR 'MNOD 2 = TEMP32 (RECORD-TYPE ATOM) (TYPE LBIND)>
759 <NTHR TEMP32 1 = STACK (RECORD-TYPE LBIND)>
761 <CONS SBR22 () = TEMP32>
763 <CONS " type is: " TEMP32 = TEMP32>
764 <CONS TEMP53 TEMP32 = TEMP32>
766 <CONS "Non-specific structure for MAPF/R: " TEMP32 = STACK>
768 <CALL '
\1aADDVMESS 2>
770 <RESTL TEMP33 1 = TEMP33 (TYPE LIST)>
773 <VEQUAL? TT7 62 - PHRASE435 (TYPE FIX)>
776 <NTHUV ITRNOD8 5 = TEMP33 (TYPE LIST)>
777 <NTHL TEMP33 1 = STACK (TYPE NODE)>
780 <NTHR 'MNOD 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
781 <NTHR TEMP33 1 = TEMP33 (RECORD-TYPE LBIND)>
782 <NTHUV TEMP33 4 = STACK>
784 <CALL '
\1aEANA 3 = SKIPF164>
785 <VEQUAL? CHF31 0 + PHRASE442>
787 <FRAME '
\1aTYPE-MERGE>
791 <CALL '
\1aTYPE-MERGE 2 = SKIPF164>
794 <SET SKIPF164 'ANY (TYPE ATOM)>
796 <NTHR 'STATE 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
797 <NTHR TEMP33 1 = TEMP33 (RECORD-TYPE LBIND)>
798 <TYPE? TEMP33 <TYPE-CODE UNBOUND> + PHRASE450>
800 <FRAME '
\1aFIX-STATE>
802 <NTHUV ITRNOD8 5 = CHF31 (TYPE LIST)>
804 <NTHL CHF31 1 = STACK (TYPE NODE)>
806 <CALL '
\1aFIX-STATE 2>
807 <NTHR 'STATE 2 = CHF31 (RECORD-TYPE ATOM) (TYPE LBIND)>
808 <NTHR CHF31 1 = CHF31 (RECORD-TYPE LBIND)>
809 <GRTR? CHF31 4 - PHRASE447 (TYPE FIX)>
811 <SET SBRL23 %<> (TYPE FALSE)>
812 <PUTUV FAP9 1 66 (TYPE FIX)>
813 <SET FINTYPE25 <OR FIX FLOAT> (TYPE FORM)>
816 <NTHR 'STATE 2 = CHF31 (RECORD-TYPE ATOM) (TYPE LBIND)>
817 <NTHR CHF31 1 = CHF31 (RECORD-TYPE LBIND)>
818 <SUB CHF31 1 = CHF31 (TYPE FIX)>
819 <NTHUV [FIX FLOAT FLOAT] CHF31 = FINTYPE25 (TYPE ATOM)>
822 <TYPE? SBRL23 <TYPE-CODE FALSE> + PHRASE454>
824 <FRAME '
\1aMUNG-SEGS>
825 <NTHR 'SEGFX 2 = CHF31 (RECORD-TYPE ATOM) (TYPE LBIND)>
826 <NTHR CHF31 1 = STACK (RECORD-TYPE LBIND)>
828 <CALL '
\1aMUNG-SEGS 1>
830 <NTHUV FAP9 1 = CHF31 (TYPE FIX)>
831 <VEQUAL? CHF31 2 - PHRASE459 (TYPE FIX)>
833 <NTHUV FAP9 4 = CHF31>
834 <EQUAL? CHF31 %<> - PHRASE459>
839 <NTHR 'MRTYP 2 = CHF31 (RECORD-TYPE ATOM) (TYPE LBIND)>
840 <NTHR CHF31 1 = STACK (RECORD-TYPE LBIND)>
842 <CALL '
\1aTYPE-OK? 2 = TEMP33>
845 <TYPE? FINTYPE25 <TYPE-CODE UNBOUND> + PHRASE464>
846 <VEQUAL? FINTYPE25 'LIST - PHRASE466>
853 <UBLOCK <TYPE-CODE VECTOR> 2 = STACK>
854 <CALL '
\1aFORM 2 = STACK>
855 <NTHR 'MRTYP 2 = CHF31 (RECORD-TYPE ATOM) (TYPE LBIND)>
856 <NTHR CHF31 1 = STACK (RECORD-TYPE LBIND)>
858 <CALL '
\1aTYPE-OK? 2 = TEMP33>
864 <NTHR 'MRTYP 2 = CHF31 (RECORD-TYPE ATOM) (TYPE LBIND)>
865 <NTHR CHF31 1 = STACK (RECORD-TYPE LBIND)>
867 <CALL '
\1aTYPE-OK? 2 = TEMP33>
870 <NTHUV FAP9 1 = CHF31 (TYPE FIX)>
871 <VEQUAL? CHF31 66 - PHRASE476 (TYPE FIX)>
873 <NTHUV FAP9 4 = CHF31>
874 <SET TEMP33 [TUPLE VECTOR UVECTOR] (TYPE VECTOR)>
875 <TYPE? CHF31 <TYPE-CODE ATOM> - PHRASE476>
876 <LOOP (CHF31 VALUE) (TEMP33 LENGTH VALUE)>
878 <NTHUV TEMP33 1 = TEMP32>
879 <VEQUAL? TEMP32 CHF31 + TAG478>
881 <RESTUV TEMP33 1 = TEMP33 (TYPE VECTOR)>
882 <EMPUV? TEMP33 - TAG479>
886 <NTHUV FAP9 4 = STACK>
891 <UBLOCK <TYPE-CODE VECTOR> 2 = STACK>
892 <CALL '
\1aFORM 2 = SKIPF164>
894 <FRAME '
\1aTYPE-MERGE>
895 <NTHR 'RETYPS 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
896 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
900 <CALL '
\1aTYPE-MERGE 2 = STACK>
901 <NTHR 'MRTYP 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
902 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
904 <CALL '
\1aTYPE-OK? 2 = TEMP33>
911 <CALL '
\1aAPPLTYP 1 = STACK>
912 <NTHR 'MRTYP 2 = TEMP33 (RECORD-TYPE ATOM) (TYPE LBIND)>
913 <NTHR TEMP33 1 = STACK (RECORD-TYPE LBIND)>
915 <CALL '
\1aTYPE-OK? 2 = TEMP33>
927 <GFCN
\1aFIX-STATE ("VALUE" FIX ANY NODE) TEM4 N5>
928 <TEMP TEMP12 TEMP13 TEMP14 TT6>
930 <NTHUV N5 1 = TEMP12 (TYPE FIX)>
931 <GVAL 'SEG-CODES = TEMP13>
932 <EMPTY? TEMP13 + TAG8>
933 <LOOP (TEMP12 VALUE) (TEMP13 LENGTH VALUE TYPE)>
935 <NTH1 TEMP13 = TEMP14>
936 <TYPE? TEMP14 <TYPE-CODE FIX> - TAG11>
937 <VEQUAL? TEMP14 TEMP12 + TAG9>
940 <REST1 TEMP13 = TEMP13>
941 <EMPTY? TEMP13 - TAG10>
943 <SET TEMP13 %<> (TYPE FALSE)>
945 <EQUAL? TEM4 'FIX - PHRASE17>
946 <SET TEMP13 1 (TYPE FIX)>
949 <EQUAL? TEM4 'FLOAT - PHRASE18>
950 <SET TEMP13 2 (TYPE FIX)>
956 <CALL '
\1aTYPE-OK? 2 = TEMP12>
957 <TYPE? TEMP12 <TYPE-CODE FALSE> - PHRASE19>
959 <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE22>
961 <FRAME '
\1aTYPE-MERGE>
962 <PUSH <STRUCTURED [REST FIX]>>
964 <CALL '
\1aTYPE-MERGE 2 = TEMP12>
967 <SET TEMP12 'FIX (TYPE ATOM)>
971 <SET TEMP13 1 (TYPE FIX)>
978 <CALL '
\1aTYPE-OK? 2 = TEMP12>
979 <TYPE? TEMP12 <TYPE-CODE FALSE> - PHRASE25>
981 <TYPE? TEMP13 <TYPE-CODE FALSE> + PHRASE28>
983 <FRAME '
\1aTYPE-MERGE>
984 <PUSH <STRUCTURED [REST FLOAT]>>
986 <CALL '
\1aTYPE-MERGE 2 = TEMP12>
989 <SET TEMP12 'FLOAT (TYPE ATOM)>
993 <SET TEMP13 2 (TYPE FIX)>
996 <SET TEMP13 3 (TYPE FIX)>
1000 <GVAL 'ASTATE = TEMP13>
1001 <GEN-LVAL 'STATE = TEMP12>
1002 <NTHUV TEMP13 TEMP12 = TEMP14 (TYPE UVECTOR)>
1003 <DEAD TEMP13 TEMP12>
1004 <NTHUU TEMP14 TT6 = TEMP12 (TYPE FIX)>
1006 <GEN-SET 'STATE TEMP12>
1011 <SETG SEG-CODES [,SEG-CODE ,SEGMENT-CODE]>
1014 <GFCN
\1aMUNG-SEGS ("VALUE" <OR FALSE NODE> <LIST [REST NODE]>) SEGS4>
1015 <TEMP TEMP14 TEMP11:LIST>
1017 <SET TEMP14 %<> (TYPE FALSE)>
1018 <SET TEMP11 SEGS4 (TYPE LIST)>
1023 <EMPL? TEMP11 + MAPAP9>
1024 <NTHL TEMP11 1 = TEMP14>
1025 <PUTUV TEMP14 1 68 (TYPE FIX)>
1026 <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
1034 <GFCN
\1aMARGS-ANA ("VALUE" ANY NODE ANY) N4 R5>
1035 <TEMP TEMP8 NN7:FIX>
1037 <GEN-LVAL 'MPSTRS = TEMP8>
1038 <NTHUV N4 4 = NN7 (TYPE FIX)>
1040 <FRAME '
\1aTYPE-OK?>
1041 <FRAME '
\1aGET-ELE-TYPE>
1042 <SUB NN7 1 = NN7 (TYPE FIX)>
1043 <GRTR? NN7 0 - RESTL17 (TYPE FIX)>
1044 <LOOP (TEMP8 VALUE) (NN7 VALUE)>
1047 <RESTL TEMP8 1 = TEMP8 (TYPE LIST)>
1048 <SUB NN7 1 = NN7 (TYPE FIX)>
1049 <GRTR? NN7 0 + RESTL15 (TYPE FIX)>
1051 <NTHL TEMP8 1 = TEMP8 (TYPE NODE)>
1052 <NTHUV TEMP8 3 = STACK>
1055 <GEN-LVAL 'R? = STACK>
1056 <CALL '
\1aGET-ELE-TYPE 3 = STACK>
1059 <CALL '
\1aTYPE-OK? 2 = R5>
1060 <GEN-LVAL 'R? = TEMP8>
1061 <TYPE? TEMP8 <TYPE-CODE FALSE> + PHRASE21>
1063 <FRAME '
\1aTYPE-OK?>
1066 <PUSH <STRUCTURED ANY>>
1067 <CALL '
\1aTYPE-OK? 2 = TEMP8>
1076 <GFCN
\1aMAUX ("VALUE" ATOM SYMTAB <OR FALSE NODE> ANY ANY) SYM4 STRUC5 SKIPF6 LAST-SEG7>
1079 <TYPE? STRUC5 <TYPE-CODE FALSE> + PHRASE9>
1081 <TYPE? SKIPF6 <TYPE-CODE FALSE> - PHRASE9>
1083 <TYPE? LAST-SEG7 <TYPE-CODE FALSE> - PHRASE9>
1085 <FRAME '
\1aCOMPILE-ERROR>
1086 <PUSH "MAPF/R function takes too many args ">
1087 <GEN-LVAL 'MNOD = TEMP12>
1088 <NTHUV TEMP12 5 = TEMP12 (TYPE LIST)>
1089 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
1090 <NTHL TEMP12 1 = STACK (TYPE NODE)>
1092 <CALL '
\1aCOMPILE-ERROR 2>
1095 <FRAME '
\1aNORM-BAN>
1098 <CALL '
\1aNORM-BAN 1>
1103 <GFCN
\1aMAUX1 ("VALUE" ATOM SYMTAB <OR FALSE NODE> ANY ANY) SYM4 STRUC5 SKIPF6 LAST-SEG7>
1106 <TYPE? STRUC5 <TYPE-CODE FALSE> + PHRASE9>
1108 <TYPE? SKIPF6 <TYPE-CODE FALSE> - PHRASE9>
1110 <TYPE? LAST-SEG7 <TYPE-CODE FALSE> - PHRASE9>
1112 <FRAME '
\1aCOMPILE-ERROR>
1113 <PUSH "MAPF/R function takes too many args ">
1114 <GEN-LVAL 'MNOD = TEMP12>
1115 <NTHUV TEMP12 5 = TEMP12 (TYPE LIST)>
1116 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
1117 <NTHL TEMP12 1 = STACK (TYPE NODE)>
1119 <CALL '
\1aCOMPILE-ERROR 2>
1121 <GEN-LVAL 'ANALY-OK = TEMP12>
1122 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE16>
1124 <SET TEMP12 'NO-RETURN (TYPE ATOM)>
1127 <NTHUV SYM4 7 = TEMP12>
1129 <PUTUV SYM4 18 TEMP12>
1131 <GEN-LVAL 'ANALY-OK = TEMP12>
1132 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE21>
1134 <SET TEMP12 'NO-RETURN (TYPE ATOM)>
1137 <SET TEMP12 'ANY (TYPE ATOM)>
1139 <PUTUV SYM4 17 TEMP12>
1145 <GFCN
\1aMNORM ("VALUE" ATOM SYMTAB <OR NODE FALSE> ANY ANY) SYM4 STRUC5 SKIPF6 LAST-SEG7>
1146 <TEMP TEMP3:LBIND TEMP13 TEMP32>
1148 <GETS 'BIND = TEMP3 (TYPE LBIND)>
1149 <NTHUV SYM4 1 = TEMP13 (TYPE SYMTAB)>
1150 <BBIND 'VARTBL 'SYMTAB 'FIX TEMP13>
1152 <TYPE? STRUC5 <TYPE-CODE FALSE> + PHRASE15>
1153 <TYPE? SKIPF6 <TYPE-CODE FALSE> - PHRASE15>
1154 <TYPE? LAST-SEG7 <TYPE-CODE FALSE> + PHRASE18>
1155 <FRAME '
\1aGET-ELE-TYPE>
1157 <NTHUV STRUC5 5 = TEMP13 (TYPE LIST)>
1158 <NTHL TEMP13 1 = STACK (TYPE NODE)>
1162 <CALL '
\1aEANA 3 = STACK>
1165 <CALL '
\1aGET-ELE-TYPE 2 = TEMP13>
1172 <CALL '
\1aEANA 3 = TEMP13>
1174 <FRAME '
\1aTYPE-OK?>
1175 <FRAME '
\1aGET-ELE-TYPE>
1179 <GEN-LVAL 'R? = STACK>
1180 <CALL '
\1aGET-ELE-TYPE 3 = STACK>
1181 <NTHUV SYM4 7 = STACK>
1182 <CALL '
\1aTYPE-OK? 2 = TEMP13>
1183 <TYPE? TEMP13 <TYPE-CODE FALSE> - PHRASE24>
1184 <FRAME '
\1aCOMPILE-ERROR>
1185 <PUSH "MAPF/R structure violates arg DECL ">
1186 <NTHUV SYM4 2 = STACK (TYPE ATOM)>
1188 <NTHUV SYM4 7 = STACK>
1191 <CALL '
\1aCOMPILE-ERROR 5>
1193 <GEN-LVAL 'R? = TEMP32>
1194 <TYPE? TEMP32 <TYPE-CODE FALSE> + PHRASE31>
1196 <FRAME '
\1aTYPE-AND>
1199 <PUSH <STRUCTURED ANY>>
1200 <CALL '
\1aTYPE-AND 2 = TEMP13>
1204 <NTHUV SYM4 7 = STACK>
1205 <CALL '
\1aN=? 2 = TEMP32>
1206 <VEQUAL? TEMP32 0 + PHRASE37>
1208 <PUTUV SYM4 17 TEMP13>
1210 <PUTUV SYM4 18 TEMP13>
1214 <TYPE? SKIPF6 <TYPE-CODE FALSE> - PHRASE39>
1216 <FRAME '
\1aCOMPILE-ERROR>
1217 <PUSH "Too fewa argumens MAPF/R function">
1218 <GEN-LVAL 'MNOD = STACK>
1219 <CALL '
\1aCOMPILE-ERROR 2>
1228 <GFCN
\1aMOPT ("VALUE" ATOM SYMTAB <OR FALSE NODE> ANY ANY) SYM4 STRUC5 SKIPF6 LAST-SEG7>
1229 <TEMP TEMP3:LBIND TEMP9:SYMTAB>
1231 <GETS 'BIND = TEMP3 (TYPE LBIND)>
1232 <NTHUV SYM4 1 = TEMP9 (TYPE SYMTAB)>
1233 <BBIND 'VARTBL 'SYMTAB 'FIX TEMP9>
1235 <TYPE? STRUC5 <TYPE-CODE FALSE> + PHRASE11>
1244 <TYPE? STRUC5 <TYPE-CODE FALSE> + BOOL15>
1246 <TYPE? SKIPF6 <TYPE-CODE FALSE> - BOOL15>
1248 <TYPE? LAST-SEG7 <TYPE-CODE FALSE> + PHRASE14>
1251 <FRAME '
\1aNORM-BAN>
1254 <CALL '
\1aNORM-BAN 1>
1263 <GFCN
\1aMBAD ("VALUE" ANY ANY ANY ANY ANY) SYM4 STRUC5 SKIPF6 LAST-SEG7>
1266 <FRAME '
\1aCOMPILE-ERROR>
1267 <PUSH "Unrecognized arg decl in MAPF/R function ">
1268 <NTHUV SYM4 2 = STACK (TYPE ATOM)>
1270 <CALL '
\1aCOMPILE-ERROR 2 = TEMP9>
1276 <GFCN
\1aMOPT2 ("VALUE" ATOM ANY ANY ANY ANY) SYM4 STRUC5 SKIPF6 LAST-SEG7>
1279 <TYPE? STRUC5 <TYPE-CODE FALSE> + PHRASE9>
1297 <GFCN
\1aMTUPLE ("VALUE" <OR ATOM !<FALSE>> ANY ANY ANY ANY) SYM4 STRUC5 SKIPF6 LAST-SEG7>
1298 <TEMP TEMP3:LBIND TEMP12 ATYP10 TEMP38>
1300 <GETS 'BIND = TEMP3 (TYPE LBIND)>
1301 <NTHUV SYM4 1 = TEMP12>
1302 <BBIND 'VARTBL 'ANY 'FIX TEMP12>
1304 <FRAME '
\1aGET-ELE-TYPE>
1305 <NTHUV SYM4 7 = STACK>
1306 <TYPE? LAST-SEG7 <TYPE-CODE FALSE> + PHRASE15>
1307 <SET TEMP12 'ALL (TYPE ATOM)>
1311 <GEN-LVAL 'TUPCNT = STACK>
1313 <CALL '
\1a+ 2 = TEMP12>
1314 <GEN-SET 'TUPCNT TEMP12>
1318 <CALL '
\1aGET-ELE-TYPE 2 = ATYP10>
1319 <TYPE? STRUC5 <TYPE-CODE FALSE> + PHRASE24>
1320 <TYPE? SKIPF6 <TYPE-CODE FALSE> - PHRASE24>
1322 <GEN-LVAL 'R? = TEMP12>
1323 <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE27>
1325 <TYPE? LAST-SEG7 <TYPE-CODE FALSE> + PHRASE33>
1328 <NTHUV STRUC5 5 = TEMP12 (TYPE LIST)>
1330 <NTHL TEMP12 1 = STACK (TYPE NODE)>
1334 <CALL '
\1aEANA 3 = TEMP12>
1335 <FRAME '
\1aSTRUCTYP>
1336 <FRAME '
\1aGET-ELE-TYPE>
1340 <CALL '
\1aGET-ELE-TYPE 2 = STACK>
1341 <CALL '
\1aSTRUCTYP 1 = TEMP12>
1342 <FRAME '
\1aSTRUCTYP>
1345 <CALL '
\1aSTRUCTYP 1 = TEMP38>
1346 <EQUAL? TEMP12 TEMP38 + PHRASE60>
1347 <DEAD TEMP12 TEMP38>
1355 <CALL '
\1aEANA 3 = TEMP12>
1356 <FRAME '
\1aSTRUCTYP>
1359 <CALL '
\1aSTRUCTYP 1 = TEMP38>
1360 <FRAME '
\1aSTRUCTYP>
1363 <CALL '
\1aSTRUCTYP 1 = TEMP12>
1364 <EQUAL? TEMP38 TEMP12 + PHRASE60>
1365 <DEAD TEMP38 TEMP12>
1367 <FRAME '
\1aCOMPILE-ERROR>
1368 <PUSH "Bad argument to MAPF/R function ">
1369 <NTHUV SYM4 2 = STACK (TYPE ATOM)>
1371 <GEN-LVAL 'MNOD = STACK>
1372 <CALL '
\1aCOMPILE-ERROR 3>
1375 <TYPE? LAST-SEG7 <TYPE-CODE FALSE> + PHRASE56>
1378 <NTHUV STRUC5 5 = TEMP38 (TYPE LIST)>
1380 <NTHL TEMP38 1 = STACK (TYPE NODE)>
1384 <CALL '
\1aEANA 3 = TEMP12>
1385 <FRAME '
\1aTYPE-OK?>
1386 <FRAME '
\1aGET-ELE-TYPE>
1387 <FRAME '
\1aGET-ELE-TYPE>
1391 <CALL '
\1aGET-ELE-TYPE 2 = STACK>
1393 <CALL '
\1aGET-ELE-TYPE 2 = STACK>
1396 <CALL '
\1aTYPE-OK? 2 = TEMP38>
1397 <TYPE? TEMP38 <TYPE-CODE FALSE> - PHRASE60>
1399 <FRAME '
\1aCOMPILE-ERROR>
1400 <PUSH "Bad argument to MAPF/R function ">
1401 <NTHUV SYM4 2 = STACK (TYPE ATOM)>
1403 <GEN-LVAL 'MNOD = STACK>
1404 <CALL '
\1aCOMPILE-ERROR 3>
1407 <FRAME '
\1aTYPE-OK?>
1408 <FRAME '
\1aGET-ELE-TYPE>
1414 <CALL '
\1aEANA 3 = STACK>
1416 <CALL '
\1aGET-ELE-TYPE 2 = STACK>
1419 <CALL '
\1aTYPE-OK? 2 = TEMP12>
1420 <TYPE? TEMP12 <TYPE-CODE FALSE> - PHRASE60>
1422 <FRAME '
\1aCOMPILE-ERROR>
1423 <PUSH "Bad argument to MAPF/R function ">
1424 <NTHUV SYM4 2 = STACK (TYPE ATOM)>
1426 <GEN-LVAL 'MNOD = STACK>
1427 <CALL '
\1aCOMPILE-ERROR 3>
1429 <SET TEMP12 %<> (TYPE FALSE)>
1432 <SET TEMP12 'T (TYPE ATOM)>
1442 <GFCN
\1aMENTROPY ("VALUE" ATOM ANY ANY "OPTIONAL" ANY ANY) N7 R8 X9 Y10>
1443 <OPT-DISPATCH 2 %<> OPT4 OPT5 OPT6>
1455 <GFCN
\1aMANAL-DISP ("VALUE" ANY ANY ANY ANY ANY) SYM4 NOD5 SKIPF6 LAST-SEG7>
1458 <NTHUV SYM4 4 = COD8 (TYPE FIX)>
1459 <DISPATCH COD8 1 CASE11 CASE12 CASE13 CASE14 CASE15 CASE16 CASE17 CASE18 CASE19 CASE20 CASE21 CASE22 CASE23>
1463 <FRAME '
\1aMENTROPY>
1472 <CALL '
\1aMENTROPY 4 = COD8>
1485 <CALL '
\1aMAUX 4 = COD8>
1498 <CALL '
\1aMAUX1 4 = COD8>
1511 <CALL '
\1aMTUPLE 4 = COD8>
1524 <CALL '
\1aMBAD 4 = COD8>
1537 <CALL '
\1aMOPT 4 = COD8>
1550 <CALL '
\1aMOPT 4 = COD8>
1563 <CALL '
\1aMOPT2 4 = COD8>
1576 <CALL '
\1aMOPT2 4 = COD8>
1589 <CALL '
\1aMBAD 4 = COD8>
1593 <FRAME '
\1aMENTROPY>
1602 <CALL '
\1aMENTROPY 4 = COD8>
1615 <CALL '
\1aMNORM 4 = COD8>
1628 <CALL '
\1aMNORM 4 = COD8>
1633 "Additional SUBR analyzers associated with MAP hackers."
1636 <GFCN
\1aMAPLEAVE-ANA ("VALUE" ATOM NODE ANY) N4 R5>
1639 <NTHUV N4 5 = K6 (TYPE LIST)>
1640 <LENL K6 = LN7 (TYPE FIX)>
1641 <GEN-SET 'RET-OR-AGAIN 'T>
1642 <GEN-ASSIGNED? 'MNOD - PHRASE12>
1649 <VEQUAL? LN7 0 - PHRASE16 (TYPE FIX)>
1657 <CALL '
\1aNODE1 5 = K6>
1659 <PUTUV N4 5 K6 (TYPE LIST)>
1662 <NTHL K6 1 = STACK (TYPE NODE)>
1664 <GEN-LVAL 'MRTYP = STACK>
1666 <CALL '
\1aEANA 3 = K6>
1668 <GEN-LVAL 'OV = STACK>
1669 <GEN-LVAL 'VALSPCD = STACK>
1670 <CALL '
\1aORUPC 2 = LN7>
1671 <GEN-SET 'VALSPCD LN7>
1673 <GEN-LVAL 'FSTOP = LN7>
1674 <TYPE? LN7 <TYPE-CODE FALSE> + PHRASE35>
1676 <FRAME '
\1aSAVE-L-D-STATE>
1677 <GEN-LVAL 'VARTBL = STACK>
1678 <CALL '
\1aSAVE-L-D-STATE 1 = LN7>
1681 <FRAME '
\1aMSAVE-L-D-STATE>
1682 <GEN-LVAL 'D-V = STACK>
1683 <GEN-LVAL 'VARTBL = STACK>
1684 <CALL '
\1aMSAVE-L-D-STATE 2 = LN7>
1688 <GEN-SET 'FSTOP %<>>
1689 <FRAME '
\1aTYPE-MERGE>
1690 <GEN-LVAL 'RETYPS = STACK>
1693 <CALL '
\1aTYPE-MERGE 2 = K6>
1694 <GEN-SET 'RETYPS K6>
1696 <PUTUV N4 1 63 (TYPE FIX)>
1700 <FRAME '
\1aSUBR-C-AN>
1705 <CALL '
\1aSUBR-C-AN 2>
1707 <END
\1aMAPLEAVE-ANA>
1712 <GFCN
\1aMAPRET-STOP-ANA ("VALUE" ATOM NODE ANY) NOD4 R5>
1713 <TEMP (ARGS6:FIX 0) (TYP7 'NO-RETURN) TEMP19 ITRNOD9:NODE N41:NODE TEMP45>
1715 <GEN-SET 'RET-OR-AGAIN 'T>
1716 <GEN-ASSIGNED? 'MNOD + BOOL15>
1717 <FRAME '
\1aSUBR-C-AN>
1722 <CALL '
\1aSUBR-C-AN 2>
1725 <GEN-LVAL 'MNOD = TEMP19>
1726 <NTHUV TEMP19 5 = TEMP19 (TYPE LIST)>
1727 <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
1728 <NTHL TEMP19 1 = ITRNOD9 (TYPE NODE)>
1730 <PUTUV ITRNOD9 12 'T>
1731 <GEN-LVAL 'MNOD = TEMP19>
1732 <NTHUV TEMP19 5 = TEMP19 (TYPE LIST)>
1733 <NTHL TEMP19 1 = TEMP19 (TYPE NODE)>
1734 <NTHUV TEMP19 4 = TEMP19>
1735 <TYPE? TEMP19 <TYPE-CODE FALSE> - PHRASE23>
1737 <FRAME '
\1aCOMPILE-ERROR>
1738 <PUSH "MAPRET/STOP with no final function.">
1739 <GEN-LVAL 'MNOD = STACK>
1740 <CALL '
\1aCOMPILE-ERROR 2>
1742 <NTHUV NOD4 5 = TEMP19 (TYPE LIST)>
1746 <EMPL? TEMP19 + MAPAP33>
1747 <NTHL TEMP19 1 = N41>
1748 <NTHUV N41 1 = TEMP45 (TYPE FIX)>
1749 <VEQUAL? TEMP45 3 + BOOL44 (TYPE FIX)>
1751 <NTHUV N41 1 = TEMP45 (TYPE FIX)>
1752 <VEQUAL? TEMP45 68 - PHRASE43 (TYPE FIX)>
1756 <NTHUV N41 5 = TEMP45 (TYPE LIST)>
1758 <NTHL TEMP45 1 = STACK (TYPE NODE)>
1760 <GEN-ASSIGNED? 'STATE - PHRASE48>
1761 <SET TEMP45 <STRUCTURED [REST <OR FIX FLOAT>]> (TYPE FORM)>
1764 <SET TEMP45 'STRUCTURED (TYPE ATOM)>
1769 <CALL '
\1aEANA 3 = TEMP45>
1770 <FRAME '
\1aTYPE-MERGE>
1773 <FRAME '
\1aGET-ELE-TYPE>
1777 <CALL '
\1aGET-ELE-TYPE 2 = STACK>
1778 <CALL '
\1aTYPE-MERGE 2 = TYP7>
1782 <ADD ARGS6 1 = ARGS6 (TYPE FIX)>
1783 <FRAME '
\1aTYPE-MERGE>
1789 <GEN-ASSIGNED? 'STATE - PHRASE57>
1790 <SET TYP7 <OR FIX FLOAT> (TYPE FORM)>
1793 <SET TYP7 'ANY (TYPE ATOM)>
1797 <NTHUV NOD4 4 = STACK>
1798 <CALL '
\1aEANA 3 = STACK>
1799 <CALL '
\1aTYPE-MERGE 2 = TYP7>
1801 <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
1804 <GEN-ASSIGNED? 'STATE - BOOL60>
1805 <EQUAL? TYP7 'NO-RETURN + BOOL60>
1806 <FRAME '
\1aFIX-STATE>
1809 <CALL '
\1aFIX-STATE 2>
1811 <NTHUV NOD4 9 = TEMP19>
1812 <GVAL 'MAPRET = TEMP45>
1813 <EQUAL? TEMP19 TEMP45 - PHRASE63>
1814 <DEAD TEMP19 TEMP45>
1815 <GEN-LVAL 'FRET = TEMP45>
1816 <TYPE? TEMP45 <TYPE-CODE FALSE> + PHRASE65>
1818 <FRAME '
\1aSAVE-L-D-STATE>
1819 <GEN-LVAL 'VARTBL = STACK>
1820 <CALL '
\1aSAVE-L-D-STATE 1 = TEMP19>
1823 <FRAME '
\1aMSAVE-L-D-STATE>
1824 <GEN-LVAL 'L-V = STACK>
1825 <GEN-LVAL 'VARTBL = STACK>
1826 <CALL '
\1aMSAVE-L-D-STATE 2 = TEMP19>
1828 <GEN-SET 'L-V TEMP19>
1830 <GEN-LVAL 'FRET = TEMP19>
1831 <TYPE? TEMP19 <TYPE-CODE FALSE> + PHRASE81>
1833 <FRAME '
\1aBUILD-TYPE-LIST>
1834 <GEN-LVAL 'VARTBL = STACK>
1835 <CALL '
\1aBUILD-TYPE-LIST 1 = TEMP19>
1839 <GEN-LVAL 'VARTBL = STACK>
1840 <NTHUV ITRNOD9 16 = STACK (TYPE LIST)>
1841 <CALL '
\1aORUPC 2 = TEMP19>
1843 <PUTUV ITRNOD9 16 TEMP19>
1844 <DEAD ITRNOD9 TEMP19>
1848 <GEN-LVAL 'FSTOP = TEMP19>
1849 <TYPE? TEMP19 <TYPE-CODE FALSE> + PHRASE97>
1851 <FRAME '
\1aSAVE-L-D-STATE>
1852 <GEN-LVAL 'VARTBL = STACK>
1853 <CALL '
\1aSAVE-L-D-STATE 1 = TEMP19>
1856 <FRAME '
\1aMSAVE-L-D-STATE>
1857 <GEN-LVAL 'D-V = STACK>
1858 <GEN-LVAL 'VARTBL = STACK>
1859 <CALL '
\1aMSAVE-L-D-STATE 2 = TEMP19>
1861 <GEN-SET 'D-V TEMP19>
1864 <GEN-LVAL 'OV = STACK>
1865 <GEN-LVAL 'VALSPCD = STACK>
1866 <CALL '
\1aORUPC 2 = TEMP19>
1867 <GEN-SET 'VALSPCD TEMP19>
1869 <GEN-SET 'FSTOP %<>>
1871 <GEN-LVAL 'MNOD = TEMP19>
1872 <NTHUV TEMP19 5 = TEMP19 (TYPE LIST)>
1873 <RESTL TEMP19 1 = TEMP19 (TYPE LIST)>
1874 <NTHL TEMP19 1 = TEMP19 (TYPE NODE)>
1875 <FRAME '
\1aTYPE-MERGE>
1876 <GEN-LVAL 'MNOD = TEMP45>
1877 <NTHUV TEMP45 5 = TEMP45 (TYPE LIST)>
1878 <RESTL TEMP45 1 = TEMP45 (TYPE LIST)>
1879 <NTHL TEMP45 1 = TEMP45 (TYPE NODE)>
1880 <NTHUV TEMP45 14 = STACK>
1884 <CALL '
\1aTYPE-MERGE 2 = TEMP45>
1885 <PUTUV TEMP19 14 TEMP45>
1886 <DEAD TEMP19 TEMP45>
1887 <PUTUV NOD4 1 64 (TYPE FIX)>
1890 <END
\1aMAPRET-STOP-ANA>
1892 <COND (<GASSIGNED? MAPLEAVE-ANA> <PUTPROP ,MAPLEAVE ANALYSIS ,MAPLEAVE-ANA> <PUTPROP ,MAPRET ANALYSIS ,MAPRET-STOP-ANA> <PUTPROP ,MAPSTOP ANALYSIS ,MAPRET-STOP-ANA>)>
1895 <GFCN
\1aSUBAP? ("VALUE" <OR ATOM FALSE> NODE) NOD4>
1898 <NTHUV NOD4 1 = COD6 (TYPE FIX)>
1899 <VEQUAL? COD6 33 + TAG10 (TYPE FIX)>
1900 <VEQUAL? COD6 66 + TAG10 (TYPE FIX)>
1901 <VEQUAL? COD6 71 + TAG10 (TYPE FIX)>
1905 <NTHUV NOD4 5 = COD6 (TYPE LIST)>
1907 <NTHL COD6 1 = NOD4 (TYPE NODE)>
1909 <NTHUV NOD4 1 = COD6 (TYPE FIX)>
1910 <VEQUAL? COD6 2 + TAG12 (TYPE FIX)>
1914 <NTHUV NOD4 4 = TT5>
1916 <NTHR TT5 1 = COD6 (RECORD-TYPE ATOM) (BRANCH-FALSE + TAG14)>
1917 <TYPE? COD6 <TYPE-CODE FALSE> + TAG14>
1918 <NTHR COD6 1 = COD6 (RECORD-TYPE GBIND)>
1919 <TYPE? COD6 <TYPE-CODE UNBOUND> - TAG13>