Google
 

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

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (PPRIN1 PPRINT PPRINC GRINDEF DEFPRINT))) 

#_(LAP #0_LINE-LENGTH EXPR
       (ENTRY-POINTS (1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(80)
       (CODE-START)
(LABEL 1)    (MOVE O1 (CONSTANT 0))
             (MOVEI N 1)
             (POPJ P)
)

(%PUT (QUOTE LINE-LENGTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE LINE-LENGTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE LINE-LENGTH) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_STRING-OUTPUT-STREAM-INDEX EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (CALL FILE-POSITION 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE STRING-OUTPUT-STREAM-INDEX) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (S))) 
(%PUT (QUOTE STRING-OUTPUT-STREAM-INDEX) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE STRING-OUTPUT-STREAM-INDEX) (QUOTE %SOURCE-DOCUMENTATION)))) 
(REMPROP (QUOTE STRING-OUTPUT-STREAM-INDEX) (QUOTE SETF-METHOD-EXPANDER)) 
(%PUT (QUOTE STRING-OUTPUT-STREAM-INDEX) (QUOTE SETF-INVERSE) (QUOTE FILE-POSITION)) 
(QUOTE STRING-OUTPUT-STREAM-INDEX) 

#_(LAP #0_STRING-OUTPUT-STREAM-STRING EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (CALL LISP::GET-BUFFER-STREAM-STRING 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE STRING-OUTPUT-STREAM-STRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (S))) 
(%PUT (QUOTE STRING-OUTPUT-STREAM-STRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE STRING-OUTPUT-STREAM-STRING) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SLOW-CRUFTY-MAKE-PP-OBJ EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_(5 :TYPE SIMPLE ((:LABEL-REF . 4) (:CALLISH . 3) (:OBJECT . 2) (:LENGTH . 1) (:TYPE . 0)) "Unknown option to DefStruct constructor.")
       (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 6)
             (MOVEM O1 -5 Q)
             (MOVE O5 O1)
             (MOVEM O5 -4 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL MAKE-ARRAY 1)
             (MOVEM O1 -3 Q)
             (MOVEM NIL -2 Q)
(LABEL 14)   (SKIPE NIL -4 Q)
             (JRST 15)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL MEMQ 2)
             (JUMPN O1 17)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -3 Q)
             (MOVEM O2 0 O1)
(LABEL 17)   (MOVE O1 -3 Q)
             (MOVEI N 1)
             (JRST 10)
(LABEL 15)   (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL ASSOC 2)
             (MOVE O5 1 O1)
             (MOVEM O5 -1 Q)
             (SKIPN NIL -1 Q)
             (JRST 20)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVE O3 0 O1)
             (MOVE O1 -3 Q)
             (MOVE O2 -1 Q)
             (ADDI O1 0 O2)
             (MOVEM O3 0 O1)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 O5)
             (CALL CONS 2)
             (MOVEM O1 -2 Q)
             (JRST 19)
(LABEL 20)   (SKIPA)
             (JRST 21)
             (MOVE O1 (CONSTANT 4))
             (CALL ERROR 1)
(LABEL 21)
(LABEL 19)   (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (JRST 14)
(LABEL 10)   (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE SLOW-CRUFTY-MAKE-PP-OBJ) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&REST INITIAL-VALUES))) 
(%PUT (QUOTE SLOW-CRUFTY-MAKE-PP-OBJ) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE SLOW-CRUFTY-MAKE-PP-OBJ) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PP-OBJ-LABEL-REF EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 4 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJ-LABEL-REF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE PP-OBJ-LABEL-REF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJ-LABEL-REF) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PP-OBJ-CALLISH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 3 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJ-CALLISH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE PP-OBJ-CALLISH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJ-CALLISH) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PP-OBJ-OBJECT EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 2 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJ-OBJECT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE PP-OBJ-OBJECT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJ-OBJECT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PP-OBJ-LENGTH EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 1 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJ-LENGTH) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE PP-OBJ-LENGTH) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJ-LENGTH) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PP-OBJ-TYPE EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJ-TYPE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE PP-OBJ-TYPE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJ-TYPE) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_COPY-PP-OBJ EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (CALL COPY-SEQ 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE COPY-PP-OBJ) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRUCTURE))) 
(%PUT (QUOTE COPY-PP-OBJ) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE COPY-PP-OBJ) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PP-OBJ) (QUOTE DEFSTRUCT-DESCRIPTION) (QUOTE #(PP-OBJ VECTOR ((:TYPE VECTOR) (:CONSTRUCTOR SLOW-CRUFTY-MAKE-PP-OBJ)) 5 PP-OBJ- SLOW-CRUFTY-MAKE-PP-OBJ (PP-OBJ-LABEL-REF PP-OBJ-CALLISH PP-OBJ-OBJECT PP-OBJ-LENGTH PP-OBJ-TYPE) (LABEL-REF CALLISH OBJECT LENGTH TYPE) (NIL NIL NIL NIL (QUOTE SIMPLE)) ((:READ-ONLY T) (:READ-ONLY T) (:READ-ONLY T) (:READ-ONLY T :TYPE FIXNUM) (:READ-ONLY T)) ((PP-OBJ-LABEL-REF . 4) (PP-OBJ-CALLISH . 3) (PP-OBJ-OBJECT . 2) (PP-OBJ-LENGTH . 1) (PP-OBJ-TYPE . 0)) ((PP-OBJ-LENGTH . FIXNUM)) ((:LABEL-REF . 4) (:CALLISH . 3) (:OBJECT . 2) (:LENGTH . 1) (:TYPE . 0))))) 
(QUOTE PP-OBJ) 

#_(LAP #0_MAKE-PP-OBJ MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(:TYPE (QUOTE SIMPLE) :LENGTH :OBJECT :CALLISH :LABEL-REF (:LABEL-REF :CALLISH :OBJECT :LENGTH :TYPE) VECTOR)
       (CODE-START)
(LABEL 1)    (ADDI Q 13)
             (MOVEM O1 -12 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -11 Q)
             (MOVEM NIL -10 Q)
             (MOVE O2 O5)
             (MOVE O1 (CONSTANT 0))
             (CALL LISP::FIND-KEYWORD 2)
             (MOVEM O1 -10 Q)
             (JUMPE O1 4)
             (MOVE O5 0 O1)
             (MOVEM O5 -9 Q)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -9 Q)
(LABEL 5)
(LABEL 3)    (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL LISP::FIND-KEYWORD 2)
             (MOVEM O1 -10 Q)
             (JUMPE O1 8)
             (MOVE O5 0 O1)
             (MOVEM O5 -8 Q)
             (JRST 7)
(LABEL 8)    (SKIPA)
             (JRST 9)
             (MOVEM NIL -8 Q)
(LABEL 9)
(LABEL 7)    (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL LISP::FIND-KEYWORD 2)
             (MOVEM O1 -10 Q)
             (JUMPE O1 12)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (JRST 11)
(LABEL 12)   (SKIPA)
             (JRST 13)
             (MOVEM NIL -7 Q)
(LABEL 13)
(LABEL 11)   (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL LISP::FIND-KEYWORD 2)
             (MOVEM O1 -10 Q)
             (JUMPE O1 16)
             (MOVE O5 0 O1)
             (MOVEM O5 -6 Q)
             (JRST 15)
(LABEL 16)   (SKIPA)
             (JRST 17)
             (MOVEM NIL -6 Q)
(LABEL 17)
(LABEL 15)   (MOVE O2 -11 Q)
             (MOVE O1 (CONSTANT 5))
             (CALL LISP::FIND-KEYWORD 2)
             (MOVEM O1 -10 Q)
             (JUMPE O1 20)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (JRST 19)
(LABEL 20)   (SKIPA)
             (JRST 21)
             (MOVEM NIL -5 Q)
(LABEL 21)
(LABEL 19)   (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -4 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -5 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LIST 6)
             (SUBI Q 13)
             (POPJ P)
)

(%PUT (QUOTE MAKE-PP-OBJ) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&KEY (TYPE (QUOTE (QUOTE SIMPLE))) LENGTH OBJECT CALLISH LABEL-REF))) 
(%PUT (QUOTE MAKE-PP-OBJ) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MAKE-PP-OBJ) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFPARAMETER PP-SPACE-OBJ NIL) 
(DEFPARAMETER PP-OPEN-PAREN-OBJ NIL) 
(DEFPARAMETER PP-CLOSE-PAREN-OBJ NIL) 
(DEFPARAMETER PP-SHARP-OPEN-PAREN-OBJ NIL) 
(DEFPARAMETER PP-SHARP-OPEN-ANGLE-OBJ NIL) 
(DEFPARAMETER PP-CLOSE-ANGLE-OBJ NIL) 
(DEFPARAMETER PP-DOT-OBJ NIL) 
(DEFPARAMETER PP-DOTDOTDOT-OBJ NIL) 
(DEFPARAMETER PP-STARSTAR-OBJ NIL) 
(DEFPARAMETER PP-NIL-OBJ NIL) 
(DEFPARAMETER PP-SHARP-ANGLE-ARRAY-RANK-OBJ NIL) 
(DEFPARAMETER PP-SHARP-OBJ NIL) 
(DEFPARAMETER PP-A-OBJ NIL) 
(DEFPARAMETER PP-DOTDOTDOT-CLOSE-PAREN-OBJ NIL) 
(DEFVAR PPRINT-BUFFER-STREAM NIL) 
(DEFVAR PPRINT-BUFFER-STREAM-LIST NIL) 
(%PUT (QUOTE PPRINT-INIT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Initializes the pretty printer.")) 

#_(LAP #0_PPRINT-INIT EXPR
       (ENTRY-POINTS (1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(SPACE 1 PP-SPACE-OBJ STRING "(" PP-OPEN-PAREN-OBJ ")" PP-CLOSE-PAREN-OBJ 2 "#(" PP-SHARP-OPEN-PAREN-OBJ "#<" PP-SHARP-OPEN-ANGLE-OBJ ">" PP-CLOSE-ANGLE-OBJ "." PP-DOT-OBJ 4 " ..." PP-DOTDOTDOT-OBJ "**" PP-STARSTAR-OBJ 3 "NIL" PP-NIL-OBJ 14 "#<Array, rank " PP-SHARP-ANGLE-ARRAY-RANK-OBJ "#" PP-SHARP-OBJ "A" PP-A-OBJ 5 " ...)" PP-DOTDOTDOT-CLOSE-PAREN-OBJ PPRINT-BUFFER-STREAM-LIST)
       (CODE-START)
(LABEL 1)    (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 0))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 O5)
             (MOVE O4 O3)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 2))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 4))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 5))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 6))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 7))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 8))
             (MOVE O3 (CONSTANT 9))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 10))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 8))
             (MOVE O3 (CONSTANT 11))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 12))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 13))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 14))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 15))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 16))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 17))
             (MOVE O3 (CONSTANT 18))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 19))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 8))
             (MOVE O3 (CONSTANT 20))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 21))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 22))
             (MOVE O3 (CONSTANT 23))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 24))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 25))
             (MOVE O3 (CONSTANT 26))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 27))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 28))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 29))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 1))
             (MOVE O3 (CONSTANT 30))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 31))
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 (CONSTANT 32))
             (MOVE O3 (CONSTANT 33))
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (MOVEM O1 (SPECIAL 34))
             (MOVE O1 NIL)
             (CALL LIST 1)
             (MOVEM O1 (SPECIAL 35))
             (MOVEI N 1)
             (POPJ P)
)

