Google
 

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

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (STEP *STEP-PRINT-LEVEL* *STEP-PRINT-LENGTH* *TERMINAL-LINE-MODE*))) 
(%PUT (QUOTE *EVALHOOK*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE STEP-STATE) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE STEP-INDENTATION-LEVEL) (QUOTE GLOBALLY-SPECIAL) T) 
(DEFVAR *STEP-PRINT-LEVEL* 4 "*Print-level* is bound to this when stepper prints forms.") 
(DEFVAR *STEP-PRINT-LENGTH* 5 "*Print-length* is bound to this when stepper prints forms.") 
(DEFVAR *MAX-STEP-INDENTATION* 40 "The maximum number of spaces that step output may be indented.") 
(DEFVAR *TERMINAL-LINE-MODE* NIL "When nil, step will not require a terminating end-of-line for commands.") 
(DEFVAR *OLD-TLM* NIL "Used by Step-get-char to see if *terminal-line-mode* has been toggled.
   A kludge.") 
(DEFVAR STEP-STATE NIL "Step's memory.  Nil means off, T means on. A list of functions is a
  search list.  A non-symbol means step is asleep.") 
(DEFVAR STEP-INDENTATION-LEVEL 0 "Makes the step facilities prinout nicer.") 

#_(LAP #0_WITH-TERMINAL-MODES 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." WITH-TERMINAL-MODES LET GET-TERMINAL-MODES UNWIND-PROTECT PROGN SET-TERMINAL-MODES APPLY (FUNCTION SET-TERMINAL-MODES))
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O1 -8 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 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -6 Q)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O1 -8 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 1 O1)
             (MOVEM O5 -4 Q)
             (CALL GENSYM 0)
             (MOVEM O1 -3 Q)
             (MOVE O2 -6 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (MOVE O3 -5 Q)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -6 Q)
             (CALL LIST* 3)
             (MOVEM O1 0 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 0 Q)
             (CALL LIST* 3)
             (MOVEM O1 -1 Q)
             (MOVE O4 -3 Q)
             (MOVE O1 (CONSTANT 8))
             (MOVE O2 (CONSTANT 9))
             (MOVE O3 -6 Q)
             (CALL LIST 4)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 -1 Q)
             (CALL LIST 3)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -2 Q)
             (CALL LIST 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE WITH-TERMINAL-MODES) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STREAM MODELIST &REST BODY))) 
(%PUT (QUOTE WITH-TERMINAL-MODES) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE WITH-TERMINAL-MODES) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-GET-CHAR-CR MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(1 "Macro ~S cannot be called with ~S args." STEP-GET-CHAR-CR (DO ((CHAR (READ-CHAR *TERMINAL-IO*) (READ-CHAR *TERMINAL-IO*))) ((NOT (MEMBER CHAR (QUOTE (#\RETURN #\NEWLINE)))) CHAR)))
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL LENGTH 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL > 2)
             (JUMPE O1 4)
             (MOVE O1 -1 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 (CONSTANT 3))
             (MOVEI N 1)
(LABEL 5)
(LABEL 3)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE STEP-GET-CHAR-CR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE STEP-GET-CHAR-CR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-GET-CHAR-CR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-GET-CHAR MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(1 "Macro ~S cannot be called with ~S args." STEP-GET-CHAR (COND (*TERMINAL-LINE-MODE* (UNLESS *OLD-TLM* (SETQ *OLD-TLM* T) (SET-TERMINAL-MODES *TERMINAL-IO* :PASS-ALL NIL)) (STEP-GET-CHAR-CR)) (T (WHEN *OLD-TLM* (SETQ *OLD-TLM* NIL) (SET-TERMINAL-MODES *TERMINAL-IO* :PASS-ALL T)) (CLEAR-INPUT *TERMINAL-IO*) (PROG1 (READ-CHAR *TERMINAL-IO*) (TERPRI)))))
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL LENGTH 1)
             (MOVEM O1 0 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL > 2)
             (JUMPE O1 4)
             (MOVE O1 -1 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 (CONSTANT 3))
             (MOVEI N 1)
(LABEL 5)
(LABEL 3)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE STEP-GET-CHAR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE STEP-GET-CHAR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-GET-CHAR) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-STEP-FORM 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." STEP-STEP-FORM LET* RESULTS MULTIPLE-VALUE-LIST APPLY (FUNCTION EVALHOOK) (FUNCTION STEP-COMMAND-LOOP) ((STEP-PRINT-VALUES RESULTS) (VALUES-LIST RESULTS)))
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -8 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -9 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 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O1 -9 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -6 Q)
             (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -3 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 8))
             (MOVEM O5 -1 Q)
             (MOVEM NIL 0 Q)
             (PUSH Q -6 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LIST 6)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVEM O1 -5 Q)
             (MOVE O3 (CONSTANT 9))
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -5 Q)
             (CALL LIST* 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE STEP-STEP-FORM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORM ENVIRONMENT))) 
