X-Git-Url: https://jxself.org/git/?p=pdp10-muddle.git;a=blobdiff_plain;f=mim%2Fdevelopment%2Fmim%2Fmimc%2Fpeep.mud;fp=mim%2Fdevelopment%2Fmim%2Fmimc%2Fpeep.mud;h=6c9e2b495db37e943351587e77b8cf2e93ad2ee5;hp=0000000000000000000000000000000000000000;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07 diff --git a/mim/development/mim/mimc/peep.mud b/mim/development/mim/mimc/peep.mud new file mode 100644 index 0000000..6c9e2b4 --- /dev/null +++ b/mim/development/mim/mimc/peep.mud @@ -0,0 +1,448 @@ + + + + + + +'> + + + + >> + +) + > + (BF) ) + + + + > + )> + > ATOM> + >> + > + + )> + ATOM> + + + > + + + > + !<2 .EQVP>)> + >) + (ELSE )>> + ) + ( + > + <==? <1 .IT> `END>> + )> + >> + ) M N I LBL A) + #DECL ((FRM) (M) (LBL) ATOM + (N) (I) FORM (LL) LIST) + > ) + (<==? <1 .FRM> `END> ) + ( `OPT-DISPATCH> <==? <1 .FRM> `DISPATCH>> + > + + .EQV>>> + > + > + >) + (> + > + `NTHR> + >> LIST> + <==? <1 .A> `BRANCH-FALSE> + >>>> + .EQV>> .L>> + ) + ( + <==? .LBL `UNWCONT>> + > ) + (T )> + >>> `JUMP> + > + + + + + > + .EQV> ATOM>>> + + + ) + ( `JUMP> + '[`RETURN `MRETURN `RTUPLE `AGAIN]>> + > + + > + + + + + > + ) + ( `JUMP> + >>> + ATOM>> + <==? <1 >> `JUMP> + >>> + ATOM> + <==? .EQV> .LBL> + > + + + + + > + +> -) (ELSE +)>> + .EQV> ATOM>>> + .EQV>> + .LP> + > + + + ) + (T + >)> + + )>) + (<==? <1 .FRM> `ICALL> + .EQV>>> + > + + ) + (T > )>> + .L>> + ) + ( ATOM> .LR>>> + > + > > + ) + (> FORM> <==? <1 .ITM> `END>> + ) + ( + >> + > + <==? <2 .L> <2 .TEM>> + > `SYSOP> + > + > + .L> + > + ) + ( + <==? <1 .ITM> `SET> + >> + FORM> + <==? <1 <2 .L>> `RETURN> + <==? <2 .ITM> <2 <2 .L>>>> + 2 <3 .ITM>> + > + >) + ( + `RETURN> + > + + '[`JUMP `RTUPLE `MRETURN `AGAIN]>> + > + > ATOM>> + + 1> + '[`END `DEAD `ENDIF]>>>> + + > + + + > + > + + ) + ( + <==? <1 .ITM> `CHTYPE> + > FORM> + <==? <1 .I> `CHTYPE> + <==? <2 .I> <5 .I>> + <==? <2 .I> <5 .ITM>>> + ;"Look for 2 CHTYPEs of same thing in a row" + + + + + > + > + > + + ) + ( + <==? <1 .ITM> `SET> + > <>> + + <==? 2> + <==? <1 .TF> QUOTE> + <==? <2 .TF> T>>> + > FORM> + <==? <1 .I> `JUMP> + .LBP>>>> + FORM> + <==? <1 .TEM> `TYPE?> + <==? <2 .TEM> <2 .ITM>> + > FORM> + <==? <1 .TT> `TYPE-CODE> + ATOM> <==? <2 .TT> FALSE>>> + + + + + + + > + <4 .TEM>> + >>) + (ELSE + >>> + + (.TEM !)>)> + + ) + ( + <==? <1 .ITM> `SET> + > <>> + + <==? 2> + <==? <1 .TF> QUOTE> + <==? <2 .TF> T>>> + > FORM> + <==? <1 .TEM> `TYPE?> + <==? <2 .TEM> <2 .ITM>> + > FORM> + <==? <1 .TT> `TYPE-CODE> + ATOM> <==? <2 .TT> FALSE>>> + + + + + > + <4 .TEM>> + >>) + (ELSE + >)> + + ) + ( + > + 2> + > FORM> + <==? <1 .ITM> QUOTE> + <==? <2 .ITM> FLUSHED>> + + > + > + > + ) + (T )> + >> + ) + ( ) + (ELSE )>> + ,CHANGED> + +) + >)> + .ATM> >)> + >>> + +) (ELSE )> + + <==? .DIR +>) + (ELSE + <==? .DIR ->)>> + +) LB OTS OIP) + #DECL ((OTS OIP L RETS) LIST (LBLS) ) + > + (LAB) LAB) + )> + >>> + >)) #DECL ((TST) LIST) + > + + )) + #DECL ((INSP) (INS)
) + `JUMP> + > + > FORM> + > FORM> + <==? + > + > + `ENDIF> + + ) + (TB )) + ) + ( + >) + ( + >)> + T> + .ONE:FORM + .TWO:FORM>> + >> + >>) + ( + > `ENDIF>> + + > + !)> + > + ) + (ELSE )>>)>> + .RL>)> + >>:FORM> `JUMP> + >>>> + >) + (ELSE )>>)> + >> + > >>> + + ) (RRP )) + #DECL ((RP) + (RI) ]> + (RRP) ) + > + + + [REST ]> + (X Y) ) + >> + <1 >>> + <==? <2 .X> <2 .Y>>> + ) (TS ) + ONE TWO) + #DECL ((IP TS) + ]>) + > FORM> + > FORM> + <==? + > + > + `ENDIF> + + ) + (TB )) + ) + ( + >) + ( + >)> + T> + .ONE:FORM + .TWO:FORM>> + >> + >>) + (> + > `ENDIF>> + + > + !)> + > + ) + (ELSE )>>)>> + .RRP>)>> + .RETS>)> + > + .WIN> + + L:LIST) + )> + .LBL> + <3 .LBP (.L !<3 .LBP>)> + )> + >>> + + ATM:ATOM L:LIST) + )> + .ATM> + <2 .LBP .L> + )> + >>> + + ATM:ATOM L:LIST) + )> + .ATM> + >> + )> + .L> + + <3 .LBP >) + (ELSE + >)> + )> + + >> + )> + >>> + + + )) + #DECL ((ITM) (LL) >) + )>> + >> + +]>) + <==? .ATM `UNWCONT>> .ATM) + (ELSE + > >)> + >> + )>>)>> + +