1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-13 15:27:28 +00:00
PDP-10.its/bin/librm3/mlearn.fbin

194 lines
8.4 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'<PCODE "8MLEARN">
<PACKAGE "MLEARN">
<ENTRY LEARN MNEME-BEGIN MNEME-END RANDOM-MNEME-ITEM CONVERT NON-INVERT MNUM
MNEME-LOCK MNEME-WRITE MNEME-UNLOCK PIO-TRACE>
<USE "PIO" "MNEME">
<SETG PIO-HANG-ON-UNMAP? T> ;"Never delete this"
<SETG PIO-PAGE-LIMIT 100>
<SETG MNUM <>>
<SETG NAMELIST ()>
<SETG EHT <IUVECTOR 60 ()>>
<GDECL (NAMELIST) <LIST [REST ATOM]> (MNUM) <OR FALSE ATOM> (EHT) <UVECTOR [60
LIST] [REST LIST]> (MNEME-READ-TABLE) <VECTOR [256 ANY]>>
<SETG MNEME-LOCK %<RSUBR!- '[ %<PCODE!- "8MLEARN" 0> MNEME-LOCK #DECL ("VALUE"
FIX "OPTIONAL" STRING) ALLOCP DALLOCP STR-TO-FIX PRINTP MNEME-EXIST SHASH
COLON-CHK MNUM-ATOM STORALLOC GROUP-PAGE-OUT IUBKT NREVERSE UV-ZAP OPENP CLOSEP
MNEME-READ HASH-ATOM "MNEME" MNEMECHN "You forgot to MNEME-INITialize" %<RGLOC
MNEMECHN T> %<TYPE-W CHANP VECTOR> "PRINT" %<RGLOC DHT T> T
"Reopened in print mode" %<RGLOC MNEME-READ-TABLE T> %<RSUBR!- '[ %<PCODE!-
"8MLEARN" 4510> ANONF2!-TMP #DECL ("VALUE" ATOM ANY) INCHAN OBLIST]> INCHAN
MNEME-SEEN (LIST) ATOMLIST LISTLIST READ-TABLE MNEME-READ-TABLE (<VECTOR [256
ANY]>) OBLIST %<RGLOC MNEME-OBLIST T> DHT %<RGLOC OBLIST T>
"Unmatched or missing bracket" MNEME-END %<RGLOC EHT T> SEEN %<RGLOC NAMELIST T>
OUTCHAN "ERROR--EVALing MNEME-END" %<RGLOC MNEME-VERBOSE T> %<TYPE-C OWT WORD>
"Learning " "Shouldn't get this" "Shouldnt get this" "Bucket overflow" %<RGLOC
STORSIZ T> %<RGLOC STORNXT T> %<RGLOC IHT T> %<TYPE-W OWT WORD> %<TYPE-C
MNEME-INSTANCE LIST> "Illegal instance" %<RGLOC MNUM T> CONVERT NON-INVERT
LISTLEARN1 ALREADY-EXISTS "Number too big for MNEME" "Unrecognized " %<RGLOC
STORPLUS1 T> %<RGLOC STOR T> NEW-USES %<RGLOC RANL T> %<RGLOC RANN T>
"Colon usage" %<TYPE-W MNEME-INSTANCE LIST> IGNORE--THIS
"Bad type to makeunique" %<RGLOC FALS-CON T> "*** Note--SIZ="
"Capacity exceeded" "PIO block size = " PAGE-OUT "More than 16382 uses" %<RGLOC
EEUV T> "More than 16383 uses" EXTEND-EXTENSION %<RGLOC TEMP-UVEC9-LEN T> %<
RGLOC TEMP-UVEC9 T> %<RGLOC TEMP-UVEC8-LEN T> %<RGLOC TEMP-UVEC8 T> %<RGLOC
TEMP-UVEC10B-LEN T> %<RGLOC TEMP-UVEC10B T> PIO-TRACE WORD %<RGLOC PIO-TRACE T>
" W@ " "PRINTP returns false" "Bad type to MNEME-WRITE"
"DALLOCP returns false: " %<RGLOC PIO-ERROR-VECTOR T> "ERRET <> to try again"
"SORRY" "ALLOCP return false: "]>>
<AND <ASSIGNED? GLUE> .GLUE <PUT ,MNEME-LOCK PGLUE ![715827882 -21474836481 -1
-1 -1 -256 0!]>>
<AND <ASSIGNED? GLUE> .GLUE <PUT ,MNEME-LOCK GLUE ![4379120709 -13945933818
352321797 1095058780 -16976510879 4446291762 -1073222655 6187447296 1073741847
3264 1094780177 30069344199 8351369159 1358032945 1136706033 66560 12889113860
263248 33370144768 17251189009 253495312 4379930671 17039376 16708 21609320449
4299178304 17448374276 1095827472 17251172352 18596499457 22809344 83886080
4308533504 21491642865 -15091171088 17196921280 16138637424 8862581760
1095057921 1074020368 4378919936 18254663764 17184129296 70940 1074004055
738197504 66832 201326784 30458235916 7806108740 17181442320 -34353446848
30146817 17212375042 8389756 1028 1145045057 1106264080 70412 1660944396 65544
805306372 16778241 30064771072 16843776 30474240 279600 7637614640 4296888336
71315456 1397768256 1562312704 17180987476 1140863057 275782736 -34061913776
131072012 475217 -4164939772 4316807424 30463229953 1075068993 4044363216
1091027004 4294968596 318767104 17522753536 4630515968 121716805 1413549056
1153433600 790348 4522000 1141904384 18270408704 12884905808 5389681681
2151957772 -17058233344 278784 1140850688 286330900 4563943426 134217744
18270471169 4321345 268499985 4027515920 4654891072 262209 65 67203072 0 65800
68427785 65796 4202496 18272437264 17247059968 31159502085 17179870211
2087731971 201785392 7528890636 805307440 274010385 1142965568 262416 4194304
17682141184 285999873 1879048192 8590016884 17537433664 0 4295038032 1376272
268713986 1140850689 71303431 33353105408 18303991873 -17179869184 8388608
285212928 -4294900736 16724 390135872 4563468317 0 1140867073 335549440 68436993
-16084892928 285741324 17563921 3290169413 4496293911 18254939140 13160681728
902844865 -17061375680 8679190544 17469538320 65604 67108932 285475904 68441137
1880096768 4202512 31167873024 83955776 4580245568 268435456 273743888
4563407104 1095778565 1347503376 17185594689 33304089921 4317065220 0
17249075200 -17179868864 18253680640 4295033860 66752 4194305 71304192
4563431748 4299636736 1094992964 18316525585 4450156668 196624 17212391432
1358954497 18255726528 16177434689 67371024 17196663041 1074008064 1141903364
4295036688 16449 66567 -16965959615 5368709121 286329856 2147500156 1006633991
12884918273 134335553 1114176 121634832 3225616384 4592775936 16778243 281018372
19059752960 1073807552 17985175825 -17126391807 263172 -16051269616 805503948
3616770 1203766273 17533305092 1074794501 1049601 5757731332 22615896066
2166292481 21541962876 268435456 67383328 -15300034368 805502976 33336328192
-3997130992 4211456 25978470592 3221230064 -17179868220 30103028736 15 262157 65
262205 148 196 262338 579 -261543 262983 263303 264189 526369 2174 264399 264784
527030 265194 527566 3385 265586 265828 1052321 266013 266064 266115 528312
528542 528634!]>>
<SETG MNEME-UNLOCK %<RSUBR-ENTRY '[MNEME-LOCK MNEME-UNLOCK #DECL ("VALUE" <OR
FALSE STRING> "OPTIONAL" STRING)] 48>>
<SETG INIT-READ-TABLE %<RSUBR-ENTRY '[MNEME-LOCK INIT-READ-TABLE #DECL ("VALUE"
<VECTOR [256 ANY]>)] 146>>
<SETG MNEME-BEGIN %<RSUBR-ENTRY '[MNEME-LOCK MNEME-BEGIN #DECL ("VALUE" ANY
"OPTIONAL" ANY)] 181>>
<SETG MNEME-OBLIST <MOBLIST MNEME-OBLIST 23>>
<GDECL (MNEME-OBLIST) OBLIST>
<SETG MNEME-END %<RSUBR-ENTRY '[MNEME-LOCK MNEME-END #DECL ("VALUE" STRING)] 577
>>
<SETG LEARN %<RSUBR-ENTRY '[MNEME-LOCK LEARN #DECL ("VALUE" <OR FALSE OWT>
"TUPLE" <OR TUPLE LIST>)] 588>>
<SETG ATOMLEARN1 %<RSUBR-ENTRY '[MNEME-LOCK ATOMLEARN1 #DECL ("VALUE" OWT ATOM)]
835>>
<SETG LISTLEARN1 %<RSUBR-ENTRY '[MNEME-LOCK LISTLEARN1 #DECL ("VALUE" OWT <OR
LIST MNEME-INSTANCE>)] 1155>>
<SETG GETBUCKET %<RSUBR-ENTRY '[MNEME-LOCK GETBUCKET #DECL ("VALUE" <UVECTOR [
REST FIX]> FIX)] 2041>>
<SETG COMPARE-DSK-LIST %<RSUBR-ENTRY '[MNEME-LOCK COMPARE-DSK-LIST #DECL (
"VALUE" <OR ATOM FALSE> FIX <LIST [REST FIX]>)] 2075>>
<GDECL (RANL) <UVECTOR [REST FIX]> (RANN) FIX>
<SETG RANL ![!]>
<SETG RANN 7>
<SETG RANDOM-MNEME-ITEM %<RSUBR-ENTRY '[MNEME-LOCK RANDOM-MNEME-ITEM #DECL (
"VALUE" OWT)] 2172>>
<SETG MNEME-NAMES %<RSUBR-ENTRY '[MNEME-LOCK MNEME-NAMES #DECL ("VALUE" ANY ANY)
] 2251>>
<SETG MNEME-NAMES2 %<RSUBR-ENTRY '[MNEME-LOCK MNEME-NAMES2 #DECL ("VALUE" ANY
ANY)] 2636>>
<SETG MAKEUNIQUE %<RSUBR-ENTRY '[MNEME-LOCK MAKEUNIQUE #DECL ("VALUE" ANY <OR
FIX FALSE> <OR LIST ATOM MNEME-INSTANCE FIX OWT>)] 2736>>
<SETG FALS-CON #FALSE (0 0 0)>
<GDECL (FALS-CON) <FALSE FIX ANY ANY>>
<SETG RGET %<RSUBR-ENTRY '[MNEME-LOCK RGET #DECL ("VALUE" <OR MNEME-INSTANCE <
LIST LIST> <FALSE FIX ANY ANY>> <OR MNEME-INSTANCE LIST FALSE>)] 3046>>
<SETG RPUT %<RSUBR-ENTRY '[MNEME-LOCK RPUT #DECL ("VALUE" FIX ANY ANY)] 3272>>
<SETG PAGE-REST %<RSUBR-ENTRY '[MNEME-LOCK PAGE-REST #DECL ("VALUE" ATOM)] 3383>
>
<SETG PAGE-OUT %<RSUBR-ENTRY '[MNEME-LOCK PAGE-OUT #DECL ("VALUE" ANY FIX)] 3438
>>
<SETG BLD-EXTENSION %<RSUBR-ENTRY '[MNEME-LOCK BLD-EXTENSION #DECL ("VALUE" FIX
<LIST [REST FIX]>)] 3680>>
<SETG EEUV ![0 0!]>
<GDECL (EEUV) <UVECTOR FIX FIX>>
<SETG EXTEND-EXTENSION %<RSUBR-ENTRY '[MNEME-LOCK EXTEND-EXTENSION #DECL (
"VALUE" ATOM <LIST [REST FIX]> FIX FIX FIX)] 3735>>
<SETG TEMP-UVEC9 <IUVECTOR <SETG TEMP-UVEC9-LEN 10> 0>>
<GDECL (TEMP-UVEC9-LEN) FIX (TEMP-UVEC9) <UVECTOR [REST FIX]>>
<SETG IUVEC9 %<RSUBR-ENTRY '[MNEME-LOCK IUVEC9 #DECL ("VALUE" <UVECTOR FIX [REST
FIX]> FIX)] 3865>>
<SETG TEMP-UVEC8 <IUVECTOR <SETG TEMP-UVEC8-LEN 10> 0>>
<GDECL (TEMP-UVEC8-LEN) FIX (TEMP-UVEC8) <UVECTOR [REST FIX]>>
<SETG IUVEC8 %<RSUBR-ENTRY '[MNEME-LOCK IUVEC8 #DECL ("VALUE" <UVECTOR FIX [REST
FIX]> FIX)] 3916>>
<SETG TEMP-UVEC10B <IUVECTOR <SETG TEMP-UVEC10B-LEN 10> 0>>
<GDECL (TEMP-UVEC10B-LEN) FIX (TEMP-UVEC10B) <UVECTOR [REST FIX]>>
<SETG IUVEC10B %<RSUBR-ENTRY '[MNEME-LOCK IUVEC10B #DECL ("VALUE" <UVECTOR FIX [
REST FIX]> FIX)] 3967>>
<SETG MNEME-WRITE %<RSUBR-ENTRY '[MNEME-LOCK MNEME-WRITE #DECL ("VALUE" FIX <OR
<UVECTOR <PRIMTYPE WORD>> <PRIMTYPE WORD> STRING LIST> FIX)] 4018>>
<SETG RDALLOCP %<RSUBR-ENTRY '[MNEME-LOCK RDALLOCP #DECL ("VALUE" ANY CHANP FIX)
] 4248>>
<SETG RALLOCP %<RSUBR-ENTRY '[MNEME-LOCK RALLOCP #DECL ("VALUE" ANY CHANP FIX)]
4340>>
<SETG MNEME-PAGE-OUT ,PAGE-REST>
<ENDPACKAGE>