(%PUT (QUOTE PPRINT-INIT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE PPRINT-INIT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PPRINT-INIT) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFVAR PP-LINE-LENGTH NIL "What PPRINT thinks is the number of characters that will fit on a line.") 

#_(LAP #0_END-CONS 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." END-CONS SETQ CDR RPLACD LIST)
       (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 O2 O5)
             (MOVE O1 (CONSTANT 6))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 -1 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -1 Q)
             (CALL LIST 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE END-CONS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (SPLICE VALUE))) 
(%PUT (QUOTE END-CONS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE END-CONS) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_INDENTATION EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(NORMAL PAST-NAME "Flaming PPrint death!")
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (MOVEM O3 -1 Q)
             (MOVE O1 O2)
             (CALL NUMBERP 1)
             (JUMPE O1 4)
             (MOVE O2 -2 Q)
             (MOVE O1 -1 Q)
             (CALL + 2)
             (JRST 3)
(LABEL 4)    (MOVE O2 (CONSTANT 0))
             (CAME O2 -2 Q)
             (JRST 5)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -1 Q)
             (CALL + 2)
             (JRST 3)
(LABEL 5)    (MOVE O2 (CONSTANT 1))
             (CAME O2 -2 Q)
             (JRST 6)
             (MOVE O1 -3 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -1 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 0 Q)
             (CALL + 2)
             (CALL 1+ 1)
             (JRST 3)
(LABEL 6)    (SKIPA)
             (JRST 7)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 1)
(LABEL 7)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE INDENTATION) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (COMPONENTS INDENT-STYLE CHARPOS))) 
(%PUT (QUOTE INDENTATION) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE INDENTATION) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFCONSTANT MAXIMUM-PP-INDENTATION 70) 
(DEFCONSTANT PP-INDENTATION-STRING (MAKE-STRING 70 :INITIAL-ELEMENT #\SPACE)) 

#_(LAP #0_TAB-OVER EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PP-INDENTATION-STRING *STANDARD-OUTPUT* 0 70)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -1 Q)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 3))
             (CALL < 2)
             (JUMPE O1 3)
             (MOVE O4 -2 Q)
             (JRST 4)
(LABEL 3)    (MOVE O4 (CONSTANT 3))
(LABEL 4)    (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (MOVE O3 (CONSTANT 2))
             (CALL LISP::%SP-WRITE-STRING 4)
             (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE TAB-OVER) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (INDENT-POS))) 
(%PUT (QUOTE TAB-OVER) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE TAB-OVER) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFPARAMETER PP-HASH-TABLE (MAKE-HASH-TABLE :TEST (FUNCTION EQ)) "Objects are marked here so we can detect cycles & structures.") 
(DEFVAR PP-LABEL-OBJECT-COUNTER 0 "A counter for handing out labels to objects printed with sharp-equals.") 
(%PUT (QUOTE CIRCULAR-TABLE-ENTRY) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Return the value hashed in the pp-hash-table under x.")) 

#_(LAP #0_CIRCULAR-TABLE-ENTRY MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." CIRCULAR-TABLE-ENTRY GETHASH (PP-HASH-TABLE))
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -2 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 -2 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 (CONSTANT 4))
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 O5)
             (CALL LIST* 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE CIRCULAR-TABLE-ENTRY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE CIRCULAR-TABLE-ENTRY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE CIRCULAR-TABLE-ENTRY) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MARKED-P) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns true (non-nil) if object has been marked in table.")) 

#_(LAP #0_MARKED-P MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." MARKED-P CIRCULAR-TABLE-ENTRY)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -2 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 -2 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 O5)
             (MOVE O1 (CONSTANT 3))
             (CALL LIST 2)
(LABEL 5)
(LABEL 3)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE MARKED-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJ))) 
(%PUT (QUOTE MARKED-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MARKED-P) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE DUPLICATE-P) (QUOTE %FUN-DOCUMENTATION) (QUOTE "True if object seen more than once.")) 

#_(LAP #0_DUPLICATE-P MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." DUPLICATE-P INTEGERP CIRCULAR-TABLE-ENTRY)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -2 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 -2 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 O5)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 3))
             (CALL LIST 2)
(LABEL 5)
(LABEL 3)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE DUPLICATE-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJ))) 
(%PUT (QUOTE DUPLICATE-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE DUPLICATE-P) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE SET-DUPLICATE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Mark as being duplicated.  A fresh label is generated & assigned to it.")) 

#_(LAP #0_SET-DUPLICATE MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." SET-DUPLICATE SETF CIRCULAR-TABLE-ENTRY ((INCF PP-LABEL-OBJECT-COUNTER)))
       (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 O2 O5)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O3 (CONSTANT 5))
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 0 Q)
             (CALL LIST* 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE SET-DUPLICATE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJ))) 
(%PUT (QUOTE SET-DUPLICATE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE SET-DUPLICATE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MARK-FIRST-TIME) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Mark an object as seen for the first time.")) 

#_(LAP #0_MARK-FIRST-TIME MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." MARK-FIRST-TIME SETF CIRCULAR-TABLE-ENTRY (T))
       (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 O2 O5)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O3 (CONSTANT 5))
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 0 Q)
             (CALL LIST* 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MARK-FIRST-TIME) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJ))) 
(%PUT (QUOTE MARK-FIRST-TIME) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MARK-FIRST-TIME) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE DUPLICATE-ALREADY-PRINTED-P) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Is true if the obj's referent has been pp-objified.")) 

#_(LAP #0_DUPLICATE-ALREADY-PRINTED-P MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." DUPLICATE-ALREADY-PRINTED-P AND INTEGERP CIRCULAR-TABLE-ENTRY MINUSP)
       (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 O2 O5)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -1 Q)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 6))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 0 Q)
             (CALL LIST 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE DUPLICATE-ALREADY-PRINTED-P) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJ))) 
(%PUT (QUOTE DUPLICATE-ALREADY-PRINTED-P) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE DUPLICATE-ALREADY-PRINTED-P) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE *PRINT-GENSYM*) (QUOTE GLOBALLY-SPECIAL) T) 
(%PUT (QUOTE MARK-OBJ-IN-TABLE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Marks an object and all of its sub-objects in the pp-hash-table.
  Used for printing out circular structures & non-interned symbols.")) 

#_(LAP #0_MARK-OBJ-IN-TABLE EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 PP-HASH-TABLE PP-LABEL-OBJECT-COUNTER *PRINT-ARRAY* *PRINT-GENSYM* T CONS STRUCTURE 1 *PRINT-LENGTH* VECTOR ARRAY)
       (CODE-START)
(LABEL 1)    (MOVE O2 (CONSTANT 0))
(LABEL 2)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVE O2 (SPECIAL 1))
             (CALL GETHASH 2)
             (JUMPE O1 4)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -8 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (JUMPN O1 7)
             (MOVE O5 -8 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -5 Q)
             (MOVE O1 (SPECIAL 2))
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVEM O1 (SPECIAL 2))
             (MOVEM O1 -4 Q)
             (MOVE O3 O1)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (CALL LISP::%PUTHASH 3)
             (JRST 6)
(LABEL 7)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 6)    (JRST 5)
(LABEL 4)    (MOVE O1 -8 Q)
             (CALL CONSP 1)
             (JUMPN1 O1 11)
             (SKIPN NIL (SPECIAL 3))
             (JRST1 12)
             (MOVE O1 -8 Q)
             (CALL ARRAYP 1)
             (JUMPE1 O1 12)
             (MOVE O1 -8 Q)
             (CALL BIT-VECTOR-P 1)
             (SKIPN NIL O1)
(LABEL 12)   (JRST1 11)
             (SKIPN NIL (SPECIAL 4))
             (JRST1 14)
             (MOVE O1 -8 Q)
             (CALL SYMBOLP 1)
             (JUMPE1 O1 14)
             (MOVE O1 -8 Q)
             (CALL SYMBOL-PACKAGE 1)
             (SKIPN NIL O1)
(LABEL 14)   (JRST1 11)
             (MOVE O1 -8 Q)
             (CALL STRUCTUREP 1)
             (SKIPN NIL O1)
