diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 10 | ||||
-rw-r--r-- | src/algebra/acplot.spad.pamphlet | 1 | ||||
-rw-r--r-- | src/algebra/float.spad.pamphlet | 2 | ||||
-rw-r--r-- | src/interp/preparse.lisp | 27 | ||||
-rw-r--r-- | src/interp/spad-parser.boot | 11 |
5 files changed, 23 insertions, 28 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index bf2d7984..2b0225f3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,15 @@ 2012-06-03 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/preparse.lisp ($LineList): Remove. + (INITIALIZE-PREPARSE): Do not set it. + (preparse1): Do not reference it. Do not test for ioTerminal? and + the input is always a disk file. + * interp/spad-parser.boot (findCommentBlock): Do not reference + $EchoLineStack. + (preparseReadLine1): Do not reference $LineList. + +2012-06-03 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/io.boot (%Reader): New data structure. * interp/preparse.lisp (INITIALIZE-PREPARSE): Parameter is now a reader. diff --git a/src/algebra/acplot.spad.pamphlet b/src/algebra/acplot.spad.pamphlet index 9a33330a..c79f6798 100644 --- a/src/algebra/acplot.spad.pamphlet +++ b/src/algebra/acplot.spad.pamphlet @@ -83,7 +83,6 @@ import UnivariatePolynomial import SparseUnivariatePolynomial import Point import List ---% PlaneAlgebraicCurvePlot ++ Plot a NON-SINGULAR plane algebraic curve p(x,y) = 0. ++ Author: Clifton J. Williamson ++ Date Created: Fall 1988 diff --git a/src/algebra/float.spad.pamphlet b/src/algebra/float.spad.pamphlet index 7c5a74ae..1721a02d 100644 --- a/src/algebra/float.spad.pamphlet +++ b/src/algebra/float.spad.pamphlet @@ -116,8 +116,6 @@ N ==> NonNegativeInteger ++ \spad{*}, \spad{/}, \spad{sqrt}, \spad{pi}, \spad{exp1}, \spad{log2}, \spad{log10}: \spad{ O( n**2 )} ++ \spad{exp}, \spad{log}, \spad{sin}, \spad{atan}: \spad{ O( sqrt(n) n**2 )} ++ The other elementary functions are coded in terms of the ones above. - - Float(): Join(FloatingPointSystem, DifferentialRing, ConvertibleTo String,_ CoercibleTo DoubleFloat, TranscendentalFunctionCategory, _ diff --git a/src/interp/preparse.lisp b/src/interp/preparse.lisp index 175a3f7c..16eace23 100644 --- a/src/interp/preparse.lisp +++ b/src/interp/preparse.lisp @@ -66,21 +66,19 @@ (defparameter $INDEX 0 "File line number of most recently read line.") (defparameter |$preparseLastLine| () "Most recently read line.") (defparameter |$preparseReportIfTrue| NIL "Should we print listings?") -(defparameter |$LineList| nil "Stack of preparsed lines.") -(defparameter |$EchoLineStack| nil "Stack of lines to list.") (defparameter $IOIndex 0 "Number of latest terminal input line.") (DEFPARAMETER TOK NIL) (DEFPARAMETER DEFINITION_NAME NIL) (defun Initialize-Preparse (rd) - (setq $INDEX 0 |$LineList| nil |$EchoLineStack| nil) + (setq $INDEX 0) (setq |$preparseLastLine| (|readLine| (|readerInput| rd)))) (defvar $skipme) (defun |preparse1| (rd) - (PROG ((|$LineList| (|readerLines| rd)) |$EchoLineStack| NUM A I L PSLOC + (PROG (NUM A I L PSLOC INSTRING PCOUNT COMSYM STRSYM OPARSYM CPARSYM N NCOMSYM (SLOC -1) (CONTINUE NIL) (PARENLEV 0) (NCOMBLOCK ()) (LINES ()) (LOCS ()) (NUMS ()) functor ) @@ -97,7 +95,7 @@ (|preparseEcho| (|readerLines| rd)) (setq |$preparseLastLine| nil) ;don't reread this line (SETQ LINE a) - (CATCH 'SPAD_READER (|doSystemCommand| (subseq LINE 1))) + (CATCH |$SpadReaderTag| (|doSystemCommand| (subseq LINE 1))) (GO READLOOP))) (setq L (LENGTH A)) (if (EQ L 0) @@ -129,10 +127,13 @@ (SETQ NCOMBLOCK NIL))) (SETQ NCOMBLOCK (CONS N (CONS A (IFCDR NCOMBLOCK)))) (SETQ A "")) - ('T (PUSH (STRCONC (|makeString| N #\Space) - (SUBSTRING A N ())) |$LineList|) - (SETQ $INDEX (1- $INDEX)) - (SETQ A (SUBSEQ A 0 N)))) + ('T + (SETF (|readerLines| rd) + (CONS (STRCONC (|makeString| N #\Space) + (SUBSTRING A N ())) + (|readerLines| rd))) + (SETQ $INDEX (1- $INDEX)) + (SETQ A (SUBSEQ A 0 N)))) (GO NOCOMS)) ((= N OPARSYM) (setq PCOUNT (1+ PCOUNT))) ((= N CPARSYM) (setq PCOUNT (1- PCOUNT)))) @@ -158,9 +159,6 @@ (when (and LINES (EQL SLOC 0)) (IF (AND NCOMBLOCK (NOT (ZEROP (CAR NCOMBLOCK)))) (|findCommentBlock| NUM NUMS LOCS NCOMBLOCK (|readerLines| rd))) - (IF (NOT (|ioTerminal?| (|readerInput| rd))) - (setq |$preparseLastLine| - (|reverse!| |$EchoLineStack|))) (RETURN (|pairList| (|reverse!| NUMS) (|parsePiles| (|reverse!| LOCS) (|reverse!| LINES))))) (cond ((> PARENLEV 0) @@ -175,9 +173,4 @@ (PUSH A LINES) (PUSH NUM NUMS) (setq PARENLEV (+ PARENLEV PCOUNT)) - (when (and (|ioTerminal?| (|readerInput| rd)) (not continue)) - (setq |$preparseLastLine| nil) - (RETURN (|pairList| (|reverse!| NUMS) - (|parsePiles| (|reverse!| LOCS) (|reverse!| LINES))))) - (GO READLOOP))) diff --git a/src/interp/spad-parser.boot b/src/interp/spad-parser.boot index 56815de0..506affd9 100644 --- a/src/interp/spad-parser.boot +++ b/src/interp/spad-parser.boot @@ -110,10 +110,6 @@ findCommentBlock(n,oldnums,oldlocs,ncblock,lines) == x := [nc,:block] := ncblock nc = 0 => [n - 1,:reverse block] - if $EchoLineStack then - [n,:$EchoLineStack] := $EchoLineStack - preparseEcho lines - $EchoLineStack := [n] [or/[n for n in oldnums for l in oldlocs | integer? l and l <= nc], :reverse block] $COMBLOCKLIST := [x,:$COMBLOCKLIST] @@ -133,15 +129,15 @@ preparseReadLine rs == z preparseReadLine1 rs == - if $LineList then - [line,:$LineList] := $LineList + if lines := readerLines rs then + line := first lines + readerLines(rs) := rest lines else line := expandLeadingTabs readLine readerInput rs $preparseLastLine := line not string? line => [$INDEX] $INDEX := $INDEX + 1 line := trimTrailingBlank line - $EchoLineStack := [copyString line,:$EchoLineStack] n := $INDEX if #line > 0 and line.maxIndex(line) = char "__" then line := strconc(subString(line,0,maxIndex line),rest preparseReadLine1 rs) @@ -152,7 +148,6 @@ preparseEcho lines == if $Echo then for x in reverse lines repeat formatToStream(OUT_-STREAM,'"~&;~A~%",x) - $EchoLineStack := nil ++ The line to be worked on is the first in `lines. ++ It's indentation is the first in `locs'. |