Google
 

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

(IN-PACKAGE (QUOTE LISP)) 
(EXPORT (QUOTE (STRING STRING= STRING-EQUAL STRING< STRING> STRING<= STRING>= STRING/= STRING-LESSP STRING-GREATERP STRING-NOT-LESSP STRING-NOT-GREATERP STRING-NOT-EQUAL MAKE-STRING STRING-TRIM STRING-LEFT-TRIM STRING-RIGHT-TRIM STRING-UPCASE STRING-DOWNCASE STRING-CAPITALIZE NSTRING-UPCASE NSTRING-DOWNCASE NSTRING-CAPITALIZE))) 
(%PUT (QUOTE STRING) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Coerces X into a string.  If X is a string, X is returned.  If X is a
   symbol, X's pname is returned.  If X is a character then a one element
   string containing that character is returned.  If X cannot be coerced
   into a string, an error occurs.")) 

#_(LAP #0_STRING EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(1 0 "~S cannot be coerced to a string.")
       (CODE-START)
(LABEL 1)    (ADDI Q 2)
             (MOVEM O1 -1 Q)
             (CALL STRINGP 1)
             (JUMPE O1 4)
             (MOVE O1 -1 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 4)    (MOVE O1 -1 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 5)
             (MOVE O1 -1 Q)
             (CALL SYMBOL-NAME 1)
             (JRST 3)
(LABEL 5)    (MOVE O1 -1 Q)
             (CALL CHARACTERP 1)
             (JUMPE O1 6)
             (MOVE O1 (CONSTANT 0))
             (CALL MAKE-STRING 1)
             (MOVEM O1 0 Q)
             (MOVE O3 -1 Q)
             (MOVE O2 (CONSTANT 1))
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 0 Q)
             (MOVEI N 1)
             (JRST 3)
(LABEL 6)    (SKIPA)
             (JRST 7)
             (MOVE O2 -1 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL ERROR 2)
(LABEL 7)
(LABEL 3)    (SUBI Q 2)
             (POPJ P)
)

(%PUT (QUOTE STRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (X))) 
(%PUT (QUOTE STRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING=) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings (string1 and string2), and optional integers start1,
  start2, end1 and end2, compares characters in string1 to characters in
  string2 (using char=).")) 

#_(LAP #0_STRING= EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2 T)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -13 Q)
             (MOVE O2 -7 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -12 Q)
             (MOVE O2 -7 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -11 Q)
             (MOVE O2 -7 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -10 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -6 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVE O1 -9 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -9 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -9 Q)
(LABEL 16)   (MOVE O1 -8 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -8 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -8 Q)
(LABEL 18)   (MOVE O1 -9 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 22)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 23)   (MOVE O1 -4 Q)
             (MOVEM O1 -9 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -12 Q)
             (JRST 24)
             (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -8 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (SKIPN NIL -10 Q)
             (JRST 28)
             (MOVE O2 -3 Q)
             (MOVE O1 -10 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -3 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
(LABEL 29)   (MOVE O1 -2 Q)
             (MOVEM O1 -8 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -10 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -10 Q)
             (JRST 30)
             (MOVE O1 -8 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -10 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -9 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -10 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE 6)
             (TDCN O1 O1)
             (MOVE O1 (CONSTANT 8))
             (MOVEI N 1)
             (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE STRING=) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING=) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING=) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-EQUAL) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings (string1 and string2), and optional integers start1,
  start2, end1 and end2, compares characters in string1 to characters in
  string2 (using char-equal).")) 

#_(LAP #0_STRING-EQUAL EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2 T)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
             (MOVEM O3 -7 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -13 Q)
             (MOVE O2 -7 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -12 Q)
             (MOVE O2 -7 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -11 Q)
             (MOVE O2 -7 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -10 Q)
             (MOVE O5 -7 Q)
             (MOVEM O5 -6 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVE O1 -9 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -9 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -9 Q)
