Google
 

Trailing-Edge - PDP-10 Archives - clisp - clisp/upsala/eval.lap
There are no other files named eval.lap in the archive.
;;; CLC vP.U.V.1(2) compiling CARMEN::SS:<CLISP.UPSALA>EVAL.CLISP.11

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (*EVALHOOK* *APPLYHOOK* PROCLAIM UNPROCLAIM PROG PROG* *PROMPT* ++ +++ ** *** // ///))) 
(DEFVAR %VENV% NIL "The interpreter's lexical environment for variables -- hands off!") 
(DEFVAR %FENV% NIL "The interpreter's lexical environment for functions -- hands off!") 
(DEFVAR %BENV% NIL "The interpreter's lexical environment for block names -- hands off!") 
(DEFVAR %GENV% NIL "The interpreter's lexical environment for go tags -- hands off!") 
(DEFVAR *EVALHOOK* NIL "Used to substitute another function for EVAL, for use by STEP, etc.
  If *EVALHOOK* is not NIL, its value must be a function of the same
  form as *EVAL.  This function does the evaluation instead of EVAL.") 
(DEFVAR *APPLYHOOK* NIL "Used to substitute another function for the implicit APPLY normally done
  within EVAL.  If *APPLYHOOK* is not NIL, its value must be a function 
  which takes as arguments the function to be applied, the list of arguments
  it is to be applied to, and additional environment arguments suitable for
  passing to *EVAL.  This function does the application instead of EVAL.") 
(DEFVAR *SKIP-EVALHOOK* NIL "Used with non-null *EVALHOOK* to suppress the use of the hook-function
  for one level of eval.") 
(DEFVAR *SKIP-APPLYHOOK* NIL "Used with non-null *APPLYHOOK* to suppress the use of the hook function
  for one level of eval.") 
(DEFVAR / NIL "Holds a list of all the values returned by the most recent top-level EVAL.") 
(DEFVAR // NIL "Gets the previous value of / when a new value is computed.") 
(DEFVAR /// NIL "Gets the previous value of // when a new value is computed.") 
(DEFVAR * NIL "Holds the value of the most recent top-level EVAL.") 
(DEFVAR ** NIL "Gets the previous value of * when a new value is computed.") 
(DEFVAR *** NIL "Gets the previous value of ** when a new value is computed.") 
(DEFVAR + NIL "Holds the value of the most recent top-level READ.") 
(DEFVAR ++ NIL "Gets the previous value of + when a new value is read.") 
(DEFVAR +++ NIL "Gets the previous value of ++ when a new value is read.") 
(DEFVAR - NIL "Holds the form curently being evaluated.") 
(DEFVAR *PROMPT* "CL>" "The top-level prompt string.") 
(DEFVAR %TEMP% NIL "Random temporary, clobbered by top level loop.") 
(%PUT (QUOTE %TOP-LEVEL) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Top-level READ-EVAL-PRINT loop.  Do not call this.")) 

#_(LAP #0_%TOP-LEVEL EXPR
       (ENTRY-POINTS (1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(* ** *** - + ++ +++ /// // / %TEMP% TOP-LEVEL-CATCHER BREAK-LOOP-CATCHER *EVALHOOK* *APPLYHOOK* *PRINT-CIRCLE* *PRINT-PRETTY* *PROMPT* "Go on, but set * to NIL." "Eval returned an unbound marker.")
       (CODE-START)
(LABEL 1)    (ADDI Q 14)
             (MOVEM NIL -13 Q)
             (MOVEM NIL -12 Q)
             (MOVEM NIL -11 Q)
             (MOVEM NIL -10 Q)
             (MOVEM NIL -9 Q)
             (MOVEM NIL -8 Q)
             (MOVEM NIL -7 Q)
             (MOVEM NIL -6 Q)
             (MOVEM NIL -5 Q)
             (MOVEM NIL -4 Q)
             (MOVEM NIL -3 Q)
             (MOVEM NIL -2 Q)
             (MOVE O1 NIL)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (MOVE O1 -11 Q)
             (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 -10 Q)
             (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 -9 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -8 Q)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (MOVE O1 -7 Q)
             (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O1 -6 Q)
             (SPEC-BIND (SPECIAL 6))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 -5 Q)
             (SPEC-BIND (SPECIAL 7))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O1 -4 Q)
             (SPEC-BIND (SPECIAL 8))
             (MOVEM O1 (SPECIAL 8))
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 9))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 10))
             (MOVEM O1 (SPECIAL 10))
(LABEL 7)    (MOVE O1 (CONSTANT 11))
             (ICALL CCATCH)
             (JRST 8)
             (MOVE O1 (CONSTANT 12))
             (ICALL CCATCH)
             (JRST 9)
             (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 13))
             (MOVEM O1 (SPECIAL 14))
(LABEL 14)   (CALL FRESH-LINE 0)
             (MOVEM NIL -1 Q)
             (MOVEM NIL 0 Q)
             (MOVE O1 NIL)
             (SPEC-BIND (SPECIAL 15))
             (MOVEM O1 (SPECIAL 15))
             (MOVE O1 0 Q)
             (SPEC-BIND (SPECIAL 16))
             (MOVEM O1 (SPECIAL 16))
             (MOVE O1 (SPECIAL 17))
             (CALL PRINC 1)
             (UNBIND 2)
             (MOVE O1 (SPECIAL 5))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 (SPECIAL 4))
             (MOVEM O1 (SPECIAL 5))
             (MOVE O1 (SPECIAL 3))
             (MOVEM O1 (SPECIAL 4))
             (CALL READ 0)
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 (SPECIAL 3))
             (CALL EVAL 1)
             (ICALL VALUES-TO-LIST)
             (MOVEM O1 -13 Q)
             (MOVE O1 (SPECIAL 8))
             (MOVEM O1 (SPECIAL 7))
             (MOVE O1 (SPECIAL 9))
             (MOVEM O1 (SPECIAL 8))
             (MOVE O1 -13 Q)
             (MOVEM O1 (SPECIAL 9))
             (MOVE O1 0 O1)
             (MOVEM O1 (SPECIAL 10))
             (MOVE O1 (CONSTANT 10))
             (CALL BOUNDP 1)
             (JUMPN O1 16)
             (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 10))
             (MOVE O2 (CONSTANT 19))
             (MOVE O1 (CONSTANT 18))
             (CALL CERROR 2)
(LABEL 16)   (MOVE O1 (SPECIAL 1))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 (SPECIAL 0))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 (SPECIAL 10))
             (MOVEM O1 (SPECIAL 0))
             (MOVE O5 -13 Q)
             (MOVEM O5 -1 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
(LABEL 22)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 23)
             (JRST 18)
