X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=mim%2Fdevelopment%2Fmim%2Fmimc%2Fnewrep.mud;fp=mim%2Fdevelopment%2Fmim%2Fmimc%2Fnewrep.mud;h=09967542fa3a41e08a731d59a7de21aae128ce14;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hp=0000000000000000000000000000000000000000;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07;p=pdp10-muddle.git diff --git a/mim/development/mim/mimc/newrep.mud b/mim/development/mim/mimc/newrep.mud new file mode 100644 index 0000000..0996754 --- /dev/null +++ b/mim/development/mim/mimc/newrep.mud @@ -0,0 +1,284 @@ + + + + + + + +" Generate code for a poor innocent PROG or REPEAT." + +" " + +) (BRANCH <>) (DIR <>) + "AUX" START-TAG (BASEF .BASEF) EXIT AGAIN (CD <>) + (DEST + FLUSHED) + (<==? .PWHERE DONT-CARE> >) + (ELSE .PWHERE)>) (K ) TEM SPECD + (ORPNOD .RPNOD>) RPNOD + BNDTMP (OTMPS .TMPS) (OTMPS-NEXT .TMPS-NEXT) + (OFREE-TEMPS .FREE-TEMPS) RDEST + (RT >>) + (FOK ) + (TRUE-OK FALSE>) (STK 0) + (STK-CHARS7 0) (STK-CHARS8 0) STKTMP) + #DECL ((NTSLOTS STB) (BASEF PNOD RPNOD) + (START-TAG) (K) + (STK-CHARS7 STK-CHARS8 STK) (STKTMP) + (SPECD) ) + >> + > + )> + + (TMPS) ) + ,BIND> ) + (.ORPNOD )> + + > + >> + + + ) !.ALL-TEMPS-LIST)> + ) + (ELSE )> + + + + > + + 4 .MYFRAME> + > >>)>)> + ) + (ELSE >>>)>> + + ,REPEAT> > + )> + >> + ,REPEAT> > + )> + >)> + > + + + + + ,REPEAT> > + ,REPEAT> + >) + (<==? .DEST FLUSHED> + + >>) + (> + > + ) + (ELSE >)>) + (ELSE + >> + + > ) + (ELSE >)>) + (<==? ,NO-DATUM> + )>)>) + (ELSE + + + >>) + (> + > + ) + (ELSE >)>) + (ELSE + >> + + > + <==? ,NO-DATUM>> + ) + (ELSE >)>) + (<==? ,NO-DATUM> + )>)>)> + > )> + ,REPEAT> + ) + (.SPECD )>) + (ELSE )> + + + > + > + )> + ) + (ELSE + + + ) + ( + + + + + + )> + + ) + ( >) + ( + + > + + + > + )> + )>> + + 1>>> + ,NO-DATUM> .BRANCH> + > + ) + (ELSE ,NO-DATUM)>) + (ELSE )>> + + ) + (ELSE )>> + +) + >)> + > ,ARGL-ACT> + >> + >>> + )> + >>> + +" " + +" Generate code for a RETURN." + +) DEST (NF 0) LL RT (FOK <>) RTA) + #DECL ((NOD N RPNOD) NODE (NF) FIX) + >> ) + (>>>> ) + (ELSE >)> + > + > FLUSHED> + > LIST> > + >>>> + FALSE> + + FALSE>> + .NN <2 .LL> FLUSHED <>>) + ( ) (ELSE .FOK)> + ,QUOTE-CODE> )> + >) + ( ,QUOTE-CODE> )>) + (ELSE > FLUSHED>)>) + (ELSE + >>)> + > .DEST>> + DONT-CARE> )> + ,NO-DATUM> )> + )> + ) + (ELSE + >)> + )> + ,NO-DATUM>> + +) NN (CD1 <>) DEST FTMP + (N <1 .K>) (LOCAL <>) FR SEGTMP (I 0)) + #DECL ((NOD N RPNOD) NODE) + ,QUOTE-CODE> + + + )>) + ( ,LVAL-CODE> + >>> + + ) + (ELSE >)> + + ,SEGMENT-CODE> + >)>> + > + + ,SEGMENT-CODE> + > + + + )>) + (ELSE + > + )> + >>)> + >>>>> + + >>) + (ELSE + ) (COUNTMP .FTMP) + (SEGCALLED <>) RES) + #DECL ((SEGLABEL COUNTMP SEGCALLED) + ) + > + + > + > + .SEGLABEL>) + (.SEGCALLED + )>>)>) + (ELSE )>> + > + > FLUSHED> + >>> + ) + (> + > )> + >)> + ) + (ELSE + .FTMP) (ELSE .I)> .FR>)> + ,NO-DATUM>> + +" " + +" Generate code for an AGAIN." + +> ) + (>>>> + ) + (ELSE >)> + > + ,NO-DATUM>> + + + +