;"This is the MUM/MDL bootstrap file. One hopes that, when compiled, this file will cause an MDL to be brought up and initialized. Fat chance." ;"READ part of bootstrap" ) > T$UNBOUND> ) (T )>> ) LEN) #DECL ((C) T$BCHANNEL (BUF) STRING (LEN) FIX) >> >> >>>) (T .BUF 0>>> > )>)>> ,I$CHRSTR 1 0> <1 ,I$CHRSTR>> (R) ) > .NCHR) (>> >> 64>> > 64> > T$UNBOUND> ) (T )>) (T )>) (T )>) (T > > 1>>> .CHR)>> ) "AUX" CHR ASC NCHR TYP) #DECL ((CHR NCHR) CHARACTER (ASC) FIX (TYP) ANY (PFX) ) > ,BREAKS>) (T )>> > .PFX>) (<==? .CHR !\<> > FORM> .PFX>) (<==? .CHR !\[> .PFX>) (<==? .CHR !\"> .PFX>) (<==? .CHR !\|> .PFX>) ("> ) (<==? .CHR !\!> > > ) (<==? .NCHR > > ) (<==? .NCHR !\<> > SEGMENT> .PFX>) (<==? .NCHR !\>> ) (>)>) (> >> <==? .CHR !\+> <==? .CHR !\->> .PFX>) (<==? .CHR !\#> > .PFX>) (T .TYP> .PFX>)>) (<==? .CHR !\%> > !\%> > ) (T >)>) (<==? .CHR !\,> > .TYP> .PFX>) (<==? .CHR !\'> > .PFX>) (<==? .CHR !\.> > > ) (T .TYP> .PFX>)>) (<==? .CHR !\;> ) (T .PFX>)>> ) .RET> > T$UNBOUND> > <==? .ITM >> ) (T )>) (.ITM)>>>> > T$UNBOUND> > <==? .ITM >> ) (T )>) (.ITM)>>>> " INSTEAD OF " .EXPECT> %>> ) STR) #DECL ((QUOTE) (STR VALUE) STRING) )) #DECL ((CHR) CHARACTER) > .CHR) (<==? .CHR > ) (<==? .CHR !\"> ) (.CHR)>>>> .STR) ( T$ATOM>>) (.STR)>> > > <==? .CHR1 >> > > >)>)> .CHR1> )) #DECL ((NUM) FIX (MC) (VERT?) ) > FIX> > > 5>> FIX>>> > 0> ) (T FIX>>)>> .NUM .NUM>> ) > ) (T )) #DECL ((I WD) FIX (QW) ) > .QW>>) (ELSE >> )> >> )>>)>> .MC> )> .MC> ) "AUX" CHR) #DECL ((CHR FCHR) CHARACTER) > !\|>> > > 5>>)>> ) "AUX" (EXP 0) (FRC 0) (NUM 0) VAL NV (EXP? <>) (FRC? ,I$FRC) OBNAM OBL (FRCN 1) (SGN? <>) (QUOTE? <>) (NEG? <>) CHR ATM (TRL? <>) (DIVIDE <>)) #DECL ((ATM? EXP? FRC? TRL? SGN? NEG? QUOTE? DIVIDE) (NUM EXP FRC RADIX FRCN) FIX (VAL) (NV) (CHR) CHARACTER (OBL) T$OBLIST (ATM) (OBNAM) ANY) > > ) (T ) (ASC )) #DECL ((CHR) CHARACTER (ASC) FIX) >) (<==? .CHR > ) ( <==? .CHR !\!>> > !\-> ) (<==? .CHR > ) ()>) (T )> <0? .FRC>>> ) (T >)>) (<==? .ASC 0> <0? .FRC>>> ) (T >)>) (.ATM?) ( <==? .CHR !\->> > )>) ( <0? .FRC> > >) (T )>) (> >> >> .ASC>>) (.FRC? .ASC>> >) (T .ASC>>)>) ( <==? .CHR !\e>> ) (T )>) (<==? .CHR !\.> ) (T )>) (T )> ) (.CHR)>>>> >>) (.NUM)>> ) ( >) (ELSE <* >)>>) (T %>)>)> >)> .NV) (.TRL? > ,BREAKS> <==? .CHR > <==? .CHR !\!>> ) ( ) ( > T$ATOM> <=? :STRING "IMSUBR">> ) ( .OBNAM>)> >) (<==? <1 .VAL> !\@> ,EROBLIST> ,EROBLIST>>) ( >)>)>> ) "AUX" C) #DECL ((STR OSTR) (C) ) >> > ) (T )>> "DONE") (.OSTR >) (.C)>> )) #DECL ((CHAN) VECTOR (CNUM) FIX) > (CHN) VECTOR) > > .CHN)>> ;"Primitive TYPEs" ) TYPC) #DECL ((ITM) ANY (TYP) T$ATOM (SPN) STRING (TYPC) FIX) ) (<=? .SPN "IMSUBR"> ) (<=? .SPN "MCODE"> ) (<=? .SPN "FALSE"> ) (<=? .SPN "I$TERMIN"> ) (<=? .SPN "UNBOUND"> ) ()> > ;"Primitive structure builders" <> <> <> <>>> ;"Primitive EVAL" > >>> <3 .FOO>>) (<=? .PN "GBIND"> >>> > ) ()>) (<=? .PN "PCODE"> <3 .FOO>>) (<=? .PN "QUOTE"> .FOO) ()>) (T <>)>) (.FOO)>> ;"ATOM part of bootstrap" )("UNIX" )> > 0> )>) ("UNIX" > 0> )>)> >>> .STR> >> .VAL) (ELSE <+ 1>)>> ) >> .ARG2> <=? :STRING .ARG1>> )>> .BUCK>> )) #DECL ((ARG1) (ARG2) T$OBLIST (OFF) FIX (ATM) T$ATOM) <> <> <>>> )> > > >>)> > .ARG2> .ARG2> ) > )>> > > T$OBLIST>> > T$OBLIST>> T$OBLIST>> > '["AUX" "NAME" "OPTIONAL" "OPT" "EXTRA" "QUOTE" "BIND" "CALL" "ARGS" "TUPLE" "ACT" "DECL" "OWN" "VALUE" "PRINT" "READ" "MUD" "DONE"]> T$OBLIST>> T$OBLIST>> > (CPC) T$PCODE (DBVEC) VECTOR) <> <> <> <>]> ) ()> ]> (DB) ) > <=? :STRING .DBNAM>> ) ( <1 .DBV [.DBNAM <>]> )> > >> )>> ) .ID> <==? .DBID>> )> >> >)> >>> .PURVEC>) (T <==? >> <* 20 ,M$$PC-ENTLEN>>> <* 19 ,M$$PC-ENTLEN>> T$PCODE>> !.PURVEC)> )> >> T$PCODE>> <1 .PURVEC .CPC>)> .CPC)>> ;"Bootstrap routine" ; "Arg of 0 means use MBINs where possible. Arg of 1 means use moby-glued stuff, MBINs where possible. Arg of -1 means use only msubrs." ) > -2>> > > )]\""> > > > >> >> > )> ) (<1? .BT> ) (<==? .BT -1> )> )> ; )> .BT ,M$$ROOT ,M$$INTERNAL ,STOBLIST ,I$PURVEC ,I$DBVEC>>