(LABEL 16)   (MOVE O1 -8 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -8 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -8 Q)
(LABEL 18)   (MOVE O1 -9 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 22)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 23)   (MOVE O1 -4 Q)
             (MOVEM O1 -9 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -12 Q)
             (JRST 24)
             (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -8 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (SKIPN NIL -10 Q)
             (JRST 28)
             (MOVE O2 -3 Q)
             (MOVE O1 -10 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -8 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -3 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
(LABEL 29)   (MOVE O1 -2 Q)
             (MOVEM O1 -8 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -10 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -10 Q)
             (JRST 30)
             (MOVE O1 -8 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -10 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -9 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -11 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -10 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE-IGNORE 6)
             (TDCN O1 O1)
             (MOVE O1 (CONSTANT 8))
             (MOVEI N 1)
             (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE STRING-EQUAL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING-EQUAL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-EQUAL) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING<) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically less than
  the second string, returns the longest common prefix (using char=)
  of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING< EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR< 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING<) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING<) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING<) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING>) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically greater than
  the second string, returns the longest common prefix (using char=)
  of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING> EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR> 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING>) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING>) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING>) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING<=) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically less than
  or equal to the second string, returns the longest common prefix
  (using char=) of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING<= EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR<= 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING<=) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING<=) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING<=) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING>=) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically greater
  than or equal to the second string, returns the longest common prefix
  (using char=) of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING>= EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR>= 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING>=) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING>=) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING>=) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING/=) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is not lexicographically equal
  to the second string, returns the longest common prefix (using char=)
  of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING/= EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 33)   (SKIPA)
             (JRST 34)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
(LABEL 34)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING/=) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING/=) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING/=) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-LESSP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically less than
  the second string, returns the longest common prefix (using char-equal)
  of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING-LESSP EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE-IGNORE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR-LESSP 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING-LESSP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING-LESSP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-LESSP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-GREATERP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically greater than
  the second string, returns the longest common prefix (using char-equal)
  of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING-GREATERP EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE-IGNORE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR-GREATERP 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING-GREATERP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING-GREATERP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-GREATERP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-NOT-GREATERP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically less than
  or equal to the second string, returns the longest common prefix
  (using char-equal) of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING-NOT-GREATERP EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE-IGNORE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR-NOT-GREATERP 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING-NOT-GREATERP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING-NOT-GREATERP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-NOT-GREATERP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-NOT-LESSP) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is lexicographically greater
  than or equal to the second string, returns the longest common prefix
  (using char-equal) of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING-NOT-LESSP EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE-IGNORE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 33)   (MOVE O2 -14 Q)
             (CAME O2 -5 Q)
             (JRST 34)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 34)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -13 Q)
             (MOVE O1 -12 Q)
             (CALL - 2)
             (CAME 5 -4 Q)
             (JRST 35)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 35)   (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -15 Q)
             (MOVE O1 -13 Q)
             (CALL - 2)
             (MOVE O2 O1)
             (MOVE O1 -5 Q)
             (CALL + 2)
             (MOVE O2 O1)
             (MOVE O1 -10 Q)
             (CALL SCHAR 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL CHAR-NOT-LESSP 2)
             (JUMPE O1 36)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
             (JRST 32)
(LABEL 36)   (MOVE O1 NIL)
             (MOVEI N 1)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING-NOT-LESSP) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING-NOT-LESSP) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-NOT-LESSP) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-NOT-EQUAL) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given two strings, if the first string is not lexicographically equal
  to the second string, returns the longest common prefix (using char-equal)
  of the two strings. Otherwise, returns ().")) 

#_(LAP #0_STRING-NOT-EQUAL EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 2 3 4 5 6) REST)
       #0_(:START1 0 :END1 :START2 :END2 (:END2 :START2 :END1 :START1) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O3 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST3)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST4)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST5)
             (JRST 1)
(LABEL 6)    (MOVEI W2 2)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
             (MOVEM O3 -9 Q)
             (MOVE O2 O3)
(LABEL 8)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 7)
             (JUMPN O2 8)
             (MOVE O1 (CONSTANT 1))
(LABEL 7)    (MOVEM O1 -15 Q)
             (MOVE O2 -9 Q)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 10)
             (MOVEM O1 -14 Q)
             (MOVE O2 -9 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 11)
             (JUMPN O2 12)
             (MOVE O1 (CONSTANT 1))
(LABEL 11)   (MOVEM O1 -13 Q)
             (MOVE O2 -9 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 4))
             (JUMPN O4 14)
             (MOVEM O1 -12 Q)
             (MOVE O5 -9 Q)
             (MOVEM O5 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 16)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 16)   (MOVE O1 -10 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 18)
             (MOVE O1 -10 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -10 Q)
(LABEL 18)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 20)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 -7 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (SKIPN NIL -14 Q)
             (JRST 22)
             (MOVE O2 -7 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (JRST 23)
(LABEL 22)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -7 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
(LABEL 23)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -14 Q)
             (JRST 21)
(LABEL 20)   (SKIPE NIL -14 Q)
             (JRST 24)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 24)
