diff --git a/changelog b/changelog index e602155..6ff3d2d 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20090812 tpd src/axiom-website/patches.html 20090812.02.tpd.patch +20090812 tpd src/interp/Makefile move cformat.boot to cformat.lisp +20090812 tpd src/interp/debugsys.lisp change astr.clisp to cformat.lisp +20090812 tpd src/interp/cformat.lisp added, rewritten from cformat.boot +20090812 tpd src/interp/cformat.boot removed, rewritten to cformat.lisp 20090812 tpd src/axiom-website/patches.html 20090812.01.tpd.patch 20090812 tpd src/interp/Makefile move cattable.boot to cattable.lisp 20090812 tpd src/interp/debugsys.lisp change astr.clisp to cattable.lisp diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index a151390..d01dc62 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1776,6 +1776,8 @@ buildom.lisp rewrite from boot to lisp
dq.lisp rewrite from boot to lisp
20090812.01.tpd.patch cattable.lisp rewrite from boot to lisp
+20090812.02.tpd.patch +cformat.lisp rewrite from boot to lisp
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index 521c6f8..c82c99b 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -415,7 +415,7 @@ DOCFILES=${DOC}/as.boot.dvi \ ${DOC}/bc-matrix.boot.dvi \ ${DOC}/br-con.boot.dvi \ ${DOC}/category.boot.dvi \ - ${DOC}/c-doc.boot.dvi ${DOC}/cformat.boot.dvi \ + ${DOC}/c-doc.boot.dvi \ ${DOC}/cfuns.lisp.dvi ${DOC}/clam.boot.dvi \ ${DOC}/clammed.boot.dvi ${DOC}/compat.boot.dvi \ ${DOC}/compiler.boot.dvi \ @@ -5877,45 +5877,26 @@ ${DOC}/posit.boot.dvi: ${IN}/posit.boot.pamphlet @ -\subsection{cformat.boot} +\subsection{cformat.lisp} <>= -${OUT}/cformat.${O}: ${MID}/cformat.clisp - @ echo 543 making ${OUT}/cformat.${O} from ${MID}/cformat.clisp - @ if [ -z "${NOISE}" ] ; then \ - echo '(progn (compile-file "${MID}/cformat.clisp"' \ +${OUT}/cformat.${O}: ${MID}/cformat.lisp + @ echo 136 making ${OUT}/cformat.${O} from ${MID}/cformat.lisp + @ ( cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo '(progn (compile-file "${MID}/cformat.lisp"' \ ':output-file "${OUT}/cformat.${O}") (${BYE}))' | ${DEPSYS} ; \ else \ - echo '(progn (compile-file "${MID}/cformat.clisp"' \ + echo '(progn (compile-file "${MID}/cformat.lisp"' \ ':output-file "${OUT}/cformat.${O}") (${BYE}))' | ${DEPSYS} \ >${TMP}/trace ; \ - fi + fi ) @ -<>= -${MID}/cformat.clisp: ${IN}/cformat.boot.pamphlet - @ echo 544 making ${MID}/cformat.clisp from ${IN}/cformat.boot.pamphlet +<>= +${MID}/cformat.lisp: ${IN}/cformat.lisp.pamphlet + @ echo 137 making ${MID}/cformat.lisp from ${IN}/cformat.lisp.pamphlet @ (cd ${MID} ; \ - ${TANGLE} ${IN}/cformat.boot.pamphlet >cformat.boot ; \ - if [ -z "${NOISE}" ] ; then \ - echo '(progn (boottran::boottocl "${MID}/cformat.boot") (${BYE}))' \ - | ${BOOTSYS} ; \ - else \ - echo '(progn (boottran::boottocl "${MID}/cformat.boot") (${BYE}))' \ - | ${BOOTSYS} >${TMP}/trace ; \ - fi ; \ - rm cformat.boot ) - -@ -<>= -${DOC}/cformat.boot.dvi: ${IN}/cformat.boot.pamphlet - @echo 545 making ${DOC}/cformat.boot.dvi \ - from ${IN}/cformat.boot.pamphlet - @(cd ${DOC} ; \ - cp ${IN}/cformat.boot.pamphlet ${DOC} ; \ - ${DOCUMENT} ${NOISE} cformat.boot ; \ - rm -f ${DOC}/cformat.boot.pamphlet ; \ - rm -f ${DOC}/cformat.boot.tex ; \ - rm -f ${DOC}/cformat.boot ) + ${TANGLE} ${IN}/cformat.lisp.pamphlet >cformat.lisp ) @ @@ -6851,8 +6832,7 @@ clean: <> <> -<> -<> +<> <> <> diff --git a/src/interp/cformat.boot.pamphlet b/src/interp/cformat.boot.pamphlet deleted file mode 100644 index a5fb233..0000000 --- a/src/interp/cformat.boot.pamphlet +++ /dev/null @@ -1,108 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/interp cformat.boot} -\author{The Axiom Team} -\maketitle -\begin{abstract} -\end{abstract} -\eject -\tableofcontents -\eject -\section{License} -<>= --- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. --- All rights reserved. --- --- Redistribution and use in source and binary forms, with or without --- modification, are permitted provided that the following conditions are --- met: --- --- - Redistributions of source code must retain the above copyright --- notice, this list of conditions and the following disclaimer. --- --- - Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in --- the documentation and/or other materials provided with the --- distribution. --- --- - Neither the name of The Numerical ALgorithms Group Ltd. nor the --- names of its contributors may be used to endorse or promote products --- derived from this software without specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS --- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED --- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A --- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER --- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, --- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, --- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR --- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF --- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING --- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS --- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -@ -<<*>>= -<> - -)package "BOOT" - ---% Formatting functions for various compiler data objects. --- These are used as [%origin o, %id n] for %1f %2f... style arguments --- in a keyed message. --- SMW, SG June 88 - -%id a == [IDENTITY, a] - --- Union(FileName,"strings","console") -%origin x == - [function porigin, x] -porigin x == - (STRINGP x => x; pfname x) - -%fname x == - [function pfname, x] -pfname x == - PathnameString x - - -%pos p == [function ppos, p] -ppos p == - pfNoPosition? p => ['"no position"] - pfImmediate? p => ['"console"] - cpos := pfCharPosn p - lpos := pfLinePosn p - org := porigin pfFileName p - [org,'" ",'"line",'" ",lpos] - -%key keyStuff == [function pkey, keyStuff] ---keyStuff ::= keynumber | [ one or more keySeqs ] ---keySeq ::= keynumber optargList optdbn ---optARgL ::= [ 0 or more arguments ] | nothing at all ---optDbn ::= ['dbN , databaseName ] | nothing at all ------------ (override in format.boot.pamphlet) -pkey keyStuff == - if not PAIRP keyStuff then keyStuff := [keyStuff] - allMsgs := [] - while not null keyStuff repeat - dbN := NIL - argL := NIL - key := first keyStuff - keyStuff := IFCDR keyStuff - next := IFCAR keyStuff - while PAIRP next repeat - if CAR next = 'dbN then dbN := CADR next - else argL := next - keyStuff := IFCDR keyStuff - next := IFCAR keyStuff - oneMsg := returnStLFromKey(key,argL,dbN) - allMsgs := NCONC (oneMsg,allMsgs) - allMsgs - -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} diff --git a/src/interp/cformat.lisp.pamphlet b/src/interp/cformat.lisp.pamphlet new file mode 100644 index 0000000..d13b267 --- /dev/null +++ b/src/interp/cformat.lisp.pamphlet @@ -0,0 +1,143 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/interp cformat.lisp} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +<<*>>= + +(IN-PACKAGE "BOOT") + +;--% Formatting functions for various compiler data objects. +;-- These are used as [%origin o, %id n] for %1f %2f... style arguments +;-- in a keyed message. +;-- SMW, SG June 88 + +;%id a == [IDENTITY, a] + +(DEFUN |%id| (|a|) (PROG NIL (RETURN (LIST IDENTITY |a|)))) + +;-- Union(FileName,"strings","console") +;%origin x == +; [function porigin, x] + +(DEFUN |%origin| (|x|) + (PROG NIL (RETURN (LIST (FUNCTION |porigin|) |x|)))) + +;porigin x == +; (STRINGP x => x; pfname x) + +(DEFUN |porigin| (|x|) + (PROG () + (RETURN + (COND + ((STRINGP |x|) |x|) + ((QUOTE T) (|pfname| |x|)))))) + + +;%fname x == +; [function pfname, x] + +(DEFUN |%fname| (|x|) (PROG NIL (RETURN (LIST (FUNCTION |pfname|) |x|)))) + +;pfname x == +; PathnameString x + +(DEFUN |pfname| (|x|) (PROG NIL (RETURN (|PathnameString| |x|)))) + +;%pos p == [function ppos, p] + +(DEFUN |%pos| (|p|) (PROG NIL (RETURN (LIST (FUNCTION |ppos|) |p|)))) + +;ppos p == +; pfNoPosition? p => ['"no position"] +; pfImmediate? p => ['"console"] +; cpos := pfCharPosn p +; lpos := pfLinePosn p +; org := porigin pfFileName p +; [org,'" ",'"line",'" ",lpos] + +(DEFUN |ppos| (|p|) + (PROG (|org| |lpos| |cpos|) + (RETURN + (COND + ((|pfNoPosition?| |p|) (LIST "no position")) + ((|pfImmediate?| |p|) (LIST "console")) + ((QUOTE T) + (PROGN + (SETQ |cpos| (|pfCharPosn| |p|)) + (SETQ |lpos| (|pfLinePosn| |p|)) + (SETQ |org| (|porigin| (|pfFileName| |p|))) + (LIST |org| " " "line" " " |lpos|))))))) + +;%key keyStuff == [function pkey, keyStuff] + +(DEFUN |%key| (|keyStuff|) + (PROG NIL (RETURN (LIST (FUNCTION |pkey|) |keyStuff|)))) + +;--keyStuff ::= keynumber | [ one or more keySeqs ] +;--keySeq ::= keynumber optargList optdbn +;--optARgL ::= [ 0 or more arguments ] | nothing at all +;--optDbn ::= ['dbN , databaseName ] | nothing at all +;----------- (override in format.boot.pamphlet) +;pkey keyStuff == +; if not PAIRP keyStuff then keyStuff := [keyStuff] +; allMsgs := [] +; while not null keyStuff repeat +; dbN := NIL +; argL := NIL +; key := first keyStuff +; keyStuff := IFCDR keyStuff +; next := IFCAR keyStuff +; while PAIRP next repeat +; if CAR next = 'dbN then dbN := CADR next +; else argL := next +; keyStuff := IFCDR keyStuff +; next := IFCAR keyStuff +; oneMsg := returnStLFromKey(key,argL,dbN) +; allMsgs := NCONC (oneMsg,allMsgs) +; allMsgs + +(DEFUN |pkey| (|keyStuff|) + (PROG (|oneMsg| |next| |key| |argL| |dbN| |allMsgs|) + (RETURN + (PROGN + (COND ((NULL (CONSP |keyStuff|)) (SETQ |keyStuff| (LIST |keyStuff|)))) + (SETQ |allMsgs| NIL) + ((LAMBDA () + (LOOP + (COND + ((NULL |keyStuff|) (RETURN NIL)) + (#0=(QUOTE T) + (PROGN + (SETQ |dbN| NIL) + (SETQ |argL| NIL) + (SETQ |key| (CAR |keyStuff|)) + (SETQ |keyStuff| (IFCDR |keyStuff|)) + (SETQ |next| (IFCAR |keyStuff|)) + ((LAMBDA () + (LOOP + (COND + ((NOT (CONSP |next|)) (RETURN NIL)) + (#0# + (PROGN + (COND + ((EQ (CAR |next|) (QUOTE |dbN|)) (SETQ |dbN| (CADR |next|))) + ((QUOTE T) (SETQ |argL| |next|))) + (SETQ |keyStuff| (IFCDR |keyStuff|)) + (SETQ |next| (IFCAR |keyStuff|)))))))) + (SETQ |oneMsg| (|returnStLFromKey| |key| |argL| |dbN|)) + (SETQ |allMsgs| (NCONC |oneMsg| |allMsgs|)))))))) + |allMsgs|)))) + +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document} diff --git a/src/interp/debugsys.lisp.pamphlet b/src/interp/debugsys.lisp.pamphlet index 3d0226b..063c847 100644 --- a/src/interp/debugsys.lisp.pamphlet +++ b/src/interp/debugsys.lisp.pamphlet @@ -89,7 +89,7 @@ loaded by hand we need to establish a value. (thesymb "/int/interp/alql.lisp") (thesymb "/int/interp/buildom.lisp") (thesymb "/int/interp/cattable.lisp") - (thesymb "/int/interp/cformat.clisp") + (thesymb "/int/interp/cformat.lisp") (thesymb (concatenate 'string "/obj/" *sys* "/interp/cfuns.o")) (thesymb "/int/interp/clam.clisp") (thesymb "/int/interp/clammed.clisp")