(LABEL 23)   (CALL FRESH-LINE 0)
             (MOVE O1 0 Q)
             (CALL PRIN1 1)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 0 Q)
             (JRST 22)
(LABEL 18)   (CALL TERPRI 0)
             (JRST 14)
             (POPJ P)
(LABEL 9)    (POPJ P)
(LABEL 8)    (JRST 7)
             (UNBIND 11)
             (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE %TOP-LEVEL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE %TOP-LEVEL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EVAL.CLISP.11") (GET (QUOTE %TOP-LEVEL) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PROCLAIM) (QUOTE %FUN-DOCUMENTATION) (QUOTE "PROCLAIM is a top-level form used to pass assorted information to the
  compiler.  This interpreter ignores proclamations except for those
  declaring variables to be SPECIAL.")) 

#_(LAP #0_PROCLAIM EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(SPECIAL GLOBALLY-SPECIAL T)
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (CALL LISTP 1)
             (JUMPE O1 5)
             (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -2 Q)
(LABEL 5)    (JRST 3)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
(LABEL 11)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 7)
(LABEL 12)   (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 14)
             (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 (CONSTANT 2))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 1))
             (CALL %PUT 3)
(LABEL 14)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 11)
(LABEL 7)    (JRST 4)
(LABEL 3)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE PROCLAIM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PROCLAMATION))) 
(%PUT (QUOTE PROCLAIM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EVAL.CLISP.11") (GET (QUOTE PROCLAIM) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE UNPROCLAIM) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Undoes the effect of certain proclamations.")) 

#_(LAP #0_UNPROCLAIM EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(SPECIAL GLOBALLY-SPECIAL)
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (CALL LISTP 1)
             (JUMPE O1 5)
             (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -2 Q)
(LABEL 5)    (JRST 3)
             (MOVE O1 -3 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
(LABEL 11)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 12)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 7)
(LABEL 12)   (MOVE O1 -1 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 14)
             (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL REMPROP 2)
(LABEL 14)   (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 11)
(LABEL 7)    (JRST 4)
(LABEL 3)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE UNPROCLAIM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (PROCLAMATION))) 
(%PUT (QUOTE UNPROCLAIM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EVAL.CLISP.11") (GET (QUOTE UNPROCLAIM) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PARSE-BODYE EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(DECLARE)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVE O5 O1)
             (MOVEM O5 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVEM NIL -3 Q)
(LABEL 7)    (SKIPE NIL -5 Q)
             (JRST 8)
             (MOVE O1 -4 Q)
             (CALL NREVERSE 1)
             (MOVEM O1 -2 Q)
             (MOVE O2 NIL)
             (CALL LIST 2)
             (JRST 3)
(LABEL 8)    (MOVE O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 -3 Q)
             (CALL LISTP 1)
             (JUMPN O1 11)
             (MOVE O1 -4 Q)
             (CALL NREVERSE 1)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL LIST 2)
             (JRST 3)
(LABEL 11)   (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -2 Q)
             (JRST 12)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 O5)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
(LABEL 17)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 18)
             (JRST 13)
(LABEL 18)   (MOVE O2 -4 Q)
             (MOVE O1 0 Q)
             (CALL CONS 2)
             (MOVEM O1 -4 Q)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 0 Q)
             (JRST 17)
(LABEL 13)   (JRST 10)
(LABEL 12)   (SKIPA)
             (JRST 20)
             (MOVE O1 -4 Q)
             (CALL NREVERSE 1)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL LIST 2)
             (JRST 3)
(LABEL 20)
(LABEL 10)   (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE PARSE-BODYE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (BODY))) 
(%PUT (QUOTE PARSE-BODYE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EVAL.CLISP.11") (GET (QUOTE PARSE-BODYE) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PROG* MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(LET* DECLARE BLOCK TAGBODY)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (CALL LISP::PARSE-BODYE 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL CONS 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 2))
             (MOVE O2 NIL)
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 -1 Q)
             (MOVE O3 0 Q)
             (CALL LIST 4)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE PROG*) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (L))) 
(%PUT (QUOTE PROG*) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EVAL.CLISP.11") (GET (QUOTE PROG*) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PROG MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(LET DECLARE BLOCK TAGBODY)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (CALL LISP::PARSE-BODYE 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL CONS 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 2))
             (MOVE O2 NIL)
             (CALL LIST 3)
             (MOVE O4 O1)
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 -1 Q)
             (MOVE O3 0 Q)
             (CALL LIST 4)
             (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE PROG) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (L))) 
(%PUT (QUOTE PROG) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EVAL.CLISP.11") (GET (QUOTE PROG) (QUOTE %SOURCE-DOCUMENTATION))))