(%PUT (QUOTE STEP-STEP-FORM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-STEP-FORM) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-EVAL-FORM 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." STEP-EVAL-FORM LET RESULTS MULTIPLE-VALUE-LIST APPLY (FUNCTION *EVAL) ((STEP-PRINT-VALUES RESULTS) (VALUES-LIST RESULTS)))
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -4 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 -4 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O4 O5)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 (CONSTANT 7))
             (MOVE O3 -2 Q)
             (CALL LIST 4)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (CALL LIST 1)
             (MOVEM O1 0 Q)
             (MOVE O3 (CONSTANT 8))
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 0 Q)
             (CALL LIST* 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE STEP-EVAL-FORM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORM ENVIRONMENT))) 
(%PUT (QUOTE STEP-EVAL-FORM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-EVAL-FORM) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-HELP EXPR
       (ENTRY-POINTS (1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("

Commands are single characters.  If you don't like (linmode nil), then
(setq *terminal-line-mode* t).

 N (next)    also space	    evaluate current expression in step mode.
 S (skip)    CR, tab           ''      ''        ''     without stepping.
 M (macro)		    steps a macroexpansion, signaled by a :: prompt.
 Q (quit)    linefeed       finish evaluation, but turn stepper off.
 p (print)   (lowercase-p)  print current exp.
			      (ignore *step-print-level* & *step-print-length*)
 P	     (uppercase-P)  pretty-print current exp.
 B (break)		    enter break loop.
 E (eval)		    evaluate an arbitrary expression,
			      in the current environment.
 ? (help)		    print this text.
 R (return)		    prompt for an arbitrary value to return
			      as result of current exp.
 G			    throw to top level.

" *STANDARD-OUTPUT*)
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 1))
             (MOVE O1 (CONSTANT 0))
             (CALL PRINC 2)
             (POPJ P)
)

(%PUT (QUOTE STEP-HELP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE STEP-HELP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-HELP) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-PRINT EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STEP-PRINT-LEVEL* *STEP-PRINT-LENGTH* STEP-INDENTATION-LEVEL *MAX-STEP-INDENTATION* *PRINT-LEVEL* *PRINT-LENGTH* *STANDARD-OUTPUT* " ")
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -3 Q)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -2 Q)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 0 Q)
             (MOVE O2 (SPECIAL 3))
             (MOVE O1 O5)
             (CALL < 2)
             (JUMPE O1 4)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -1 Q)
             (JRST 5)
(LABEL 4)    (MOVE O5 (SPECIAL 3))
             (MOVEM O5 -1 Q)
(LABEL 5)    (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 5))
             (MOVEM O1 (SPECIAL 5))
(LABEL 9)    (MOVE O1 -1 Q)
             (CALL ZEROP 1)
             (JUMPE O1 10)
             (MOVE O2 (SPECIAL 6))
             (MOVE O1 -4 Q)
             (CALL PRIN1 2)
             (UNBIND 2)
             (JRST 3)
(LABEL 10)   (MOVE O2 (SPECIAL 6))
             (MOVE O1 (CONSTANT 7))
             (CALL PRINC 2)
             (MOVE O1 -1 Q)
             (CALL 1- 1)
             (MOVEM O1 -1 Q)
             (JRST 9)