(LABEL 11)   (JRST 9)
             (MOVE O5 -8 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -5 Q)
             (MOVE O5 (CONSTANT 5))
             (MOVEM O5 -4 Q)
             (MOVE O3 O5)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (CALL LISP::%PUTHASH 3)
(LABEL 9)    (MOVE O5 -8 Q)
             (MOVEM O5 -6 Q)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 O5)
             (CALL TYPEP 2)
             (JUMPE O1 17)
             (MOVE O1 -8 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -5 Q)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL LISP::MARK-OBJ-IN-TABLE 2)
             (MOVE O1 -8 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -5 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 O5)
             (CALL LISP::MARK-OBJ-IN-TABLE 2)
             (JRST 16)
(LABEL 17)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -6 Q)
             (CALL TYPEP 2)
             (JUMPE O1 18)
             (MOVE O1 -8 Q)
             (CALL SIMPLE-VECTOR-P 1)
             (JUMPE O1 20)
             (MOVE O5 (CONSTANT 8))
             (MOVEM O5 -4 Q)
             (JRST 21)
(LABEL 20)   (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
(LABEL 21)   (MOVE O1 -8 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -3 Q)
(LABEL 25)   (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL = 2)
             (JUMPN1 O1 28)
             (SKIPN NIL (SPECIAL 9))
             (JRST 29)
             (MOVE O2 (SPECIAL 9))
             (MOVE O1 -4 Q)
             (CALL = 2)
             (JUMPE O1 30)
             (JRST1 30)
(LABEL 29)
(LABEL 30)
(LABEL 28)   (JRST 26)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 19)
(LABEL 26)   (MOVE O2 -4 Q)
             (MOVE O1 -8 Q)
             (CALL AREF 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL LISP::MARK-OBJ-IN-TABLE 2)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (JRST 25)
(LABEL 19)   (JRST 16)
(LABEL 18)   (MOVE O2 (CONSTANT 10))
             (MOVE O1 -6 Q)
             (CALL TYPEP 2)
             (JUMPE O1 31)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -4 Q)
             (SKIPN NIL (SPECIAL 9))
             (JRST 33)
             (MOVE O1 -8 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -1 Q)
             (MOVE O5 (SPECIAL 9))
             (MOVEM O5 0 Q)
             (MOVE O2 O1)
             (MOVE O1 O5)
             (CALL < 2)
             (JUMPE O1 35)
             (MOVE O5 (SPECIAL 9))
             (MOVEM O5 -3 Q)
             (JRST 36)
(LABEL 35)   (MOVE O5 -1 Q)
             (MOVEM O5 -3 Q)
(LABEL 36)   (JRST 34)
(LABEL 33)   (MOVE O1 -8 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -3 Q)
(LABEL 34)
(LABEL 40)   (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL < 2)
             (JUMPN O1 41)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 41)   (MOVE O2 -4 Q)
             (MOVE O1 -8 Q)
             (CALL AREF 2)
             (MOVEM O1 -2 Q)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL LISP::MARK-OBJ-IN-TABLE 2)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (JRST 40)
(LABEL 32)   (JRST 16)
(LABEL 31)   (MOVE O2 (CONSTANT 11))
             (MOVE O1 -6 Q)
             (CALL TYPEP 2)
             (JUMPE O1 43)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -8 Q)
             (CALL LISP::MARK-ARRAY 2)
             (JRST 16)
(LABEL 43)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 16)
(LABEL 5)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE MARK-OBJ-IN-TABLE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (CURRLEVEL 0)))) 
(%PUT (QUOTE MARK-OBJ-IN-TABLE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MARK-OBJ-IN-TABLE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MARK-ARRAY) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Marks the elements of an array in the circularities table.")) 

#_(LAP #0_MARK-ARRAY EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*PRINT-ARRAY* 0)
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (MOVEM O2 -2 Q)
             (SKIPN NIL (SPECIAL 0))
             (JRST 3)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -3 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -3 Q)
             (CALL ARRAY-DIMENSIONS 1)
             (MOVEM O1 0 Q)
             (MOVE O4 (CONSTANT 1))
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (MOVE O3 -2 Q)
             (CALL LISP::MARK-ARRAY-GUTS 4)
             (JRST 4)
(LABEL 3)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE MARK-ARRAY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT CURRLEVEL))) 
(%PUT (QUOTE MARK-ARRAY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MARK-ARRAY) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_MARK-ARRAY-GUTS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY))
       #0_(*PRINT-LEVEL* 0 *PRINT-LENGTH*)
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVEM O3 -6 Q)
             (MOVEM O4 -5 Q)
             (SKIPE NIL -7 Q)
             (JRST 4)
             (MOVE O2 -5 Q)
             (MOVE O1 -8 Q)
             (CALL AREF 2)
             (CALL LISP::MARK-OBJ-IN-TABLE 1)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (JRST 3)
(LABEL 4)    (SKIPN NIL (SPECIAL 0))
             (JRST 6)
             (MOVE O2 (SPECIAL 0))
             (MOVE O1 -6 Q)
             (CALL < 2)
             (SKIPE NIL O1)
(LABEL 6)    (JRST 5)
             (MOVE O1 -5 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 8)
             (MOVE O5 -5 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -3 Q)
             (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -7 Q)
             (MOVEM O5 -2 Q)
(LABEL 13)   (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPN1 O1 16)
             (SKIPN NIL (SPECIAL 2))
             (JRST 17)
             (MOVE O2 (SPECIAL 2))
             (MOVE O1 -3 Q)
             (CALL = 2)
             (SKIPN NIL O1)
(LABEL 17)
(LABEL 16)   (JRST 14)
             (MOVE O1 -4 Q)
             (MOVEI N 1)
             (JRST 9)
(LABEL 14)   (MOVE O1 -6 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O4 -4 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 0 Q)
             (CALL LISP::MARK-ARRAY-GUTS 4)
             (MOVEM O1 -4 Q)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (JRST 13)
(LABEL 9)
(LABEL 8)
(LABEL 3)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE MARK-ARRAY-GUTS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY DIMENSIONS CURRLEVEL INDEX))) 
(%PUT (QUOTE MARK-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MARK-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MARK-IF-REFERENT-AND-RETURN-LABEL) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Marks a labeled object as having already been printed.")) 

#_(LAP #0_MARK-IF-REFERENT-AND-RETURN-LABEL MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." MARK-IF-REFERENT-AND-RETURN-LABEL IF AND *PRINT-CIRCLE* DUPLICATE-P - SETF CIRCULAR-TABLE-ENTRY)
       (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 O2 O5)
             (MOVE O1 (CONSTANT 6))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 4))
             (MOVE O2 (CONSTANT 5))
             (CALL LIST 3)
             (MOVEM O1 -1 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -2 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 7))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 8))
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 7))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -1 Q)
             (CALL LIST 3)
(LABEL 5)
(LABEL 3)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE MARK-IF-REFERENT-AND-RETURN-LABEL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJ))) 
(%PUT (QUOTE MARK-IF-REFERENT-AND-RETURN-LABEL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MARK-IF-REFERENT-AND-RETURN-LABEL) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PP-OBJIFY) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Returns a PP-Obj structure which is used to prettily print the Object.")) 

#_(LAP #0_PP-OBJIFY EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 *PRINT-LEVEL* PP-SHARP-OBJ *PRINT-CIRCLE* PP-HASH-TABLE *PRINT-PRETTY* "#~d#" STRING STRUCTURE VECTOR ARRAY LIST)
       (CODE-START)
(LABEL 1)    (MOVE O2 (CONSTANT 0))
(LABEL 2)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (SKIPN NIL (SPECIAL 1))
             (JRST 6)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -3 Q)
             (CALL > 2)
             (SKIPN NIL O1)
(LABEL 6)    (JRST 4)
             (MOVE O1 (SPECIAL 2))
             (MOVEI N 1)
             (JRST 5)
(LABEL 4)    (SKIPN NIL (SPECIAL 3))
             (JRST 10)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -4 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (JUMPE O1 12)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -4 Q)
             (CALL GETHASH 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL < 2)
             (SKIPN NIL O1)
(LABEL 12)
(LABEL 10)   (JRST 8)
             (SPEC-BIND (SPECIAL 5))
             (MOVEM NIL (SPECIAL 5))
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -4 Q)
             (CALL GETHASH 2)
             (CALL - 1)
             (MOVE O3 O1)
             (MOVE O1 NIL)
             (MOVE O2 (CONSTANT 6))
             (CALL FORMAT 3)
             (MOVEM O1 -1 Q)
             (CALL LENGTH 1)
             (MOVEM O1 0 Q)
             (MOVE O5 NIL)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 0 Q)
             (MOVE O3 -1 Q)
             (MOVE O4 O5)
             (CALL VECTOR 5)
             (UNBIND 1)
             (JRST 9)
(LABEL 8)    (MOVE O5 -4 Q)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 7))
             (MOVE O1 O5)
             (CALL TYPEP 2)
             (JUMPE O1 15)
             (MOVE O1 -4 Q)
             (CALL LISP::PP-OBJIFY-ATOM 1)
             (JRST 14)
(LABEL 15)   (MOVE O2 (CONSTANT 8))
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 16)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::PP-OBJIFY-STRUCTURE 2)
             (JRST 14)
(LABEL 16)   (MOVE O2 (CONSTANT 9))
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 17)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::PP-OBJIFY-VECTOR 2)
             (JRST 14)
(LABEL 17)   (MOVE O2 (CONSTANT 10))
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 18)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::PP-OBJIFY-ARRAY 2)
             (JRST 14)
(LABEL 18)   (MOVE O2 (CONSTANT 11))
             (MOVE O1 -1 Q)
             (CALL TYPEP 2)
             (JUMPE O1 19)
             (MOVE O2 -3 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::PP-OBJIFY-LIST 2)
             (JRST 14)
