diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/Makefile.am | 10 | ||||
-rw-r--r-- | src/algebra/parsers.spad.pamphlet (renamed from src/algebra/spad-parser.spad) | 93 | ||||
-rw-r--r-- | src/algebra/script-parser.spad | 50 | ||||
-rw-r--r-- | src/algebra/string.spad.pamphlet | 7 |
4 files changed, 80 insertions, 80 deletions
diff --git a/src/algebra/Makefile.am b/src/algebra/Makefile.am index 9093e09f..642793f2 100644 --- a/src/algebra/Makefile.am +++ b/src/algebra/Makefile.am @@ -1368,7 +1368,6 @@ SPADFILES= \ $(OUTSRC)/sign.spad $(OUTSRC)/si.spad $(OUTSRC)/smith.spad \ $(OUTSRC)/solvedio.spad $(OUTSRC)/solvefor.spad $(OUTSRC)/solvelin.spad \ $(OUTSRC)/solverad.spad $(OUTSRC)/sortpak.spad $(OUTSRC)/space.spad \ - $(srcdir)/spad-parser.spad \ $(OUTSRC)/special.spad $(OUTSRC)/sregset.spad $(OUTSRC)/s.spad \ $(OUTSRC)/stream.spad $(OUTSRC)/string.spad $(OUTSRC)/sttaylor.spad \ $(OUTSRC)/sttf.spad $(OUTSRC)/sturm.spad $(OUTSRC)/suchthat.spad \ @@ -1384,7 +1383,7 @@ SPADFILES= \ $(OUTSRC)/utsode.spad \ $(OUTSRC)/variable.spad $(OUTSRC)/vector.spad $(OUTSRC)/view2D.spad \ $(OUTSRC)/view3D.spad $(OUTSRC)/viewDef.spad $(OUTSRC)/viewpack.spad \ - $(OUTSRC)/void.spad \ + $(OUTSRC)/void.spad $(OUTSRC)/parsers.spad \ $(OUTSRC)/weier.spad $(OUTSRC)/wtpol.spad \ $(OUTSRC)/xlpoly.spad $(OUTSRC)/xpoly.spad \ $(OUTSRC)/ystream.spad \ @@ -2477,13 +2476,6 @@ $(builddir)/%.tex: $(srcdir)/%.pamphlet $(oa_build_texdir)/diagrams.tex: $(oa_src_docdir)/diagrams.tex @cp -p $< $@ -SPADPRSR.NRLIB/code.$(FASLEXT): spad-parser.spad - $(COMPILE_SPAD) - -PARSER.NRLIB/code.$(FASLEXT): script-parser.spad - $(COMPILE_SPAD) - - $(INPUT)/TESTFR.input: $(srcdir)/fr.spad.pamphlet $(oa_hammer) --tangle='TEST FR' --output=$@ $< diff --git a/src/algebra/spad-parser.spad b/src/algebra/parsers.spad.pamphlet index 4aab0e7a..9416bde5 100644 --- a/src/algebra/spad-parser.spad +++ b/src/algebra/parsers.spad.pamphlet @@ -1,4 +1,71 @@ ---Copyright (C) 2007, Gabriel Dos Reis. +\documentclass{article} +\usepackage{open-axiom} + +\author{Gabriel Dos~Reis} + +\begin{document} + +\begin{abstract} +\end{abstract} + +\tableofcontents +\eject + +\section{Spad parser} + +<<package SPADPRSR SpadParser>>= +)abbrev package SPADPRSR SpadParser +++ Author: Gabriel Dos Reis +++ Date Created: October 10, 2006 +++ Date Last Updated: November 12, 2007 +++ Description: This package provides a simple Spad algebra parser. +++ Related Constructors: Syntax. +++ See Also: Syntax. +SpadParser(): Public == Private where + Public ==> with + parse: String -> List Syntax + ++ parse(f) parses the source file f (supposedly containing + ++ Spad algebras) and returns a List Syntax. The filename f + ++ is supposed to have the proper extension. Note that this + ++ function has the side effect of executing any system command + ++ contained in the file f, even if it might not be meaningful. + + Private ==> add + parse f == + parseSpadFile(f)$Lisp : List(Syntax) + +@ + + +\section{Script parser} + +<<package PARSER Parser>>= +)abbrev package PARSER Parser +++ Author: Gabriel Dos Reis +++ Date Created: December 02, 2007 +++ Date Last Updated: December 02, 2007 +++ Description: This package provides a simple Spad script parser. +++ Related Constructors: Syntax. +++ See Also: Syntax. +Parser(): Public == Private where + Public ==> with + getSyntaxFormsFromFile: String -> List Syntax + ++ getSyntaxFormsFromFile(f) parses the source file f (supposedly + ++ containing Spad scripts) and returns a List Syntax. The + ++ filename f is supposed to have the proper extension. Note that + ++ source location information is not part of result. + + Private ==> add + getSyntaxFormsFromFile f == + getParseFormsFromFile(f)$Lisp : List(Syntax) + +@ + + + +\section{License} +<<license>>= +--Copyright (C) 2007-2013, Gabriel Dos Reis. --All rights reserved. -- --Redistribution and use in source and binary forms, with or without @@ -28,24 +95,12 @@ --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. +@ +<<*>>= +<<license>> -)abbrev package SPADPRSR SpadParser -++ Author: Gabriel Dos Reis -++ Date Created: October 10, 2006 -++ Date Last Updated: November 12, 2007 -++ Description: This package provides a simple Spad algebra parser. -++ Related Constructors: Syntax. -++ See Also: Syntax. -SpadParser(): Public == Private where - Public ==> with - parse: String -> List Syntax - ++ parse(f) parses the source file f (supposedly containing - ++ Spad algebras) and returns a List Syntax. The filename f - ++ is supposed to have the proper extension. Note that this - ++ function has the side effect of executing any system command - ++ contained in the file f, even if it might not be meaningful. +<<package SPADPRSR SpadParser>> +<<package PARSER Parser>> - Private ==> add - parse f == - parseSpadFile(f)$Lisp : List(Syntax) +@ diff --git a/src/algebra/script-parser.spad b/src/algebra/script-parser.spad deleted file mode 100644 index 404a7c00..00000000 --- a/src/algebra/script-parser.spad +++ /dev/null @@ -1,50 +0,0 @@ ---Copyright (C) 2007, Gabriel Dos Reis. ---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. - - -)abbrev package PARSER Parser -++ Author: Gabriel Dos Reis -++ Date Created: December 02, 2007 -++ Date Last Updated: December 02, 2007 -++ Description: This package provides a simple Spad script parser. -++ Related Constructors: Syntax. -++ See Also: Syntax. -Parser(): Public == Private where - Public ==> with - getSyntaxFormsFromFile: String -> List Syntax - ++ getSyntaxFormsFromFile(f) parses the source file f (supposedly - ++ containing Spad scripts) and returns a List Syntax. The - ++ filename f is supposed to have the proper extension. Note that - ++ source location information is not part of result. - - Private ==> add - getSyntaxFormsFromFile f == - getParseFormsFromFile(f)$Lisp : List(Syntax) diff --git a/src/algebra/string.spad.pamphlet b/src/algebra/string.spad.pamphlet index 78bb6628..87f1f9e8 100644 --- a/src/algebra/string.spad.pamphlet +++ b/src/algebra/string.spad.pamphlet @@ -199,7 +199,7 @@ CharacterClass: Join(SetCategory, ConvertibleTo String, ++ \spadfunFrom{alphanumeric?}{Character} is true. == add - import %iinc: Integer -> Integer from Foreign Builtin + import %iinc: NonNegativeInteger -> PositiveInteger from Foreign Builtin import %idec: Integer -> Integer from Foreign Builtin Rep := IndexedBits(0) @@ -240,7 +240,10 @@ CharacterClass: Join(SetCategory, ConvertibleTo String, coerce(cl):OutputForm == (convert(cl)@String)::OutputForm -- Stuff to make a legal SetAggregate view - # a == (n := 0; for i in 0..%idec N | a.i repeat n := %iinc n; n) + # a == + n := 0 + for i in 0..%idec N | a.i repeat n := %iinc n + n empty():% == charClass [] brace():% == charClass [] |