(LABEL 3)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE STEP-PRINT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORM))) 
(%PUT (QUOTE STEP-PRINT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-PRINT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-PRINT-VALUES EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STANDARD-OUTPUT* *STEP-PRINT-LEVEL* *STEP-PRINT-LENGTH* *PRINT-LEVEL* *PRINT-LENGTH* "  ")
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVE O1 (SPECIAL 0))
             (CALL FRESH-LINE 1)
             (SKIPN NIL -4 Q)
             (JRST 3)
             (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (CALL LISP::STEP-PRINT 1)
(LABEL 3)    (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -3 Q)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -2 Q)
             (MOVE O1 -4 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
(LABEL 9)    (SKIPE NIL -1 Q)
             (JRST 10)
             (MOVE O1 (SPECIAL 0))
             (CALL TERPRI 1)
             (UNBIND 2)
             (JRST 5)
(LABEL 10)   (MOVE O2 (SPECIAL 0))
             (MOVE O1 (CONSTANT 5))
             (CALL PRINC 2)
             (MOVE O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (SPECIAL 0))
             (MOVE O1 O5)
             (CALL PRIN1 2)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (JRST 9)
(LABEL 5)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE STEP-PRINT-VALUES) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (VALUE-LIST))) 
(%PUT (QUOTE STEP-PRINT-VALUES) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-PRINT-VALUES) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STEP-COMMAND-LOOP EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(STEP-STATE *EVAL T STEP-INDENTATION-LEVEL " = " *STANDARD-OUTPUT* " :: " " : " *TERMINAL-LINE-MODE* *OLD-TLM* *TERMINAL-IO* :PASS-ALL (#\RETURN #\NEWLINE) (#\m #\M) :TEST EQL EVALHOOK STEP-COMMAND-LOOP (#\n #\N #\SPACE) (#\s #\S #\RETURN #\TAB) (#\q #\Q #\NEWLINE) (#\p) (#\P) (#\b #\B) "Step" (#\e #\E) "eval: " *QUERY-IO* *EVALHOOK* SET-TERMINAL-MODES (#\?) (#\r #\R) "return: " 70 (#\g #\G) TOP-LEVEL-CATCHER "Type ? for help. " *STANDARD-INPUT*)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 12)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (SKIPE NIL (SPECIAL 0))
             (JRST 10)
             (MOVE O3 -10 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -11 Q)
             (CALL APPLY 3)
             (JRST 9)
(LABEL 10)   (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -9 Q)
             (MOVE O2 (CONSTANT 2))
             (CAMN O2 -9 Q)
             (JRST1 12)
             (MOVE O1 -11 Q)
             (CALL LISTP 1)
             (JUMPE O1 13)
             (MOVE O1 -11 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -9 Q)
             (MOVE O1 (SPECIAL 0))
             (CALL LISTP 1)
             (JUMPE O1 15)
             (MOVE O2 (SPECIAL 0))
             (JRST 16)
(LABEL 15)   (MOVE O2 NIL)
(LABEL 16)   (MOVE O1 -9 Q)
             (CALL MEMBER 2)
             (SKIPN NIL O1)
(LABEL 13)
(LABEL 12)   (JRST 11)
             (MOVE O1 (SPECIAL 3))
             (CALL 1+ 1)
             (MOVEM O1 -8 Q)
             (SPEC-BIND (SPECIAL 3))
             (MOVEM O1 (SPECIAL 3))
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPN1 O1 19)
             (MOVE O1 -11 Q)
             (CALL CONSTANTP 1)
             (SKIPN NIL O1)
(LABEL 19)   (JRST 18)
             (MOVE O1 -11 Q)
             (CALL LISP::STEP-PRINT 1)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 4))
             (CALL PRINC 2)
             (MOVE O3 -10 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -11 Q)
             (CALL APPLY 3)
             (MOVEM O1 -7 Q)
             (MOVE O2 (SPECIAL 5))
             (CALL PRIN1 2)
             (MOVEM O1 -7 Q)
             (MOVE O1 (SPECIAL 5))
             (CALL TERPRI 1)
             (MOVE O1 -7 Q)
             (MOVEI N 1)
             (JRST 17)