(LABEL 21)   (MOVE O1 -10 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 26)
             (MOVE O2 (CONSTANT 6))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (SKIPN NIL -12 Q)
             (JRST 28)
             (MOVE O2 -5 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
             (JRST 29)
(LABEL 28)   (MOVE O2 (CONSTANT 7))
             (MOVE O1 -10 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 -2 Q)
(LABEL 29)   (MOVE O1 -4 Q)
             (MOVEM O1 -10 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -12 Q)
             (JRST 27)
(LABEL 26)   (SKIPE NIL -12 Q)
             (JRST 30)
             (MOVE O1 -10 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 30)
(LABEL 27)   (MOVE O5 -11 Q)
             (MOVEM O5 -4 Q)
             (MOVE O5 -15 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 -14 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -1 Q)
             (MOVE O5 -13 Q)
             (MOVEM O5 0 Q)
             (PUSH Q -12 Q)
             (MOVE O1 -5 Q)
             (MOVE O2 -4 Q)
             (MOVE O3 -3 Q)
             (MOVE O4 -2 Q)
             (MOVE O5 -1 Q)
             (CALL LISP::%SP-STRING-COMPARE-IGNORE 6)
             (MOVEM O1 -5 Q)
             (SKIPE NIL -5 Q)
             (JRST 33)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 32)
(LABEL 33)   (SKIPA)
             (JRST 34)
             (MOVE O2 -7 Q)
             (MOVE O1 -5 Q)
             (CALL - 2)
(LABEL 34)
(LABEL 32)   (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING-NOT-EQUAL) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING1 STRING2 &KEY (START1 0) END1 (START2 0) END2))) 
(%PUT (QUOTE STRING-NOT-EQUAL) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-NOT-EQUAL) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE MAKE-STRING) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a character count and an optional fill character, makes and returns
  a new string Count long filled with the fill character.")) 

#_(LAP #0_MAKE-STRING EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:INITIAL-ELEMENT (:INITIAL-ELEMENT) 0)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 6)
             (MOVEM O1 -4 Q)
             (MOVEM O2 -3 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 0))
             (JUMPN O4 9)
             (MOVEM O1 -5 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (SKIPN NIL -5 Q)
             (JRST 11)
             (MOVE O5 (CONSTANT 2))
             (MOVEM O5 -1 Q)
             (MOVE O1 -4 Q)
             (CALL LISP::%SP-ALLOC-STRING 1)
             (MOVEM O1 0 Q)
(LABEL 17)   (MOVE O2 -4 Q)
             (MOVE O1 -1 Q)
             (CALL = 2)
             (JUMPE O1 18)
             (MOVE O1 0 Q)
             (MOVEI N 1)
             (JRST 13)
(LABEL 18)   (MOVE O3 -5 Q)
             (MOVE O1 0 Q)
             (MOVE O2 -1 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -1 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (JRST 17)
(LABEL 13)   (JRST 12)
(LABEL 11)   (MOVE O1 -4 Q)
             (CALL LISP::%SP-ALLOC-STRING 1)
(LABEL 12)   (SUBI Q 6)
             (POPJ P)
)

(%PUT (QUOTE MAKE-STRING) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (COUNT &KEY ((:INITIAL-ELEMENT FILL-CHAR))))) 
(%PUT (QUOTE MAKE-STRING) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE MAKE-STRING) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-UPCASE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a string, returns a new string that is a copy of it with
  all lower case alphabetic characters converted to uppercase.")) 

#_(LAP #0_STRING-UPCASE EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:START 0 :END (:END :START) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (CONSTANT 1))
(LABEL 8)    (MOVEM O1 -13 Q)
             (MOVE O2 -10 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -12 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -9 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -8 Q)
             (MOVEM NIL -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 13)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 13)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 15)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -8 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (SKIPN NIL -12 Q)
             (JRST 17)
             (MOVE O2 -8 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (JRST 18)
(LABEL 17)   (MOVE O2 (CONSTANT 5))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -8 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
(LABEL 18)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -7 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -12 Q)
             (JRST 16)
(LABEL 15)   (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -7 Q)
             (SKIPE NIL -12 Q)
             (JRST 19)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 19)
(LABEL 16)   (MOVE O1 -7 Q)
             (CALL MAKE-STRING 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -2 Q)
(LABEL 25)   (MOVE O2 -13 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 26)
             (JRST 21)
(LABEL 26)   (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVE O3 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 25)
(LABEL 21)   (MOVE O5 -13 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 O5)
             (CALL - 2)
             (MOVEM O1 -2 Q)
(LABEL 32)   (MOVE O2 -12 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 33)
             (JRST 28)
(LABEL 33)   (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (CALL CHAR-UPCASE 1)
             (MOVE O3 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 32)
(LABEL 28)   (MOVE O5 -12 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 O5)
             (CALL - 2)
             (MOVEM O1 -2 Q)
(LABEL 39)   (MOVE O2 -7 Q)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPE O1 40)
             (JRST 35)