(LABEL 19)   (SKIPA)
             (JRST 20)
             (MOVE O1 -4 Q)
             (CALL LISP::PP-OBJIFY-ATOM 1)
(LABEL 20)
(LABEL 14)
(LABEL 9)
(LABEL 5)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJIFY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (CURRLEVEL 0)))) 
(%PUT (QUOTE PP-OBJIFY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJIFY) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PP-OBJIFY-ATOM) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Makes a PP-Obj for an atom.")) 

#_(LAP #0_PP-OBJIFY-ATOM EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PPRINT-BUFFER-STREAM *PRINT-PRETTY* SIMPLE *PRINT-CIRCLE* PP-HASH-TABLE)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVE O1 (SPECIAL 0))
             (CALL LISP::STRING-OUTPUT-STREAM-INDEX 1)
             (MOVEM O1 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 NIL)
             (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 -6 Q)
             (CALL LISP::OUTPUT-OBJECT 1)
             (MOVE O1 (SPECIAL 0))
             (CALL LISP::STRING-OUTPUT-STREAM-INDEX 1)
             (MOVEM O1 -3 Q)
             (MOVE O2 -5 Q)
             (CALL - 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL (SPECIAL 3))
             (JRST 5)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -6 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 3)
             (MOVE O5 -6 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -1 Q)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -6 Q)
             (CALL GETHASH 2)
             (CALL - 1)
             (MOVEM O1 0 Q)
             (MOVE O3 O1)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL LISP::%PUTHASH 3)
             (CALL - 1)
             (MOVE O5 O1)
             (JRST 4)
(LABEL 3)    (MOVE O5 NIL)
(LABEL 4)    (MOVE O1 (CONSTANT 2))
             (MOVE O2 -3 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 NIL)
             (CALL VECTOR 5)
             (UNBIND 1)
             (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJIFY-ATOM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT))) 
(%PUT (QUOTE PP-OBJIFY-ATOM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJIFY-ATOM) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PP-OBJIFY-STRUCTURE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Makes a PP-Obj for a structure.  Calls the structure's print-function
  which will throw something into a stream; we then seal it up into a pp-obj.")) 

#_(LAP #0_PP-OBJIFY-STRUCTURE EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(PPRINT-BUFFER-STREAM DEFSTRUCT-DESCRIPTION *PRINT-CIRCLE* PP-HASH-TABLE "#<Bizzare illegal thing that looks like a structure>" *STANDARD-OUTPUT* 0 SIMPLE)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVE O1 (SPECIAL 0))
             (CALL LISP::STRING-OUTPUT-STREAM-INDEX 1)
             (MOVEM O1 -5 Q)
             (MOVE O1 -7 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL GET 2)
             (MOVEM O1 -4 Q)
             (SKIPN NIL (SPECIAL 2))
             (JRST 5)
             (MOVE O2 (SPECIAL 3))
             (MOVE O1 -7 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 3)
             (MOVE O5 -7 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (SPECIAL 3))
             (MOVEM O5 -1 Q)
             (MOVE O2 (SPECIAL 3))
             (MOVE O1 -7 Q)
             (CALL GETHASH 2)
             (CALL - 1)
             (MOVEM O1 0 Q)
             (MOVE O3 O1)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL LISP::%PUTHASH 3)
             (CALL - 1)
             (MOVEM O1 -3 Q)
             (JRST 4)
(LABEL 3)    (MOVEM NIL -3 Q)
(LABEL 4)    (SKIPN NIL -4 Q)
             (JRST 7)
             (MOVE O2 -6 Q)
             (MOVE O1 -7 Q)
             (CALL LISP::OUTPUT-STRUCTURE 2)
             (JRST 8)
(LABEL 7)    (MOVE O5 (SPECIAL 5))
             (MOVEM O5 -2 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 4))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 6))
             (CALL LISP::%SP-WRITE-STRING 4)
(LABEL 8)    (MOVE O1 (SPECIAL 0))
             (CALL LISP::STRING-OUTPUT-STREAM-INDEX 1)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL - 2)
             (MOVEM O1 -2 Q)
             (MOVE O5 -3 Q)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -2 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 NIL)
             (CALL VECTOR 5)
             (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJIFY-STRUCTURE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRUCTURE CURRLEVEL))) 
(%PUT (QUOTE PP-OBJIFY-STRUCTURE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJIFY-STRUCTURE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PP-OBJIFY-VECTOR) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Makes a PP-Obj for a vector.")) 

#_(LAP #0_PP-OBJIFY-VECTOR EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*PRINT-CIRCLE* PP-HASH-TABLE 0 2 PP-SHARP-OPEN-PAREN-OBJ *PRINT-LENGTH* PP-DOTDOTDOT-OBJ 3 PP-CLOSE-PAREN-OBJ COMPLEX PP-SPACE-OBJ)
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (CALL STRUCTUREP 1)
             (JUMPN1 O1 5)
             (MOVE O1 -8 Q)
             (CALL BIT-VECTOR-P 1)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 3)
             (MOVE O1 -8 Q)
             (CALL LISP::PP-OBJIFY-ATOM 1)
             (JRST 4)
(LABEL 3)    (SKIPN NIL (SPECIAL 0))
             (JRST 9)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -8 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (SKIPN NIL O1)
(LABEL 9)    (JRST 7)
             (MOVE O5 -8 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -3 Q)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -8 Q)
             (CALL GETHASH 2)
             (CALL - 1)
             (MOVEM O1 -2 Q)
             (MOVE O3 O1)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (CALL LISP::%PUTHASH 3)
             (CALL - 1)
             (MOVEM O1 -6 Q)
             (JRST 8)
(LABEL 7)    (MOVEM NIL -6 Q)
(LABEL 8)    (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -5 Q)
             (MOVE O1 -8 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -3 Q)
             (MOVE O1 (SPECIAL 4))
             (CALL LIST 1)
             (MOVEM O1 -2 Q)
             (MOVE O5 O1)
             (MOVEM O5 -1 Q)
(LABEL 14)   (SKIPN NIL (SPECIAL 5))
             (JRST1 18)
             (MOVE O2 (SPECIAL 5))
             (MOVE O1 -5 Q)
             (CALL < 2)
             (SKIPN NIL O1)
(LABEL 18)   (JRST1 17)
             (MOVE O2 -4 Q)
             (MOVE O1 -5 Q)
             (CALL = 2)
             (SKIPN NIL O1)
(LABEL 17)   (JRST 15)
             (MOVE O2 -4 Q)
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPN O1 21)
             (MOVE O1 (SPECIAL 6))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 7))
             (CALL + 2)
             (MOVEM O1 -3 Q)
(LABEL 21)   (MOVE O1 (SPECIAL 8))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O5 -6 Q)
             (MOVE O1 (CONSTANT 9))
             (MOVE O2 0 Q)
             (MOVE O3 -2 Q)
             (MOVE O4 NIL)
             (CALL VECTOR 5)
             (JRST 6)
(LABEL 15)   (MOVE O2 (CONSTANT 2))
             (MOVE O1 -5 Q)
             (CALL > 2)
             (JUMPE O1 24)
             (MOVE O1 (SPECIAL 10))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
(LABEL 24)   (MOVE O2 -5 Q)
             (MOVE O1 -8 Q)
             (CALL AREF 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 0 Q)
             (CALL LISP::PP-OBJIFY 2)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -1 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
             (JRST 14)
(LABEL 6)
(LABEL 4)    (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJIFY-VECTOR) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT CURRLEVEL))) 
(%PUT (QUOTE PP-OBJIFY-VECTOR) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJIFY-VECTOR) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PP-OBJIFY-ARRAY) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Makes a PP-Obj for an array.")) 

#_(LAP #0_PP-OBJIFY-ARRAY EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*PRINT-CIRCLE* PP-HASH-TABLE *PRINT-ARRAY* COMPLEX 14 PP-SHARP-ANGLE-ARRAY-RANK-OBJ PP-CLOSE-ANGLE-OBJ 0 PP-SHARP-OBJ PP-A-OBJ)
       (CODE-START)
(LABEL 1)    (ADDI Q 11)
             (MOVEM O1 -10 Q)
             (MOVEM O2 -9 Q)
             (SKIPN NIL (SPECIAL 0))
             (JRST 5)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -10 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (SKIPN NIL O1)
(LABEL 5)    (JRST 3)
             (MOVE O5 -10 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -5 Q)
             (MOVE O2 (SPECIAL 1))
             (MOVE O1 -10 Q)
             (CALL GETHASH 2)
             (CALL - 1)
             (MOVEM O1 -4 Q)
             (MOVE O3 O1)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (CALL LISP::%PUTHASH 3)
             (CALL - 1)
             (MOVEM O1 -8 Q)
             (JRST 4)
(LABEL 3)    (MOVEM NIL -8 Q)
(LABEL 4)    (MOVE O1 -10 Q)
             (CALL ARRAY-RANK 1)
             (MOVEM O1 -6 Q)
             (MOVE O2 -9 Q)
             (CALL LISP::PP-OBJIFY 2)
             (MOVEM O1 -7 Q)
             (SKIPE NIL (SPECIAL 2))
             (JRST 7)
             (MOVE O1 -7 Q)
             (MOVE O2 1 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL + 2)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 (SPECIAL 5))
             (MOVEM O5 -4 Q)
             (MOVE O3 (SPECIAL 6))
             (MOVE O1 O5)
             (MOVE O2 -7 Q)
             (CALL LIST 3)
             (MOVEM O1 -4 Q)
             (MOVE O5 -8 Q)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -5 Q)
             (MOVE O3 -4 Q)
             (MOVE O4 NIL)
             (CALL VECTOR 5)
             (JRST 8)
