4 <ENTRY BUILD-INDEX SKIP-MIMA>
8 <SETG BUFFER <ISTRING ,BUFLENGTH>>
10 <SETG MAGIC-CHAR <ASCII 26>>
18 <SETG WORD-STRING "#WORD ">
20 <SETG MAGIC-STRING "<SETG ">
22 <SETG MAGIC-LENGTH <LENGTH ,MAGIC-STRING>>
24 <SETG MAGIC-MAX <- ,BUFLENGTH ,MAGIC-LENGTH>>
26 <SETG MAGIC-STRING2 "<END ">
28 <SETG MAGIC-LENGTH2 <LENGTH ,MAGIC-STRING2>>
30 <SETG MAGIC-MAX2 <- ,BUFLENGTH ,MAGIC-LENGTH2>>
52 <MANIFEST IN-ATOM NEED-MINUS QUOTE-NEXT NON-ATOM M$$R-BACKS M$$R-ALPHA M$$R-EXCL M$$R-E M$$R-DIGIT M$$R-PLUS>
54 <GDECL (I$TRANS-TABLE!-INTERNAL) BYTES>
56 <COND (<NOT <GASSIGNED? I$TRANS-TABLE!-INTERNAL>> <SETG I$TRANS-TABLE!-INTERNAL <BYTES 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 4 9 15 11 15 12 1 6 20 19 10 19 17 15 18 18 18 18 18 18 18 18 18 18 0 8 2 15 6 15 15 15 15 15 15 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 3 14 6 15 15 15 15 15 15 15 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 5 13 6 15 15>>)>
59 <GFCN
\1aBUILD-INDEX ("VALUE" LIST CHANNEL OBLIST) CHAN5 OBL6>
60 <TEMP B7:STRING BL8:FIX CHAR9:CHARACTER MAXL10:FIX TOTAL-ACCESS11:FIX MS12:STRING ML13:FIX LC114:CHARACTER LC215:CHARACTER LC316:CHARACTER WS18:STRING WRD19 IM-POS29 INDEX30:LIST OUTER33 LEN27:FIX BB38 POS28 TEMP47 PL26:FIX SL17:FIX START25:STRING WORD-OK21 SETG-OK20 TEMP69 TEMP65 TEMP66:STRING C171:CHARACTER C272:CHARACTER C373:CHARACTER CH85:CHARACTER NAMESTR31 NAME-ATOM32 CH103:CHARACTER TEMP67:CHARACTER TEMP136:FIX TEMP135:FIX CH146:CHARACTER TEMP158:FIX TEMP160:FIX TEMP22:LIST>
63 <GVAL 'BUFLENGTH = BL8>
64 <GVAL 'MAGIC-CHAR = CHAR9>
65 <GVAL 'MAGIC-MAX = MAXL10>
66 <SET TOTAL-ACCESS11 BL8>
67 <SUB 0 TOTAL-ACCESS11 = TOTAL-ACCESS11 (TYPE FIX)>
68 <GVAL 'MAGIC-STRING = MS12>
69 <GVAL 'MAGIC-LENGTH = ML13>
70 <GVAL 'LAST-CHAR1 = LC114>
71 <GVAL 'LAST-CHAR2 = LC215>
72 <GVAL 'LAST-CHAR3 = LC316>
73 <GVAL 'WORD-STRING = WS18>
74 <SET IM-POS29 %<> (TYPE FALSE)>
75 <SET INDEX30 () (TYPE LIST)>
79 <FRAME '
\1aCHANNEL-OP>
83 <CALL '
\1aCHANNEL-OP 3 = LEN27>
84 <ADD TOTAL-ACCESS11 BL8 = TOTAL-ACCESS11 (TYPE FIX)>
91 <EMPUS? POS28 + TAG43>
92 <LOOP (CHAR9 VALUE) (POS28 LENGTH VALUE)>
94 <NTHUS POS28 1 = TEMP47>
95 <VEQUAL? TEMP47 CHAR9 + TAG44>
97 <RESTUS POS28 1 = POS28 (TYPE STRING)>
98 <EMPUS? POS28 - TAG45>
101 <SET POS28 %<> (TYPE FALSE)>
103 <TYPE? POS28 <TYPE-CODE FALSE> + EXIT36>
104 <LENUS POS28 = PL26 (TYPE FIX)>
105 <VEQUAL? LEN27 BL8 + BOOL48 (TYPE FIX)>
106 <SUB BL8 LEN27 = TEMP47 (TYPE FIX)>
107 <GRTR? PL26 TEMP47 - EXIT36 (TYPE FIX)>
110 <GRTR? PL26 MAXL10 - PHRASE56 (TYPE FIX)>
111 <GRTR? TOTAL-ACCESS11 0 - PHRASE52 (TYPE FIX)>
114 <SUB TOTAL-ACCESS11 ML13 = TOTAL-ACCESS11 (TYPE FIX)>
115 <PUSH TOTAL-ACCESS11>
117 <SUB TOTAL-ACCESS11 BL8 = TOTAL-ACCESS11 (TYPE FIX)>
120 <RESTUS POS28 1 = BB38 (TYPE STRING)>
125 <SUB BL8 PL26 = TEMP47 (TYPE FIX)>
127 <SUB TEMP47 ML13 = TEMP47 (TYPE FIX)>
128 <RESTUS B7 TEMP47 = TEMP47 (TYPE STRING)>
129 <LENUS TEMP47 = SL17 (TYPE FIX)>
130 <SET WORD-OK21 'T (TYPE ATOM)>
131 <SET SETG-OK20 WORD-OK21>
132 <SET TEMP69 %<> (TYPE FALSE)>
133 <SET TEMP65 MS12 (TYPE STRING)>
134 <SET TEMP66 WS18 (TYPE STRING)>
138 <EMPUS? TEMP47 + MAPAP63>
139 <EMPUS? TEMP65 + MAPAP63>
140 <EMPUS? TEMP66 + MAPAP63>
141 <NTHUS TEMP47 1 = C171>
142 <NTHUS TEMP65 1 = C272>
143 <NTHUS TEMP66 1 = C373>
144 <VEQUAL? C171 C272 + PHRASE75>
146 <SET SETG-OK20 %<> (TYPE FALSE)>
148 <VEQUAL? C171 C373 + PHRASE77>
150 <SET WORD-OK21 %<> (TYPE FALSE)>
152 <SET TEMP69 SETG-OK20>
153 <RESTUS TEMP47 1 = TEMP47 (TYPE STRING)>
154 <RESTUS TEMP65 1 = TEMP65 (TYPE STRING)>
155 <RESTUS TEMP66 1 = TEMP66 (TYPE STRING)>
158 <DEAD SETG-OK20 TEMP47 TEMP65 TEMP66>
159 <TYPE? TEMP69 <TYPE-CODE FALSE> + PHRASE58>
161 <SET TEMP65 0 (TYPE FIX)>
165 <RESTUS POS28 1 = POS28 (TYPE STRING)>
166 <EMPUS? POS28 - PHRASE87 (TYPE STRING)>
167 <ADD SL17 BL8 = SL17 (TYPE FIX)>
168 <LESS? LEN27 BL8 - PHRASE89 (TYPE FIX)>
171 <PUSH 'BAD-FILE!-ERRORS>
175 <FRAME '
\1aCHANNEL-OP>
179 <CALL '
\1aCHANNEL-OP 3 = LEN27>
180 <ADD TOTAL-ACCESS11 BL8 = TOTAL-ACCESS11 (TYPE FIX)>
183 <NTHUS POS28 1 = CH85 (TYPE CHARACTER)>
184 <VEQUAL? CH85 !\ + MAPAP82>
185 <VEQUAL? CH85 !\! + MAPAP82>
190 <ADD TEMP65 1 = TEMP65 (TYPE FIX)>
193 <UBLOCK <TYPE-CODE STRING> TEMP65 = NAMESTR31 (TYPE STRING)>
198 <CALL '
\1aLOOKUP 2 = NAME-ATOM32>
199 <TYPE? NAME-ATOM32 <TYPE-CODE FALSE> - BOOL97>
204 <CALL '
\1aINSERT 2 = NAME-ATOM32>
206 <TYPE? IM-POS29 <TYPE-CODE FALSE> + PHRASE101>
212 <EMPUS? TEMP69 + TAG107>
213 <LOOP (LC114 VALUE) (TEMP69 LENGTH VALUE)>
215 <NTHUS TEMP69 1 = TEMP47>
216 <VEQUAL? TEMP47 LC114 + TAG108>
218 <RESTUS TEMP69 1 = TEMP69 (TYPE STRING)>
219 <EMPUS? TEMP69 - TAG109>
222 <SET POS28 %<> (TYPE FALSE)>
228 <TYPE? POS28 <TYPE-CODE FALSE> + PHRASE106>
229 <RESTUS POS28 1 = POS28 (TYPE STRING)>
233 <EMPUS? POS28 - PHRASE115 (TYPE STRING)>
234 <FRAME '
\1aCHANNEL-OP>
238 <CALL '
\1aCHANNEL-OP 3 = LEN27>
240 <ADD TOTAL-ACCESS11 BL8 = TOTAL-ACCESS11 (TYPE FIX)>
242 <NTHUS POS28 1 = CH103 (TYPE CHARACTER)>
243 <GRTR? CH103 32 + PHRASE118 (TYPE FIX)>
245 <RESTUS POS28 1 = POS28 (TYPE STRING)>
248 <NTHUS POS28 1 = TEMP67 (TYPE CHARACTER)>
249 <VEQUAL? TEMP67 LC215 - AGAIN104>
251 <RESTUS POS28 1 = POS28 (TYPE STRING)>
255 <EMPUS? POS28 - PHRASE124 (TYPE STRING)>
256 <FRAME '
\1aCHANNEL-OP>
260 <CALL '
\1aCHANNEL-OP 3 = LEN27>
262 <ADD TOTAL-ACCESS11 BL8 = TOTAL-ACCESS11 (TYPE FIX)>
264 <NTHUS POS28 1 = CH103 (TYPE CHARACTER)>
265 <GRTR? CH103 32 + PHRASE127 (TYPE FIX)>
267 <RESTUS POS28 1 = POS28 (TYPE STRING)>
270 <NTHUS POS28 1 = TEMP47 (TYPE CHARACTER)>
271 <VEQUAL? TEMP47 LC316 - AGAIN104>
273 <RESTUS POS28 1 = POS28 (TYPE STRING)>
276 <FRAME '
\1aCHANNEL-OP>
280 <CALL '
\1aCHANNEL-OP 3 = LEN27>
282 <ADD TOTAL-ACCESS11 BL8 = TOTAL-ACCESS11 (TYPE FIX)>
285 <TYPE? WRD19 <TYPE-CODE UNBOUND> + PHRASE133>
286 <CHTYPE WRD19 <TYPE-CODE WORD> = TEMP47>
287 <CONS TEMP47 () = TEMP47>
290 <SET TEMP47 () (TYPE LIST)>
292 <LENUS POS28 = TEMP136 (TYPE FIX)>
293 <SUB BL8 TEMP136 = TEMP136 (TYPE FIX)>
294 <ADD TEMP136 TOTAL-ACCESS11 = TEMP136 (TYPE FIX)>
295 <CONS TEMP136 TEMP47 = TEMP47>
297 <CONS IM-POS29 TEMP47 = IM-POS29>
298 <CONS NAME-ATOM32 IM-POS29 = NAME-ATOM32>
299 <CONS NAME-ATOM32 INDEX30 = INDEX30>
301 <SET IM-POS29 %<> (TYPE FALSE)>
304 <SUB BL8 SL17 = TEMP47 (TYPE FIX)>
306 <ADD TEMP47 TOTAL-ACCESS11 = IM-POS29 (TYPE FIX)>
310 <VEQUAL? WORD-OK21 0 + PHRASE138>
311 <SET WRD19 0 (TYPE FIX)>
315 <RESTUS POS28 1 = POS28 (TYPE STRING)>
316 <EMPUS? POS28 - PHRASE148 (TYPE STRING)>
317 <ADD SL17 BL8 = SL17 (TYPE FIX)>
318 <LESS? LEN27 BL8 - PHRASE150 (TYPE FIX)>
321 <PUSH 'BAD-FILE!-ERRORS>
325 <FRAME '
\1aCHANNEL-OP>
329 <CALL '
\1aCHANNEL-OP 3 = LEN27>
330 <ADD TOTAL-ACCESS11 BL8 = TOTAL-ACCESS11 (TYPE FIX)>
333 <NTHUS POS28 1 = CH146 (TYPE CHARACTER)>
334 <VEQUAL? CH146 !\* - PHRASE154>
335 <VEQUAL? WORD-OK21 0 + PHRASE161>
337 <SET WORD-OK21 %<> (TYPE FALSE)>
340 <VEQUAL? WORD-OK21 0 - MAP140>
341 <LSH WRD19 3 = WRD19 (TYPE FIX)>
342 <SUB CH146 48 = TEMP160 (TYPE FIX)>
344 <OR WRD19 TEMP160 = WRD19>
348 <DEAD SL17 WORD-OK21>
349 <RESTUS POS28 1 = POS28 (TYPE STRING)>
356 <VEQUAL? LEN27 BL8 + AGAIN34 (TYPE FIX)>
357 <DEAD LEN27 B7 BL8 CHAN5 CHAR9 IM-POS29 LC114 LC215 LC316 MAXL10 ML13 MS12 OBL6 TOTAL-ACCESS11 WRD19 WS18>
363 <GFCN
\1aSKIP-MIMA ("VALUE" ATOM CHANNEL ATOM) CHAN5 NAME6>
364 <TEMP MCHAR7:CHARACTER MS8:STRING ML9:FIX MAXL10:FIX SPN11:STRING ECHAR12:CHARACTER B16:STRING BL17:FIX TEMP23:FIX TOTAL-ACCESS21:FIX OUTER24 LEN20:FIX BB28:STRING STATE29:FIX POS18 TEMP38 PL19:FIX TEMP59 TEMP61 TEMP56:STRING C162:CHARACTER C263:CHARACTER C274:CHARACTER TEMP57:CHARACTER TEMP13:ATOM>
366 <GVAL 'MAGIC-CHAR = MCHAR7>
367 <GVAL 'MAGIC-STRING2 = MS8>
368 <GVAL 'MAGIC-LENGTH2 = ML9>
369 <GVAL 'MAGIC-MAX2 = MAXL10>
370 <NTHR NAME6 3 = SPN11 (RECORD-TYPE ATOM)>
371 <GVAL 'LAST-CHAR3 = ECHAR12>
373 <GVAL 'BUFLENGTH = BL17>
376 <CALL '
\1aACCESS 1 = TEMP23>
377 <SUB TEMP23 BL17 = TOTAL-ACCESS21 (TYPE FIX)>
382 <FRAME '
\1aCHANNEL-OP>
386 <CALL '
\1aCHANNEL-OP 3 = LEN20>
387 <ADD TOTAL-ACCESS21 BL17 = TOTAL-ACCESS21 (TYPE FIX)>
389 <SET STATE29 0 (TYPE FIX)>
395 <EMPUS? POS18 + TAG34>
396 <LOOP (MCHAR7 VALUE) (POS18 LENGTH VALUE)>
398 <NTHUS POS18 1 = TEMP38>
399 <VEQUAL? TEMP38 MCHAR7 + TAG35>
401 <RESTUS POS18 1 = POS18 (TYPE STRING)>
402 <EMPUS? POS18 - TAG36>
405 <SET POS18 %<> (TYPE FALSE)>
407 <TYPE? POS18 <TYPE-CODE FALSE> + EXIT27>
408 <LENUS POS18 = PL19 (TYPE FIX)>
409 <VEQUAL? BL17 LEN20 + BOOL39 (TYPE FIX)>
410 <SUB BL17 LEN20 = TEMP38 (TYPE FIX)>
411 <GRTR? PL19 TEMP38 - EXIT27 (TYPE FIX)>
414 <GRTR? PL19 MAXL10 - PHRASE47 (TYPE FIX)>
415 <GRTR? TOTAL-ACCESS21 0 - PHRASE43 (TYPE FIX)>
418 <SUB TOTAL-ACCESS21 ML9 = TOTAL-ACCESS21 (TYPE FIX)>
419 <PUSH TOTAL-ACCESS21>
421 <SUB TOTAL-ACCESS21 BL17 = TOTAL-ACCESS21 (TYPE FIX)>
424 <RESTUS POS18 1 = BB28 (TYPE STRING)>
429 <SET TEMP59 %<> (TYPE FALSE)>
430 <SUB BL17 PL19 = TEMP61 (TYPE FIX)>
432 <SUB TEMP61 ML9 = TEMP61 (TYPE FIX)>
433 <RESTUS B16 TEMP61 = TEMP61 (TYPE STRING)>
434 <SET TEMP56 MS8 (TYPE STRING)>
438 <EMPUS? TEMP61 + MAPAP54>
439 <EMPUS? TEMP56 + MAPAP54>
440 <NTHUS TEMP61 1 = C162>
441 <NTHUS TEMP56 1 = C263>
442 <VEQUAL? C162 C263 + PHRASE65>
444 <SET TEMP59 %<> (TYPE FALSE)>
447 <SET TEMP59 1 (TYPE FIX)>
448 <RESTUS TEMP61 1 = TEMP61 (TYPE STRING)>
449 <RESTUS TEMP56 1 = TEMP56 (TYPE STRING)>
453 <TYPE? TEMP59 <TYPE-CODE FALSE> + PHRASE49>
458 <RESTUS POS18 1 = POS18 (TYPE STRING)>
459 <EMPUS? POS18 - PHRASE76 (TYPE STRING)>
460 <VEQUAL? LEN20 BL17 + PHRASE78 (TYPE FIX)>
463 <PUSH 'BAD-MIMA!-ERRORS>
467 <FRAME '
\1aCHANNEL-OP>
472 <CALL '
\1aCHANNEL-OP 3 = LEN20>
473 <ADD TOTAL-ACCESS21 BL17 = TOTAL-ACCESS21 (TYPE FIX)>
475 <NTHUS POS18 1 = C274 (TYPE CHARACTER)>
476 <EMPUS? SPN11 - PHRASE82 (TYPE STRING)>
477 <VEQUAL? C274 ECHAR12 + MAPAP71>
483 <CALL '
\1aSKIP-TRL 2 = STATE29>
484 <VEQUAL? STATE29 3 - MAP68 (TYPE FIX)>
486 <PUSH 'BAD-MIMA!-ERRORS>
491 <NTHUS SPN11 1 = TEMP57 (TYPE CHARACTER)>
492 <VEQUAL? TEMP57 C274 + PHRASE88>
495 <PUSH 'BAD-MIMA!-ERRORS>
500 <RESTUS SPN11 1 = SPN11 (TYPE STRING)>
505 <LENUS POS18 = TEMP59 (TYPE FIX)>
506 <SUB BL17 TEMP59 = TEMP59 (TYPE FIX)>
507 <SUB TEMP59 -2 = TEMP59 (TYPE FIX)>
508 <ADD TEMP59 TOTAL-ACCESS21 = STACK (TYPE FIX)>
513 <RESTUS POS18 1 = BB28 (TYPE STRING)>
518 <VEQUAL? LEN20 BL17 + AGAIN25 (TYPE FIX)>
521 <PUSH 'BAD-MIMA!-ERRORS>
525 <DEAD B16 BL17 CHAN5 ECHAR12 MAXL10 MCHAR7 ML9 MS8 NAME6 SPN11 TOTAL-ACCESS21>
529 <GFCN
\1aSKIP-TRL ("VALUE" FIX CHARACTER FIX) CHAR5 STATE6>
530 <TEMP TEMP8 TEMP9:FIX TRNS7:FIX>
532 <GVAL 'I$TRANS-TABLE!-INTERNAL = TEMP8>
533 <ADD CHAR5 1 = TEMP9 (TYPE FIX)>
534 <NTHUB TEMP8 TEMP9 = TEMP9 (TYPE FIX)>
536 <VEQUAL? STATE6 0 - PHRASE11 (TYPE FIX)>
537 <VEQUAL? TEMP9 7 - PHRASE11 (TYPE FIX)>
540 <VEQUAL? STATE6 1 - PHRASE15 (TYPE FIX)>
541 <VEQUAL? CHAR5 !\- - PHRASE19>
547 <VEQUAL? STATE6 2 - PHRASE21 (TYPE FIX)>
551 <VEQUAL? TEMP9 14 - PHRASE22 (TYPE FIX)>
554 <VEQUAL? TEMP9 15 + BOOL24 (TYPE FIX)>
555 <VEQUAL? TEMP9 18 + BOOL24 (TYPE FIX)>
556 <VEQUAL? TEMP9 19 + BOOL24 (TYPE FIX)>
557 <VEQUAL? TEMP9 16 + BOOL24 (TYPE FIX)>
558 <GVAL 'M$$R-STAR = TEMP8>
559 <EQUAL? TEMP8 TEMP9 - PHRASE23>