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>>
54 <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>
56 <GDECL (I$TRANS-TABLE!-INTERNAL) BYTES>
58 <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 1 0 0 0 0 0 8 5 10 16 12 16 13 2 7 21 20 11 20 18 16 19 19 19 19 19 19 19 19 19 19 0 9 3 16 7 16 16 16 16 16 16 17 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 4 15 7 16 16 16 16 16 16 16 17 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 6 14 7 16 16>>)>
61 <GFCN
\1aGET-ACCESS ("VALUE" FORM "QUOTE" ANY) CHAN4>
64 <NTHR 'NEW-CHANNEL-TYPE 1 = TEMP7 (RECORD-TYPE ATOM) (BRANCH-FALSE + PHRASE6) (DEAD-JUMP TEMP7)>
65 <TYPE? TEMP7 <TYPE-CODE FALSE> + PHRASE6 (DEAD-JUMP TEMP7)>
66 <NTHR TEMP7 1 = TEMP7 (RECORD-TYPE GBIND)>
67 <TYPE? TEMP7 <TYPE-CODE UNBOUND> + PHRASE6>
78 <CALL '
\1aFORM 2 = TEMP7>
82 <COND (<AND <GASSIGNED? GET-ACCESS> <NOT <TYPE? ,GET-ACCESS MACRO>>> <SETG GET-ACCESS <CHTYPE (,GET-ACCESS) MACRO>>)>
85 <GFCN
\1aBUILD-INDEX ("VALUE" LIST CHANNEL OBLIST) CHAN4 OBL5>
86 <TEMP B6:STRING BL7:FIX CHAR8:CHARACTER MAXL9:FIX TOTAL-ACCESS10:FIX MS11:STRING ML12:FIX LC1-13:CHARACTER LC2-14:CHARACTER LC3-15:CHARACTER WS17:STRING WRD18 IM-POS28 INDEX29:LIST LEN26:FIX BB37 TEMP46 PL25:FIX START24:STRING WORD-OK20 SETG-OK19 TEMP68 TEMP64 C2-71:CHARACTER C3-72:CHARACTER>
88 <GVAL 'BUFFER = B6 (TYPE STRING)>
89 <GVAL 'BUFLENGTH = BL7 (TYPE FIX)>
90 <GVAL 'MAGIC-CHAR = CHAR8 (TYPE CHARACTER)>
91 <GVAL 'MAGIC-MAX = MAXL9 (TYPE FIX)>
92 <SET TOTAL-ACCESS10 BL7>
93 <SUB 0 TOTAL-ACCESS10 = TOTAL-ACCESS10 (TYPE FIX)>
94 <GVAL 'MAGIC-STRING = MS11 (TYPE STRING)>
95 <GVAL 'MAGIC-LENGTH = ML12 (TYPE FIX)>
96 <GVAL 'LAST-CHAR1 = LC1-13 (TYPE CHARACTER)>
97 <GVAL 'LAST-CHAR2 = LC2-14 (TYPE CHARACTER)>
98 <GVAL 'LAST-CHAR3 = LC3-15 (TYPE CHARACTER)>
99 <GVAL 'WORD-STRING = WS17 (TYPE STRING)>
100 <SET IM-POS28 %<> (TYPE FALSE)>
101 <SET INDEX29 () (TYPE LIST)>
105 <FRAME '
\1aCHANNEL-OP>
109 <CALL '
\1aCHANNEL-OP 3 = LEN26>
110 <ADD TOTAL-ACCESS10 BL7 = TOTAL-ACCESS10 (TYPE FIX)>
115 <EMPUS? BB37 + EXIT35 (DEAD-JUMP BB37)>
116 <LOOP (CHAR8 VALUE) (BB37 LENGTH VALUE)>
118 <NTHUS BB37 1 = TEMP46>
119 <VEQUAL? TEMP46 CHAR8 + TAG43>
121 <RESTUS BB37 1 = BB37 (TYPE STRING)>
122 <EMPUS? BB37 - TAG44 (DEAD-FALL BB37)>
125 <LENUS BB37 = PL25 (TYPE FIX)>
126 <VEQUAL? LEN26 BL7 + BOOL47 (TYPE FIX)>
127 <SUB BL7 LEN26 = TEMP46 (TYPE FIX)>
128 <GRTR? PL25 TEMP46 - EXIT35 (TYPE FIX) (DEAD-JUMP PL25 BB37)>
131 <GRTR? PL25 MAXL9 - PHRASE55 (TYPE FIX) (DEAD-FALL PL25)>
132 <GRTR? TOTAL-ACCESS10 0 - PHRASE51 (TYPE FIX) (DEAD-FALL BB37 LEN26)>
135 <SUB TOTAL-ACCESS10 ML12 = TOTAL-ACCESS10 (TYPE FIX)>
136 <PUSH TOTAL-ACCESS10>
138 <SUB TOTAL-ACCESS10 BL7 = TOTAL-ACCESS10 (TYPE FIX)>
141 <RESTUS BB37 1 = BB37 (TYPE STRING)>
144 <SUB BL7 PL25 = TEMP46 (TYPE FIX)>
146 <SUB TEMP46 ML12 = TEMP46 (TYPE FIX)>
147 <RESTUS B6 TEMP46 = START24 (TYPE STRING)>
149 <LENUS START24 = PL25 (TYPE FIX)>
150 <SET WORD-OK20 'T (TYPE ATOM)>
151 <SET SETG-OK19 WORD-OK20>
152 <SET TEMP68 %<> (TYPE FALSE)>
153 <SET TEMP46 START24 (TYPE STRING)>
155 <SET TEMP64 MS11 (TYPE STRING)>
156 <SET START24 WS17 (TYPE STRING)>
160 <EMPUS? TEMP46 + MAPAP62 (DEAD-JUMP TEMP64 SETG-OK19 START24 TEMP46)>
161 <EMPUS? TEMP64 + MAPAP62 (DEAD-JUMP TEMP64 SETG-OK19 START24 TEMP46)>
162 <EMPUS? START24 + MAPAP62 (DEAD-JUMP TEMP64 SETG-OK19 START24 TEMP46) (DEAD-FALL TEMP68)>
163 <NTHUS TEMP46 1 = TEMP68>
164 <NTHUS TEMP64 1 = C2-71>
165 <NTHUS START24 1 = C3-72>
166 <VEQUAL? TEMP68 C2-71 + PHRASE74 (DEAD-FALL SETG-OK19)>
168 <SET SETG-OK19 %<> (TYPE FALSE)>
170 <VEQUAL? TEMP68 C3-72 + PHRASE76 (DEAD-FALL WORD-OK20)>
172 <SET WORD-OK20 %<> (TYPE FALSE)>
174 <SET TEMP68 SETG-OK19>
175 <RESTUS TEMP46 1 = TEMP46 (TYPE STRING)>
176 <RESTUS TEMP64 1 = TEMP64 (TYPE STRING)>
177 <RESTUS START24 1 = START24 (TYPE STRING)>
180 <TYPE? TEMP68 <TYPE-CODE FALSE> + PHRASE57 (DEAD-FALL WORD-OK20)>
182 <SET TEMP64 0 (TYPE FIX)>
186 <RESTUS BB37 1 = BB37 (TYPE STRING)>
187 <EMPUS? BB37 - PHRASE86 (TYPE STRING) (DEAD-FALL BB37)>
188 <ADD PL25 BL7 = PL25 (TYPE FIX)>
189 <LESS? LEN26 BL7 - PHRASE88 (TYPE FIX)>
192 <PUSH 'BAD-FILE!-ERRORS>
196 <FRAME '
\1aCHANNEL-OP>
200 <CALL '
\1aCHANNEL-OP 3 = LEN26>
201 <ADD TOTAL-ACCESS10 BL7 = TOTAL-ACCESS10 (TYPE FIX)>
204 <NTHUS BB37 1 = TEMP68 (TYPE CHARACTER)>
205 <VEQUAL? TEMP68 !\ + MAPAP81 (DEAD-JUMP TEMP68)>
206 <VEQUAL? TEMP68 !\! + MAPAP81 (DEAD-JUMP TEMP68)>
211 <ADD TEMP64 1 = TEMP64 (TYPE FIX)>
214 <UBLOCK <TYPE-CODE STRING> TEMP64 = TEMP46 (TYPE STRING)>
219 <CALL '
\1aLOOKUP 2 = WORD-OK20>
220 <TYPE? WORD-OK20 <TYPE-CODE FALSE> - BOOL96 (DEAD-JUMP TEMP46) (DEAD-FALL WORD-OK20)>
225 <CALL '
\1aINSERT 2 = WORD-OK20>
227 <TYPE? IM-POS28 <TYPE-CODE FALSE> + PHRASE100 (DEAD-JUMP WORD-OK20 IM-POS28) (DEAD-FALL PL25)>
233 <EMPUS? TEMP68 + PHRASE105 (DEAD-JUMP TEMP68 LEN26)>
234 <LOOP (LC1-13 VALUE) (TEMP68 LENGTH VALUE)>
236 <NTHUS TEMP68 1 = TEMP46>
237 <VEQUAL? TEMP46 LC1-13 + TAG107>
239 <RESTUS TEMP68 1 = TEMP68 (TYPE STRING)>
240 <EMPUS? TEMP68 - TAG108 (DEAD-FALL TEMP68 LEN26)>
245 <RESTUS BB37 1 = BB37 (TYPE STRING)>
249 <EMPUS? BB37 - PHRASE113 (TYPE STRING) (DEAD-FALL BB37 LEN26)>
250 <FRAME '
\1aCHANNEL-OP>
254 <CALL '
\1aCHANNEL-OP 3 = LEN26>
256 <ADD TOTAL-ACCESS10 BL7 = TOTAL-ACCESS10 (TYPE FIX)>
258 <NTHUS BB37 1 = TEMP68 (TYPE CHARACTER)>
259 <GRTR? TEMP68 32 + PHRASE116 (TYPE FIX)>
261 <RESTUS BB37 1 = BB37 (TYPE STRING)>
264 <NTHUS BB37 1 = TEMP68 (TYPE CHARACTER)>
265 <VEQUAL? TEMP68 LC2-14 - AGAIN103>
267 <RESTUS BB37 1 = BB37 (TYPE STRING)>
271 <EMPUS? BB37 - PHRASE122 (TYPE STRING) (DEAD-FALL BB37 LEN26)>
272 <FRAME '
\1aCHANNEL-OP>
276 <CALL '
\1aCHANNEL-OP 3 = LEN26>
278 <ADD TOTAL-ACCESS10 BL7 = TOTAL-ACCESS10 (TYPE FIX)>
280 <NTHUS BB37 1 = TEMP68 (TYPE CHARACTER)>
281 <GRTR? TEMP68 32 + PHRASE125 (TYPE FIX)>
283 <RESTUS BB37 1 = BB37 (TYPE STRING)>
286 <NTHUS BB37 1 = TEMP46 (TYPE CHARACTER)>
287 <VEQUAL? TEMP46 LC3-15 - AGAIN103>
289 <RESTUS BB37 1 = BB37 (TYPE STRING)>
292 <FRAME '
\1aCHANNEL-OP>
296 <CALL '
\1aCHANNEL-OP 3 = LEN26>
298 <ADD TOTAL-ACCESS10 BL7 = TOTAL-ACCESS10 (TYPE FIX)>
301 <TYPE? WRD18 <TYPE-CODE UNBOUND> + PHRASE131>
302 <CHTYPE WRD18 <TYPE-CODE WORD> = TEMP46>
303 <CONS TEMP46 () = TEMP46>
306 <SET TEMP46 () (TYPE LIST)>
308 <LENUS BB37 = PL25 (TYPE FIX)>
309 <SUB BL7 PL25 = PL25 (TYPE FIX)>
310 <ADD PL25 TOTAL-ACCESS10 = PL25 (TYPE FIX)>
311 <CONS PL25 TEMP46 = TEMP46>
313 <CONS IM-POS28 TEMP46 = TEMP46>
315 <CONS WORD-OK20 TEMP46 = TEMP46>
317 <CONS TEMP46 INDEX29 = INDEX29>
319 <SET IM-POS28 %<> (TYPE FALSE)>
322 <SUB BL7 PL25 = TEMP46 (TYPE FIX)>
324 <ADD TEMP46 TOTAL-ACCESS10 = IM-POS28 (TYPE FIX)>
328 <VEQUAL? WORD-OK20 0 + AGAIN38 (DEAD-FALL WRD18)>
329 <SET WRD18 0 (TYPE FIX)>
333 <RESTUS BB37 1 = BB37 (TYPE STRING)>
334 <EMPUS? BB37 - PHRASE146 (TYPE STRING) (DEAD-FALL BB37)>
335 <ADD PL25 BL7 = PL25 (TYPE FIX)>
336 <LESS? LEN26 BL7 - PHRASE148 (TYPE FIX)>
339 <PUSH 'BAD-FILE!-ERRORS>
343 <FRAME '
\1aCHANNEL-OP>
347 <CALL '
\1aCHANNEL-OP 3 = LEN26>
348 <ADD TOTAL-ACCESS10 BL7 = TOTAL-ACCESS10 (TYPE FIX)>
351 <NTHUS BB37 1 = TEMP68 (TYPE CHARACTER)>
352 <VEQUAL? TEMP68 !\* - PHRASE152 (DEAD-FALL TEMP68)>
353 <VEQUAL? WORD-OK20 0 + AGAIN38>
355 <SET WORD-OK20 %<> (TYPE FALSE)>
358 <VEQUAL? WORD-OK20 0 - MAP138>
359 <LSH WRD18 3 = WRD18 (TYPE FIX)>
360 <SUB TEMP68 48 = TEMP46 (TYPE FIX)>
362 <OR WRD18 TEMP46 = WRD18>
366 <VEQUAL? LEN26 BL7 + AGAIN33 (TYPE FIX) (DEAD-FALL OBL5 CHAN4 IM-POS28 WRD18 WS17 LC3-15 LC2-14 LC1-13 ML12 MS11 TOTAL-ACCESS10 MAXL9 CHAR8 BL7 B6)>
373 <GFCN
\1aSKIP-MIMA ("VALUE" ATOM CHANNEL ATOM "OPTIONAL" ANY) CHAN6 NAME7 FUDGE8>
374 <OPT-DISPATCH 2 %<> OPT4 OPT5>
378 <TEMP MCHAR9 MS10:STRING ML11:FIX MAXL12:FIX SPN13:STRING ECHAR14:CHARACTER B18:STRING BL19:FIX TEMP25:FIX OUTER26 LEN22:FIX BB30 STATE31:FIX TEMP40 C1-64:CHARACTER C2-65:CHARACTER>
380 <GVAL 'MAGIC-CHAR = MCHAR9 (TYPE CHARACTER)>
381 <GVAL 'MAGIC-STRING2 = MS10 (TYPE STRING)>
382 <GVAL 'MAGIC-LENGTH2 = ML11 (TYPE FIX)>
383 <GVAL 'MAGIC-MAX2 = MAXL12 (TYPE FIX)>
384 <NTHR NAME7 3 = SPN13 (RECORD-TYPE ATOM)>
385 <GVAL 'LAST-CHAR3 = ECHAR14 (TYPE CHARACTER)>
386 <GVAL 'BUFFER = B18 (TYPE STRING)>
387 <GVAL 'BUFLENGTH = BL19 (TYPE FIX)>
390 <CALL '
\1aACCESS 1 = TEMP25>
391 <SUB TEMP25 BL19 = TEMP25 (TYPE FIX)>
395 <FRAME '
\1aCHANNEL-OP>
399 <CALL '
\1aCHANNEL-OP 3 = LEN22>
400 <ADD TEMP25 BL19 = TEMP25 (TYPE FIX)>
402 <SET STATE31 0 (TYPE FIX)>
408 <EMPUS? OUTER26 + EXIT29 (DEAD-JUMP STATE31 OUTER26)>
409 <LOOP (MCHAR9 VALUE) (OUTER26 LENGTH VALUE)>
411 <NTHUS OUTER26 1 = TEMP40>
412 <VEQUAL? TEMP40 MCHAR9 + TAG37>
414 <RESTUS OUTER26 1 = OUTER26 (TYPE STRING)>
415 <EMPUS? OUTER26 - TAG38 (DEAD-FALL STATE31 OUTER26)>
418 <LENUS OUTER26 = BB30 (TYPE FIX)>
419 <VEQUAL? BL19 LEN22 + BOOL41 (TYPE FIX)>
420 <SUB BL19 LEN22 = TEMP40 (TYPE FIX)>
421 <GRTR? BB30 TEMP40 - EXIT29 (TYPE FIX) (DEAD-JUMP STATE31 BB30 OUTER26)>
424 <GRTR? BB30 MAXL12 - PHRASE49 (TYPE FIX) (DEAD-FALL BB30)>
425 <GRTR? TEMP25 0 - PHRASE51 (TYPE FIX) (DEAD-FALL STATE31 LEN22 OUTER26)>
428 <SUB TEMP25 ML11 = TEMP25 (TYPE FIX)>
431 <SUB TEMP25 BL19 = TEMP25 (TYPE FIX)>
434 <SUB BL19 BB30 = TEMP40 (TYPE FIX)>
436 <SUB TEMP40 ML11 = TEMP40 (TYPE FIX)>
437 <RESTUS B18 TEMP40 = TEMP40 (TYPE STRING)>
438 <SET BB30 MS10 (TYPE STRING)>
439 <EMPUS? TEMP40 + PHRASE51 (DEAD-JUMP TEMP40 BB30)>
440 <EMPUS? BB30 + PHRASE51 (DEAD-JUMP TEMP40 BB30)>
444 <EMPUS? TEMP40 + MAPAP56 (DEAD-JUMP TEMP40 BB30 MAXL12 ML11 MS10 MCHAR9)>
445 <EMPUS? BB30 + MAPAP56 (DEAD-JUMP TEMP40 BB30 MAXL12 ML11 MS10 MCHAR9)>
446 <NTHUS TEMP40 1 = C1-64>
447 <NTHUS BB30 1 = C2-65>
448 <VEQUAL? C1-64 C2-65 - PHRASE51 (DEAD-JUMP TEMP40 BB30)>
450 <RESTUS TEMP40 1 = TEMP40 (TYPE STRING)>
451 <RESTUS BB30 1 = BB30 (TYPE STRING)>
457 <RESTUS OUTER26 1 = OUTER26 (TYPE STRING)>
458 <EMPUS? OUTER26 - PHRASE78 (TYPE STRING) (DEAD-FALL OUTER26)>
459 <VEQUAL? LEN22 BL19 + PHRASE80 (TYPE FIX)>
462 <PUSH 'BAD-MIMA!-ERRORS>
466 <FRAME '
\1aCHANNEL-OP>
471 <CALL '
\1aCHANNEL-OP 3 = LEN22>
472 <ADD TEMP25 BL19 = TEMP25 (TYPE FIX)>
474 <NTHUS OUTER26 1 = MCHAR9 (TYPE CHARACTER)>
475 <EMPUS? SPN13 - PHRASE84 (TYPE STRING)>
476 <VEQUAL? MCHAR9 ECHAR14 + MAPAP73 (DEAD-JUMP NAME7 STATE31 LEN22 B18 ECHAR14 SPN13 MCHAR9)>
482 <CALL '
\1aSKIP-TRL 2 = STATE31>
483 <VEQUAL? STATE31 3 - MAP70 (TYPE FIX)>
486 <NTHUS SPN13 1 = C1-64 (TYPE CHARACTER)>
487 <VEQUAL? C1-64 MCHAR9 + PHRASE90>
491 <PUSH 'BAD-MIMA!-ERRORS>
496 <RESTUS SPN13 1 = SPN13 (TYPE STRING)>
502 <LENUS OUTER26 = ML11 (TYPE FIX)>
504 <SUB BL19 ML11 = ML11 (TYPE FIX)>
506 <SUB ML11 FUDGE8 = ML11 (TYPE FIX)>
508 <ADD ML11 TEMP25 = STACK (TYPE FIX)>
513 <RESTUS OUTER26 1 = BB30 (TYPE STRING)>
517 <VEQUAL? LEN22 BL19 + AGAIN27 (TYPE FIX)>
520 <PUSH 'BAD-MIMA!-ERRORS>
527 <GFCN
\1aSKIP-TRL ("VALUE" FIX CHARACTER FIX) CHAR4 STATE5>
530 <GVAL 'I$TRANS-TABLE!-INTERNAL = TEMP7 (TYPE BYTES)>
531 <ADD CHAR4 1 = TEMP8 (TYPE FIX)>
532 <NTHUB TEMP7 TEMP8 = TEMP8 (TYPE FIX)>
534 <VEQUAL? STATE5 0 - PHRASE10 (TYPE FIX)>
535 <VEQUAL? TEMP8 8 - PHRASE10 (TYPE FIX) (DEAD-FALL STATE5 CHAR4 TEMP8)>
538 <VEQUAL? STATE5 1 - PHRASE14 (TYPE FIX) (DEAD-JUMP CHAR4) (DEAD-FALL STATE5 TEMP8)>
539 <VEQUAL? CHAR4 !\- - PHRASE18>
545 <VEQUAL? STATE5 2 - PHRASE20 (TYPE FIX) (DEAD-FALL TEMP8)>
549 <VEQUAL? TEMP8 15 - PHRASE21 (TYPE FIX) (DEAD-FALL TEMP8)>
552 <VEQUAL? TEMP8 16 + BOOL23 (TYPE FIX) (DEAD-JUMP TEMP8)>
553 <VEQUAL? TEMP8 19 + BOOL23 (TYPE FIX) (DEAD-JUMP TEMP8)>
554 <VEQUAL? TEMP8 20 + BOOL23 (TYPE FIX) (DEAD-JUMP TEMP8)>
555 <VEQUAL? TEMP8 17 + BOOL23 (TYPE FIX) (DEAD-JUMP TEMP8)>
556 <GVAL 'M$$R-STAR = TEMP7>
557 <EQUAL? TEMP7 TEMP8 - PHRASE22>