diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet index d26fcd9..070f10c 100644 --- a/books/bookvol9.pamphlet +++ b/books/bookvol9.pamphlet @@ -7307,7 +7307,7 @@ An angry JHD - August 15th., 1984 \calls{setqSingle}{profileRecord} \calls{setqSingle}{consProplistOf} \calls{setqSingle}{removeEnv} -\calls{setqSingle}{addBinding} +\seebook{setqSingle}{addBinding}{5} \calls{setqSingle}{isDomainForm} \calls{setqSingle}{isDomainInScope} \calls{setqSingle}{stackWarning} @@ -11140,6 +11140,72 @@ loop \chapter{Utility Functions} +\defmacro{pop-stack-1} +\calls{pop-stack-1}{reduction-value} +\calls{pop-stack-1}{Pop-Reduction} +\begin{chunk}{defmacro pop-stack-1} +(defmacro pop-stack-1 () '(reduction-value (Pop-Reduction))) + +\end{chunk} + +\defmacro{pop-stack-2} +\calls{pop-stack-2}{stack-push} +\calls{pop-stack-2}{reduction-value} +\calls{pop-stack-2}{Pop-Reduction} +\begin{chunk}{defmacro pop-stack-2} +(defmacro pop-stack-2 () + `(let* ((top (Pop-Reduction)) (next (Pop-Reduction))) + (stack-push top Reduce-Stack) + (reduction-value next))) + +\end{chunk} + +\defmacro{pop-stack-3} +\calls{pop-stack-3}{stack-push} +\calls{pop-stack-3}{reduction-value} +\calls{pop-stack-3}{Pop-Reduction} +\begin{chunk}{defmacro pop-stack-3} +(defmacro pop-stack-3 () + `(let* ((top (Pop-Reduction)) (next (Pop-Reduction)) (nnext (Pop-Reduction))) + (stack-push next Reduce-Stack) + (stack-push top Reduce-Stack) + (reduction-value nnext))) + +\end{chunk} + +\defmacro{pop-stack-4} +\calls{pop-stack-4}{stack-push} +\calls{pop-stack-4}{reduction-value} +\calls{pop-stack-4}{Pop-Reduction} +\begin{chunk}{defmacro pop-stack-4} +(defmacro pop-stack-4 () + `(let* ((top (Pop-Reduction)) + (next (Pop-Reduction)) + (nnext (Pop-Reduction)) + (nnnext (Pop-Reduction))) + (stack-push nnext Reduce-Stack) + (stack-push next Reduce-Stack) + (stack-push top Reduce-Stack) + (reduction-value nnnext))) + +\end{chunk} + +\defmacro{nth-stack} +\calls{nth-stack}{stack-store} +\calls{nth-stack}{reduction-value} +\begin{chunk}{defmacro nth-stack} +(defmacro nth-stack (x) + `(reduction-value (nth (1- ,x) (stack-store Reduce-Stack)))) + +\end{chunk} + +\defun{Pop-Reduction}{Pop-Reduction} +\calls{Pop-Reduction}{stack-pop} +\begin{chunk}{defun Pop-Reduction} +(defun Pop-Reduction () (stack-pop Reduce-Stack)) + +\end{chunk} + \defun{addclose}{addclose} \calls{addclose}{suffix} \begin{chunk}{defun addclose} @@ -12263,9 +12329,9 @@ And the {\bf s-process} function which returns a parsed version of the input. \defun{spad}{spad} \catches{spad}{spad-reader} -\calls{spad}{addBinding} -\calls{spad}{makeInitialModemapFrame} -\calls{spad}{init-boot/spad-reader} +\seebook{spad}{addBinding}{5} +\seebook{spad}{makeInitialModemapFrame}{5} +\seebook{spad}{init-boot/spad-reader}{5} \calls{spad}{initialize-preparse} \calls{spad}{preparse} \calls{spad}{PARSE-NewExpr} @@ -14010,6 +14076,11 @@ if \verb|$InteractiveMode| then use a null outputstream \getchunk{defmacro bang} \getchunk{defmacro must} +\getchunk{defmacro nth-stack} +\getchunk{defmacro pop-stack-1} +\getchunk{defmacro pop-stack-2} +\getchunk{defmacro pop-stack-3} +\getchunk{defmacro pop-stack-4} \getchunk{defmacro star} \getchunk{defun action} @@ -14280,6 +14351,7 @@ if \verb|$InteractiveMode| then use a null outputstream \getchunk{defun parseTransform} \getchunk{defun parseVCONS} \getchunk{defun parseWhere} +\getchunk{defun Pop-Reduction} \getchunk{defun postAdd} \getchunk{defun postAtom} \getchunk{defun postAtSign} diff --git a/changelog b/changelog index 63afb50..6822dda 100644 --- a/changelog +++ b/changelog @@ -1,5 +1,10 @@ +20110204 tpd src/axiom-website/patches.html 20110204.02.tpd.patch +20110204 tpd src/interp/parsing.lisp treeshake compiler +20110204 tpd src/scripts/tex/axiom.sty add seebook +20110204 tpd src/doc/axiom.sty add seebook +20110204 tpd books/bookvol9 add seebook changes 20110204 tpd src/axiom-website/patches.html 20110204.01.tpd.patch -20110204 tpd src/axiom-website/download.html add binaries +20110204 tpd src/axiom-website/download.html add binaries 20110202 tpd src/axiom-website/patches.html 20110202.01.tpd.patch 20110202 tpd src/interp/vmlisp.lisp remove extra end{chunk} 20110201 tpd src/axiom-website/patches.html 20110201.01.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 03e7e67..93a427f 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3389,5 +3389,7 @@ src/axiom-website/download.html update the download page
src/interp/vmlisp.lisp remove extra end{chunk}
20110204.01.tpd.patch src/axiom-website/download.html add binaries
+20110204.02.tpd.patch +books/bookvol9 add seebook changes, treeshake compiler
diff --git a/src/doc/axiom.sty.pamphlet b/src/doc/axiom.sty.pamphlet index 1caede1..a8e4181 100644 --- a/src/doc/axiom.sty.pamphlet +++ b/src/doc/axiom.sty.pamphlet @@ -210,6 +210,17 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% +%% calls marks a call from this function to another +%% +<>= +\newcommand{\seebook}[3]{% e.g. \seebook{thisfunc}{thatfunc}{5} +[#1 #2 (vol#3)]\\% +\index{#2[#3]!{called by #1}}% +\index{#1!{calls #2[#3]}}}% +@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% %% uses marks use of a throw tagvar %% <>= diff --git a/src/interp/parsing.lisp.pamphlet b/src/interp/parsing.lisp.pamphlet index 8afaf84..c8b1f0f 100644 --- a/src/interp/parsing.lisp.pamphlet +++ b/src/interp/parsing.lisp.pamphlet @@ -177,34 +177,6 @@ (defmacro reduce-stack-clear () `(stack-load nil reduce-stack)) -(defun Pop-Reduction () (stack-pop Reduce-Stack)) - -(defmacro pop-stack-1 () '(reduction-value (Pop-Reduction))) - -(defmacro pop-stack-2 () - `(let* ((top (Pop-Reduction)) (next (Pop-Reduction))) - (stack-push top Reduce-Stack) - (reduction-value next))) - -(defmacro pop-stack-3 () - `(let* ((top (Pop-Reduction)) (next (Pop-Reduction)) (nnext (Pop-Reduction))) - (stack-push next Reduce-Stack) - (stack-push top Reduce-Stack) - (reduction-value nnext))) - -(defmacro pop-stack-4 () - `(let* ((top (Pop-Reduction)) - (next (Pop-Reduction)) - (nnext (Pop-Reduction)) - (nnnext (Pop-Reduction))) - (stack-push nnext Reduce-Stack) - (stack-push next Reduce-Stack) - (stack-push top Reduce-Stack) - (reduction-value nnnext))) - -(defmacro nth-stack (x) - `(reduction-value (nth (1- ,x) (stack-store Reduce-Stack)))) - (defmacro sequence (subrules &optional (actions nil)) `(and ,(pop subrules) . ,(append (mapcar #'(lambda (x) (list 'must x)) subrules) diff --git a/src/scripts/tex/axiom.sty b/src/scripts/tex/axiom.sty index 20968b2..a90fae2 100644 --- a/src/scripts/tex/axiom.sty +++ b/src/scripts/tex/axiom.sty @@ -79,6 +79,10 @@ [#2 p\pageref{#2}]\\% \index{#2!{calledby #1}}% \index{#1!{calls #2}}}% +\newcommand{\seebook}[3]{% e.g. \seebook{thisfunc}{thatfunc}{5} +[#1 #2 (vol#3)]\\% +\index{#2[#3]!{called by #1}}% +\index{#1!{calls #2[#3]}}}% \newcommand{\throws}[2]{% e.g. \throws{thisfunc}{tagvar} [#2 p\pageref{#2}]\\% \index{throws!#1}%