Trailing-Edge
-
PDP-10 Archives
-
clisp
-
clisp/upsala/macromemo.lap
There are no other files named macromemo.lap in the archive.
;;; CLC vP.U.V.1(2) compiling CARMEN::SS:<CLISP.UPSALA>MACROMEMO.CLISP.6
(IN-PACKAGE (QUOTE LISP))
(EXPORT (QUOTE (MEMOIZE-MACRO-CALL)))
(%PUT (QUOTE MEMOIZE-MACRO-CALL) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Replaces the call to a macro in Expression with a call to the expanded form
with magic stuff wrapped around it."))
#_(LAP #0_MEMOIZE-MACRO-CALL EXPR
(ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
#0_(*MACROEXPANSION*)
(CODE-START)
(LABEL 1) (ADDI Q 5)
(MOVEM O1 -4 Q)
(MOVEM O2 -3 Q)
(MOVE O5 O1)
(MOVEM O5 -1 Q)
(MOVE O1 O2)
(MOVE O6 O5)
(FCALL 1)
(MOVEM O1 -2 Q)
(MOVE O1 -3 Q)
(MOVE O5 0 O1)
(MOVEM O5 -1 Q)
(MOVE O2 (CONSTANT 0))
(CAME O2 -1 Q)
(JRST 3)
(JRST 4)
(LABEL 3) (MOVE O1 -3 Q)
(MOVE O5 0 O1)
(MOVEM O5 0 Q)
(MOVE O2 1 O1)
(MOVE O1 O5)
(CALL CONS 2)
(MOVE O3 O1)
(MOVE O1 (CONSTANT 0))
(MOVE O2 -2 Q)
(CALL LIST 3)
(MOVE O2 O1)
(MOVE O1 -3 Q)
(CALL LISP::DISPLACE 2)
(LABEL 4) (MOVE O1 -2 Q)
(MOVEI N 1)
(SUBI Q 5)
(POPJ P)
)
(%PUT (QUOTE MEMOIZE-MACRO-CALL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (EXPANDER EXPRESSION)))
(%PUT (QUOTE MEMOIZE-MACRO-CALL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>MACROMEMO.CLISP.6") (GET (QUOTE MEMOIZE-MACRO-CALL) (QUOTE %SOURCE-DOCUMENTATION))))
(%PUT (QUOTE DISPLACE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Replaces the CAR and CDR of X with the CAR and CDR of Y, returning the
modified X."))
#_(LAP #0_DISPLACE EXPR
(ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
#0_NIL
(CODE-START)
(LABEL 1) (ADDI Q 2)
(MOVEM O1 -1 Q)
(MOVEM O2 0 Q)
(MOVE O1 O2)
(MOVE O2 0 O1)
(MOVE O1 -1 Q)
(CALL RPLACA 2)
(MOVE O1 0 Q)
(MOVE O2 1 O1)
(MOVE O1 -1 Q)
(CALL RPLACD 2)
(SUBI Q 2)
(POPJ P)
)
(%PUT (QUOTE DISPLACE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X Y)))
(%PUT (QUOTE DISPLACE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>MACROMEMO.CLISP.6") (GET (QUOTE DISPLACE) (QUOTE %SOURCE-DOCUMENTATION))))
#_(LAP #0_*MACROEXPANSION* MACRO
(ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
#0_(3 "Macro ~S cannot be called with ~S args." *MACROEXPANSION*)
(CODE-START)
(LABEL 1) (ADDI Q 4)
(MOVEM O1 -3 Q)
(CALL LENGTH 1)
(MOVEM O1 -2 Q)
(MOVE O2 (CONSTANT 0))
(CALL = 2)
(JUMPN O1 4)
(MOVE O1 -3 Q)
(CALL LENGTH 1)
(CALL 1- 1)
(MOVE O3 O1)
(MOVE O1 (CONSTANT 1))
(MOVE O2 (CONSTANT 2))
(CALL ERROR 3)
(JRST 3)
(LABEL 4) (SKIPA)
(JRST 5)
(MOVE O1 -3 Q)
(MOVE O1 1 O1)
(MOVE O5 0 O1)
(MOVEM O5 -1 Q)
(MOVE O1 -3 Q)
(MOVE O1 1 O1)
(MOVE O1 1 O1)
(MOVE O5 0 O1)
(MOVEM O5 0 Q)
(MOVE O1 -1 Q)
(MOVEI N 1)
(LABEL 5)
(LABEL 3) (SUBI Q 4)
(POPJ P)
)
(%PUT (QUOTE *MACROEXPANSION*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (EXPANSION ORIGINAL)))
(%PUT (QUOTE *MACROEXPANSION*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>MACROMEMO.CLISP.6") (GET (QUOTE *MACROEXPANSION*) (QUOTE %SOURCE-DOCUMENTATION))))
(SETQ *MACROEXPAND-HOOK* (QUOTE MEMOIZE-MACRO-CALL))