(LABEL 18)   (SKIPA)
             (JRST 20)
             (MOVE O1 (CONSTANT 33))
             (ICALL CCATCH)
             (JRST 21)
(LABEL 25)   (MOVE O1 -11 Q)
             (CALL LISP::STEP-PRINT 1)
(LABEL 26)   (MOVE O1 -11 Q)
             (CALL LISTP 1)
             (JUMPE O1 30)
             (MOVE O1 -11 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPE O1 30)
             (MOVE O1 -11 Q)
             (MOVE O1 0 O1)
             (CALL MACRO-FUNCTION 1)
             (SKIPN NIL O1)
(LABEL 30)   (JRST 28)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 6))
             (CALL PRINC 2)
             (JRST 29)
(LABEL 28)   (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 7))
             (CALL PRINC 2)
(LABEL 29)
(LABEL 27)   (SKIPN NIL (SPECIAL 8))
             (JRST 33)
             (SKIPE NIL (SPECIAL 9))
             (JRST 35)
             (MOVE O1 (CONSTANT 2))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -5 Q)
             (MOVE O3 NIL)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 11))
             (CALL SET-TERMINAL-MODES 3)
(LABEL 35)   (MOVE O1 (SPECIAL 10))
             (CALL READ-CHAR 1)
             (MOVEM O1 -4 Q)
(LABEL 41)   (MOVE O2 (CONSTANT 12))
             (MOVE O1 -4 Q)
             (CALL MEMBER 2)
             (JUMPN O1 42)
             (MOVE O5 -4 Q)
             (MOVEM O5 -6 Q)
             (JRST 37)
(LABEL 42)   (MOVE O1 (SPECIAL 10))
             (CALL READ-CHAR 1)
             (MOVEM O1 -4 Q)
             (JRST 41)
(LABEL 37)   (JRST 32)
(LABEL 33)   (SKIPA)
             (JRST 44)
             (SKIPN NIL (SPECIAL 9))
             (JRST 46)
             (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 9))
             (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -5 Q)
             (MOVE O3 (CONSTANT 2))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 11))
             (CALL SET-TERMINAL-MODES 3)
(LABEL 46)   (MOVE O1 (SPECIAL 10))
             (CALL CLEAR-INPUT 1)
             (MOVE O1 (SPECIAL 10))
             (CALL READ-CHAR 1)
             (MOVEM O1 -5 Q)
             (CALL TERPRI 0)
             (MOVE O5 -5 Q)
             (MOVEM O5 -6 Q)
(LABEL 44)
(LABEL 32)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 13))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 50)
             (MOVE O5 -10 Q)
             (MOVE O1 (CONSTANT 16))
             (MOVE O2 -11 Q)
             (MOVE O3 (CONSTANT 17))
             (MOVE O4 NIL)
             (CALL APPLY 5)
             (ICALL VALUES-TO-LIST)
             (MOVEM O1 -4 Q)
             (CALL LISP::STEP-PRINT-VALUES 1)
             (MOVE O1 -4 Q)
             (CALL VALUES-LIST 1)
             (SUBI P 3)
             (SUBI SP 4)
             (POP P W2)
             (ICALL UNBIND)
             (SUBI P 1)
             (JRST 21)
(LABEL 50)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 18))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 51)
             (MOVE O1 -11 Q)
             (CALL LISTP 1)
             (JUMPE O1 54)
             (MOVE O1 -11 Q)
             (MOVE O1 0 O1)
             (CALL ATOM 1)
             (JUMPE O1 54)
             (MOVE O1 -11 Q)
             (MOVE O1 0 O1)
             (CALL MACRO-FUNCTION 1)
             (SKIPN NIL O1)
(LABEL 54)   (JRST 53)
             (MOVE O2 -10 Q)
             (MOVE O1 -11 Q)
             (CALL MACROEXPAND 2)
             (MOVEM O1 -11 Q)
             (JRST 25)
