diff --git a/changelog b/changelog index 140dd21..b0aed75 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20090930 tpd src/axiom-website/patches.html 20090930.03.tpd.patch +20090930 tpd src/interp/newfort.lisp cleanup 20090930 tpd src/axiom-website/patches.html 20090930.02.tpd.patch 20090930 tpd src/interp/nrunfast.lisp cleanup 20090930 tpd src/axiom-website/patches.html 20090930.01.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 27be959..6bfaa2e 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2067,5 +2067,7 @@ src/interp/nrunopt.lisp cleanup
src/interp/nrungo.lisp cleanup
20090930.02.tpd.patch src/interp/nrunfast.lisp cleanup
+20090930.03.tpd.patch +src/interp/newfort.lisp cleanup
diff --git a/src/interp/newfort.lisp.pamphlet b/src/interp/newfort.lisp.pamphlet index fab3fb4..edd4c6a 100644 --- a/src/interp/newfort.lisp.pamphlet +++ b/src/interp/newfort.lisp.pamphlet @@ -124,6 +124,7 @@ (DEFUN |newFortranTempVar| () (PROG (|newVar|) + (declare (special |$defaultFortranType| |$exp2FortTempVarIndex|)) (RETURN (PROGN (SPADLET |$exp2FortTempVarIndex| @@ -463,7 +464,7 @@ (DEFUN |exp2FortOptimize| (|e|) (PROG (|$exprStack| |e1| |e2|) - (DECLARE (SPECIAL |$exprStack|)) + (DECLARE (SPECIAL |$exprStack| |$fortranOptimizationLevel|)) (RETURN (SEQ (PROGN (SPADLET |$exprStack| NIL) @@ -535,6 +536,7 @@ (DEFUN |beenHere| (|e| |n|) (PROG (|var| |exprStk| |loc| |fun|) + (declare (special |$fortCsList|)) (RETURN (PROGN (SETELT |n| 0 (PLUS (ELT |n| 0) 1)) @@ -597,15 +599,18 @@ ; beenHere(e,n) (DEFUN |exp2FortOptimizeCS1,pushCsStacks| (|x| |y|) + (declare (special |$fortCsFuncStack| |$fortCsExprStack|)) (SEQ (SPADLET |$fortCsExprStack| (CONS |x| |$fortCsExprStack|)) (EXIT (SPADLET |$fortCsFuncStack| (CONS |y| |$fortCsFuncStack|))))) (DEFUN |exp2FortOptimizeCS1,popCsStacks| (|x|) + (declare (special |$fortCsFuncStack| |$fortCsExprStack|) (ignore |x|)) (SEQ (SPADLET |$fortCsFuncStack| (QCDR |$fortCsFuncStack|)) (EXIT (SPADLET |$fortCsExprStack| (QCDR |$fortCsExprStack|))))) (DEFUN |exp2FortOptimizeCS1| (|e|) (PROG (|op| |ISTMP#1| |arg| |g| |f| |n|) + (declare (special |$fortCsHash| |$fortCsFuncStack| |$fortCsExprStack|)) (RETURN (SEQ (COND ((OR (ATOM |e|) (AND (ATOM (CAR |e|)) (NULL (CDR |e|)))) @@ -676,6 +681,7 @@ (DEFUN |exp2FortOptimizeArray| (|e|) (PROG (|op| |args| |op1| |ISTMP#1| |elts| |var|) + (declare (special |$exprStack| |$fortName|)) (RETURN (SEQ (COND ((ATOM |e|) |e|) @@ -810,8 +816,8 @@ ; lines (DEFUN |fortran2Lines1| (|f|) - (PROG (|normPref| |contPref| |sff| |ok| |spaceLeft| |ff| |ll| |line| - |lines|) + (PROG (|normPref| |contPref| |sff| |ok| |spaceLeft| |ff| |ll| |line| |lines|) + (declare (special |$fortIndent| |$fortLength|)) (RETURN (SEQ (PROGN (SPADLET |normPref| (MAKE-STRING |$fortIndent|)) @@ -871,6 +877,7 @@ ; mathPrint u (DEFUN |fortError1| (|u|) + (declare (special |$fortError|)) (PROGN (SPADLET |$fortError| '|t|) (|sayErrorly| '|Fortran translation error| @@ -885,6 +892,7 @@ (DEFUN |fortError| (|u| |v|) (PROG (|msg|) + (declare (special |$fortError|)) (RETURN (PROGN (SPADLET |$fortError| '|t|) @@ -956,6 +964,7 @@ (DEFUN |dispfortexp| (|x|) (PROG (|op| |var|) + (declare (special |$IOindex|)) (RETURN (PROGN (COND @@ -1038,6 +1047,7 @@ ; TERPRI($fortranOutputStream) (DEFUN |displayLines1| (|lines|) + (declare (special |$fortranOutputStream|)) (SEQ (DO ((G166579 |lines| (CDR G166579)) (|l| NIL)) ((OR (ATOM G166579) (PROGN (SETQ |l| (CAR G166579)) NIL)) @@ -1050,13 +1060,16 @@ ; if not $fortError then displayLines1 lines (DEFUN |displayLines| (|lines|) + (declare (special |$fortError|)) (COND ((NULL |$fortError|) (|displayLines1| |lines|)) ('T NIL))) ;checkLines lines == ; $fortError => [] ; lines -(DEFUN |checkLines| (|lines|) (COND (|$fortError| NIL) ('T |lines|))) +(DEFUN |checkLines| (|lines|) + (declare (special |$fortError|)) + (COND (|$fortError| NIL) ('T |lines|))) ;dispfortarrayexp (fortranName,m) == ; $fortError : fluid := nil @@ -1159,7 +1172,8 @@ (DEFUN |exp2FortSpecial| (|op| |args| |nargs|) (PROG (|$fortInts2Floats| |arg| |tailPart| |ISTMP#2| |elts| |hidim| |sOp| |sArgs| |ISTMP#1| |rows| |var| |nrows| |ncols| |si|) - (DECLARE (SPECIAL |$fortInts2Floats|)) + (DECLARE (SPECIAL |$fortInts2Floats| |$exprStack| + |$fortranArrayStartingIndex|)) (RETURN (SEQ (COND ((AND (BOOT-EQUAL |op| 'CONCAT) @@ -1251,7 +1265,7 @@ ((> (CAR |sArgs|) (SECOND |sArgs|)) (|fortError1| (MAKESTRING - "Lower bound of segment exceeds upper bound."))) + "Lower bound of segment exceeds upper bound."))) ('T (DO ((G166671 (SECOND |sArgs|)) @@ -1448,6 +1462,8 @@ ; op (DEFUN |fortranifyIntrinsicFunctionName| (|op| |nargs|) + (declare (special |$fortranPrecision| |$intrinsics| + |$useIntrinsicFunctions|)) (PROG (|intrinsic|) (RETURN (COND @@ -1548,6 +1564,7 @@ ; $fortIndent := $fortIndent + 2*i (DEFUN |indentFortLevel| (|i|) + (declare (special |$fortIndent| |$maximumFortranExpressionLength|)) (PROGN (SPADLET |$maximumFortranExpressionLength| (SPADDIFFERENCE |$maximumFortranExpressionLength| @@ -1557,8 +1574,8 @@ ;changeExprLength(i) ==> ; $maximumFortranExpressionLength := $maximumFortranExpressionLength + i -(DEFMACRO |changeExprLength| - (&WHOLE G166771 &REST G166772 &AUX G166767) +(DEFMACRO |changeExprLength| (&WHOLE G166771 &REST G166772 &AUX G166767) + (declare (special |$maximumFortranExpressionLength|)) (DSETQ (NIL G166767) G166771) (SUBLISLIS (LIST G166767) '(G166767) '(SPADLET |$maximumFortranExpressionLength| @@ -1840,6 +1857,7 @@ ; ty (DEFUN |checkType| (|ty|) + (declare (special |$fortranPrecision|)) (PROGN (SPADLET |ty| (STRING-UPCASE (STRINGIMAGE |ty|))) (COND @@ -1934,8 +1952,7 @@ (DEFUN |fortFormatTypes| (|typeName| |names|) (PROG (|$fortError| |$fortranSegment| |$fortInts2Floats|) - (DECLARE (SPECIAL |$fortError| |$fortranSegment| - |$fortInts2Floats|)) + (DECLARE (SPECIAL |$fortError| |$fortranSegment| |$fortInts2Floats|)) (RETURN (SEQ (COND ((NULL |names|) (RETURN)) @@ -1977,6 +1994,7 @@ (DEFUN |fortFormatTypes1| (|typeName| |names|) (PROG (|l| |ln| |n|) + (declare (special |$maximumFortranExpressionLength|)) (RETURN (SEQ (PROGN (SPADLET |l| @@ -2172,7 +2190,9 @@ ; -- Return the name of the current subprogram being generated ; $currentSubprogram or "MAIN" -(DEFUN |currentSP| () (OR |$currentSubprogram| 'MAIN)) +(DEFUN |currentSP| () + (declare (special |$currentSubprogram|)) + (OR |$currentSubprogram| 'MAIN)) ;updateSymbolTable(name,type) == ; fun := ['$elt,'SYMS,'declare_!] @@ -2223,12 +2243,16 @@ ;initialiseIntrinsicList() == ; $intrinsics := [] -(DEFUN |initialiseIntrinsicList| NIL (SPADLET |$intrinsics| NIL)) +(DEFUN |initialiseIntrinsicList| () + (declare (special |$intrinsics|)) + (SPADLET |$intrinsics| NIL)) ;getIntrinsicList() == ; $intrinsics -(DEFUN |getIntrinsicList| NIL |$intrinsics|) +(DEFUN |getIntrinsicList| NIL + (declare (special |$intrinsics|)) + |$intrinsics|) ;-------------------- fortPre.boot ------------------ ; @@ -2325,6 +2349,7 @@ (PROG (|imags| |args| |rand| |exponent| |op| |specialOps| |binaryExpr| |arg1| |arg2| |mop| |ISTMP#1| |m1| |ISTMP#2| |m2|) + (declare (special |$fortInts2Floats|)) (RETURN (SEQ (COND ((NULL |e|) NIL) @@ -2533,6 +2558,7 @@ ; STRCONC(STRINGIMAGE(e),".") (DEFUN |fix2FortranFloat| (|e|) + (declare (special |$fortranPrecision|)) (COND ((BOOT-EQUAL |$fortranPrecision| '|double|) (STRCONC (STRINGIMAGE |e|) (INTERN ".0D0" "BOOT"))) @@ -2561,6 +2587,7 @@ (DEFUN |checkPrecision| (|e|) (PROG (|period| |iPart| |ePos| |expt| |rPart|) + (declare (special |$fortranPrecision|)) (RETURN (COND ((AND (STRINGP |e|) (EQL (CHAR-CODE (CHAR |e| 0)) 34)) |e|) @@ -2685,6 +2712,7 @@ ;tempLen () == 1 + LENGTH STRINGIMAGE $exp2FortTempVarIndex (DEFUN |tempLen| () + (declare (special |$exp2FortTempVarIndex|)) (PLUS 1 (LENGTH (STRINGIMAGE |$exp2FortTempVarIndex|)))) ;segment l == @@ -2705,6 +2733,7 @@ (DEFUN |segment| (|l|) (PROG (|var| |exprs| |s|) + (declare (special |$maximumFortranExpressionLength| |$fortranSegment|)) (RETURN (SEQ (COND ((NULL |$fortranSegment|) |l|) @@ -2851,6 +2880,7 @@ (DEFUN |segment2| (|e| |topSize|) (PROG (|maxSize| |subE| |subSize| |exprs| |newE| |newVar|) + (declare (special |$maximumFortranExpressionLength|)) (RETURN (SEQ (PROGN (SPADLET |maxSize|