[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] 20090418.02.tpd.patch (bookvol9 move portions of the c
From: |
daly |
Subject: |
[Axiom-developer] 20090418.02.tpd.patch (bookvol9 move portions of the compiler) |
Date: |
Sat, 18 Apr 2009 20:18:03 -0500 |
Move portions of the compiler to bookvol9
======================================================================
diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet
index 662a1a7..8d14dd7 100644
--- a/books/bookvol9.pamphlet
+++ b/books/bookvol9.pamphlet
@@ -15,6 +15,17 @@
\index{#1!defun}}
%%
+%% defunsec marks a function definition and adds it to the index
+%% It assumes that the second argument is a section title.
+%%
+\newcommand{\defunsec}[2]{% e.g. \defunsec{functionname}{section title}
+\subsection{#2}%
+\label{#1}%
+\index{#1}%
+\index{defun!#1}%
+\index{#1!defun}}
+
+%%
%% defmacro marks a macro definition and adds it to the index
%%
\newcommand{\defmacro}[1]{% e.g. \defmacro{functionname}
@@ -558,7 +569,7 @@ with a {\tt .lsp} file, the Lisp file is compiled and {\tt
)library}
is called. For Aldor, You must also have present a {\tt .asy}
generated from the same source file.
-\defun{compileSpad2Cmd}{The Spad compiler top level function}
+\defunsec{compileSpad2Cmd}{The Spad compiler top level function}
This is the old compiler.
Assume we entered from the "compiler" function, so args is
a file with file extension .spad.
@@ -900,6 +911,36 @@ if \verb|$InteractiveMode| then use a null outputstream
(compile-file fn)))
@
+\defdollar{byConstructors}
+<<initvars>>=
+(defvar |$byConstructors| () "list of constructors to be compiled")
+
+@
+\defdollar{constructorsSeen}
+<<initvars>>=
+(defvar |$constructorsSeen| () "list of constructors found")
+
+@
+\defun{compilerDoit}{compilerDoit}
+<<defun compilerDoit>>=
+(defun |compilerDoit| (constructor fun)
+ (let (|$byConstructors| |$constructorsSeen|)
+ (declare (special |$byConstructors| |$constructorsSeen|))
+ (setq |$byConstructors| nil)
+ (setq |$constructorsSeen| nil)
+ (cond
+ ((equal fun '(|rf| |lib|)) (|/RQ,LIB|))
+ ((equal fun '(|rf| |nolib|)) (/rf))
+ ((equal fun '(|rq| |lib|)) (|/RQ,LIB|))
+ ((equal fun '(|rq| |nolib|)) (/rq))
+ ((equal fun '(|c| |lib|))
+ (setq |$byConstructors| (mapcar #'|opOf| constructor))
+ (|/RQ,LIB|)
+ (dolist (con |$byConstructors|)
+ (unless (|member| con |$constructorsSeen|)
+ (|sayBrightly| `(">>> Warning " |%b| ,con |%d| " was not found"))))))))
+
+@
\chapter{Dangling references}
\section{shell variables}
@@ -917,13 +958,11 @@ ALDORROOT
\section{defined special variables}
\begin{verbatim}
-$syscommands
-|$systemCommands|
\end{verbatim}
\section{undefined special variables}
\begin{verbatim}
-|$asharpCmdlineFlags|
+|$asharpCmdlineFlags|
|$compileOnlyCertainItems|
$current-directory
/editfile
@@ -931,17 +970,20 @@ $current-directory
|$InteractiveMode|
|$m|
|$ncConverse|
-|$newcompMode|
|$newComp|
+|$newcompMode|
|$newConlist|
|$options|
|$QuickCode|
|$QuickLet|
|$scanIfTrue|
|$sourceFileTypes|
+*standard-output*
+$syscommands
+|$systemCommands|
\end{verbatim}
-\section{functions}
+\section{undefined functions}
\begin{verbatim}
|browserAutoloadOnceTrigger|
|compilerDoit|
@@ -954,6 +996,7 @@ directory
|fnameMake|
|fnameReadable?|
getenv
+|member|
|namestring|
nequal
obey
@@ -965,6 +1008,7 @@ obey
|pathnameName|
|pathnameType|
recompile-lib-file-if-necessary
+|sayBrightly|
|sayKeyedMsg|
|spadPrompt|
|spad2AsTranslatorAutoloadOnceTrigger|
@@ -979,11 +1023,14 @@ strpos
<<Compiler>>=
(in-package "BOOT")
+<<initvars>>
+
<<defun compileAsharpArchiveCmd>>
<<defun compileAsharpCmd>>
<<defun compileAsharpCmd1>>
<<defun compileAsharpLispCmd>>
<<defun compileFileQuietly>>
+<<defun compilerDoit>>
<<defun compileSpad2Cmd>>
<<defun compileSpadLispCmd>>
diff --git a/changelog b/changelog
index 45e78ce..99c01ad 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090418 tpd src/axiom-website/patches.html 20090418.02.tpd.patch
+20090418 tpd books/bookvol9 move portions of the compiler
20090418 tpd src/axiom-website/patches.html 20090418.01.tpd.patch
20090418 tpd src/algebra/Makefile add help, regress for EF
20090418 tpd books/bookvol10.4 convert EF to +-> notation
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index a2d878e..a66659b 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1100,5 +1100,7 @@ bookvol10.4, 10.2 document binomial<br/>
compiler use waldek +-> syntax <br/>
<a href="patches/20090418.01.tpd.patch">20090418.01.tpd.patch</a>
bookvol10.4 convert EF to +-> syntax <br/>
+<a href="patches/20090418.02.tpd.patch">20090418.02.tpd.patch</a>
+bookvol9 move portions of the compiler <br/>
</body>
</html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] 20090418.02.tpd.patch (bookvol9 move portions of the compiler),
daly <=