(LABEL 40)   (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVE O3 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 39)
(LABEL 35)   (MOVE O1 -5 Q)
             (MOVEI N 1)
             (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE STRING-UPCASE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &KEY (START 0) END))) 
(%PUT (QUOTE STRING-UPCASE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-UPCASE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-DOWNCASE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a string, returns a new string that is a copy of it with
  all upper case alphabetic characters converted to lowercase.")) 

#_(LAP #0_STRING-DOWNCASE EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:START 0 :END (:END :START) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 14)
             (MOVEM O1 -11 Q)
             (MOVEM O2 -10 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (CONSTANT 1))
(LABEL 8)    (MOVEM O1 -13 Q)
             (MOVE O2 -10 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -12 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -9 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -8 Q)
             (MOVEM NIL -7 Q)
             (MOVE O1 -11 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 13)
             (MOVE O1 -11 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -11 Q)
(LABEL 13)   (MOVE O1 -11 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 15)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -8 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -6 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 -13 Q)
             (CALL + 2)
             (MOVEM O1 -4 Q)
             (SKIPN NIL -12 Q)
             (JRST 17)
             (MOVE O2 -8 Q)
             (MOVE O1 -12 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
             (JRST 18)
(LABEL 17)   (MOVE O2 (CONSTANT 5))
             (MOVE O1 -11 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 -8 Q)
             (CALL + 2)
             (MOVEM O1 -3 Q)
(LABEL 18)   (MOVE O1 -6 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -7 Q)
             (MOVE O1 -4 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -12 Q)
             (JRST 16)
(LABEL 15)   (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -7 Q)
             (SKIPE NIL -12 Q)
             (JRST 19)
             (MOVE O1 -11 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -12 Q)
(LABEL 19)
(LABEL 16)   (MOVE O1 -7 Q)
             (CALL MAKE-STRING 1)
             (MOVEM O1 -5 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -2 Q)
(LABEL 25)   (MOVE O2 -13 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 26)
             (JRST 21)
(LABEL 26)   (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVE O3 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 25)
(LABEL 21)   (MOVE O5 -13 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 O5)
             (CALL - 2)
             (MOVEM O1 -2 Q)
(LABEL 32)   (MOVE O2 -12 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPE O1 33)
             (JRST 28)
(LABEL 33)   (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (CALL CHAR-DOWNCASE 1)
             (MOVE O3 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 32)
(LABEL 28)   (MOVE O5 -12 Q)
             (MOVEM O5 -3 Q)
             (MOVE O2 -8 Q)
             (MOVE O1 O5)
             (CALL - 2)
             (MOVEM O1 -2 Q)
(LABEL 39)   (MOVE O2 -7 Q)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPE O1 40)
             (JRST 35)
(LABEL 40)   (MOVE O2 -3 Q)
             (MOVE O1 -11 Q)
             (CALL SCHAR 2)
             (MOVE O3 O1)
             (MOVE O1 -5 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -2 Q)
             (JRST 39)
(LABEL 35)   (MOVE O1 -5 Q)
             (MOVEI N 1)
             (SUBI Q 14)
             (POPJ P)
)

(%PUT (QUOTE STRING-DOWNCASE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &KEY (START 0) END))) 
(%PUT (QUOTE STRING-DOWNCASE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-DOWNCASE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-CAPITALIZE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a string, returns a copy of the string with the first
  character of each ``word'' converted to upper-case, and remaining
  chars in the word converted to lower case. A ``word'' is defined
  to be a string of case-modifiable characters delimited by
  non-case-modifiable chars.")) 

#_(LAP #0_STRING-CAPITALIZE EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:START 0 :END (:END :START) 3 2 T)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 16)
             (MOVEM O1 -13 Q)
             (MOVEM O2 -12 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (CONSTANT 1))
(LABEL 8)    (MOVEM O1 -15 Q)
             (MOVE O2 -12 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -14 Q)
             (MOVE O5 -12 Q)
             (MOVEM O5 -11 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -10 Q)
             (MOVEM NIL -9 Q)
             (MOVE O1 -13 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 13)
             (MOVE O1 -13 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -13 Q)
(LABEL 13)   (MOVE O1 -13 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 15)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -13 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -10 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -13 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -8 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -13 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -7 Q)
             (MOVE O2 -10 Q)
             (MOVE O1 -15 Q)
             (CALL + 2)
             (MOVEM O1 -6 Q)
             (SKIPN NIL -14 Q)
             (JRST 17)
             (MOVE O2 -10 Q)
             (MOVE O1 -14 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
             (JRST 18)
(LABEL 17)   (MOVE O2 (CONSTANT 5))
             (MOVE O1 -13 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 -10 Q)
             (CALL + 2)
             (MOVEM O1 -5 Q)
(LABEL 18)   (MOVE O1 -8 Q)
             (MOVEM O1 -13 Q)
             (MOVE O1 -7 Q)
             (MOVEM O1 -9 Q)
             (MOVE O1 -6 Q)
             (MOVEM O1 -15 Q)
             (MOVE O1 -5 Q)
             (MOVEM O1 -14 Q)
             (JRST 16)
(LABEL 15)   (MOVE O1 -13 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -9 Q)
             (SKIPE NIL -14 Q)
             (JRST 19)
             (MOVE O1 -13 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -14 Q)
(LABEL 19)
(LABEL 16)   (MOVE O1 -9 Q)
             (CALL MAKE-STRING 1)
             (MOVEM O1 -7 Q)
             (MOVE O5 -10 Q)
             (MOVEM O5 -5 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -4 Q)
(LABEL 25)   (MOVE O2 -15 Q)
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPE O1 26)
             (JRST 21)
(LABEL 26)   (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL SCHAR 2)
             (MOVE O3 O1)
             (MOVE O1 -7 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -4 Q)
             (JRST 25)
(LABEL 21)   (MOVE O5 -15 Q)
             (MOVEM O5 -5 Q)
             (MOVE O2 -10 Q)
             (MOVE O1 O5)
             (CALL - 2)
             (MOVEM O1 -4 Q)
             (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -3 Q)
             (MOVEM NIL -2 Q)
(LABEL 32)   (MOVE O2 -14 Q)
             (MOVE O1 -5 Q)
             (CALL = 2)
             (JUMPE O1 33)
             (JRST 28)
(LABEL 33)   (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -2 Q)
             (CALL ALPHANUMERICP 1)
             (JUMPN O1 36)
             (MOVE O1 (CONSTANT 6))
             (MOVEM O1 -3 Q)
             (JRST 35)
(LABEL 36)   (SKIPN NIL -3 Q)
             (JRST 37)
             (MOVE O1 -2 Q)
             (CALL CHAR-UPCASE 1)
             (MOVEM O1 -2 Q)
             (MOVE O1 NIL)
             (MOVEM O1 -3 Q)
             (JRST 35)
(LABEL 37)   (SKIPA)
             (JRST 38)
             (MOVE O1 -2 Q)
             (CALL CHAR-DOWNCASE 1)
             (MOVEM O1 -2 Q)
(LABEL 38)
(LABEL 35)   (MOVE O3 -2 Q)
             (MOVE O1 -7 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 0 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -4 Q)
             (JRST 32)
(LABEL 28)   (MOVE O5 -14 Q)
             (MOVEM O5 -5 Q)
             (MOVE O2 -10 Q)
             (MOVE O1 O5)
             (CALL - 2)
             (MOVEM O1 -4 Q)
(LABEL 44)   (MOVE O2 -9 Q)
             (MOVE O1 -4 Q)
             (CALL = 2)
             (JUMPE O1 45)
             (JRST 40)
(LABEL 45)   (MOVE O2 -5 Q)
             (MOVE O1 -13 Q)
             (CALL SCHAR 2)
             (MOVE O3 O1)
             (MOVE O1 -7 Q)
             (MOVE O2 -4 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -5 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (MOVE O1 -4 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -4 Q)
             (JRST 44)
(LABEL 40)   (MOVE O1 -7 Q)
             (MOVEI N 1)
             (SUBI Q 16)
             (POPJ P)
)

(%PUT (QUOTE STRING-CAPITALIZE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &KEY (START 0) END))) 
(%PUT (QUOTE STRING-CAPITALIZE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-CAPITALIZE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSTRING-UPCASE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a string, returns that string with all lower case alphabetic
  characters converted to uppercase.")) 

#_(LAP #0_NSTRING-UPCASE EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:START 0 :END (:END :START) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 12)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (CONSTANT 1))
(LABEL 8)    (MOVEM O1 -11 Q)
             (MOVE O2 -8 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -10 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -9 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 -9 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 13)
             (MOVE O1 -9 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -9 Q)
(LABEL 13)   (MOVE O1 -9 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 15)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (SKIPN NIL -10 Q)
             (JRST 17)
             (MOVE O2 -5 Q)
             (MOVE O1 -10 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (JRST 18)
(LABEL 17)   (MOVE O2 (CONSTANT 5))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
(LABEL 18)   (MOVE O1 -3 Q)
             (MOVEM O1 -9 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -10 Q)
             (JRST 16)
(LABEL 15)   (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -4 Q)
             (SKIPE NIL -10 Q)
             (JRST 19)
             (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -10 Q)
(LABEL 19)
(LABEL 16)   (MOVE O5 -11 Q)
             (MOVEM O5 -2 Q)
(LABEL 25)   (MOVE O2 -10 Q)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPE O1 26)
             (JRST 21)
(LABEL 26)   (MOVE O2 -2 Q)
             (MOVE O1 -9 Q)
             (CALL SCHAR 2)
             (CALL CHAR-UPCASE 1)
             (MOVE O3 O1)
             (MOVE O1 -9 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (JRST 25)
(LABEL 21)   (MOVE O1 -6 Q)
             (MOVEI N 1)
             (SUBI Q 12)
             (POPJ P)
)

(%PUT (QUOTE NSTRING-UPCASE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &KEY (START 0) END))) 
(%PUT (QUOTE NSTRING-UPCASE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE NSTRING-UPCASE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSTRING-DOWNCASE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a string, returns that string with all upper case alphabetic
  characters converted to lowercase.")) 

#_(LAP #0_NSTRING-DOWNCASE EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:START 0 :END (:END :START) 3 2)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 12)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (CONSTANT 1))
(LABEL 8)    (MOVEM O1 -11 Q)
             (MOVE O2 -8 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -10 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -9 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 -9 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 13)
             (MOVE O1 -9 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -9 Q)
(LABEL 13)   (MOVE O1 -9 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 15)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (SKIPN NIL -10 Q)
             (JRST 17)
             (MOVE O2 -5 Q)
             (MOVE O1 -10 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (JRST 18)
(LABEL 17)   (MOVE O2 (CONSTANT 5))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
(LABEL 18)   (MOVE O1 -3 Q)
             (MOVEM O1 -9 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -10 Q)
             (JRST 16)
(LABEL 15)   (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -4 Q)
             (SKIPE NIL -10 Q)
             (JRST 19)
             (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -10 Q)
(LABEL 19)
(LABEL 16)   (MOVE O5 -11 Q)
             (MOVEM O5 -2 Q)
(LABEL 25)   (MOVE O2 -10 Q)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPE O1 26)
             (JRST 21)
(LABEL 26)   (MOVE O2 -2 Q)
             (MOVE O1 -9 Q)
             (CALL SCHAR 2)
             (CALL CHAR-DOWNCASE 1)
             (MOVE O3 O1)
             (MOVE O1 -9 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (JRST 25)
(LABEL 21)   (MOVE O1 -6 Q)
             (MOVEI N 1)
             (SUBI Q 12)
             (POPJ P)
)

(%PUT (QUOTE NSTRING-DOWNCASE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &KEY (START 0) END))) 
(%PUT (QUOTE NSTRING-DOWNCASE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE NSTRING-DOWNCASE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE NSTRING-CAPITALIZE) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a string, returns that string with the first
  character of each ``word'' converted to upper-case, and remaining
  chars in the word converted to lower case. A ``word'' is defined
  to be a string of case-modifiable characters delimited by
  non-case-modifiable chars.")) 

#_(LAP #0_NSTRING-CAPITALIZE EXPR
       (ENTRY-POINTS (2-FEW 2 3 4 5 6 7) REST)
       #0_(:START 0 :END (:END :START) 3 2 T)
       (CODE-START)
(LABEL 2)    (MOVE O2 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST2)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST3)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST4)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST5)
             (JRST 1)