(LABEL 7)    (MOVE O1 NIL)
             (CALL LIST 1)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O1 -10 Q)
             (CALL ARRAY-DIMENSIONS 1)
             (MOVEM O1 -3 Q)
             (MOVE O5 -5 Q)
             (MOVE O1 -4 Q)
             (MOVE O2 -3 Q)
             (MOVE O3 -9 Q)
             (MOVE O4 (CONSTANT 7))
             (CALL LISP::PRETTY-ARRAY-GUTS 5)
             (MOVE O1 -7 Q)
             (MOVE O1 1 O1)
             (CALL 1+ 1)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -1 Q)
             (MOVE O1 -5 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
(LABEL 13)   (SKIPE NIL 0 Q)
             (JRST 14)
             (MOVE O2 -1 Q)
             (JRST 9)
(LABEL 14)   (MOVE O1 0 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -1 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 0 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 0 Q)
             (JRST 13)
(LABEL 9)    (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (MOVE O5 (SPECIAL 8))
             (MOVEM O5 -2 Q)
             (MOVE O5 (SPECIAL 9))
             (MOVEM O5 0 Q)
             (MOVE O1 -5 Q)
             (MOVE O4 1 O1)
             (MOVE O1 -2 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 O5)
             (CALL LIST* 4)
             (MOVEM O1 -2 Q)
             (MOVE O5 -8 Q)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -3 Q)
             (MOVE O3 -2 Q)
             (MOVE O4 NIL)
             (CALL VECTOR 5)
(LABEL 8)    (SUBI Q 11)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJIFY-ARRAY) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT CURRLEVEL))) 
(%PUT (QUOTE PP-OBJIFY-ARRAY) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJIFY-ARRAY) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PRETTY-ARRAY-GUTS EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(*PRINT-LEVEL* PP-SHARP-OBJ PP-OPEN-PAREN-OBJ 0 *PRINT-LENGTH* PP-DOTDOTDOT-CLOSE-PAREN-OBJ PP-CLOSE-PAREN-OBJ PP-SPACE-OBJ)
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVEM O4 -6 Q)
             (MOVEM O5 -5 Q)
             (SKIPE NIL -8 Q)
             (JRST 4)
             (MOVE O2 -6 Q)
             (MOVE O1 -9 Q)
             (ADDI O1 0 O2)
             (MOVE O1 0 O1)
             (CALL LISP::PP-OBJIFY 1)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 -6 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (MOVEI N 2)
             (JRST 3)
(LABEL 4)    (SKIPN NIL (SPECIAL 0))
             (JRST 6)
             (MOVE O2 (SPECIAL 0))
             (MOVE O1 -7 Q)
             (CALL < 2)
             (SKIPE NIL O1)
(LABEL 6)    (JRST 5)
             (MOVE O1 (SPECIAL 1))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O2 -6 Q)
             (MOVEI N 2)
             (JRST 3)
(LABEL 5)    (SKIPA)
             (JRST 8)
             (MOVE O1 (SPECIAL 2))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -3 Q)
             (MOVE O1 -8 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -8 Q)
             (MOVEM O5 -2 Q)
(LABEL 13)   (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPN1 O1 16)
             (SKIPN NIL (SPECIAL 4))
             (JRST 17)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -3 Q)
             (CALL = 2)
             (SKIPN NIL O1)
(LABEL 17)
(LABEL 16)   (JRST 14)
             (MOVE O2 -2 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPN O1 19)
             (MOVE O1 (SPECIAL 5))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (JRST 20)
(LABEL 19)   (MOVE O1 (SPECIAL 6))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
(LABEL 20)   (MOVE O2 -4 Q)
             (MOVE O1 -5 Q)
             (MOVEI N 2)
             (JRST 9)
(LABEL 14)   (MOVE O1 -3 Q)
             (CALL ZEROP 1)
             (JUMPN O1 21)
             (MOVE O1 (SPECIAL 7))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
(LABEL 21)   (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O5 -5 Q)
             (MOVE O1 -9 Q)
             (MOVE O2 -8 Q)
             (MOVE O3 0 Q)
             (MOVE O4 -4 Q)
             (CALL LISP::PRETTY-ARRAY-GUTS 5)
             (ADJUST-VALUES 2)
             (MOVEM O1 -5 Q)
             (MOVEM O2 -4 Q)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (JRST 13)
(LABEL 9)
(LABEL 8)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE PRETTY-ARRAY-GUTS) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (ARRAY DIMENSIONS CURRLEVEL INDEX SPLICE))) 
(%PUT (QUOTE PRETTY-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PRETTY-ARRAY-GUTS) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PP-OBJIFY-LIST) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Makes a PP-Obj for a list.")) 

#_(LAP #0_PP-OBJIFY-LIST EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*MACROEXPANSION* PP-NIL-OBJ SIMPLE-READ-MACRO *PRINT-CIRCLE* PP-HASH-TABLE COMPLEX LAMBDA 0 1 PP-OPEN-PAREN-OBJ *PRINT-LENGTH* PP-DOTDOTDOT-OBJ 3 PP-CLOSE-PAREN-OBJ PP-SPACE-OBJ PP-DOT-OBJ)
       (CODE-START)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -13 Q)
             (MOVEM O2 -12 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -11 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -11 Q)
             (JRST 3)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVEM O1 -13 Q)
(LABEL 3)    (SKIPE NIL -13 Q)
             (JRST 6)
             (MOVE O1 (SPECIAL 1))
             (MOVEI N 1)
             (JRST 5)
(LABEL 6)    (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 8)
             (MOVE O1 -13 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -11 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL GET 2)
             (JUMPE O1 8)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (CALL LISTP 1)
             (JUMPE O1 8)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (SKIPN NIL 0 O1)
             (JRST 8)
             (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (SKIPE NIL 1 O1)
(LABEL 8)    (JRST 7)
             (SKIPN NIL (SPECIAL 3))
             (JRST 12)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -13 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (SKIPN NIL O1)
(LABEL 12)   (JRST 10)
             (MOVE O5 -13 Q)
             (MOVEM O5 -8 Q)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -7 Q)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -13 Q)
             (CALL GETHASH 2)
             (CALL - 1)
             (MOVEM O1 -6 Q)
             (MOVE O3 O1)
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (CALL LISP::%PUTHASH 3)
             (CALL - 1)
             (MOVEM O1 -10 Q)
             (JRST 11)
(LABEL 10)   (MOVEM NIL -10 Q)
(LABEL 11)   (MOVE O1 -13 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -8 Q)
             (MOVE O2 -12 Q)
             (MOVE O1 O5)
             (CALL LISP::PP-OBJIFY 2)
             (MOVEM O1 -9 Q)
             (MOVE O1 -13 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 O5)
             (CALL GET 2)
             (MOVEM O1 -8 Q)
             (MOVE O1 -9 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -6 Q)
             (MOVE O1 -8 Q)
             (MOVE O2 1 O1)
             (MOVE O1 O5)
             (CALL + 2)
             (MOVEM O1 -6 Q)
             (MOVE O1 -9 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 5))
             (CAME O2 -4 Q)
             (JRST 14)
             (MOVE O2 2 O1)
             (JRST 15)
(LABEL 14)   (MOVE O1 -9 Q)
             (CALL LIST 1)
             (MOVE O2 O1)
(LABEL 15)   (MOVE O1 -8 Q)
             (CALL CONS 2)
             (MOVEM O1 -5 Q)
             (MOVE O1 -9 Q)
             (MOVE O5 3 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 -10 Q)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 -6 Q)
             (MOVE O3 -5 Q)
             (MOVE O4 -4 Q)
             (CALL VECTOR 5)
             (JRST 5)
(LABEL 7)    (SKIPA)
             (JRST 16)
             (MOVE O5 -13 Q)
             (MOVEM O5 -10 Q)
             (MOVE O1 O5)
             (MOVE O1 0 O1)
             (CALL SYMBOLP 1)
             (JUMPE O1 20)
             (MOVE O1 -13 Q)
             (MOVE O1 0 O1)
             (CALL FBOUNDP 1)
             (JUMPN1 O1 22)
             (MOVE O1 -13 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 6))
             (CAME O2 -8 Q)
(LABEL 22)
(LABEL 20)   (JRST 18)
             (MOVE O1 -13 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -9 Q)
             (JRST 19)
(LABEL 18)   (MOVEM NIL -9 Q)
(LABEL 19)   (MOVE O5 (CONSTANT 7))
             (MOVEM O5 -8 Q)
             (MOVE O5 (CONSTANT 8))
             (MOVEM O5 -7 Q)
             (MOVE O1 (SPECIAL 9))
             (CALL LIST 1)
             (MOVEM O1 -6 Q)
             (MOVE O5 O1)
             (MOVEM O5 -5 Q)
             (SKIPN NIL (SPECIAL 3))
             (JRST 25)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -13 Q)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (SKIPN NIL O1)
(LABEL 25)   (JRST 23)
             (MOVE O5 -13 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -1 Q)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 -13 Q)
             (CALL GETHASH 2)
             (CALL - 1)
             (MOVEM O1 0 Q)
             (MOVE O3 O1)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (CALL LISP::%PUTHASH 3)
             (CALL - 1)
             (MOVEM O1 -4 Q)
             (JRST 24)
(LABEL 23)   (MOVEM NIL -4 Q)
(LABEL 24)
(LABEL 30)   (SKIPN NIL (SPECIAL 10))
             (JRST1 34)
             (MOVE O2 (SPECIAL 10))
             (MOVE O1 -8 Q)
             (CALL < 2)
             (SKIPN NIL O1)
(LABEL 34)   (JRST1 33)
             (SKIPE NIL -10 Q)
(LABEL 33)   (JRST 31)
             (SKIPN NIL -10 Q)
             (JRST 37)
             (MOVE O1 (SPECIAL 11))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 12))
             (MOVE O1 -7 Q)
             (CALL + 2)
             (MOVEM O1 -7 Q)