(LABEL 53)   (SKIPA)
             (JRST 56)
             (MOVE O5 -10 Q)
             (MOVE O1 (CONSTANT 16))
             (MOVE O2 -11 Q)
             (MOVE O3 (CONSTANT 17))
             (MOVE O4 NIL)
             (CALL APPLY 5)
             (ICALL VALUES-TO-LIST)
             (MOVEM O1 -4 Q)
             (CALL LISP::STEP-PRINT-VALUES 1)
             (MOVE O1 -4 Q)
             (CALL VALUES-LIST 1)
             (SUBI P 3)
             (SUBI SP 4)
             (POP P W2)
             (ICALL UNBIND)
             (SUBI P 1)
             (JRST 21)
(LABEL 56)   (JRST 49)
(LABEL 51)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 19))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 58)
             (MOVE O3 -10 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -11 Q)
             (CALL APPLY 3)
             (ICALL VALUES-TO-LIST)
             (MOVEM O1 -4 Q)
             (CALL LISP::STEP-PRINT-VALUES 1)
             (MOVE O1 -4 Q)
             (CALL VALUES-LIST 1)
             (SUBI P 3)
             (SUBI SP 4)
             (POP P W2)
             (ICALL UNBIND)
             (SUBI P 1)
             (JRST 21)
(LABEL 58)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 20))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 59)
             (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O3 -10 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 -11 Q)
             (CALL APPLY 3)
             (SUBI P 3)
             (SUBI SP 4)
             (POP P W2)
             (ICALL UNBIND)
             (SUBI P 1)
             (JRST 21)
(LABEL 59)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 21))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 60)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 -11 Q)
             (CALL PRIN1 2)
             (JRST 26)
(LABEL 60)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 22))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 61)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 -11 Q)
             (CALL PPRINT 2)
             (JRST 26)
(LABEL 61)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 23))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 62)
             (MOVE O1 (CONSTANT 24))
             (CALL BREAK 1)
             (MOVE O1 (SPECIAL 5))
             (CALL TERPRI 1)
             (JRST 49)
(LABEL 62)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 25))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 63)
             (MOVE O2 (SPECIAL 27))
             (MOVE O1 (CONSTANT 26))
             (CALL PRINC 2)
             (MOVE O1 (SPECIAL 10))
             (CALL GET-TERMINAL-MODES 1)
             (MOVEM O1 -4 Q)
             (ICALL CUNWIND)
             (JRST 64)
             (JRST 65)
             (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -3 Q)
             (MOVE O3 NIL)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 11))
             (CALL SET-TERMINAL-MODES 3)
             (MOVEM NIL -2 Q)
             (MOVE O1 NIL)
             (SPEC-BIND (SPECIAL 28))
             (MOVEM O1 (SPECIAL 28))
             (MOVE O1 (SPECIAL 27))
             (CALL READ 1)
             (MOVEM O1 0 Q)
             (MOVE O3 -10 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 0 Q)
             (CALL APPLY 3)
             (MOVEM O1 -1 Q)
             (MOVE O2 (SPECIAL 5))
             (CALL PRIN1 2)
             (MOVE O1 (SPECIAL 5))
             (CALL TERPRI 1)
             (UNBIND 1)
             (POPJ P)
(LABEL 64)   (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -2 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 (CONSTANT 29))
             (MOVE O2 O5)
             (CALL APPLY 3)
             (POPJ P)
(LABEL 65)   (JRST 49)
(LABEL 63)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 30))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 66)
             (CALL LISP::STEP-HELP 0)
             (JRST 49)
(LABEL 66)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 31))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 67)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 32))
             (CALL PRINC 2)
             (MOVE O1 (SPECIAL 10))
             (CALL GET-TERMINAL-MODES 1)
             (MOVEM O1 -4 Q)
             (ICALL CUNWIND)
             (JRST 68)
             (JRST 69)
             (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -3 Q)
             (MOVE O3 NIL)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 11))
             (CALL SET-TERMINAL-MODES 3)
             (SPEC-BIND (SPECIAL 28))
             (MOVEM NIL (SPECIAL 28))
             (CALL READ 0)
             (MOVEM O1 0 Q)
             (MOVE O3 -10 Q)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 0 Q)
             (CALL APPLY 3)
             (ICALL VALUES-TO-LIST)
             (MOVEM O1 -2 Q)
             (CALL LISP::STEP-PRINT-VALUES 1)
             (MOVE O1 (CONSTANT 33))
             (ICALL CTHROW)
             (MOVE O1 -2 Q)
             (CALL VALUES-LIST 1)
             (POPJ P)
             (UNBIND 1)
             (POPJ P)
