X-Git-Url: https://jxself.org/git/?p=pdp10-muddle.git;a=blobdiff_plain;f=%3Cmdl.comp%3E%2Fstrana.mud.362;fp=%3Cmdl.comp%3E%2Fstrana.mud.362;h=7bf5030fa68e4b413a342c60f7aafaf14b9aa959;hp=0000000000000000000000000000000000000000;hb=3395a5e4ef72d59cdb6832af7808dc9c2cf2a413;hpb=363cc6ead5cf4df20759797fe46b5dc29b3886e9 diff --git a//strana.mud.362 b//strana.mud.362 new file mode 100644 index 0000000..7bf5030 --- /dev/null +++ b//strana.mud.362 @@ -0,0 +1,537 @@ + + + + + + +"Structure hackers for the compiler (analyzers)" + +) (LN ) TEM (WHO ()) + (WHON + + + >> + > + <==? .COD ,MT-CODE>>> + .NOD>)) + #DECL ((NOD) NODE (LN COD) FIX (K) + (WHO) (WHON) >) + ) + (ELSE + > + STRUCTURED >> + > ) + (ELSE + >)>)> + )>)> + + + ) (FLG <1 .L>)) + #DECL ((L) SYMTAB> + (SYM) SYMTAB) + ']> + .TRUTH + .FLG + >> + + .UNTRUTH + .FLG + >> + T> + .WHO>) + (ELSE )> + ,LENGTH>
) + (ELSE ')> + .RTYP>> + + )> + ,SET-CODE> >> + NODE> >) + (ELSE >)>>> + +> + + + +> + + + +) TEM (WHO ()) + (WHON > .NOD>)) + #DECL ((NOD) NODE (K) (WHON) + (WHO) ) + ) + (ELSE + 2 LENGTH?> + STRUCTURED LENGTH?>> + > + FIX LENGTH?> + > ,QUOTE-CODE> ;"Constant 2d arg?" + + ) (FLG <1 .L>)) + #DECL ((L) (SYM) SYMTAB) + > ANY]> + .TRUTH + .FLG + >>> + .WHO>)> + > + ) + (ELSE + >)>)> + )> + > ,QUOTE-CODE> + ) + (ELSE ,PLUSINF)>)> + FALSE> + .RTYP>)>> + + + +) + "AUX" (K ) (LN ) TS VAL TPS + (RV INTH>>) + (SVWHO ()) + (NM )>) XX + (OWHON > .NOD>) NUMB) + #DECL ((COD NUMB LN) FIX (NOD WHON PRED) NODE (K) + (WHO SVWHO) LIST) + )) + #DECL ((WHON) (WHO) ) + ) + (ELSE + + )>>) + (ELSE >)> + ' .NM>>> + + STRUCTURED .NM>>) + (ELSE + + STRUCTURED .NM>> + > + ' .NM>>>)> + > ,QUOTE-CODE> <==? OFFSET>> + >>>> + ,RESULT-TYPE .TS>)> + > + > ,QUOTE-CODE>> + )> + FIX> + OFFSET> + <==? > ,QUOTE-CODE>>> + TEMPLATE> + > + > ,QUOTE-CODE> >>> + ) + (ELSE + > + )> + )> + > ,QUOTE-CODE> + OFFSET> + >>) + (ELSE >)>>) + (ELSE ALL)> + <==? ,REST>> + .RTYP>)>>> + + ) (FL <1 .L>) T1 T2) + #DECL ((L) (SYM) SYMTAB) + )> + >> + )> + > + > + >>> + > + >)>> + .SVWHO> + + > ,LVAL-CODE> + <==? > ,SET-CODE>> + <2 .K> <==? ,REST>>> + ) + ( + <==? .COD ,REST-CODE> + + <==? > ,PUTR-CODE> + <==? > ,QUOTE-CODE> + <==? .NUMB 1>> + )> + .VAL> + + (N MN N1) NODE (TT) + (K) ) + ,LVAL-CODE> + + ) + (<==? ,SET-CODE> + + >>) + (ELSE )>> + > + <==? > ,-> + <==? >> 2> + <==? > ,QUOTE-CODE> + <==? > 1> + >> + > + >> + > ,LVAL-CODE .S >> + .S> + >> + + (L SS) LIST) + > )> + ,SET-CODE> + .S>> + >)> + + >>>> + + + )) + #DECL ((N) NODE) + .SYM> )>> + .L>> + +> + + + +> + + + +) + "AUX" (K ) (LN ) (TS ANY) TV (TPS <>) VAL + (SVWHO ()) WHICH NS TVO TEM (P ()) TFF NUMB + (RV IPUT>>) + (NM )>)) + #DECL ((NOD) NODE (K) (LN NUMB) FIX (WHO P SVWHO) LIST) + )) + #DECL ((WHO) (WHON) >) + ) + (<==? .LN 2> + ANY > + ANY > + ,PUT>> + )> + ) + (ELSE + > + > + ANY>>>> + + ANY>>> + >) + (ELSE + + ANY>> + > + ANY>>>>)> + ANY>> + > ,QUOTE-CODE> <==? OFFSET>> + >>>> + ,RESULT-TYPE .TS>)> + > >> + FIX> + OFFSET> + <==? > ,QUOTE-CODE>>> + <==? ,PUT>> + >> + > ,QUOTE-CODE>> + FIX> >) + (ELSE >>)>> + (.TV)) + (ELSE ([<- .WHICH 1> ANY] .TV))>>) + (ELSE ')>> + >> + ) (ND <1 >)) + #DECL ((L) (S) SYMTAB) + >> + > + .TV> + !>>> + .ND>>> + .WHO>> + >>) + (> )> + ,RESULT-TYPE .TS>>>> + > + .TV>>)> + > ,QUOTE-CODE>> + )> + + )>)> + > + FIX> <==? OFFSET>> + TEMPLATE> + > + > ,QUOTE-CODE> >> + > + <0? >> + <1? >>>> + + > ,QUOTE-CODE> + )>) + (ELSE + ,PUT>> + ("Not open compiled because of defer.")) + (ELSE ("Not open compiled because type is: " .TS))>) + (> + ("PUT used for association manipulation.")) + (ELSE + ("PUT maybe structure or association. Type of 1st arg is: " + .TS + " and that of 2d arg is: " + .TFF))>>)> + )>)> + > + .RTYP>>> + ,PUT-CODE> + + )) + #DECL ((L) (SYM) SYMTAB) + + .TS + > + .WHICH + 0>>> + .SVWHO>)> + ,PUT-CODE> + + + + + > + > + >) + (ELSE T)>> + .K> + > ,HACK-NODES> + <==? >> FIX> + >>>> + > ,/> + > ,-> + 2> + <==? > 1>>>>>> + + )) + ,NTH-CODE> + <1 >> + <2 >>> + > + > + )> + )> + + <>> + .TEM>> + ,KIDS .TEM> + )> + .VAL> + +) + .TS) + (> <==? <2 .L> REST>> + .WHICH> + <> + + .TS + + .WHICH + 0>>) + (<==? <2 .L> REST> + .WHICH <1 .L>>) + (ELSE + .EX> + <> + .EX>> + .TS + + .WHICH + 0>>)>> + + .L) (ELSE (!> <1 .L>))>> + + + + + + + + > + ,SNODES> + <==? >) + (ELSE + + ) + (ELSE >)>> + + >)>)>> + +) (LN <- 1>)) + #DECL ((TUP) TUPLE (LN) FIX) + ) + (ELSE + > + <==? REST>>>)> + >>> + + )> + NTH> + -1>>> ()) + (<1? .NUM> (ANY)) + (ELSE ([.NUM ANY]))> + .NX>> + + >) + (.FIRST >>) + (ELSE >>)> + >>> + +) T1 T2) + #DECL ((NOD) NODE (K) ) + ,REST> ) + ( + )> + .RTYP>) + (ELSE + 2 PUTREST> + ' PUTREST>> + ' PUTREST>> + > ,QUOTE-CODE> + )> + + )> + )>> + + + +) TYP VTYP STYP ETY) + #DECL ((N) NODE (K) ) + ) + (ELSE + 2 MEMQ> + ANY MEMQ>> + STRUCTURED MEMQ>> + >>> + )> + > > + ) + (ELSE + )> + )> + > + + [REST .ETY]>) + (.STYP) + (STRUCTURED)>> + .R>)>> + + + + + + \ No newline at end of file