(LABEL 37)   (MOVE O1 (SPECIAL 13))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVE O5 -4 Q)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 -2 Q)
             (MOVE O3 -6 Q)
             (MOVE O4 -9 Q)
             (CALL VECTOR 5)
             (JRST 17)
(LABEL 31)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -8 Q)
             (CALL > 2)
             (JUMPE O1 40)
             (MOVE O1 (SPECIAL 14))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 -7 Q)
             (CALL 1+ 1)
             (MOVEM O1 -7 Q)
(LABEL 40)   (MOVE O1 -10 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 -12 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL LISP::PP-OBJIFY 2)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVE O5 1 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 O5)
             (CALL + 2)
             (MOVEM O1 -7 Q)
             (MOVE O1 -10 Q)
             (MOVE O1 1 O1)
             (CALL LISTP 1)
             (JUMPE1 O1 44)
             (MOVE O1 -10 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 (SPECIAL 4))
             (MOVE O1 O5)
             (CALL GETHASH 2)
             (CALL INTEGERP 1)
             (SKIPN NIL O1)
(LABEL 44)   (JRST 43)
             (MOVE O1 (SPECIAL 14))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 (SPECIAL 15))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 (SPECIAL 14))
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O1 -10 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 -12 Q)
             (CALL 1+ 1)
             (MOVE O2 O1)
             (MOVE O1 -2 Q)
             (CALL LISP::PP-OBJIFY 2)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL RPLACD 2)
             (MOVE O1 1 O1)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 12))
             (MOVE O1 -7 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (MOVE O1 -5 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 -7 Q)
             (MOVE O1 NIL)
             (MOVEM O1 -10 Q)
(LABEL 43)   (MOVE O1 -10 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -10 Q)
             (MOVE O1 -8 Q)
             (CALL 1+ 1)
             (MOVEM O1 -8 Q)
             (JRST 30)
(LABEL 17)
(LABEL 16)
(LABEL 5)    (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE PP-OBJIFY-LIST) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT CURRLEVEL))) 
(%PUT (QUOTE PP-OBJIFY-LIST) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PP-OBJIFY-LIST) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BASICALLY-GRIND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prints out an object constructed by PP-Objify.")) 

#_(LAP #0_BASICALLY-GRIND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 2-FEW 2-FEW 1 2-MANY))
       #0_(PP-LINE-LENGTH)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVEM O2 -4 Q)
             (MOVEM O3 -3 Q)
             (MOVEM O4 -2 Q)
             (MOVEM O5 -1 Q)
             (SKIPE NIL -4 Q)
             (JRST1 5)
             (SKIPE NIL -3 Q)
             (JRST 6)
             (MOVE O1 -5 Q)
             (MOVE O5 1 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -1 Q)
             (MOVE O1 O5)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 0))
             (CALL > 2)
             (SKIPN NIL O1)
(LABEL 6)
(LABEL 5)    (JRST 3)
             (MOVE O1 -5 Q)
             (MOVE O5 2 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -1 Q)
             (MOVE O1 O5)
             (MOVE O2 -2 Q)
             (CALL LISP::BREAK-ALWAYS-GRIND 3)
             (JRST 4)
(LABEL 3)    (MOVE O1 -5 Q)
             (MOVE O5 2 O1)
             (MOVEM O5 0 Q)
             (MOVE O3 -1 Q)
             (MOVE O1 O5)
             (MOVE O2 -2 Q)
             (CALL LISP::BREAK-SOMETIMES-GRIND 3)
(LABEL 4)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE BASICALLY-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT BREAK-ALWAYS MANY-ON-A-LINE INDENT-STYLE CHARPOS))) 
(%PUT (QUOTE BASICALLY-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE BASICALLY-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BREAK-ALWAYS-GRIND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prints each component of the Object on its own line.")) 

#_(LAP #0_BREAK-ALWAYS-GRIND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(SPACE #\NEWLINE)
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (MOVEM O2 -4 Q)
             (MOVEM O3 -3 Q)
             (MOVE O5 O1)
             (MOVEM O5 -2 Q)
             (CALL LISP::INDENTATION 3)
             (MOVEM O1 -1 Q)
(LABEL 7)    (SKIPE NIL -2 Q)
             (JRST 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 0 Q)
             (JRST 11)
             (MOVE O1 (CONSTANT 1))
             (CALL WRITE-CHAR 1)
             (MOVE O1 -1 Q)
             (CALL LISP::TAB-OVER 1)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (JRST 10)
(LABEL 11)   (SKIPA)
             (JRST 12)
             (MOVE O1 -2 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 O5)
             (CALL LISP::MASTER-GRIND 2)
             (MOVE O1 -2 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
(LABEL 12)
(LABEL 10)   (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -2 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE BREAK-ALWAYS-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT INDENT-STYLE CHARPOS))) 
(%PUT (QUOTE BREAK-ALWAYS-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE BREAK-ALWAYS-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE BREAK-SOMETIMES-GRIND) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prints as many components as possible on each line.")) 

#_(LAP #0_BREAK-SOMETIMES-GRIND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(1 SPACE PP-LINE-LENGTH #\NEWLINE #\SPACE)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVE O5 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL LISP::INDENTATION 3)
             (MOVEM O1 -3 Q)
             (MOVE O3 -5 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -6 Q)
             (CALL LISP::INDENTATION 3)
             (MOVEM O1 -2 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
(LABEL 7)    (SKIPE NIL -4 Q)
             (JRST 8)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 3)
(LABEL 8)    (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 1))
             (CAME O2 0 Q)
             (JRST 11)
             (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVE O2 (SPECIAL 2))
             (CALL > 2)
             (JUMPE O1 13)
             (MOVE O1 (CONSTANT 3))
             (CALL WRITE-CHAR 1)
             (MOVE O1 -1 Q)
             (CALL LISP::TAB-OVER 1)
             (MOVE O1 -1 Q)
             (MOVEM O1 -5 Q)
             (JRST 12)
(LABEL 13)   (SKIPA)
             (JRST 14)
             (MOVE O1 -2 Q)
             (MOVEM O1 -1 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL WRITE-CHAR 1)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -5 Q)
(LABEL 14)
(LABEL 12)   (JRST 10)
(LABEL 11)   (SKIPA)
             (JRST 16)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 O5)
             (CALL LISP::MASTER-GRIND 2)
             (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
(LABEL 16)
(LABEL 10)   (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE BREAK-SOMETIMES-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT INDENT-STYLE CHARPOS))) 
(%PUT (QUOTE BREAK-SOMETIMES-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE BREAK-SOMETIMES-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SPECIALLY-GRIND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(SPECIALLY-GRIND 0)
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVE O5 3 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 O5)
             (CALL GET 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL > 2)
             (JUMPE O1 3)
             (MOVE O1 -4 Q)
             (MOVE O5 2 O1)
             (MOVEM O5 -1 Q)
             (MOVE O3 -3 Q)
             (MOVE O1 O5)
             (MOVE O2 -2 Q)
             (CALL LISP::SPECIAL-ARG-GRIND 3)
             (JRST 4)
(LABEL 3)    (MOVE O1 -4 Q)
             (MOVE O5 2 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -2 Q)
             (CALL - 1)
             (MOVEM O1 0 Q)
             (MOVE O3 -3 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 0 Q)
             (CALL LISP::TOP-LINE-GRIND 3)
(LABEL 4)    (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE SPECIALLY-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT CHARPOS))) 
(%PUT (QUOTE SPECIALLY-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE SPECIALLY-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_SPECIAL-ARG-GRIND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(SPACE #\SPACE 0 COMPLEX 1 PP-NIL-OBJ "()" *STANDARD-OUTPUT* PP-SPACE-OBJ #\NEWLINE PP-OPEN-PAREN-OBJ)
       (CODE-START)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVE O5 O1)
             (MOVEM O5 -6 Q)
             (MOVEM NIL -5 Q)
             (MOVE O5 O3)
             (MOVEM O5 -4 Q)
(LABEL 7)    (SKIPN NIL -6 Q)
             (JRST1 10)
             (MOVE O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 0))
             (CAME O2 -3 Q)
(LABEL 10)   (JRST 8)
             (SKIPN NIL -6 Q)
             (JRST 12)
             (MOVE O1 (CONSTANT 1))
             (CALL WRITE-CHAR 1)
             (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -2 Q)
(LABEL 17)   (MOVE O2 -8 Q)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPN1 O1 20)
             (SKIPE NIL -6 Q)
(LABEL 20)   (JRST 18)
             (JRST 13)
(LABEL 18)   (MOVE O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 3))
             (CAME O2 -1 Q)
             (JRST 22)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVEM O1 -2 Q)
             (MOVE O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVE O5 2 O1)
             (MOVEM O5 -1 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 4))
             (CALL LISP::BREAK-ALWAYS-GRIND 3)
             (JRST 21)
(LABEL 22)   (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 (SPECIAL 5))
             (CAME O2 -1 Q)
             (JRST 23)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVEM O1 -2 Q)
             (MOVE O5 (SPECIAL 7))
             (MOVEM O5 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 (CONSTANT 6))
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 2))
             (CALL LISP::%SP-WRITE-STRING 4)
             (JRST 21)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 (SPECIAL 8))
             (CAME O2 -1 Q)
             (JRST 24)
             (MOVE O1 (CONSTANT 9))
             (CALL WRITE-CHAR 1)
             (MOVE O1 -4 Q)
             (CALL LISP::TAB-OVER 1)
             (JRST 21)
(LABEL 24)   (SKIPA)
             (JRST 25)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVEM O1 -2 Q)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O2 -4 Q)
             (MOVE O1 O5)
             (CALL LISP::MASTER-GRIND 2)
(LABEL 25)
(LABEL 21)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (JRST 17)
(LABEL 13)   (SKIPN NIL -6 Q)
             (JRST 27)
             (MOVE O3 -5 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 (CONSTANT 4))
             (CALL LISP::BREAK-ALWAYS-GRIND 3)
             (JRST 28)