(LABEL 7)    (MOVEI W2 1)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 12)
             (MOVEM O1 -9 Q)
             (MOVEM O2 -8 Q)
(LABEL 9)    (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 0))
             (JRST 8)
             (JUMPN O2 9)
             (MOVE O1 (CONSTANT 1))
(LABEL 8)    (MOVEM O1 -11 Q)
             (MOVE O2 -8 Q)
(LABEL 11)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAME O3 (CONSTANT 2))
             (JUMPN O4 11)
             (MOVEM O1 -10 Q)
             (MOVE O5 -8 Q)
             (MOVEM O5 -7 Q)
             (MOVE O2 (CONSTANT 3))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (MOVE O5 -9 Q)
             (MOVEM O5 -6 Q)
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 -9 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 13)
             (MOVE O1 -9 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -9 Q)
(LABEL 13)   (MOVE O1 -9 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 15)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 5))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -5 Q)
             (MOVE O1 -11 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (SKIPN NIL -10 Q)
             (JRST 17)
             (MOVE O2 -5 Q)
             (MOVE O1 -10 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (JRST 18)
(LABEL 17)   (MOVE O2 (CONSTANT 5))
             (MOVE O1 -9 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -5 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
(LABEL 18)   (MOVE O1 -3 Q)
             (MOVEM O1 -9 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -4 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -11 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -10 Q)
             (JRST 16)
(LABEL 15)   (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -4 Q)
             (SKIPE NIL -10 Q)
             (JRST 19)
             (MOVE O1 -9 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -10 Q)
(LABEL 19)
(LABEL 16)   (MOVE O5 -11 Q)
             (MOVEM O5 -2 Q)
             (MOVE O5 (CONSTANT 6))
             (MOVEM O5 -1 Q)
             (MOVEM NIL 0 Q)
(LABEL 25)   (MOVE O2 -10 Q)
             (MOVE O1 -2 Q)
             (CALL = 2)
             (JUMPE O1 26)
             (JRST 21)
(LABEL 26)   (MOVE O2 -2 Q)
             (MOVE O1 -9 Q)
             (CALL SCHAR 2)
             (MOVEM O1 0 Q)
             (CALL ALPHANUMERICP 1)
             (JUMPN O1 29)
             (MOVE O1 (CONSTANT 6))
             (MOVEM O1 -1 Q)
             (JRST 28)
(LABEL 29)   (SKIPN NIL -1 Q)
             (JRST 30)
             (MOVE O1 0 Q)
             (CALL CHAR-UPCASE 1)
             (MOVE O3 O1)
             (MOVE O1 -9 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
             (MOVE O1 NIL)
             (MOVEM O1 -1 Q)
             (JRST 28)
(LABEL 30)   (SKIPA)
             (JRST 31)
             (MOVE O1 0 Q)
             (CALL CHAR-DOWNCASE 1)
             (MOVE O3 O1)
             (MOVE O1 -9 Q)
             (MOVE O2 -2 Q)
             (CALL LISP::%SCHARSET 3)
(LABEL 31)
(LABEL 28)   (MOVE O1 -2 Q)
             (CALL 1+ 1)
             (MOVEM O1 -2 Q)
             (JRST 25)
(LABEL 21)   (MOVE O1 -6 Q)
             (MOVEI N 1)
             (SUBI Q 12)
             (POPJ P)
)

(%PUT (QUOTE NSTRING-CAPITALIZE) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (STRING &KEY (START 0) END))) 
(%PUT (QUOTE NSTRING-CAPITALIZE) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE NSTRING-CAPITALIZE) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-LEFT-TRIM) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a set of characters (a list or string) and a string, returns
  a copy of the string with the characters in the set removed from the
  left end.")) 

#_(LAP #0_STRING-LEFT-TRIM EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 3 2)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 O2)
             (CALL SYMBOLP 1)
             (JUMPE O1 3)
             (MOVE O1 -6 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -6 Q)
(LABEL 3)    (MOVE O1 -6 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 5)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -6 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -6 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -6 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -6 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -4 Q)
             (JRST 6)
