aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/SYMBOL.lsp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-08-16 06:00:35 +0000
committerdos-reis <gdr@axiomatics.org>2008-08-16 06:00:35 +0000
commit84db9d8c5349cb8b3e7e2d102867e53e610d7ef2 (patch)
tree0a2689194fd9e75ce8925550a4e177f3e5520684 /src/algebra/strap/SYMBOL.lsp
parent3372c377eded97a0094f63cddd2e039af7066431 (diff)
downloadopen-axiom-84db9d8c5349cb8b3e7e2d102867e53e610d7ef2.tar.gz
* algebra/strap: New. Sequester cached Lisp translation of
algebra bootstrap domains here.
Diffstat (limited to 'src/algebra/strap/SYMBOL.lsp')
-rw-r--r--src/algebra/strap/SYMBOL.lsp816
1 files changed, 816 insertions, 0 deletions
diff --git a/src/algebra/strap/SYMBOL.lsp b/src/algebra/strap/SYMBOL.lsp
new file mode 100644
index 00000000..82291964
--- /dev/null
+++ b/src/algebra/strap/SYMBOL.lsp
@@ -0,0 +1,816 @@
+
+(/VERSIONCHECK 2)
+
+(DEFUN |SYMBOL;writeOMSym| (|dev| |x| $)
+ (COND
+ ((SPADCALL |x| (|getShellEntry| $ 22))
+ (|error| "Cannot convert a scripted symbol to OpenMath"))
+ ('T (SPADCALL |dev| |x| (|getShellEntry| $ 26)))))
+
+(DEFUN |SYMBOL;OMwrite;$S;2| (|x| $)
+ (PROG (|sp| |dev| |s|)
+ (RETURN
+ (SEQ (LETT |s| "" |SYMBOL;OMwrite;$S;2|)
+ (LETT |sp| (OM-STRINGTOSTRINGPTR |s|) |SYMBOL;OMwrite;$S;2|)
+ (LETT |dev|
+ (SPADCALL |sp| (SPADCALL (|getShellEntry| $ 28))
+ (|getShellEntry| $ 29))
+ |SYMBOL;OMwrite;$S;2|)
+ (SPADCALL |dev| (|getShellEntry| $ 30))
+ (|SYMBOL;writeOMSym| |dev| |x| $)
+ (SPADCALL |dev| (|getShellEntry| $ 31))
+ (SPADCALL |dev| (|getShellEntry| $ 32))
+ (LETT |s| (OM-STRINGPTRTOSTRING |sp|) |SYMBOL;OMwrite;$S;2|)
+ (EXIT |s|)))))
+
+(DEFUN |SYMBOL;OMwrite;$BS;3| (|x| |wholeObj| $)
+ (PROG (|sp| |dev| |s|)
+ (RETURN
+ (SEQ (LETT |s| "" |SYMBOL;OMwrite;$BS;3|)
+ (LETT |sp| (OM-STRINGTOSTRINGPTR |s|)
+ |SYMBOL;OMwrite;$BS;3|)
+ (LETT |dev|
+ (SPADCALL |sp| (SPADCALL (|getShellEntry| $ 28))
+ (|getShellEntry| $ 29))
+ |SYMBOL;OMwrite;$BS;3|)
+ (COND (|wholeObj| (SPADCALL |dev| (|getShellEntry| $ 30))))
+ (|SYMBOL;writeOMSym| |dev| |x| $)
+ (COND (|wholeObj| (SPADCALL |dev| (|getShellEntry| $ 31))))
+ (SPADCALL |dev| (|getShellEntry| $ 32))
+ (LETT |s| (OM-STRINGPTRTOSTRING |sp|)
+ |SYMBOL;OMwrite;$BS;3|)
+ (EXIT |s|)))))
+
+(DEFUN |SYMBOL;OMwrite;Omd$V;4| (|dev| |x| $)
+ (SEQ (SPADCALL |dev| (|getShellEntry| $ 30))
+ (|SYMBOL;writeOMSym| |dev| |x| $)
+ (EXIT (SPADCALL |dev| (|getShellEntry| $ 31)))))
+
+(DEFUN |SYMBOL;OMwrite;Omd$BV;5| (|dev| |x| |wholeObj| $)
+ (SEQ (COND (|wholeObj| (SPADCALL |dev| (|getShellEntry| $ 30))))
+ (|SYMBOL;writeOMSym| |dev| |x| $)
+ (EXIT (COND
+ (|wholeObj| (SPADCALL |dev| (|getShellEntry| $ 31)))))))
+
+(DEFUN |SYMBOL;convert;$If;6| (|s| $)
+ (SPADCALL |s| (|getShellEntry| $ 45)))
+
+(PUT '|SYMBOL;convert;$S;7| '|SPADreplace| '(XLAM (|s|) |s|))
+
+(DEFUN |SYMBOL;convert;$S;7| (|s| $) |s|)
+
+(DEFUN |SYMBOL;coerce;S$;8| (|s| $) (VALUES (INTERN |s|)))
+
+(PUT '|SYMBOL;=;2$B;9| '|SPADreplace| 'EQUAL)
+
+(DEFUN |SYMBOL;=;2$B;9| (|x| |y| $) (EQUAL |x| |y|))
+
+(PUT '|SYMBOL;<;2$B;10| '|SPADreplace|
+ '(XLAM (|x| |y|) (GGREATERP |y| |x|)))
+
+(DEFUN |SYMBOL;<;2$B;10| (|x| |y| $) (GGREATERP |y| |x|))
+
+(DEFUN |SYMBOL;coerce;$Of;11| (|x| $)
+ (SPADCALL |x| (|getShellEntry| $ 52)))
+
+(DEFUN |SYMBOL;subscript;$L$;12| (|sy| |lx| $)
+ (SPADCALL |sy| (LIST |lx| NIL NIL NIL NIL) (|getShellEntry| $ 56)))
+
+(DEFUN |SYMBOL;elt;$L$;13| (|sy| |lx| $)
+ (SPADCALL |sy| |lx| (|getShellEntry| $ 57)))
+
+(DEFUN |SYMBOL;superscript;$L$;14| (|sy| |lx| $)
+ (SPADCALL |sy| (LIST NIL |lx| NIL NIL NIL) (|getShellEntry| $ 56)))
+
+(DEFUN |SYMBOL;argscript;$L$;15| (|sy| |lx| $)
+ (SPADCALL |sy| (LIST NIL NIL NIL NIL |lx|) (|getShellEntry| $ 56)))
+
+(DEFUN |SYMBOL;patternMatch;$P2Pmr;16| (|x| |p| |l| $)
+ (SPADCALL |x| |p| |l| (|getShellEntry| $ 64)))
+
+(DEFUN |SYMBOL;patternMatch;$P2Pmr;17| (|x| |p| |l| $)
+ (SPADCALL |x| |p| |l| (|getShellEntry| $ 71)))
+
+(DEFUN |SYMBOL;convert;$P;18| (|x| $)
+ (SPADCALL |x| (|getShellEntry| $ 74)))
+
+(DEFUN |SYMBOL;convert;$P;19| (|x| $)
+ (SPADCALL |x| (|getShellEntry| $ 76)))
+
+(DEFUN |SYMBOL;syprefix| (|sc| $)
+ (PROG (|ns| #0=#:G1449 |n| #1=#:G1450)
+ (RETURN
+ (SEQ (LETT |ns|
+ (LIST (LENGTH (QVELT |sc| 3)) (LENGTH (QVELT |sc| 2))
+ (LENGTH (QVELT |sc| 1)) (LENGTH (QVELT |sc| 0)))
+ |SYMBOL;syprefix|)
+ (SEQ G190
+ (COND
+ ((NULL (COND
+ ((< (LENGTH |ns|) 2) 'NIL)
+ ('T (ZEROP (|SPADfirst| |ns|)))))
+ (GO G191)))
+ (SEQ (EXIT (LETT |ns| (CDR |ns|) |SYMBOL;syprefix|)))
+ NIL (GO G190) G191 (EXIT NIL))
+ (EXIT (SPADCALL
+ (CONS (STRCONC (|getShellEntry| $ 37)
+ (|SYMBOL;istring|
+ (LENGTH (QVELT |sc| 4)) $))
+ (PROGN
+ (LETT #0# NIL |SYMBOL;syprefix|)
+ (SEQ (LETT |n| NIL |SYMBOL;syprefix|)
+ (LETT #1# (NREVERSE |ns|)
+ |SYMBOL;syprefix|)
+ G190
+ (COND
+ ((OR (ATOM #1#)
+ (PROGN
+ (LETT |n| (CAR #1#)
+ |SYMBOL;syprefix|)
+ NIL))
+ (GO G191)))
+ (SEQ (EXIT
+ (LETT #0#
+ (CONS (|SYMBOL;istring| |n| $)
+ #0#)
+ |SYMBOL;syprefix|)))
+ (LETT #1# (CDR #1#)
+ |SYMBOL;syprefix|)
+ (GO G190) G191
+ (EXIT (NREVERSE0 #0#)))))
+ (|getShellEntry| $ 79)))))))
+
+(DEFUN |SYMBOL;syscripts| (|sc| $)
+ (PROG (|all|)
+ (RETURN
+ (SEQ (LETT |all| (QVELT |sc| 3) |SYMBOL;syscripts|)
+ (LETT |all|
+ (SPADCALL (QVELT |sc| 2) |all| (|getShellEntry| $ 80))
+ |SYMBOL;syscripts|)
+ (LETT |all|
+ (SPADCALL (QVELT |sc| 1) |all| (|getShellEntry| $ 80))
+ |SYMBOL;syscripts|)
+ (LETT |all|
+ (SPADCALL (QVELT |sc| 0) |all| (|getShellEntry| $ 80))
+ |SYMBOL;syscripts|)
+ (EXIT (SPADCALL |all| (QVELT |sc| 4) (|getShellEntry| $ 80)))))))
+
+(DEFUN |SYMBOL;script;$L$;22| (|sy| |ls| $)
+ (PROG (|sc|)
+ (RETURN
+ (SEQ (LETT |sc| (VECTOR NIL NIL NIL NIL NIL)
+ |SYMBOL;script;$L$;22|)
+ (COND
+ ((NULL (NULL |ls|))
+ (SEQ (QSETVELT |sc| 0 (|SPADfirst| |ls|))
+ (EXIT (LETT |ls| (CDR |ls|) |SYMBOL;script;$L$;22|)))))
+ (COND
+ ((NULL (NULL |ls|))
+ (SEQ (QSETVELT |sc| 1 (|SPADfirst| |ls|))
+ (EXIT (LETT |ls| (CDR |ls|) |SYMBOL;script;$L$;22|)))))
+ (COND
+ ((NULL (NULL |ls|))
+ (SEQ (QSETVELT |sc| 2 (|SPADfirst| |ls|))
+ (EXIT (LETT |ls| (CDR |ls|) |SYMBOL;script;$L$;22|)))))
+ (COND
+ ((NULL (NULL |ls|))
+ (SEQ (QSETVELT |sc| 3 (|SPADfirst| |ls|))
+ (EXIT (LETT |ls| (CDR |ls|) |SYMBOL;script;$L$;22|)))))
+ (COND
+ ((NULL (NULL |ls|))
+ (SEQ (QSETVELT |sc| 4 (|SPADfirst| |ls|))
+ (EXIT (LETT |ls| (CDR |ls|) |SYMBOL;script;$L$;22|)))))
+ (EXIT (SPADCALL |sy| |sc| (|getShellEntry| $ 82)))))))
+
+(DEFUN |SYMBOL;script;$R$;23| (|sy| |sc| $)
+ (COND
+ ((SPADCALL |sy| (|getShellEntry| $ 22))
+ (|error| "Cannot add scripts to a scripted symbol"))
+ ('T
+ (CONS (SPADCALL
+ (SPADCALL
+ (STRCONC (|SYMBOL;syprefix| |sc| $)
+ (SPADCALL
+ (SPADCALL |sy| (|getShellEntry| $ 83))
+ (|getShellEntry| $ 84)))
+ (|getShellEntry| $ 48))
+ (|getShellEntry| $ 53))
+ (|SYMBOL;syscripts| |sc| $)))))
+
+(DEFUN |SYMBOL;string;$S;24| (|e| $)
+ (COND
+ ((NULL (SPADCALL |e| (|getShellEntry| $ 22))) (PNAME |e|))
+ ('T (|error| "Cannot form string from non-atomic symbols."))))
+
+(DEFUN |SYMBOL;latex;$S;25| (|e| $)
+ (PROG (|ss| |lo| |sc| |s|)
+ (RETURN
+ (SEQ (LETT |s| (PNAME (SPADCALL |e| (|getShellEntry| $ 83)))
+ |SYMBOL;latex;$S;25|)
+ (COND
+ ((< 1 (QCSIZE |s|))
+ (COND
+ ((SPADCALL (SPADCALL |s| 1 (|getShellEntry| $ 85))
+ (SPADCALL "\\" (|getShellEntry| $ 40))
+ (|getShellEntry| $ 86))
+ (LETT |s| (STRCONC "\\mbox{\\it " (STRCONC |s| "}"))
+ |SYMBOL;latex;$S;25|)))))
+ (COND
+ ((NULL (SPADCALL |e| (|getShellEntry| $ 22))) (EXIT |s|)))
+ (LETT |ss| (SPADCALL |e| (|getShellEntry| $ 87))
+ |SYMBOL;latex;$S;25|)
+ (LETT |lo| (QVELT |ss| 0) |SYMBOL;latex;$S;25|)
+ (COND
+ ((NULL (NULL |lo|))
+ (SEQ (LETT |sc| "_{" |SYMBOL;latex;$S;25|)
+ (SEQ G190
+ (COND
+ ((NULL (SPADCALL (NULL |lo|)
+ (|getShellEntry| $ 88)))
+ (GO G191)))
+ (SEQ (LETT |sc|
+ (STRCONC |sc|
+ (SPADCALL (|SPADfirst| |lo|)
+ (|getShellEntry| $ 89)))
+ |SYMBOL;latex;$S;25|)
+ (LETT |lo| (CDR |lo|)
+ |SYMBOL;latex;$S;25|)
+ (EXIT (COND
+ ((NULL (NULL |lo|))
+ (LETT |sc| (STRCONC |sc| ", ")
+ |SYMBOL;latex;$S;25|)))))
+ NIL (GO G190) G191 (EXIT NIL))
+ (LETT |sc| (STRCONC |sc| "}") |SYMBOL;latex;$S;25|)
+ (EXIT (LETT |s| (STRCONC |s| |sc|)
+ |SYMBOL;latex;$S;25|)))))
+ (LETT |lo| (QVELT |ss| 1) |SYMBOL;latex;$S;25|)
+ (COND
+ ((NULL (NULL |lo|))
+ (SEQ (LETT |sc| "^{" |SYMBOL;latex;$S;25|)
+ (SEQ G190
+ (COND
+ ((NULL (SPADCALL (NULL |lo|)
+ (|getShellEntry| $ 88)))
+ (GO G191)))
+ (SEQ (LETT |sc|
+ (STRCONC |sc|
+ (SPADCALL (|SPADfirst| |lo|)
+ (|getShellEntry| $ 89)))
+ |SYMBOL;latex;$S;25|)
+ (LETT |lo| (CDR |lo|)
+ |SYMBOL;latex;$S;25|)
+ (EXIT (COND
+ ((NULL (NULL |lo|))
+ (LETT |sc| (STRCONC |sc| ", ")
+ |SYMBOL;latex;$S;25|)))))
+ NIL (GO G190) G191 (EXIT NIL))
+ (LETT |sc| (STRCONC |sc| "}") |SYMBOL;latex;$S;25|)
+ (EXIT (LETT |s| (STRCONC |s| |sc|)
+ |SYMBOL;latex;$S;25|)))))
+ (LETT |lo| (QVELT |ss| 2) |SYMBOL;latex;$S;25|)
+ (COND
+ ((NULL (NULL |lo|))
+ (SEQ (LETT |sc| "{}^{" |SYMBOL;latex;$S;25|)
+ (SEQ G190
+ (COND
+ ((NULL (SPADCALL (NULL |lo|)
+ (|getShellEntry| $ 88)))
+ (GO G191)))
+ (SEQ (LETT |sc|
+ (STRCONC |sc|
+ (SPADCALL (|SPADfirst| |lo|)
+ (|getShellEntry| $ 89)))
+ |SYMBOL;latex;$S;25|)
+ (LETT |lo| (CDR |lo|)
+ |SYMBOL;latex;$S;25|)
+ (EXIT (COND
+ ((NULL (NULL |lo|))
+ (LETT |sc| (STRCONC |sc| ", ")
+ |SYMBOL;latex;$S;25|)))))
+ NIL (GO G190) G191 (EXIT NIL))
+ (LETT |sc| (STRCONC |sc| "}") |SYMBOL;latex;$S;25|)
+ (EXIT (LETT |s| (STRCONC |sc| |s|)
+ |SYMBOL;latex;$S;25|)))))
+ (LETT |lo| (QVELT |ss| 3) |SYMBOL;latex;$S;25|)
+ (COND
+ ((NULL (NULL |lo|))
+ (SEQ (LETT |sc| "{}_{" |SYMBOL;latex;$S;25|)
+ (SEQ G190
+ (COND
+ ((NULL (SPADCALL (NULL |lo|)
+ (|getShellEntry| $ 88)))
+ (GO G191)))
+ (SEQ (LETT |sc|
+ (STRCONC |sc|
+ (SPADCALL (|SPADfirst| |lo|)
+ (|getShellEntry| $ 89)))
+ |SYMBOL;latex;$S;25|)
+ (LETT |lo| (CDR |lo|)
+ |SYMBOL;latex;$S;25|)
+ (EXIT (COND
+ ((NULL (NULL |lo|))
+ (LETT |sc| (STRCONC |sc| ", ")
+ |SYMBOL;latex;$S;25|)))))
+ NIL (GO G190) G191 (EXIT NIL))
+ (LETT |sc| (STRCONC |sc| "}") |SYMBOL;latex;$S;25|)
+ (EXIT (LETT |s| (STRCONC |sc| |s|)
+ |SYMBOL;latex;$S;25|)))))
+ (LETT |lo| (QVELT |ss| 4) |SYMBOL;latex;$S;25|)
+ (COND
+ ((NULL (NULL |lo|))
+ (SEQ (LETT |sc| "\\left( {" |SYMBOL;latex;$S;25|)
+ (SEQ G190
+ (COND
+ ((NULL (SPADCALL (NULL |lo|)
+ (|getShellEntry| $ 88)))
+ (GO G191)))
+ (SEQ (LETT |sc|
+ (STRCONC |sc|
+ (SPADCALL (|SPADfirst| |lo|)
+ (|getShellEntry| $ 89)))
+ |SYMBOL;latex;$S;25|)
+ (LETT |lo| (CDR |lo|)
+ |SYMBOL;latex;$S;25|)
+ (EXIT (COND
+ ((NULL (NULL |lo|))
+ (LETT |sc| (STRCONC |sc| ", ")
+ |SYMBOL;latex;$S;25|)))))
+ NIL (GO G190) G191 (EXIT NIL))
+ (LETT |sc| (STRCONC |sc| "} \\right)")
+ |SYMBOL;latex;$S;25|)
+ (EXIT (LETT |s| (STRCONC |s| |sc|)
+ |SYMBOL;latex;$S;25|)))))
+ (EXIT |s|)))))
+
+(DEFUN |SYMBOL;anyRadix| (|n| |s| $)
+ (PROG (|qr| |ns| #0=#:G1500)
+ (RETURN
+ (SEQ (EXIT (SEQ (LETT |ns| "" |SYMBOL;anyRadix|)
+ (EXIT (SEQ G190 NIL
+ (SEQ (LETT |qr|
+ (DIVIDE2 |n| (QCSIZE |s|))
+ |SYMBOL;anyRadix|)
+ (LETT |n| (QCAR |qr|)
+ |SYMBOL;anyRadix|)
+ (LETT |ns|
+ (SPADCALL
+ (SPADCALL |s|
+ (+ (QCDR |qr|)
+ (SPADCALL |s|
+ (|getShellEntry| $ 91)))
+ (|getShellEntry| $ 85))
+ |ns| (|getShellEntry| $ 92))
+ |SYMBOL;anyRadix|)
+ (EXIT
+ (COND
+ ((ZEROP |n|)
+ (PROGN
+ (LETT #0# |ns|
+ |SYMBOL;anyRadix|)
+ (GO #0#))))))
+ NIL (GO G190) G191 (EXIT NIL)))))
+ #0# (EXIT #0#)))))
+
+(DEFUN |SYMBOL;new;$;27| ($)
+ (PROG (|sym|)
+ (RETURN
+ (SEQ (LETT |sym|
+ (|SYMBOL;anyRadix|
+ (SPADCALL (|getShellEntry| $ 9)
+ (|getShellEntry| $ 93))
+ (|getShellEntry| $ 19) $)
+ |SYMBOL;new;$;27|)
+ (SPADCALL (|getShellEntry| $ 9)
+ (+ (SPADCALL (|getShellEntry| $ 9)
+ (|getShellEntry| $ 93))
+ 1)
+ (|getShellEntry| $ 94))
+ (EXIT (SPADCALL (STRCONC "%" |sym|) (|getShellEntry| $ 48)))))))
+
+(DEFUN |SYMBOL;new;2$;28| (|x| $)
+ (PROG (|u| |n| |xx|)
+ (RETURN
+ (SEQ (LETT |n|
+ (SEQ (LETT |u|
+ (SPADCALL |x| (|getShellEntry| $ 12)
+ (|getShellEntry| $ 97))
+ |SYMBOL;new;2$;28|)
+ (EXIT (COND
+ ((QEQCAR |u| 1) 0)
+ ('T (+ (QCDR |u|) 1)))))
+ |SYMBOL;new;2$;28|)
+ (SPADCALL (|getShellEntry| $ 12) |x| |n|
+ (|getShellEntry| $ 98))
+ (LETT |xx|
+ (COND
+ ((NULL (SPADCALL |x| (|getShellEntry| $ 22)))
+ (SPADCALL |x| (|getShellEntry| $ 84)))
+ ('T
+ (SPADCALL (SPADCALL |x| (|getShellEntry| $ 83))
+ (|getShellEntry| $ 84))))
+ |SYMBOL;new;2$;28|)
+ (LETT |xx| (STRCONC "%" |xx|) |SYMBOL;new;2$;28|)
+ (LETT |xx|
+ (COND
+ ((NULL (< (SPADCALL
+ (SPADCALL |xx|
+ (SPADCALL |xx|
+ (|getShellEntry| $ 99))
+ (|getShellEntry| $ 85))
+ (|getShellEntry| $ 18)
+ (|getShellEntry| $ 100))
+ (SPADCALL (|getShellEntry| $ 18)
+ (|getShellEntry| $ 91))))
+ (STRCONC |xx|
+ (|SYMBOL;anyRadix| |n|
+ (|getShellEntry| $ 20) $)))
+ ('T
+ (STRCONC |xx|
+ (|SYMBOL;anyRadix| |n|
+ (|getShellEntry| $ 18) $))))
+ |SYMBOL;new;2$;28|)
+ (COND
+ ((NULL (SPADCALL |x| (|getShellEntry| $ 22)))
+ (EXIT (SPADCALL |xx| (|getShellEntry| $ 48)))))
+ (EXIT (SPADCALL (SPADCALL |xx| (|getShellEntry| $ 48))
+ (SPADCALL |x| (|getShellEntry| $ 87))
+ (|getShellEntry| $ 82)))))))
+
+(DEFUN |SYMBOL;resetNew;V;29| ($)
+ (PROG (|k| #0=#:G1523)
+ (RETURN
+ (SEQ (SPADCALL (|getShellEntry| $ 9) 0 (|getShellEntry| $ 94))
+ (SEQ (LETT |k| NIL |SYMBOL;resetNew;V;29|)
+ (LETT #0#
+ (SPADCALL (|getShellEntry| $ 12)
+ (|getShellEntry| $ 103))
+ |SYMBOL;resetNew;V;29|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |k| (CAR #0#) |SYMBOL;resetNew;V;29|)
+ NIL))
+ (GO G191)))
+ (SEQ (EXIT (SPADCALL |k| (|getShellEntry| $ 12)
+ (|getShellEntry| $ 104))))
+ (LETT #0# (CDR #0#) |SYMBOL;resetNew;V;29|) (GO G190)
+ G191 (EXIT NIL))
+ (EXIT (SPADCALL (|getShellEntry| $ 105)))))))
+
+(DEFUN |SYMBOL;scripted?;$B;30| (|sy| $)
+ (SPADCALL (ATOM |sy|) (|getShellEntry| $ 88)))
+
+(DEFUN |SYMBOL;name;2$;31| (|sy| $)
+ (PROG (|str| |i| #0=#:G1530 #1=#:G1529 #2=#:G1527)
+ (RETURN
+ (SEQ (EXIT (COND
+ ((NULL (SPADCALL |sy| (|getShellEntry| $ 22))) |sy|)
+ ('T
+ (SEQ (LETT |str|
+ (SPADCALL
+ (SPADCALL
+ (SPADCALL |sy|
+ (|getShellEntry| $ 107))
+ (|getShellEntry| $ 108))
+ (|getShellEntry| $ 84))
+ |SYMBOL;name;2$;31|)
+ (SEQ (EXIT (SEQ
+ (LETT |i|
+ (+ (|getShellEntry| $ 38) 1)
+ |SYMBOL;name;2$;31|)
+ (LETT #0# (QCSIZE |str|)
+ |SYMBOL;name;2$;31|)
+ G190
+ (COND ((> |i| #0#) (GO G191)))
+ (SEQ
+ (EXIT
+ (COND
+ ((NULL
+ (SPADCALL
+ (SPADCALL |str| |i|
+ (|getShellEntry| $ 85))
+ (|getShellEntry| $ 109)))
+ (PROGN
+ (LETT #2#
+ (PROGN
+ (LETT #1#
+ (SPADCALL
+ (SPADCALL |str|
+ (SPADCALL |i|
+ (QCSIZE |str|)
+ (|getShellEntry| $
+ 111))
+ (|getShellEntry| $
+ 112))
+ (|getShellEntry| $ 48))
+ |SYMBOL;name;2$;31|)
+ (GO #1#))
+ |SYMBOL;name;2$;31|)
+ (GO #2#))))))
+ (LETT |i| (+ |i| 1)
+ |SYMBOL;name;2$;31|)
+ (GO G190) G191 (EXIT NIL)))
+ #2# (EXIT #2#))
+ (EXIT (|error| "Improper scripted symbol"))))))
+ #1# (EXIT #1#)))))
+
+(DEFUN |SYMBOL;scripts;$R;32| (|sy| $)
+ (PROG (|lscripts| |str| |nstr| |j| #0=#:G1533 |nscripts| |m| |n|
+ #1=#:G1542 |i| #2=#:G1543 |a| #3=#:G1544 |allscripts|)
+ (RETURN
+ (SEQ (COND
+ ((NULL (SPADCALL |sy| (|getShellEntry| $ 22)))
+ (VECTOR NIL NIL NIL NIL NIL))
+ ('T
+ (SEQ (LETT |nscripts| (LIST 0 0 0 0 0)
+ |SYMBOL;scripts;$R;32|)
+ (LETT |lscripts| (LIST NIL NIL NIL NIL NIL)
+ |SYMBOL;scripts;$R;32|)
+ (LETT |str|
+ (SPADCALL
+ (SPADCALL
+ (SPADCALL |sy|
+ (|getShellEntry| $ 107))
+ (|getShellEntry| $ 108))
+ (|getShellEntry| $ 84))
+ |SYMBOL;scripts;$R;32|)
+ (LETT |nstr| (QCSIZE |str|) |SYMBOL;scripts;$R;32|)
+ (LETT |m|
+ (SPADCALL |nscripts| (|getShellEntry| $ 114))
+ |SYMBOL;scripts;$R;32|)
+ (SEQ (LETT |j| (+ (|getShellEntry| $ 38) 1)
+ |SYMBOL;scripts;$R;32|)
+ (LETT |i| |m| |SYMBOL;scripts;$R;32|) G190
+ (COND
+ ((OR (> |j| |nstr|)
+ (NULL (SPADCALL
+ (SPADCALL |str| |j|
+ (|getShellEntry| $ 85))
+ (|getShellEntry| $ 109))))
+ (GO G191)))
+ (SEQ (EXIT (SPADCALL |nscripts| |i|
+ (PROG1
+ (LETT #0#
+ (-
+ (SPADCALL
+ (SPADCALL |str| |j|
+ (|getShellEntry| $ 85))
+ (|getShellEntry| $ 42))
+ (|getShellEntry| $ 43))
+ |SYMBOL;scripts;$R;32|)
+ (|check-subtype| (>= #0# 0)
+ '(|NonNegativeInteger|) #0#))
+ (|getShellEntry| $ 115))))
+ (LETT |i|
+ (PROG1 (+ |i| 1)
+ (LETT |j| (+ |j| 1)
+ |SYMBOL;scripts;$R;32|))
+ |SYMBOL;scripts;$R;32|)
+ (GO G190) G191 (EXIT NIL))
+ (LETT |nscripts|
+ (SPADCALL (CDR |nscripts|)
+ (|SPADfirst| |nscripts|)
+ (|getShellEntry| $ 116))
+ |SYMBOL;scripts;$R;32|)
+ (LETT |allscripts|
+ (SPADCALL
+ (SPADCALL |sy| (|getShellEntry| $ 107))
+ (|getShellEntry| $ 117))
+ |SYMBOL;scripts;$R;32|)
+ (LETT |m|
+ (SPADCALL |lscripts| (|getShellEntry| $ 118))
+ |SYMBOL;scripts;$R;32|)
+ (SEQ (LETT |n| NIL |SYMBOL;scripts;$R;32|)
+ (LETT #1# |nscripts| |SYMBOL;scripts;$R;32|)
+ (LETT |i| |m| |SYMBOL;scripts;$R;32|) G190
+ (COND
+ ((OR (ATOM #1#)
+ (PROGN
+ (LETT |n| (CAR #1#)
+ |SYMBOL;scripts;$R;32|)
+ NIL))
+ (GO G191)))
+ (SEQ (EXIT (COND
+ ((<
+ (SPADCALL |allscripts|
+ (|getShellEntry| $ 119))
+ |n|)
+ (|error|
+ "Improper script count in symbol"))
+ ('T
+ (SEQ
+ (SPADCALL |lscripts| |i|
+ (PROGN
+ (LETT #2# NIL
+ |SYMBOL;scripts;$R;32|)
+ (SEQ
+ (LETT |a| NIL
+ |SYMBOL;scripts;$R;32|)
+ (LETT #3#
+ (SPADCALL |allscripts| |n|
+ (|getShellEntry| $ 120))
+ |SYMBOL;scripts;$R;32|)
+ G190
+ (COND
+ ((OR (ATOM #3#)
+ (PROGN
+ (LETT |a| (CAR #3#)
+ |SYMBOL;scripts;$R;32|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT #2#
+ (CONS
+ (SPADCALL |a|
+ (|getShellEntry| $ 53))
+ #2#)
+ |SYMBOL;scripts;$R;32|)))
+ (LETT #3# (CDR #3#)
+ |SYMBOL;scripts;$R;32|)
+ (GO G190) G191
+ (EXIT (NREVERSE0 #2#))))
+ (|getShellEntry| $ 121))
+ (EXIT
+ (LETT |allscripts|
+ (SPADCALL |allscripts| |n|
+ (|getShellEntry| $ 122))
+ |SYMBOL;scripts;$R;32|)))))))
+ (LETT |i|
+ (PROG1 (+ |i| 1)
+ (LETT #1# (CDR #1#)
+ |SYMBOL;scripts;$R;32|))
+ |SYMBOL;scripts;$R;32|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT (VECTOR (SPADCALL |lscripts| |m|
+ (|getShellEntry| $ 123))
+ (SPADCALL |lscripts| (+ |m| 1)
+ (|getShellEntry| $ 123))
+ (SPADCALL |lscripts| (+ |m| 2)
+ (|getShellEntry| $ 123))
+ (SPADCALL |lscripts| (+ |m| 3)
+ (|getShellEntry| $ 123))
+ (SPADCALL |lscripts| (+ |m| 4)
+ (|getShellEntry| $ 123)))))))))))
+
+(DEFUN |SYMBOL;istring| (|n| $)
+ (COND
+ ((< 9 |n|) (|error| "Can have at most 9 scripts of each kind"))
+ ('T (ELT (|getShellEntry| $ 17) (+ |n| 0)))))
+
+(DEFUN |SYMBOL;list;$L;34| (|sy| $)
+ (COND
+ ((NULL (SPADCALL |sy| (|getShellEntry| $ 22)))
+ (|error| "Cannot convert a symbol to a list if it is not subscripted"))
+ ('T |sy|)))
+
+(DEFUN |SYMBOL;sample;$;35| ($)
+ (SPADCALL "aSymbol" (|getShellEntry| $ 48)))
+
+(DEFUN |Symbol| ()
+ (PROG ()
+ (RETURN
+ (PROG (#0=#:G1551)
+ (RETURN
+ (COND
+ ((LETT #0# (HGET |$ConstructorCache| '|Symbol|) |Symbol|)
+ (|CDRwithIncrement| (CDAR #0#)))
+ ('T
+ (UNWIND-PROTECT
+ (PROG1 (CDDAR (HPUT |$ConstructorCache| '|Symbol|
+ (LIST
+ (CONS NIL (CONS 1 (|Symbol;|))))))
+ (LETT #0# T |Symbol|))
+ (COND ((NOT #0#) (HREM |$ConstructorCache| '|Symbol|)))))))))))
+
+(DEFUN |Symbol;| ()
+ (PROG (|dv$| $ |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |dv$| '(|Symbol|) . #0=(|Symbol|))
+ (LETT $ (|newShell| 126) . #0#)
+ (|setShellEntry| $ 0 |dv$|)
+ (|setShellEntry| $ 3
+ (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
+ (|haddProp| |$ConstructorCache| '|Symbol| NIL (CONS 1 $))
+ (|stuffDomainSlots| $)
+ (|setShellEntry| $ 9 (SPADCALL 0 (|getShellEntry| $ 8)))
+ (|setShellEntry| $ 12 (SPADCALL (|getShellEntry| $ 11)))
+ (|setShellEntry| $ 17
+ (SPADCALL (LIST "0" "1" "2" "3" "4" "5" "6" "7" "8" "9")
+ (|getShellEntry| $ 16)))
+ (|setShellEntry| $ 18 "0123456789")
+ (|setShellEntry| $ 19 "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
+ (|setShellEntry| $ 20 "abcdefghijklmnopqrstuvwxyz")
+ (|setShellEntry| $ 37 "*")
+ (|setShellEntry| $ 38 (QCSIZE (|getShellEntry| $ 37)))
+ (|setShellEntry| $ 43
+ (SPADCALL (SPADCALL "0" (|getShellEntry| $ 40))
+ (|getShellEntry| $ 42)))
+ $))))
+
+(MAKEPROP '|Symbol| '|infovec|
+ (LIST '#(NIL NIL NIL NIL NIL NIL (|Integer|) (|Reference| 6)
+ (0 . |ref|) '|count| (|AssociationList| $$ 6)
+ (5 . |empty|) '|xcount| (|String|) (|List| 13)
+ (|PrimitiveArray| 13) (9 . |construct|) '|istrings|
+ '|nums| 'ALPHAS '|alphas| (|Boolean|)
+ |SYMBOL;scripted?;$B;30| (|Void|) (|Symbol|)
+ (|OpenMathDevice|) (14 . |OMputVariable|)
+ (|OpenMathEncoding|) (20 . |OMencodingXML|)
+ (24 . |OMopenString|) (30 . |OMputObject|)
+ (35 . |OMputEndObject|) (40 . |OMclose|)
+ |SYMBOL;OMwrite;$S;2| |SYMBOL;OMwrite;$BS;3|
+ |SYMBOL;OMwrite;Omd$V;4| |SYMBOL;OMwrite;Omd$BV;5| '|hd|
+ '|lhd| (|Character|) (45 . |char|) (|NonNegativeInteger|)
+ (50 . |ord|) '|ord0| (|InputForm|) (55 . |convert|)
+ |SYMBOL;convert;$If;6| |SYMBOL;convert;$S;7|
+ |SYMBOL;coerce;S$;8| |SYMBOL;=;2$B;9| |SYMBOL;<;2$B;10|
+ (|OutputForm|) (60 . |outputForm|) |SYMBOL;coerce;$Of;11|
+ (|List| 51) (|List| 54) |SYMBOL;script;$L$;22|
+ |SYMBOL;subscript;$L$;12| |SYMBOL;elt;$L$;13|
+ |SYMBOL;superscript;$L$;14| |SYMBOL;argscript;$L$;15|
+ (|PatternMatchResult| 6 24) (|Pattern| 6)
+ (|PatternMatchSymbol| 6) (65 . |patternMatch|)
+ (|PatternMatchResult| 6 $) |SYMBOL;patternMatch;$P2Pmr;16|
+ (|Float|) (|PatternMatchResult| 67 24) (|Pattern| 67)
+ (|PatternMatchSymbol| 67) (72 . |patternMatch|)
+ (|PatternMatchResult| 67 $)
+ |SYMBOL;patternMatch;$P2Pmr;17| (79 . |coerce|)
+ |SYMBOL;convert;$P;18| (84 . |coerce|)
+ |SYMBOL;convert;$P;19| (|List| $) (89 . |concat|)
+ (94 . |concat|)
+ (|Record| (|:| |sub| 54) (|:| |sup| 54) (|:| |presup| 54)
+ (|:| |presub| 54) (|:| |args| 54))
+ |SYMBOL;script;$R$;23| |SYMBOL;name;2$;31|
+ |SYMBOL;string;$S;24| (100 . |elt|) (106 . ~=)
+ |SYMBOL;scripts;$R;32| (112 . |not|) (117 . |latex|)
+ |SYMBOL;latex;$S;25| (122 . |minIndex|) (127 . |concat|)
+ (133 . |elt|) (138 . |setelt|) |SYMBOL;new;$;27|
+ (|Union| 6 '"failed") (144 . |search|) (150 . |setelt|)
+ (157 . |maxIndex|) (162 . |position|) |SYMBOL;new;2$;28|
+ (|List| $$) (168 . |keys|) (173 . |remove!|)
+ (179 . |void|) |SYMBOL;resetNew;V;29| |SYMBOL;list;$L;34|
+ (183 . |first|) (188 . |digit?|) (|UniversalSegment| 6)
+ (193 . SEGMENT) (199 . |elt|) (|List| 41)
+ (205 . |minIndex|) (210 . |setelt|) (217 . |concat|)
+ (223 . |rest|) (228 . |minIndex|) (233 . |#|)
+ (238 . |first|) (244 . |setelt|) (251 . |rest|)
+ (257 . |elt|)
+ (CONS IDENTITY
+ (FUNCALL (|dispatchFunction| |SYMBOL;sample;$;35|)
+ $))
+ (|SingleInteger|))
+ '#(~= 263 |superscript| 269 |subscript| 275 |string| 281
+ |scripts| 286 |scripted?| 291 |script| 296 |sample| 308
+ |resetNew| 312 |patternMatch| 316 |new| 330 |name| 339
+ |min| 344 |max| 350 |list| 356 |latex| 361 |hash| 366
+ |elt| 371 |convert| 377 |coerce| 397 |argscript| 407
+ |OMwrite| 413 >= 437 > 443 = 449 <= 455 < 461)
+ 'NIL
+ (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0))
+ (CONS '#(|OrderedSet&| NIL NIL |SetCategory&|
+ |BasicType&| NIL NIL NIL NIL NIL NIL)
+ (CONS '#((|OrderedSet|) (|PatternMatchable| 67)
+ (|PatternMatchable| 6) (|SetCategory|)
+ (|BasicType|) (|ConvertibleTo| 69)
+ (|ConvertibleTo| 62)
+ (|ConvertibleTo| 24) (|OpenMath|)
+ (|ConvertibleTo| 44) (|CoercibleTo| 51))
+ (|makeByteWordVec2| 125
+ '(1 7 0 6 8 0 10 0 11 1 15 0 14 16 2 25
+ 23 0 24 26 0 27 0 28 2 25 0 13 27 29
+ 1 25 23 0 30 1 25 23 0 31 1 25 23 0
+ 32 1 39 0 13 40 1 39 41 0 42 1 44 0
+ 24 45 1 51 0 24 52 3 63 61 24 62 61
+ 64 3 70 68 24 69 68 71 1 69 0 24 74 1
+ 62 0 24 76 1 13 0 78 79 2 54 0 0 0 80
+ 2 13 39 0 6 85 2 39 21 0 0 86 1 21 0
+ 0 88 1 51 13 0 89 1 13 6 0 91 2 13 0
+ 39 0 92 1 7 6 0 93 2 7 6 0 6 94 2 10
+ 96 2 0 97 3 10 6 0 2 6 98 1 13 6 0 99
+ 2 13 6 39 0 100 1 10 102 0 103 2 10
+ 96 2 0 104 0 23 0 105 1 102 2 0 108 1
+ 39 21 0 109 2 110 0 6 6 111 2 13 0 0
+ 110 112 1 113 6 0 114 3 113 41 0 6 41
+ 115 2 113 0 0 41 116 1 102 0 0 117 1
+ 55 6 0 118 1 102 41 0 119 2 102 0 0
+ 41 120 3 55 54 0 6 54 121 2 102 0 0
+ 41 122 2 55 54 0 6 123 2 0 21 0 0 1 2
+ 0 0 0 54 59 2 0 0 0 54 57 1 0 13 0 84
+ 1 0 81 0 87 1 0 21 0 22 2 0 0 0 55 56
+ 2 0 0 0 81 82 0 0 0 124 0 0 23 106 3
+ 0 65 0 62 65 66 3 0 72 0 69 72 73 1 0
+ 0 0 101 0 0 0 95 1 0 0 0 83 2 0 0 0 0
+ 1 2 0 0 0 0 1 1 0 78 0 107 1 0 13 0
+ 90 1 0 125 0 1 2 0 0 0 54 58 1 0 62 0
+ 77 1 0 69 0 75 1 0 24 0 47 1 0 44 0
+ 46 1 0 0 13 48 1 0 51 0 53 2 0 0 0 54
+ 60 3 0 23 25 0 21 36 2 0 13 0 21 34 2
+ 0 23 25 0 35 1 0 13 0 33 2 0 21 0 0 1
+ 2 0 21 0 0 1 2 0 21 0 0 49 2 0 21 0 0
+ 1 2 0 21 0 0 50)))))
+ '|lookupComplete|))
+
+(MAKEPROP '|Symbol| 'NILADIC T)