(LABEL 68)   (MOVE O5 (SPECIAL 10))
             (MOVEM O5 -2 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 (CONSTANT 29))
             (MOVE O2 O5)
             (CALL APPLY 3)
             (POPJ P)
(LABEL 69)   (JRST 49)
(LABEL 67)   (MOVE O4 (CONSTANT 15))
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 34))
             (MOVE O3 (CONSTANT 14))
             (CALL MEMBER 4)
             (JUMPE O1 71)
             (MOVE O1 (CONSTANT 35))
             (ICALL CTHROW)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (POPJ P)
             (JRST 49)
(LABEL 71)   (SKIPA)
             (JRST 72)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 (CONSTANT 36))
             (CALL PRINC 2)
             (MOVE O1 (SPECIAL 37))
             (CALL CLEAR-INPUT 1)
             (JRST 27)
(LABEL 72)
(LABEL 49)   (JRST 25)
(LABEL 21)
(LABEL 20)
(LABEL 17)   (UNBIND 1)
             (JRST 9)
(LABEL 11)   (SKIPA)
             (JRST 75)
             (MOVE O5 -10 Q)
             (MOVE O1 (CONSTANT 16))
             (MOVE O2 -11 Q)
             (MOVE O3 (CONSTANT 17))
             (MOVE O4 NIL)
             (CALL APPLY 5)
(LABEL 75)
(LABEL 9)    (SUBI Q 12)
             (POPJ P)
)

(%PUT (QUOTE STEP-COMMAND-LOOP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORM &REST ENVIRONMENT))) 
(%PUT (QUOTE STEP-COMMAND-LOOP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-COMMAND-LOOP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STEP-PARSE-FUNCTIONS) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Picks out functions from the list, and tells the user about those that 
weren't.")) 

#_(LAP #0_STEP-PARSE-FUNCTIONS EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*ERROR-OUTPUT* "Non-functions ignored - ~S")
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVE O5 O1)
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
             (MOVEM NIL -1 Q)
(LABEL 7)    (SKIPE NIL -3 Q)
             (JRST 8)
             (SKIPN NIL -1 Q)
             (JRST 10)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 0 Q)
             (MOVE O3 -1 Q)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 1))
             (CALL FORMAT 3)
(LABEL 10)   (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 14)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (CALL FBOUNDP 1)
             (SKIPN NIL O1)
(LABEL 14)   (JRST 12)
             (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 -2 Q)
             (JRST 13)
(LABEL 12)   (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -1 Q)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 -1 Q)
(LABEL 13)   (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -3 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE STEP-PARSE-FUNCTIONS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (LIST))) 
(%PUT (QUOTE STEP-PARSE-FUNCTIONS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP-PARSE-FUNCTIONS) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STEP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "With arg T or (), turns stepper on or off.  (Step) at top-level
  lets a (step t) in a break loop turn on stepping globally.  With a
  list of functions, turns on stepping when any are called.
  Otherwise, the arg is evaled with stepper bound on.  If T,
  *terminal-line-mode* causes step to wait for a return after a
  command.")) 

#_(LAP #0_STEP MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(INTERNAL-STEP QUOTE)
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O2 1 O1)
             (MOVE O1 (CONSTANT 1))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL LIST 2)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE STEP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORM))) 
(%PUT (QUOTE STEP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE STEP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE INTERNAL-STEP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "With arg T or (), turns stepper on or off.  (Step) at top-level lets
  a (step t) in a break loop turn on stepping globally.  With a list of 
  functions, turns on stepping when any are called.  Otherwise, the arg
  is evaled with stepper bound on.")) 

#_(LAP #0_INTERNAL-STEP-INTERNAL-345 EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_(*OLD-TLM* T *TERMINAL-IO* :PASS-ALL)
       (CODE-START)
(LABEL 2)    (MOVE O1 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST1)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST2)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST3)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST4)
             (JRST 1)