(LABEL 5)    (MOVE O1 -6 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -4 Q)
(LABEL 6)    (MOVE O5 -5 Q)
             (MOVEM O5 -3 Q)
(LABEL 11)   (MOVE O2 -4 Q)
             (MOVE O1 -3 Q)
             (CALL = 2)
             (JUMPN1 O1 14)
             (MOVE O2 -3 Q)
             (MOVE O1 -6 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -7 Q)
             (CALL FIND 2)
             (SKIPE NIL O1)
(LABEL 14)   (JRST 12)
             (MOVE O3 -4 Q)
             (MOVE O1 -6 Q)
             (MOVE O2 -3 Q)
             (CALL SUBSEQ 3)
             (JRST 7)
(LABEL 12)   (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVEM O1 -3 Q)
             (JRST 11)
(LABEL 7)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE STRING-LEFT-TRIM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (CHAR-BAG STRING))) 
(%PUT (QUOTE STRING-LEFT-TRIM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-LEFT-TRIM) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-RIGHT-TRIM) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a set of characters (a list or string) and a string, returns
  a copy of the string with the characters in the set removed from the
  right end.")) 

#_(LAP #0_STRING-RIGHT-TRIM EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 3 2)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVEM O2 -6 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -5 Q)
             (MOVEM NIL -4 Q)
             (MOVE O1 O2)
             (CALL SYMBOLP 1)
             (JUMPE O1 3)
             (MOVE O1 -6 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -6 Q)