(LABEL 27)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 28)   (JRST 11)
(LABEL 12)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 11)   (JRST 3)
(LABEL 8)    (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 O5)
             (CALL LISP::MASTER-GRIND 2)
             (MOVE O1 -6 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -4 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 (SPECIAL 10))
             (CAME O2 -3 Q)
             (JRST 30)
             (MOVE O1 -4 Q)
             (MOVEM O1 -5 Q)
(LABEL 30)   (MOVE O1 -6 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -6 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE SPECIAL-ARG-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT SPEC CHARPOS))) 
(%PUT (QUOTE SPECIAL-ARG-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE SPECIAL-ARG-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_TOP-LINE-GRIND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY))
       #0_(0 1 SPACE #\SPACE PP-OPEN-PAREN-OBJ)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVEM O3 -5 Q)
             (MOVE O5 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
             (MOVE O5 O3)
             (MOVEM O5 -1 Q)
(LABEL 7)    (SKIPN NIL -4 Q)
             (JRST1 10)
             (MOVE O2 -6 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (SKIPN NIL O1)
(LABEL 10)   (JRST 8)
             (SKIPN NIL -4 Q)
             (JRST 12)
             (MOVE O3 -2 Q)
             (JUMPN O3 13)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVE O3 O1)
(LABEL 13)   (MOVE O1 -4 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL LISP::BREAK-ALWAYS-GRIND 3)
             (JRST 11)
(LABEL 12)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 11)   (JRST 3)
(LABEL 8)    (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 2))
             (CAME O2 0 Q)
             (JRST 16)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL WRITE-CHAR 1)
             (MOVE O1 -1 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (JRST 15)
(LABEL 16)   (SKIPA)
             (JRST 17)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 O5)
             (CALL LISP::MASTER-GRIND 2)
             (MOVE O1 -4 Q)
             (MOVE O1 0 O1)
             (MOVE O2 1 O1)
             (MOVE O1 -1 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (SKIPE NIL -2 Q)
             (JRST 20)
             (MOVE O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (SPECIAL 4))
             (CAME O2 0 Q)
(LABEL 20)   (JRST 18)
             (MOVE O1 -1 Q)
             (MOVEM O1 -2 Q)
(LABEL 18)
(LABEL 17)
(LABEL 15)   (MOVE O1 -4 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -4 Q)
             (JRST 7)
(LABEL 3)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE TOP-LINE-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT SPEC CHARPOS))) 
(%PUT (QUOTE TOP-LINE-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE TOP-LINE-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_HAIRILY-GRIND EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_("I'm not yet implemented.")
       (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 1)
             (MOVEM O1 0 Q)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE HAIRILY-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (&REST IGNORE))) 
(%PUT (QUOTE HAIRILY-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE HAIRILY-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_MASTER-GRIND EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("#~d=" *PRINT-PRETTY* *STANDARD-OUTPUT* 0 SIMPLE PPRINT-BUFFER-STREAM STRING SPECIALLY-GRIND HAIRILY-GRIND T PAST-NAME NORMAL)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (SKIPN NIL 4 O1)
             (JRST 4)
             (MOVEM NIL -3 Q)
             (MOVE O1 -6 Q)
             (MOVE O3 4 O1)
             (MOVE O1 NIL)
             (MOVE O2 (CONSTANT 0))
             (CALL FORMAT 3)
             (MOVEM O1 -2 Q)
             (MOVE O1 -3 Q)
             (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 0 Q)
             (MOVE O4 NIL)
             (MOVE O1 -2 Q)
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 3))
             (CALL LISP::%SP-WRITE-STRING 4)
             (MOVE O1 -2 Q)
             (CALL LENGTH 1)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVEM O1 -5 Q)
             (UNBIND 1)
(LABEL 4)    (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 4))
             (CAME O2 -4 Q)
             (JRST 7)
             (MOVE O5 2 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 (SPECIAL 5))
             (CALL LISP::STRING-OUTPUT-STREAM-STRING 1)
             (MOVEM O1 -2 Q)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -1 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 1 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVE O4 O1)
             (MOVE O1 -2 Q)
             (MOVE O2 -1 Q)
             (MOVE O3 -3 Q)
             (CALL LISP::%SP-WRITE-STRING 4)
             (JRST 6)
(LABEL 7)    (MOVE O1 -6 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 6))
             (CAME O2 -4 Q)
             (JRST 8)
             (MOVE O5 2 O1)
             (MOVEM O5 -4 Q)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -3 Q)
             (MOVE O4 NIL)
             (MOVE O1 -4 Q)
             (MOVE O2 O5)
             (MOVE O3 (CONSTANT 3))
             (CALL LISP::%SP-WRITE-STRING 4)
             (JRST 6)
(LABEL 8)    (MOVE O1 -6 Q)
             (SKIPN NIL 3 O1)
             (JRST 9)
             (MOVE O1 -6 Q)
             (MOVE O5 3 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 7))
             (MOVE O1 O5)
             (CALL GET 2)
             (JUMPE O1 11)
             (MOVE O2 -5 Q)
             (MOVE O1 -6 Q)
             (CALL LISP::SPECIALLY-GRIND 2)
             (JRST 10)
(LABEL 11)   (MOVE O1 -6 Q)
             (MOVE O5 3 O1)
             (MOVEM O5 -4 Q)
             (MOVE O2 (CONSTANT 8))
             (MOVE O1 O5)
             (CALL GET 2)
             (JUMPE O1 12)
             (MOVE O2 -5 Q)
             (MOVE O1 -6 Q)
             (CALL LISP::HAIRILY-GRIND 2)
             (JRST 10)
(LABEL 12)   (SKIPA)
             (JRST 13)
             (MOVE O5 -5 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 NIL)
             (MOVE O3 (CONSTANT 9))
             (MOVE O4 (CONSTANT 10))
             (CALL LISP::BASICALLY-GRIND 5)
(LABEL 13)
(LABEL 10)   (JRST 6)
(LABEL 9)    (SKIPA)
             (JRST 15)
             (MOVE O5 -5 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 NIL)
             (MOVE O3 (CONSTANT 9))
             (MOVE O4 (CONSTANT 11))
             (CALL LISP::BASICALLY-GRIND 5)
(LABEL 15)
(LABEL 6)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE MASTER-GRIND) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT CHARPOS))) 
(%PUT (QUOTE MASTER-GRIND) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE MASTER-GRIND) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFVAR *PPRINT-RECURSIVE-CALL* NIL "Is true when pprint is called from pprint.") 
(%PUT (QUOTE OUTPUT-PRETTY-OBJECT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prettily outputs the Object to *Standard-Output*, like Output-Object.")) 

#_(LAP #0_OUTPUT-PRETTY-OBJECT EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 PPRINT-BUFFER-STREAM-LIST PP-LINE-LENGTH 80 PPRINT-BUFFER-STREAM *PRINT-CIRCLE* *PPRINT-RECURSIVE-CALL* PP-HASH-TABLE PP-LABEL-OBJECT-COUNTER T *STANDARD-OUTPUT*)
       (CODE-START)
(LABEL 1)    (MOVE O2 (CONSTANT 0))
(LABEL 2)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (MOVEM O2 -5 Q)
             (MOVE O1 (SPECIAL 1))
             (SKIPE NIL 1 O1)
             (JRST 4)
             (MOVE O5 (SPECIAL 1))
             (MOVEM O5 -4 Q)
             (CALL LISP::MAKE-BUFFER-STREAM 0)
             (CALL LIST 1)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL RPLACD 2)
(LABEL 4)    (CALL LISP::LINE-LENGTH 0)
             (JUMPN O1 6)
             (MOVE O1 (CONSTANT 3))
(LABEL 6)    (SPEC-BIND (SPECIAL 2))
             (MOVEM O1 (SPECIAL 2))
             (MOVE O1 (SPECIAL 1))
             (MOVE O1 1 O1)
             (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 (SPECIAL 1))
             (MOVE O1 0 O1)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 O5)
             (CALL FILE-POSITION 2)
             (SKIPN NIL (SPECIAL 5))
             (JRST 7)
             (SKIPE NIL (SPECIAL 6))
             (JRST 10)
             (MOVE O1 (SPECIAL 7))
             (CALL CLRHASH 1)
             (MOVE O1 (CONSTANT 0))
             (MOVEM O1 (SPECIAL 8))
(LABEL 10)   (MOVE O1 -6 Q)
             (CALL LISP::MARK-OBJ-IN-TABLE 1)
(LABEL 7)    (MOVE O5 (CONSTANT 9))
             (MOVEM O5 -2 Q)
             (MOVE O1 O5)
             (SPEC-BIND (SPECIAL 6))
             (MOVEM O1 (SPECIAL 6))
             (ICALL CUNWIND)
             (JRST 12)
             (JRST 13)
             (MOVE O5 (SPECIAL 4))
             (MOVEM O5 0 Q)
             (MOVE O1 O5)
             (SPEC-BIND (SPECIAL 10))
             (MOVEM O1 (SPECIAL 10))
             (MOVE O2 -5 Q)
             (MOVE O1 -6 Q)
             (CALL LISP::PP-OBJIFY 2)
             (MOVEM O1 -1 Q)
             (UNBIND 1)
             (CALL LISP::CHARPOS 0)
             (MOVE O2 O1)
             (JUMPN O2 14)
             (MOVE O2 (CONSTANT 0))
(LABEL 14)   (MOVE O1 -1 Q)
             (CALL LISP::MASTER-GRIND 2)
             (POPJ P)
(LABEL 12)   (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 6))
             (POPJ P)
(LABEL 13)   (UNBIND 1)
             (UNBIND 3)
             (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE OUTPUT-PRETTY-OBJECT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (CURRLEVEL 0)))) 
