aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/Makefile.am10
-rw-r--r--src/algebra/parsers.spad.pamphlet (renamed from src/algebra/spad-parser.spad)93
-rw-r--r--src/algebra/script-parser.spad50
-rw-r--r--src/algebra/string.spad.pamphlet7
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 []