diff --git a/changelog b/changelog index 33c286c..3ea27f0 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,8 @@ 20090902 tpd src/axiom-website/patches.html 20090902.01.tpd.patch +20090902 tpd src/interp/Makefile move varini.boot to varini.lisp +20090902 tpd src/interp/varini.lisp added, rewritten from varini.boot +20090902 tpd src/interp/varini.boot removed, rewritten to varini.lisp +20090902 tpd src/axiom-website/patches.html 20090902.01.tpd.patch 20090902 tpd src/interp/nag-f04 refactor lisp code 20090901 tpd src/axiom-website/patches.html 20090901.07.tpd.patch 20090901 tpd src/interp/Makefile move nags.boot to nags.lisp diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 23d1366..ae42314 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1974,5 +1974,7 @@ src/interp/nag-f07.lisp rewrite from boot to lisp
src/interp/nag-s.lisp rewrite from boot to lisp
20090902.01.tpd.patch src/interp/nag-f04.lisp refactor lisp code
+20090902.02.tpd.patch +src/interp/varini.lisp rewrite from boot to lisp
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index ed5fa32..569ecc8 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -3753,33 +3753,26 @@ ${MID}/cformat.lisp: ${IN}/cformat.lisp.pamphlet @ -\subsection{varini.boot} +\subsection{varini.lisp} <>= -${OUT}/varini.${O}: ${MID}/varini.clisp - @ echo 546 making ${OUT}/varini.${O} from ${MID}/varini.clisp - @ if [ -z "${NOISE}" ] ; then \ - echo '(progn (compile-file "${MID}/varini.clisp"' \ +${OUT}/varini.${O}: ${MID}/varini.lisp + @ echo 136 making ${OUT}/varini.${O} from ${MID}/varini.lisp + @ ( cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo '(progn (compile-file "${MID}/varini.lisp"' \ ':output-file "${OUT}/varini.${O}") (${BYE}))' | ${DEPSYS} ; \ else \ - echo '(progn (compile-file "${MID}/varini.clisp"' \ + echo '(progn (compile-file "${MID}/varini.lisp"' \ ':output-file "${OUT}/varini.${O}") (${BYE}))' | ${DEPSYS} \ >${TMP}/trace ; \ - fi + fi ) @ -<>= -${MID}/varini.clisp: ${IN}/varini.boot.pamphlet - @ echo 547 making ${MID}/varini.clisp from ${IN}/varini.boot.pamphlet +<>= +${MID}/varini.lisp: ${IN}/varini.lisp.pamphlet + @ echo 137 making ${MID}/varini.lisp from ${IN}/varini.lisp.pamphlet @ (cd ${MID} ; \ - ${TANGLE} ${IN}/varini.boot.pamphlet >varini.boot ; \ - if [ -z "${NOISE}" ] ; then \ - echo '(progn (boottran::boottocl "${MID}/varini.boot") (${BYE}))' \ - | ${BOOTSYS} ; \ - else \ - echo '(progn (boottran::boottocl "${MID}/varini.boot") (${BYE}))' \ - | ${BOOTSYS} >${TMP}/trace ; \ - fi ; \ - rm varini.boot ) + ${TANGLE} ${IN}/varini.lisp.pamphlet >varini.lisp ) @ @@ -4786,7 +4779,7 @@ clean: <> <> -<> +<> <> <> diff --git a/src/interp/varini.boot.pamphlet b/src/interp/varini.boot.pamphlet deleted file mode 100644 index 0d7c050..0000000 --- a/src/interp/varini.boot.pamphlet +++ /dev/null @@ -1,281 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/interp varini.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" - --- Variables to control whether old software calls the new compiler. -$ncConverse := NIL -$newcompMode := NIL -- )comp means new compiler. -$newComp := true -- Start workspace in new compiler. - --- Files used by the compiler. -$erLocMsgDatabaseName := pathname '(co_-eng msgs a) -$erGlbMsgDatabaseName := pathname '(co_-eng msgs i) -$LanguageConstantFileName := pathname '(stlang input _*) -$WorkspaceProfileName := pathname '(spadprof input _*) -$OldLibraryDatabaseName := pathname '(modemap database _*) - -$SpadNcLibraryRelPath := '"lib/lang" -$SpadNcLibraryRelPathSrc := '"src/lib/lang/" -$SpadNcIncludeRelPath := '"src/include/lang/" - ---$LibrariesSearchPath := [PathnameDirectory '"./x", --- SpadDirectory $SpadNcLibraryRelPath , --- SpadDirectory $SpadNcLibraryRelPathSrc] - ---$IncludesSearchPath := [PathnameDirectory '"./x", --- SpadDirectory $SpadNcIncludeRelPath] - -$warmstab := nil - --- Variables to control phases and their output - -$ncRead := true -$ncmRead := NIL - -$ncParse := true -$ncmParse := NIL - -$ncAbsck := true -$ncmAbsck := NIL - -$ncMacro := true -$ncmMacro := NIL - -$ncScope := false -$ncmScope := NIL - -$ncAnalyze := true -$ncmSemantics := NIL - -$ncInterpretSetr := false - -$ncParseSetr := false -$ncmParseSetr := NIL - -$ncGenerateSAM := true -$ncmSAM := NIL -$ncLastSamCode := NIL - -$ncSamOptimize := false -$ncmSamOptimize := NIL -$ncLastOptimizedCode := NIL - -$ncSamPack := false -$ncmSamPack := NIL -$ncLastPackedSam := NIL - -$ncGenerateConcrete := true -$ncmConCode := NIL -$ncLastConcreteCode := NIL - -$ncLibrary := true -$ncmLibrary := NIL - -$ncGenerateMachine := true -$ncmCodeSize := NIL -$ncLastMachineCode := NIL - -$ncInterpretSam := false -$ncExecuteMachine := true - -$ncReportStep := true - --- Variables to control debugging output ---they are manipulated in setvart boot -$debugApply := false -- trace application matching -$debugApply0 := false -- trace even more -$debugSemAnalyze := false -- trace results of semAnalyze -$debugRead := false -$debugParse := false -$debugCheck := false -$debugMacro := false -$debugScope := false -$debugParseSetr := false -$debugGenSam := false -$debugSamOpt := false -$debugSamPack := false -$debugGenCon := false -$debugGenMach := false -$debugExecute := false -$debugReport := false - --- Variables to control what other parts of the compiler are executed. -$ncDoSpecialCases := true -$LispViaSam := false - --- Variables to control other compiler output. - --- note flags to control the error message facility must have --- the prefix $ncm, since catExcpts (in ncsetvar boot) strips the --- prefix and uses the name. ie. $ncmWarning ==> "Warning" -$ncmPhase := NIL -$ncmWarning := 'T -$ncmStatistic := NIL -$ncmRemark := 'T -$statTmSpShow := 4 -$compBugPrefix := '"Bug!" -$compUnimplPrefix := '"Unimp" -$compDebugPrefix := '"Debug" -$compStatisticPrefix :='"Stat" -$compErrorPrefix := '"Error" -$compWarningPrefix := '"Warn" -$compRemarkPrefix := '"Note" -$compSayPrefix := '"Msg" - -$charNumSymVector := NIL - --- Modes -$ExitMode := 'ExitMode -$FullMode := 'FullMode -$NoValueMode := 'NoValueMode -$ValueMode := 'ValueMode - ---error message facility -$nopos := ['noposition] -$showKeyNum := NIL -$specificMsgTags := NIL - ---compiler option stuff -$ncCodeDebug := true -$ncCodeTrace := true -$ncSamInline := true - --- Variables used in the SEMantic ANAlysis - ---from SEFO BOOT -$sefoDerivedAttributes := [ 'type, 'tfinfo, 'signature, 'pooled ] - ---from NCMODE BOOT -$ValueMode := 'ValueMode -$NoValueMode := 'NoValueMode -$FullMode := 'FullMode -$ExitMode := 'ExitMode - --- Miscellaneous nonsense. -$newcompInteractiveRecovery := 'T -$newcompErrorCount := 0 -$floatdolla := ['$elt, ['BigFloat], 'bigfloat] -$floatilla := [ 'elt, ['BigFloat], 'bigfloat] -$newcompStats := NIL -$newcompAbbrevType := true -$stabLibLevelNo := -1 -$SyntheticSourcePosition := 'Synthetic -$Typeless := NIL - -$catAbTab := '( - ($ncmWarning . "warn" ) _ - ($ncmRemark . "rem" ) _ - ($ncmStatistic . "stat" ) ) -$phaseAbTab := '( - (Reading . "Rd" ) _ - (Parsing . "Pa" ) _ - (Checking . "Ck" ) _ - (Macroing . "Ma" ) _ - (Scoping . "Sc" ) _ - (Analyzing . "An" ) _ - (Interpreting . "In" ) _ - (ParseSetr . "Ps" ) _ - (GeneratingSAM . "Sg" ) _ - (SamOptimize . "So" ) _ - (SamPack . "Sp" ) _ - (GeneratingConcrete . "Cg" ) _ - (GeneratingMachine . "Mg" ) _ - (Executing . "Ex" ) _ - (Reporting . "Rp" ) ) - --- Items from STATS BOOT --- $timerTicksPerSecond := INTERNAL_-TIME_-UNITS_-PER_-SECOND -$LINELENGTH := 80 - --- Items from MSG BOOT I -$showMsgCaller := nil --## was F -$preLength := 11 -$LOGLENGTH := $LINELENGTH - 6 -$specificMsgTags := [] - -$imPrTagGuys := ['unimple, 'bug, 'debug, 'say, 'warn] -$toWhereGuys := ['fileOnly, 'screenOnly ] -$imPrGuys := ['imPr] -$repGuys := ['noRep, 'rep] -$attrCats := ['$imPrGuys, '$toWhereGuys, '$repGuys] - - --- Soon to be obsolete -$showConcrete1 := NIL -$showConcrete2 := NIL -$showPhases := 'T -$showSAM := NIL -$showform := NIL -$showsetr := NIL -$showval := 'T -$tafon := NIL - --- Inits for pseudo kaf files ---$CURRENT_-DIRECTORY := fileCurrentDirectory() -$DIRECTORY_-LIST := [] - ---caching for inline code -$gotSam := nil ---$cachedInlineTable := EqTable() - ---debugging variables for Simon. -$simon := nil -$ncmTLambdaDown := nil - -$ncMsgList := nil -$oldLibraryInterface := nil -- don't consider old library information. - ---## Bug in RIOS version of KCL -NeedAtLeastOneFunctionInThisFile(x) == x -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} diff --git a/src/interp/varini.lisp.pamphlet b/src/interp/varini.lisp.pamphlet new file mode 100644 index 0000000..a3d691d --- /dev/null +++ b/src/interp/varini.lisp.pamphlet @@ -0,0 +1,200 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/interp varini.lisp} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +<<*>>= + +(IN-PACKAGE "BOOT") + +;-- Variables to control whether old software calls the new compiler. + +(EVAL-WHEN (EVAL LOAD) + +(defvar |$ncConverse| NIL) +(defvar |$newcompMode| NIL ")comp means new compiler.") +(defvar |$newComp| T "Start workspace in new compiler.") + +;-- Files used by the compiler. +(defvar |$erLocMsgDatabaseName| (|pathname| '(|co-eng| |msgs| |a|))) +(defvar |$erGlbMsgDatabaseName| (|pathname| '(|co-eng| |msgs| |i|))) +(defvar |$LanguageConstantFileName| (|pathname| '(|stlang| |input| *))) +(defvar |$WorkspaceProfileName| (|pathname| '(|spadprof| |input| *))) +(defvar |$OldLibraryDatabaseName| (|pathname| '(|modemap| |database| *))) +(defvar |$SpadNcLibraryRelPath| "lib/lang") +(defvar |$SpadNcLibraryRelPathSrc| "src/lib/lang/") +(defvar |$SpadNcIncludeRelPath| "src/include/lang/") +(defvar |$warmstab| NIL) + +;-- Variables to control phases and their output +(defvar |$ncRead| T) +(defvar |$ncmRead| NIL) +(defvar |$ncParse| T) +(defvar |$ncmParse| NIL) +(defvar |$ncAbsck| T) +(defvar |$ncmAbsck| NIL) +(defvar |$ncMacro| T) +(defvar |$ncmMacro| NIL) +(defvar |$ncScope| NIL) +(defvar |$ncmScope| NIL) +(defvar |$ncAnalyze| T) +(defvar |$ncmSemantics| NIL) +(defvar |$ncInterpretSetr| NIL) +(defvar |$ncParseSetr| NIL) +(defvar |$ncmParseSetr| NIL) +(defvar |$ncGenerateSAM| T) +(defvar |$ncmSAM| NIL) +(defvar |$ncLastSamCode| NIL) +(defvar |$ncSamOptimize| NIL) +(defvar |$ncmSamOptimize| NIL) +(defvar |$ncLastOptimizedCode| NIL) +(defvar |$ncSamPack| NIL) +(defvar |$ncmSamPack| NIL) +(defvar |$ncLastPackedSam| NIL) +(defvar |$ncGenerateConcrete| T) +(defvar |$ncmConCode| NIL) +(defvar |$ncLastConcreteCode| NIL) +(defvar |$ncLibrary| T) +(defvar |$ncmLibrary| NIL) +(defvar |$ncGenerateMachine| T) +(defvar |$ncmCodeSize| NIL) +(defvar |$ncLastMachineCode| NIL) +(defvar |$ncInterpretSam| NIL) +(defvar |$ncExecuteMachine| T) +(defvar |$ncReportStep| T) + +;-- Variables to control debugging output +;--they are manipulated in setvart boot +(defvar |$debugApply| NIL) +(defvar |$debugApply0| NIL) +(defvar |$debugSemAnalyze| NIL) +(defvar |$debugRead| NIL) +(defvar |$debugParse| NIL) +(defvar |$debugCheck| NIL) +(defvar |$debugMacro| NIL) +(defvar |$debugScope| NIL) +(defvar |$debugParseSetr| NIL) +(defvar |$debugGenSam| NIL) +(defvar |$debugSamOpt| NIL) +(defvar |$debugSamPack| NIL) +(defvar |$debugGenCon| NIL) +(defvar |$debugGenMach| NIL) +(defvar |$debugExecute| NIL) +(defvar |$debugReport| NIL) + + +;-- Variables to control what other parts of the compiler are executed. +(defvar |$ncDoSpecialCases| T) +(defvar |$LispViaSam| NIL) +; +;-- Variables to control other compiler output. +; +;-- note flags to control the error message facility must have +;-- the prefix $ncm, since catExcpts (in ncsetvar boot) strips the +;-- prefix and uses the name. ie. $ncmWarning ==> "Warning" +(defvar |$ncmPhase| NIL) +(defvar |$ncmWarning| 'T) +(defvar |$ncmStatistic| NIL) +(defvar |$ncmRemark| 'T) +(defvar |$statTmSpShow| 4) +(defvar |$compBugPrefix| "Bug!") +(defvar |$compUnimplPrefix| "Unimp") +(defvar |$compDebugPrefix| "Debug") +(defvar |$compStatisticPrefix| "Stat") +(defvar |$compErrorPrefix| "Error") +(defvar |$compWarningPrefix| "Warn") +(defvar |$compRemarkPrefix| "Note") +(defvar |$compSayPrefix| "Msg") + +(defvar |$charNumSymVector| NIL) + +;-- Modes +(defvar |$ExitMode| '|ExitMode|) +(defvar |$FullMode| '|FullMode|) +(defvar |$NoValueMode| '|NoValueMode|) +(defvar |$ValueMode| '|ValueMode|) + +;--error message facility +(defvar |$nopos| (LIST '|noposition|)) +(defvar |$showKeyNum| NIL) +(defvar |$specificMsgTags| NIL) + +;--compiler option stuff +(defvar |$ncCodeDebug| T) +(defvar |$ncCodeTrace| T) +(defvar |$ncSamInline| T) +; +;-- Variables used in the SEMantic ANAlysis +; +;--from SEFO BOOT + (defvar |$sefoDerivedAttributes| + (LIST '|type| '|tfinfo| '|signature| '|pooled|)) +; +;--from NCMODE BOOT +(defvar |$ValueMode| '|ValueMode|) +(defvar |$NoValueMode| '|NoValueMode|) +(defvar |$FullMode| '|FullMode|) +(defvar |$ExitMode| '|ExitMode|) +; +;-- Miscellaneous nonsense. +(defvar |$newcompInteractiveRecovery| 'T) +(defvar |$newcompErrorCount| 0) +(defvar |$floatdolla| (LIST '|$elt| (LIST '|BigFloat|) '|bigfloat|)) +(defvar |$floatilla| (LIST '|elt| (LIST '|BigFloat|) '|bigfloat|)) +(defvar |$newcompStats| NIL) +(defvar |$newcompAbbrevType| T) +(defvar |$stabLibLevelNo| (- 1)) +(defvar |$SyntheticSourcePosition| '|Synthetic|) +(defvar |$Typeless| NIL) + +(defvar |$catAbTab| + '((|$ncmWarning| . "warn") (|$ncmRemark| . "rem") + (|$ncmStatistic| . "stat"))) +(defvar |$phaseAbTab| + '((|Reading| . "Rd") (|Parsing| . "Pa") (|Checking| . "Ck") + (|Macroing| . "Ma") (|Scoping| . "Sc") (|Analyzing| . "An") + (|Interpreting| . "In") (|ParseSetr| . "Ps") + (|GeneratingSAM| . "Sg") (|SamOptimize| . "So") + (|SamPack| . "Sp") (|GeneratingConcrete| . "Cg") + (|GeneratingMachine| . "Mg") (|Executing| . "Ex") + (|Reporting| . "Rp"))) + +(defvar $LINELENGTH 80) +(defvar |$showMsgCaller| NIL) +(defvar |$preLength| 11) +(defvar $LOGLENGTH (- $LINELENGTH 6)) +(defvar |$specificMsgTags| NIL) +(defvar |$imPrTagGuys| + (LIST '|unimple| '|bug| '|debug| '|say| '|warn|)) +(defvar |$toWhereGuys| (LIST '|fileOnly| '|screenOnly|)) +(defvar |$imPrGuys| (LIST '|imPr|)) +(defvar |$repGuys| (LIST '|noRep| '|rep|)) +(defvar |$attrCats| (LIST '|$imPrGuys| '|$toWhereGuys| '|$repGuys|)) +(defvar |$showConcrete1| NIL) +(defvar |$showConcrete2| NIL) +(defvar |$showPhases| 'T) +(defvar |$showSAM| NIL) +(defvar |$showform| NIL) +(defvar |$showsetr| NIL) +(defvar |$showval| 'T) +(defvar |$tafon| NIL) +(defvar $DIRECTORY-LIST NIL) +(defvar |$gotSam| NIL) +(defvar |$simon| NIL) +(defvar |$ncmTLambdaDown| NIL) +(defvar |$ncMsgList| NIL) +(defvar |$oldLibraryInterface| NIL) +) + +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document}