Page:AITR-474.djvu/131

From Wikisource
Jump to navigation Jump to search
This page needs to be proofread.
;;; RABBIT COMPILER -*-LISP-*-   RABIT 560 05/18/78 Page 1

(DECLARE (FASLOAD (QUUUX) SCHMAC))
(DECLARE (MACROS 1) (NEWIO T))
(DECLARE (ALLOC '(LIST (300000 450000 .2) EIXNUM 50000 SYMBOL 24000)))
(DECLARE (DEFUN DISPLACE (X Y) Y))

(DECLARE (SPECIAL EMPTY TRIVFN GENTEMP GENFLUSH GEN-GLOBAL-NAME PRINT-WARNING ADDPROP UELPROP SETPROP
                  ADJOIN UNION INTERSECT REMOVE SETUIFF PAIRLIS COHPILE PASS1-ANALYZE TEST-COMPILE
                  NODIFY ALPHATIZE ALPHA-ATOM ALPHA-LAMBDA ALPHA-IF ALPHA-ASET ALPHA-CATCH
                  ALPHA-LABELS ALPHA-LABELS-DEFN ALPHA-BLOCK MACRO-EXPAND ALPHA-COMBINATION
                  ENV-ANALYZE TRIV-ANALYZE TRIV-ANALYZE-FN-P EFFS-ANALYZE EFFS-UNION EFFS-ANALYZE-IF
                  EFFS-ANALYZE-COMBINATION CHECK-COMBINATION-PEFFS ERASE-NODES META-EVALUATE
                  META-IF-FUDGE META-COMBINATION-TRIVFN META-COMBINATION-LAMBDA SUBST-CANDIDATE
                  REANALYZE1 EFFS-INTERSECT EFFECTLESS EFFECTLESS-EXCEPT-CONS PASSABLE
                  META-SUBSTITUTE COPY-CODE COPY-NODES CNODIFY CONVERT MAKE-RETURN CONVERT-LAMBDA-FM
                  CONVERT-IF CONVERT-ASET CONVERT-CATCH CONVERT-LABELS CONVERT-COMBINATION
                  CENV-ANALYZE CENV-TRIV-ANALYZE CENV-CCOMBINATION-ANALYZE BIND-ANALYZE REFD-VARS
                  BIND-ANALYZE-CLAMBDA BIND-ANALYZE-CONTINUATION BIND-ANALYZE-CIF BIND-ANALYZE-CASET
                  BIND-ANALYZE-CLABELS BIND-ANALYZE-RETURN BIND-ANALYZE-CCOMBINATION
                  BIND-CCOMBINATION-ANALYZE DEPTH-ANALYZE FILTER-CLOSEREFS CLOSE-ANALYZE COHPILATE
                 DEPROGNIFY1 TEMPLOC ENVCARCDR REGSLIST SET-UP-ASETVARS COMP-BODY PRODUCE-IF
                 PRODUCE-ASET PRODUCE-LABELS PRODUCE-LAMBDA-COMBINATION PRODUCE-TRIVFN-COMBINATION
                 PRODUCE-TRIVFN-COMBINATION-CONTINUATION PRODUCE-TRIVFN-COMBINATION-CVARIABLE
                 PRODUCE-COMBINATION PRODUCE-COMBINATION-VARIABLE ADJUST-KNOVNFN-CENV
                 PRODUCE-CONTINUATION-RETURN PRODUCE-RETURN PRODUCE-RETURN-1 LAMBDACATE PSETQIFY
                 PSETQIFY-METHOD-Z PSETOIFY-METHOD-3 PSETO-ARGS PSETO-ARGS-ENV PSETQ-TEMPS
                 MAPANALYZE ANALYZE ANALYZE»CLAMBDA ANALYZE-CONTINUATION ANALYZE-CIF ANALYZE-CLABELS
                 ANALYZE-CCOMBINATION ANALYZE-RETURN LOOKUPICATE CONS-CLOSEREFS OUTPUT-ASET
                 CONDICATE UECARCDRATE TRIVIALIZE TRIV-LAMBDACATE COMPILATE-ONE-FUNCTION
                 COMPILATE-LOOP USED-TEMPLOCS REMARK-ON MAP-USER-NAMES COMFILE TRANSDUCE
                 PROCESS-FORM PROCESS-DEFINE-FORM PROCESS-DEFINITION CLEANUP SEXPRFY CSEXPRFY
                 CHECK-NUMBER-OF-ARGS DUMPIT STATS RESET-STATS INIT-RABBIT))

(DECLARE (SPECIAL *EMPTY* *GENTEMPNUM* *GENTEMPLIST* *GLOBAL-GEN-PREFIX* *ERROR-COUNT* *ERROR-LIST*
                  *TEST* *TESTING* *OPTIMIZE* *REANALYZE* *SUBSTITUTE* *FUDGE* *NEW-FUDGE*
                  *SINGLE-SUBST* *LAMBDA-SUBST* *FLUSH-ARGS* *STAT-VARS* *DEAD-COUNT* *FUDGE-COUNT*
                 *FOLD-COUNT* *FLUSH-COUNT* *CONVERT-COUNT* *SUBST-COUNT* *UEPROGNIFY-COUNT*
                 *LAMBDA-BODY-SUBST* *LAMBDA-BODY-SUBST-TRY-COUNT* *LAMBDA-BOUY-SUBST-SUCCESS-COUNT*
                 *CHECK-PEFFS* **CONT+ARG-REGS** **ENV+CONT+ARG-REGS** **ARGUMENT-REGlSTERS**
                 **NUMBER-OF-ARG-REGS** *BUFFER-RANDOM-FORMS* *UISPLACE-SH*))

(PROCLAIM (*EXPR PRINT-SHORT)
          (SET' *BUFFER-RANDOM-FORMS* NIL)
          (ALLOC '(LIST (240000 340000 1000) FIXNUH (30000 40000 1000)
                   SYMBOL (14000 24000 NIL) HUNK4 (20000 53000 NIL)
                   HUNK8 (20000 50000 NIL) HUNK16 (20000 60000 N1L))))

(SET' *STAT-VARS* '(*DEAD-COUNT* *FUDGE-COUNT* *FOLD-COUNT* *FLUSH-COUNT* *CONVERT-COUNT*
                    *SUBST-COUNT* *DEPROGNIFY-COUNT* *LAMBDA-BODY-SUBST-TRY-COUNT*
                    *LAMBDA-BODY-SUBST-SUCCESS-COUNT*))

(ALLOC '(LIST (Z40000 340000 1000) FIXNUM (30000 40000 1000)
         SYMBOL (14000 24000 NIL) HUNK4 (20000 50000 NIL)
         HUNK8 (20000 50000 NIL) HUNK16 (20000 70000 NlL)))

(APPLY 'GCTWA '(T))             ;GC USELESS ATOMS (CAN'T SAY (EVAL' (GCTHA T)) BECAUSE or NCOMPLR)
(REPLACE)                       ;UNDO ANY DISPLACED MACROS
(SET' *DISPLACE-SW* NIL)        ;DON'T LET MACROS SELF-DISPLACE
(GRINDEF)                       ;LOAD THE GRINDER (PRETTY-PRINTER)

(DECLARE (/@DEFINE DEFINE ISCHEHE FUNCTION|))           ;DECLARATIONS FOR LISTING PROGRAM
(DECLARE (/@DEFINE DEEMAC IMACLISP MACRO|))
(DECLARE (/@DEFINE SCHMAC IPDP-10 SCMEME MACRO|))
(DECLARE (/@DEFINE MACRO ISCHEME MACRO|))