mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
194 lines
8.4 KiB
Plaintext
194 lines
8.4 KiB
Plaintext
'<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>
|
||
|