X-Git-Url: https://jxself.org/git/?p=pdp10-muddle.git;a=blobdiff_plain;f=mim%2Fdevelopment%2Fmim%2Fvaxc%2Futread.mud;fp=mim%2Fdevelopment%2Fmim%2Fvaxc%2Futread.mud;h=e93f33c387308a21353c9cd3aabee72f4737ae0e;hp=0000000000000000000000000000000000000000;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07 diff --git a/mim/development/mim/vaxc/utread.mud b/mim/development/mim/vaxc/utread.mud new file mode 100644 index 0000000..e93f33c --- /dev/null +++ b/mim/development/mim/vaxc/utread.mud @@ -0,0 +1,899 @@ + + + + +) "AUX" RES LAST FROB ATM) + #DECL ((READ-INFO) TUPLE (RES) ) + >> + + + >> FORM>> + + END!- >> + ) + (T + )> + )) + #DECL ((L) LIST) + )> + > FORM> + > + > END!-MIMOP> + )> + + '["VAX" "UNIX"]> + !.IFL)> + ) + (T + + .LL> + > + )>) + (<==? .FROB IFCAN!-MIMOP> + + >> + > + !.IFL)> + ) + (T + + .LL> + > + )>) + (<==? .FROB IFCANNOT!-MIMOP> + + >>> + >> + !.IFL)> + ) + (T + + .LL> + > + )>) + (<==? .FROB ENDIF!-MIMOP> + + <1 .IFL>>> + ) + (> + )>)>)> + > + + > + + ) + (T + >>)>) + (T + + >)>> + .RES)>> + + + + )> + > + + > + ENDIF!-MIMOP> + >> + > + )>) + ( IFSYS!-MIMOP> + <==? <1 .THING> IFCAN!-MIMOP> + <==? <1 .THING> IFCANNOT!-MIMOP>> + >)>)> + >>> + +> ,MIMOP-OBLIST>> + )>> + +) + > + ) M N I LBL) + #DECL ((FRM) (M) (LBL) ATOM + (N) (I) FORM (LL) LIST) + ) + (<==? <1 .FRM> OPT-DISPATCH!-MIMOP> + >) + (> >> + > .L>>) + (T )> + >> JUMP!-MIMOP> + > + >) + ( JUMP!-MIMOP> + <==? <1 .I> RETURN>> + + ) + (T )>) + (<==? <1 .FRM> ICALL!-MIMOP> >) + (T )>> + .L>> + ) + ( ATOM> .LR>>> + > + ) + (> FORM> + <==? <1 .ITM> JUMP> + > FORM> + <==? <1 .ITM> JUMP>> + > + ) + (> FORM> + <==? <1 .ITM> JUMP> + > + <==? <2 .L> <3 .ITM>>> + > + ) + (> FORM> + <==? <1 .ITM> JUMP> + > + ATOM>>> + > + ) + (T )> + >> + >>> + +> + +> + > + > + + > + + + 1>> + (TCOMPERR ')>)> + 1>> + (TUNWCNT ')>)> + T> + + + ) + )>> + .L>> + +)) + #DECL ((LST) LIST) + > ATOM> + > ATOM>> + > + >> + )> + )> + + >> )> + >>> + + + (PITEM) >) + + + > + > + > + >> + LIST> + > + >>>> + .LABS>>> + > + )> + )> + >)>> + .LST>> + + )> + > FORM> + LOOP!-MIMOP> + 1>> + !.LOOPS)> + >) + (<==? <1 .ITM> DISPATCH!-MIMOP> + + >) + (> + > + >> + LIST> + > + >>>> + > .LOOPS> + JUMP!-MIMOP>> + > + + -> ) + ()> + > + .NLAB)> + .RPTR> + >) + (>)>) + (>)>>> + +) (ANY? <>)) + #DECL ((PTR LOOPS) LIST (DEFLBL) (ANY?) ) + ATOM> + >)> + + ) NL) + #DECL ((NP) LIST (NL LBL) ATOM) + + ; "We have to put in funny jumps, so the default case must become + JUMP label..." + + + ; "Make sure we have a label to jump to" + > + !)>)> + ; "Put in the jump" + + !)>>)> + > + !)> + <1 .NP .NL> + ; "Find any other frobs to same place" + )) + > + <1 .L .NL>) + ()>>)>> + 3>>> + +) + >) + (<==? .X <1 .L>> ) + (>)>>> + + (OUTCHAN) ) + + + + ) + (ELSE )> + > + .LST>> + +> + +> + + .EXPSPLICE>) TMP + (INCHAN ) ST) + #DECL ((READ-INFO) TUPLE (OUTCHAN) > + (EXPSPLICE EXPFLOAD) (INCHAN) ) + > .IND> + >> + + >)> + >>> + )> + + + <=? " ">>>> + + > + > '["FCN" "GFCN"]>> + )> + + ; "Copy the new hash code over to the msubr file." + + + + > + + .OUTCHAN + <- 8>> + + )>)>) + ( + > + FLOAD> + >>) + (<==? <1 .ITM> L-FLOAD> + >>)>> + + > + ) + (T + + >> + NEW-CHANNEL-TYPE> + >>>) + ( '[INCLUDE-WHEN USE-WHEN]> + > + FORM> + >> + <==? <1 <2 .ITM>> COMPILING?>> + > + <1 <2 .ITM> DEBUGGING?>) + (T + >)>) + (T + >)> + + + )> + > + + + > + .TMP>) + (T + + )> + + + )>)>)>)>>> + +> + +) (INDEX ()) (RREDO ())) + #DECL ((OCH) CHANNEL (PMCH AMCH AACH) + (LST) ]> (NM2) + (NAMES) < [REST STRING]> (READ-INFO) TUPLE + (INDEX RREDO) LIST) + + + + + + .PRECOMPILED + ,PRE-CH> + + + > + > + + .REDO> + > + .REDO>>)>)> + ) COMPILER-INPUT OLD-FCN) + #DECL ((COMPILER-INPUT) + (OLD-FCN) ) + > + > + )> + >>> + )> + + + + + > + >)> + .OCH)> + .EXPFLOAD>>>> + + ) + (T + > + > + > "FCN"> + ) + ()> + > + > + GFCN!-MIMOP> + )>) + (ELSE + .RREDO>> + > + 4> + <==? <4 .OLD-FCN> ,LAST-HASH>>> + ; "Skip if have precompiled, fcn is not + in redo list, is in index (--> in precompiled), + and either doesn't have hash or has right + hash" + + + )> + + > + + >>) + (T + + + + >)> + >> + > + + > + + > + + + + + + + + )>> + > + + + )> + + >> + > + + + )>)>)>)>>> + +) VAL) +
+ ' .STARCPU>>> + '.VAL>> + + + + (LST) ]> (READ-INFO) TUPLE + (NM2) (NAMES) < [REST STRING]> + (PASS2? REDEFINE) ) + + > + + ) (END T) ARES + COMPILER-INPUT CH2) + #DECL ((ARES) (COMPILER-INPUT) ) + + + + + >> + ) + + + >)> + + + )> + > + >)> + + + )> + >> + + ) + ()>)> + > + + + )> + >>> + )> + + + + + > + >)> + >>> + + ) + (T + > + > + > + )> + > "FCN"> + ) + ()> + + + + >)> + >> + > + + + > + + >> + > + > + > + + + )> + > + + + )> + > + > + )>>> + + .STARCPU> + " / " <- <* ,FBYTE-OFFSET 4> .OFF>>> + +)) + > + >> + >>>) + (.X)>> + >> + >> + +>) + (OUTCHAN .OUTCHAN)) + #DECL ((ATM) (SPN) STRING) + > + <==? <1 .SPN> !\T> + <==? <2 .SPN> !\$>> + .OUTCHAN >) + ( > + + ,MIMOP-OBLIST> + >>> + > + >) + (T >)> + > + + + + + + + +) (AMCH <>) (AACH <>) + (GC-HANDLER <>) + (READ-INFO >) + SAVED-OBLIST) + #DECL ((NAME) STRING) + > + + 2560 ,MIMOC-READ-TABLE> + ) + + .PRECOMPILED> + ) + ("UNIX" + )> + > + >) + (T + >)>)> + + .AUTO-PRECOMP + ,PRE-CH> + ; "Have precompiled, and don't necessarily want to + do anything" + + > + + >> + ; "Have existing msubr, and it's later" + + "."> + + ) + (.OCH + )>)> + + ; "Do things to do" + ) + (T + ) + ("VAX" + )>)> + > + > + + > + >> + + > + >> + + > + >>> + + 0.5>>) (GCTIME 0.0000000) + (EXPFLOAD .EXPFLOAD>)) + #DECL ((STARCPU) (GCTIME) ) + >>)> + + + > + + + > + + + + )> + > + > + > + > + > + )> + > + + >> + >)> + + + + )>> + ,INCHANS>)> + + > + > + >)> + >>>> + + + + "Reading file ") + ( .PASS2?> + "Pass 2: ") + (T + "Pass 1: ")> + >)>> + + 0.5>>) (OUTCHAN .OUTCHAN)) + #DECL ((STARCPU) FIX (GCTIME) FLOAT) + + + " Gc Time Used: " " +IO time: " > + + ) + ("")>> + > + + + + +> + + + >>> + + + <==? <1 .E> END!-MIMOP>> + )>>> + +> + + + +) (TYPE ATOM) + "AUX" (CNT 1) (STR ,IP-BUFSTR)) + #DECL ((X) STRING (OUTCHAN) ) + + <1 .STR !\,> + ) + (<==? .TYPE LVAL> + <1 .STR !\.> + )> + + + + > + !\ > + >)>) + (ELSE >)>> + .X> + + !\-> + >)> + >>> + > + +> + >>> + +)) + #DECL ((INCH OUCH) (AMT) FIX (BUF) STRING) + >)> + >> + + + > 0>> + )>) + ( .CT <>> + DO-FILE-COPY>)>>> +\ + 1>> + + FIX> + >) + (T + >)> + +> + + + ) + (T + >>>)> + ,CTLZ T ,CTLZ-RD <>]>> + +> + +) + + )> + > ATOM>> + ) + >) + (<==? .OBLIST .O> .X) + (ELSE + )> + > + )> + <1 .X>)>> + +)) + #DECL ((NAME) ATOM (INDEX) ) + + >> + )>> + .INDEX>> + + (INCH OUCH) ) + > + >)> + > + + <2 .LIST>>) CT) + #DECL ((LEN CT) FIX) + >> + + > 0> + )>> + >