(LABEL 7)    (MOVEI W2 5)
             (ICALL REST5)
             (JRST 1)
(LABEL 8)    (MOVEI W2 0)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (SKIPE NIL (SPECIAL 0))
             (JRST 11)
             (MOVE O1 (CONSTANT 1))
             (MOVEM O1 (SPECIAL 0))
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 0 Q)
             (MOVE O3 NIL)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 3))
             (CALL SET-TERMINAL-MODES 3)
(LABEL 11)   (MOVE O1 NIL)
             (MOVEI N 1)
             (SUBI Q 2)
             (POPJ P)
)


#_(LAP #0_INTERNAL-STEP EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(CONDITION-HANDLER-BINDINGS INTERNAL-STEP-INTERNAL-345 *TERMINAL-IO* :PASS-ALL T 0 STEP-STATE STEP-COMMAND-LOOP *EVALHOOK* STEP-INDENTATION-LEVEL (NIL) (T) SET-TERMINAL-MODES)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVE O5 NIL)
             (MOVEM O5 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL LIST* 2)
             (MOVEM O1 -6 Q)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O1 (SPECIAL 0))
             (MOVE O1 (SPECIAL 2))
             (CALL GET-TERMINAL-MODES 1)
             (MOVEM O1 -4 Q)
             (ICALL CUNWIND)
             (JRST 3)
             (JRST 4)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -3 Q)
             (MOVE O3 (CONSTANT 4))
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 3))
             (CALL SET-TERMINAL-MODES 3)
             (SKIPE NIL -7 Q)
             (JRST 6)
             (MOVE O1 (CONSTANT 5))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 (CONSTANT 7))
             (MOVEM O1 (SPECIAL 8))
             (MOVE O1 (CONSTANT 5))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O1 (CONSTANT 4))
             (MOVEI N 1)
             (JRST 5)
(LABEL 6)    (MOVE O2 (CONSTANT 10))
             (MOVE O1 -7 Q)
             (CALL EQUAL 2)
             (JUMPE O1 7)
             (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 6))
             (MOVEI N 1)
             (JRST 5)
(LABEL 7)    (MOVE O2 (CONSTANT 11))
             (MOVE O1 -7 Q)
             (CALL EQUAL 2)
             (JUMPE O1 8)
             (MOVE O1 (CONSTANT 4))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 (CONSTANT 7))
             (MOVEM O1 (SPECIAL 8))
             (MOVE O1 (CONSTANT 5))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O1 (CONSTANT 4))
             (MOVEI N 1)
             (JRST 5)
(LABEL 8)    (MOVE O1 -7 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 9)
             (MOVE O1 -7 Q)
             (CALL LISP::STEP-PARSE-FUNCTIONS 1)
             (MOVEM O1 -2 Q)
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 (CONSTANT 7))
             (MOVEM O1 (SPECIAL 8))
             (MOVE O1 (CONSTANT 5))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O1 -2 Q)
             (MOVEI N 1)
             (JRST 5)
(LABEL 9)    (SKIPA)
             (JRST 10)
             (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 0 Q)
             (MOVE O1 -2 Q)
             (SPEC-BIND (SPECIAL 8))
             (MOVEM O1 (SPECIAL 8))
             (MOVE O1 -1 Q)
             (SPEC-BIND (SPECIAL 6))
             (MOVEM O1 (SPECIAL 6))
             (MOVE O1 0 Q)
             (SPEC-BIND (SPECIAL 9))
             (MOVEM O1 (SPECIAL 9))
             (MOVE O1 -7 Q)
             (MOVE O1 0 O1)
             (CALL EVAL 1)
             (UNBIND 3)
(LABEL 10)
(LABEL 5)    (POPJ P)
(LABEL 3)    (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -2 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 (CONSTANT 12))
             (MOVE O2 O5)
             (CALL APPLY 3)
             (POPJ P)
(LABEL 4)    (UNBIND 1)
             (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE INTERNAL-STEP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FORMS))) 
(%PUT (QUOTE INTERNAL-STEP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STEP.CLISP.26") (GET (QUOTE INTERNAL-STEP) (QUOTE %SOURCE-DOCUMENTATION))))