(%PUT (QUOTE OUTPUT-PRETTY-OBJECT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE OUTPUT-PRETTY-OBJECT) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PPRIN1) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prettily outputs the Object to the Stream slashifying special characters.")) 

#_(LAP #0_PPRIN1 EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STANDARD-OUTPUT* *PRINT-ESCAPE* T)
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 2)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O2 (SPECIAL 0))
             (MOVE O1 (CONSTANT 2))
             (SPEC-BIND (SPECIAL 1))
             (MOVEM O1 (SPECIAL 1))
             (MOVE O1 0 Q)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 1)
             (UNBIND 1)
             (UNBIND 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PPRIN1) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (*STANDARD-OUTPUT* *STANDARD-OUTPUT*)))) 
(%PUT (QUOTE PPRIN1) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PPRIN1) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PPRINC) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prettily outputs the Object to the Stream without slashifying.")) 

#_(LAP #0_PPRINC EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STANDARD-OUTPUT* *PRINT-ESCAPE*)
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 2)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O2 (SPECIAL 0))
             (SPEC-BIND (SPECIAL 1))
             (MOVEM NIL (SPECIAL 1))
             (MOVE O1 0 Q)
             (CALL LISP::OUTPUT-PRETTY-OBJECT 1)
             (UNBIND 1)
             (UNBIND 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PPRINC) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (*STANDARD-OUTPUT* *STANDARD-OUTPUT*)))) 
(%PUT (QUOTE PPRINC) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PPRINC) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE PPRINT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prettily outputs the Object preceded by a newline and followed by a space.")) 

#_(LAP #0_PPRINT EXPR
       (ENTRY-POINTS (2-FEW 1 2 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*STANDARD-OUTPUT* #\NEWLINE #\SPACE)
       (CODE-START)
(LABEL 1)    (MOVE O2 (SPECIAL 0))
(LABEL 2)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (SPEC-BIND (SPECIAL 0))
             (MOVEM O2 (SPECIAL 0))
             (MOVE O1 (CONSTANT 1))
             (CALL WRITE-CHAR 1)
             (MOVE O1 0 Q)
             (CALL PPRIN1 1)
             (MOVE O1 (CONSTANT 2))
             (CALL WRITE-CHAR 1)
             (SETZB O1 N)
             (UNBIND 1)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE PPRINT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (OBJECT &OPTIONAL (*STANDARD-OUTPUT* *STANDARD-OUTPUT*)))) 
(%PUT (QUOTE PPRINT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PPRINT) (QUOTE %SOURCE-DOCUMENTATION)))) 

#_(LAP #0_PRETTY-LAMBDA-TO-DEFUN EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2 2-MANY 2-MANY 2-MANY))
       #0_(DEFUN BLOCK)
       (CODE-START)
(LABEL 1)    (MOVE O3 NIL)
(LABEL 2)    (ADDI Q 5)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
             (MOVEM O3 -2 Q)
             (MOVE O1 O3)
             (SKIPE NIL O1)
             (MOVEM O1 -1 Q)
             (JUMPN O1 4)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
(LABEL 4)    (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (SKIPE NIL 1 O1)
             (JRST 7)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (CALL LISTP 1)
             (JUMPE O1 7)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O2 (CONSTANT 1))
             (CAME O2 0 Q)
(LABEL 7)    (JRST 5)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O1 0 O1)
             (MOVE O1 1 O1)
             (MOVE O4 1 O1)
             (JRST 6)
(LABEL 5)    (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O4 1 O1)
(LABEL 6)    (MOVE O1 (CONSTANT 0))
             (MOVE O2 -4 Q)
             (MOVE O3 -1 Q)
             (CALL LIST* 4)
             (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE PRETTY-LAMBDA-TO-DEFUN) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (NAME LAMBDA &OPTIONAL ARGLIST))) 
(%PUT (QUOTE PRETTY-LAMBDA-TO-DEFUN) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE PRETTY-LAMBDA-TO-DEFUN) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE GRINDEF) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Prettily prints the definition of the function whose name is Function-Name.")) 

#_(LAP #0_GRINDEF MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." GRINDEF LAMBDA PPRINT QUOTE MACRO SETF SYMBOL-FUNCTION DEFMACRO)
       (CODE-START)
(LABEL 1)    (ADDI Q 7)
             (MOVEM O1 -6 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -6 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 -6 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -4 Q)
             (MOVE O1 O5)
             (CALL SYMBOLP 1)
             (JUMPE O1 8)
             (MOVE O1 -4 Q)
             (CALL FBOUNDP 1)
             (SKIPN NIL O1)
(LABEL 8)    (JRST 6)
             (MOVE O1 -4 Q)
             (CALL SYMBOL-FUNCTION 1)
             (MOVEM O1 -3 Q)
             (CALL LISTP 1)
             (JUMPE O1 12)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (CALL LISTP 1)
             (SKIPN NIL O1)
(LABEL 12)   (JRST 10)
             (MOVE O1 -3 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 3))
             (CAME O2 -2 Q)
             (JRST 15)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL LISP::PRETTY-LAMBDA-TO-DEFUN 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (JRST 14)
(LABEL 15)   (MOVE O2 (CONSTANT 6))
             (CAME O2 -2 Q)
             (JRST 16)
             (MOVE O1 -4 Q)
             (CALL COMPILEDP 1)
             (JUMPE O1 17)
             (MOVE O2 -4 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (JRST 18)
(LABEL 17)   (MOVE O1 -3 Q)
             (MOVE O2 1 O1)
             (MOVE O1 -4 Q)
             (CALL LISP::PRETTY-LAMBDA-TO-DEFUN 2)
             (MOVE O2 1 O1)
             (MOVE O1 (CONSTANT 9))
             (CALL CONS 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
(LABEL 18)   (JRST 14)
(LABEL 16)   (SKIPA)
             (JRST 19)
             (MOVE O2 -4 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 0 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
(LABEL 19)
(LABEL 14)   (JRST 11)
(LABEL 10)   (MOVE O2 -4 Q)
             (MOVE O1 (CONSTANT 8))
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 7))
             (MOVE O2 -1 Q)
             (CALL LIST 3)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 5))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
(LABEL 11)   (JRST 7)
(LABEL 6)    (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 7)
(LABEL 5)
(LABEL 3)    (SUBI Q 7)
             (POPJ P)
)

(%PUT (QUOTE GRINDEF) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION-NAME))) 
(%PUT (QUOTE GRINDEF) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE GRINDEF) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE DEFPRINT) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Defines a Way for PPrint to print a call to the function named by
   Function-Name.  See ??? for details.")) 

#_(LAP #0_DEFPRINT 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." DEFPRINT %PUT QUOTE (QUOTE SPECIALLY-GRIND))
       (CODE-START)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -5 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -4 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -5 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 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O1 -5 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -2 Q)
             (MOVE O1 O5)
             (CALL LISTP 1)
             (JUMPE O1 6)
             (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (MOVE O2 0 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVE O4 0 O1)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -1 Q)
             (MOVE O3 0 Q)
             (CALL LIST 4)
             (JRST 7)
(LABEL 6)    (MOVE O2 -3 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVEM O1 -1 Q)
             (MOVE O4 -2 Q)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -1 Q)
             (MOVE O3 (CONSTANT 5))
             (CALL LIST 4)
(LABEL 7)
(LABEL 5)
(LABEL 3)    (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE DEFPRINT) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (FUNCTION-NAME WAY))) 
(%PUT (QUOTE DEFPRINT) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>PPRINT.CLISP.8") (GET (QUOTE DEFPRINT) (QUOTE %SOURCE-DOCUMENTATION)))) 
(DEFPRINT BLOCK 1) 
(DEFPRINT CASE -1) 
(DEFPRINT CATCH 1) 
(DEFPRINT CATCH-ALL 2) 
(DEFPRINT COND MOST-POSITIVE-FIXNUM) 
(DEFPRINT DEFCONSTANT -2) 
(DEFPRINT DEFVAR -2) 
(DEFPRINT DEFMACRO -2) 
(DEFPRINT DEFUN -2) 
(DEFPRINT DO 2) 
(DEFPRINT DO* 2) 
(DEFPRINT DO-ALL-SYMBOLS -1) 
(DEFPRINT DO-EXTERNAL-SYMBOLS -1) 
(DEFPRINT DO-INTERNAL-SYMBOLS -1) 
(DEFPRINT DO-SYMBOLS -1) 
(DEFPRINT DOLIST -1) 
(DEFPRINT DOTIMES -1) 
(DEFPRINT FLET 1) 
(DEFPRINT FUNCTION (SIMPLE-READ-MACRO (MAKE-PP-OBJ :TYPE (QUOTE STRING) :LENGTH 2 :OBJECT "#'"))) 
(DEFPRINT LABELS 1) 
(DEFPRINT LAMBDA 1) 
(DEFPRINT LET 1) 
(DEFPRINT LET* 1) 
(DEFPRINT MACRO -2) 
(DEFPRINT MACROLET 1) 
(DEFPRINT MULTIPLE-VALUE-SETQ -1) 
(DEFPRINT MULTIPLE-VALUE-BIND -2) 
(DEFPRINT MVCALL -1) 
(DEFPRINT PROG 1) 
(DEFPRINT PROG* 1) 
(DEFPRINT PROG1 0) 
(DEFPRINT PROG2 0) 
(DEFPRINT PROGN 0) 
(DEFPRINT PROGV 2) 
(DEFPRINT QUOTE (SIMPLE-READ-MACRO (MAKE-PP-OBJ :TYPE (QUOTE STRING) :LENGTH 1 :OBJECT "'"))) 
(DEFPRINT THROW 2) 
(DEFPRINT TYPECASE -1) 
(DEFPRINT UNLESS -1) 
(DEFPRINT UNWIND-ALL 2) 
(DEFPRINT UNWIND-PROTECT 2) 
(DEFPRINT WHEN -1)