(LABEL 3)    (MOVE O1 -6 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 5)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -6 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -6 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -2 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 -1 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -6 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 -3 Q)
             (CALL + 2)
             (MOVEM O1 0 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -6 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -5 Q)
             (MOVE O1 0 Q)
             (MOVEM O1 -4 Q)
             (JRST 6)
(LABEL 5)    (MOVE O1 -6 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -4 Q)
(LABEL 6)    (MOVE O1 -4 Q)
             (CALL 1- 1)
             (MOVEM O1 -3 Q)
(LABEL 11)   (MOVE O2 -5 Q)
             (MOVE O1 -3 Q)
             (CALL < 2)
             (JUMPN1 O1 14)
             (MOVE O2 -3 Q)
             (MOVE O1 -6 Q)
             (CALL SCHAR 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -7 Q)
             (CALL FIND 2)
             (SKIPE NIL O1)
(LABEL 14)   (JRST 12)
             (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 -6 Q)
             (MOVE O2 -5 Q)
             (CALL SUBSEQ 3)
             (JRST 7)
(LABEL 12)   (MOVE O1 -3 Q)
             (CALL 1- 1)
             (MOVEM O1 -3 Q)
             (JRST 11)
(LABEL 7)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE STRING-RIGHT-TRIM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (CHAR-BAG STRING))) 
(%PUT (QUOTE STRING-RIGHT-TRIM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-RIGHT-TRIM) (QUOTE %SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE STRING-TRIM) (QUOTE %FUN-DOCUMENTATION) (QUOTE "Given a set of characters (a list or string) and a string, returns a
  copy of the string with the characters in the set removed from both
  ends.")) 

#_(LAP #0_STRING-TRIM EXPR
       (ENTRY-POINTS (2-FEW 2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(0 3 2)
       (CODE-START)
(LABEL 1)    (ADDI Q 9)
             (MOVEM O1 -8 Q)
             (MOVEM O2 -7 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -6 Q)
             (MOVEM NIL -5 Q)
             (MOVE O1 O2)
             (CALL SYMBOLP 1)
             (JUMPE O1 3)
             (MOVE O1 -7 Q)
             (CALL SYMBOL-NAME 1)
             (MOVEM O1 -7 Q)
(LABEL 3)    (MOVE O1 -7 Q)
             (CALL LISP::SLISP-ARRAY-P 1)
             (JUMPE O1 5)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -7 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -4 Q)
             (MOVE O2 (CONSTANT 0))
             (MOVE O1 -7 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVEM O1 -3 Q)
             (MOVE O5 -4 Q)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 2))
             (MOVE O1 -7 Q)
             (CALL LISP::HEADER-REF 2)
             (MOVE O2 O1)
             (MOVE O1 -4 Q)
             (CALL + 2)
             (MOVEM O1 -1 Q)
             (MOVE O1 -3 Q)
             (MOVEM O1 -7 Q)
             (MOVE O1 -2 Q)
             (MOVEM O1 -6 Q)
             (MOVE O1 -1 Q)
             (MOVEM O1 -5 Q)
             (JRST 6)
(LABEL 5)    (MOVE O1 -7 Q)
             (CALL LISP::%SP-GET-VECTOR-LENGTH 1)
             (MOVEM O1 -5 Q)
(LABEL 6)    (MOVEM NIL -4 Q)
             (MOVEM NIL -3 Q)
             (MOVE O5 -6 Q)
             (MOVEM O5 -1 Q)
(LABEL 11)   (MOVE O2 -5 Q)
             (MOVE O1 -1 Q)
             (CALL = 2)
             (JUMPN1 O1 14)
             (MOVE O2 -1 Q)
             (MOVE O1 -7 Q)
             (CALL SCHAR 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -8 Q)
             (CALL FIND 2)
             (SKIPE NIL O1)
(LABEL 14)   (JRST 12)
             (MOVE O1 -1 Q)
             (MOVEM O1 -4 Q)
             (JRST 7)
(LABEL 12)   (MOVE O1 -1 Q)
             (CALL 1+ 1)
             (MOVEM O1 -1 Q)
             (JRST 11)
(LABEL 7)    (MOVE O1 -5 Q)
             (CALL 1- 1)
             (MOVEM O1 -1 Q)
(LABEL 19)   (MOVE O2 -4 Q)
             (MOVE O1 -1 Q)
             (CALL < 2)
             (JUMPN1 O1 22)
             (MOVE O2 -1 Q)
             (MOVE O1 -7 Q)
             (CALL SCHAR 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -8 Q)
             (CALL FIND 2)
             (SKIPE NIL O1)
(LABEL 22)   (JRST 20)
             (MOVE O1 -1 Q)
             (MOVEM O1 -3 Q)
             (JRST 15)
(LABEL 20)   (MOVE O1 -1 Q)
             (CALL 1- 1)
             (MOVEM O1 -1 Q)
             (JRST 19)
(LABEL 15)   (MOVE O1 -3 Q)
             (CALL 1+ 1)
             (MOVE O3 O1)
             (MOVE O1 -7 Q)
             (MOVE O2 -4 Q)
             (CALL SUBSEQ 3)
             (SUBI Q 9)
             (POPJ P)
)

(%PUT (QUOTE STRING-TRIM) (QUOTE %ARGS-DOCUMENTATION) (QUOTE (CHAR-BAG STRING))) 
(%PUT (QUOTE STRING-TRIM) (QUOTE %SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>STRING.CLISP.5") (GET (QUOTE STRING-TRIM) (QUOTE %SOURCE-DOCUMENTATION))))