" This module contains analysis and generation functions for NOT, TYPE? and ==?. See SYMANA for more details about ANALYSIS and CODGEN for more detali abour code generation. " "Analyze NOT usage make sure arg can be FALSE." >) (STR .TRUTH) (SUNT .UNTRUTH)) #DECL ((NOD) NODE (STR SUNT) LIST) ) (TRUTH ()) (UNTRUTH ())) #DECL ((PRED) (TRUTH UNTRUTH) ) > >) (ELSE > 1 NOT .NOD> > ANY>> FALSE> ) ( ) (ELSE )>> )>> )> .TEM> " Analyze N==? and ==? usage. Complain if types differ such that the args can never be ==?." ) (WHON > .NOD>) (WHO ()) KT NT (GLN .NOD) (GLE ())) #DECL ((NOD) NODE (K) (WHON GLN) (WHO GLE) ) ) (ELSE 1> <==? >>> ,SUBR-CODE> <==? LENGTH> <==? >> 2>> > ,PARENT .NOD>> )> ==? .NOD> ANY> ANY> >> FIX> <==? >> FIX>> )> )>> " Ananlyze TYPE? usage warn about any potential losers by using TYPE-OK?. " ) (LN ) ITYP (ALLGOOD T) (WHO ()) (FTYP ()) (FNOK <>) (WHON > .NOD>) TTYP) #DECL ((NOD) NODE (K) (LN) FIX (ITYP) ANY (ALLGOOD) (WHON) > (WHO) (FTYP) LIST) >) (ELSE )> ANY TYPE?>> ,QUOTE-CODE> >>)> >> )> .ITYP> !.FTYP)>>>> > >> > <1 .FTYP>) (ELSE )>> .ITYP>>> ) (SYM <2 .L>)) #DECL ((L) SYMTAB> (SYM) SYMTAB) >> .UNTRUTH .FLG >>>> .WHO>) (.ALLGOOD ) (ELSE > )> ') ( FALSE) (.FNOK ATOM) (ELSE ')> .RTYP>)>> ) (LN )) #DECL ((N) NODE (K) (LN) FIX) ) (ELSE ATOM VALID-TYPE?> >)>> ) (LN )) #DECL ((N) NODE (K) (LN) FIX) ) (ELSE ATOM TYPE-C> ATOM TYPE-C>)> )>> ) (LN ) N1 N2 T1 T2) #DECL ((N N1 N2) NODE (K) (LN) FIX) ) (ELSE .N> > ANY > > ANY > ,QUOTE-CODE> > >)> >> >> STRING> <==? .T2 STRING>> ) (> ) (ELSE )>)>> )) #DECL ((N) NODE (K) (LN) FIX) ) (ELSE 2 .N> STRING S=?> STRING S=?> )>> ) (NM ) NN) #DECL ((NN N) NODE (K) (NM) ATOM) ) (ELSE <==? .NM LBIND>> '(1 2)) (ELSE 1)> .NM .N> ATOM .NM> >> > ANY .NM>)> > ,QUOTE-CODE> > >>> > .R>) (ELSE > > ,QUOTE-CODE> >>> )> STRING) (<==? .NM OBLIST?> ') (ELSE .NM)>>)>)>> ) (NM ) ST) #DECL ((N) NODE (K) (NM) ATOM) ) (ELSE 2) (ELSE 1)> .NM .N> ' .NM>> .ST>> ' .NM> )>)> > ,QUOTE-CODE> <==? .NM GET-DECL>> >>> > .R>) (ELSE '[LBIND GBIND OFFSET]> ) (.VERBOSE )> ') (ELSE .ST)> .R>)>)>> ) (NM )) #DECL ((N) NODE (K) (NM) ATOM) ) (ELSE 1) (ELSE '(1 2))> .NM .N> OFFSET .NM> >> ' .NM>)> > ,QUOTE-CODE> >> >>> > .R>) (ELSE FIX) (>> OFFSET) (ELSE ')>>)>)>> )) #DECL ((N) NODE (K) (LN) FIX) ) (ELSE 2 .N> STRING STRCOMP> STRING STRCOMP> )>> ) (LN ) ST) #DECL ((N) NODE (K) (LN) FIX) ) (ELSE .N> STRUCTURED SUBSTRUC>> FIX SUBSTRUC>)> FIX SUBSTRUC>)> > ) (ELSE STRUCTURED)> SUBSTRUC>> )>)> '[STRING VECTOR UVECTOR BYTES]> )> .R>)>> > )>