aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-12-03 13:08:30 +0000
committerdos-reis <gdr@axiomatics.org>2007-12-03 13:08:30 +0000
commit669669e33a8b713011db7bb8b461d6291410ba3d (patch)
tree3924dede01f09abf05acfa2b0eb36910fbdecb40 /src/algebra
parent23f51288a29fd387c8ae12b11f00b3e19a45f1d2 (diff)
downloadopen-axiom-669669e33a8b713011db7bb8b461d6291410ba3d.tar.gz
src/algebra/
2007-12-03 Gabriel Dos Reis <gdr@cs.tamu.edu> * script-parser.spad: New. * Makefile.pamphlet (axiom_algebra_layer_19): Include PARSER.o (PARSER.NRLIB/code.$(FASLEXT)): New rule. * exposed.lsp.pamphlet: Expose Parser constructor. src/interp/ 2007-12-03 Gabriel Dos Reis <gdr@cs.tamu.edu> * i-parser.boot: New. * Makefile.pamphlet (i-parser.$(FASLEXT)): New rule. (OBJS): Include i-parser.$(FASLEXT).
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/ChangeLog7
-rw-r--r--src/algebra/Makefile.in13
-rw-r--r--src/algebra/Makefile.pamphlet13
-rw-r--r--src/algebra/exposed.lsp.pamphlet1
-rw-r--r--src/algebra/script-parser.spad50
5 files changed, 76 insertions, 8 deletions
diff --git a/src/algebra/ChangeLog b/src/algebra/ChangeLog
index 5f0739de..56216965 100644
--- a/src/algebra/ChangeLog
+++ b/src/algebra/ChangeLog
@@ -1,5 +1,12 @@
2007-12-03 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * script-parser.spad: New.
+ * Makefile.pamphlet (axiom_algebra_layer_19): Include PARSER.o
+ (PARSER.NRLIB/code.$(FASLEXT)): New rule.
+ * exposed.lsp.pamphlet: Expose Parser constructor.
+
+2007-12-03 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* aggcat.spad.pamphlet: Update cached Lisp translations.
2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu>
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 4c82ec6e..3d9371db 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -731,7 +731,8 @@ axiom_algebra_layer_19 = \
RPOLCAT-.o RULECOLD.o SAOS.o SEGBIND.o \
SET.o SPECOUT.o SQMATRIX.o SWITCH.o \
SYMS.o SYMTAB.o SYSSOLP.o UTSCAT.o \
- UTSCAT-.o VARIABLE.o WFFINTBS.o SPADPRSR.o
+ UTSCAT-.o VARIABLE.o WFFINTBS.o SPADPRSR.o \
+ PARSER.o
axiom_algebra_layer_19_nrlibs = \
$(axiom_algebra_layer_19:.$(OBJEXT)=.NRLIB/code.$(OBJEXT))
@@ -901,15 +902,19 @@ $(axiom_build_texdir)/diagrams.tex: $(axiom_src_docdir)/diagrams.tex
$(INSTALL_DATA) $< $@
SYNTAX.NRLIB/code.$(FASLEXT): syntax.spad
- @ rm -rf $*.NRLIB
+ @ rm -rf SYNTAX.NRLIB
echo ")co $(srcdir)/syntax.spad" | ${INTERPSYS}
SPADPRSR.NRLIB/code.$(FASLEXT): spad-parser.spad
- @ rm -rf $*.NRLIB
+ @ rm -rf SPADPRSR.NRLIB
echo ")co $(srcdir)/spad-parser.spad" | ${INTERPSYS}
+PARSER.NRLIB/code.$(FASLEXT): script-parser.spad
+ @ rm -rf PARSER.NRLIB
+ echo ")co $(srcdir)/script-parser.spad" | ${INTERPSYS}
+
DOMAIN.NRLIB/code.$(FASLEXT): domain.spad
- @ rm -rf $*.NRLIB
+ @ rm -rf DOMAIN.NRLIB
echo ")co $(srcdir)/domain.spad" | ${INTERPSYS}
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index 374c6c37..c24752fb 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -996,7 +996,8 @@ axiom_algebra_layer_19 = \
RPOLCAT-.o RULECOLD.o SAOS.o SEGBIND.o \
SET.o SPECOUT.o SQMATRIX.o SWITCH.o \
SYMS.o SYMTAB.o SYSSOLP.o UTSCAT.o \
- UTSCAT-.o VARIABLE.o WFFINTBS.o SPADPRSR.o
+ UTSCAT-.o VARIABLE.o WFFINTBS.o SPADPRSR.o \
+ PARSER.o
axiom_algebra_layer_19_nrlibs = \
$(axiom_algebra_layer_19:.$(OBJEXT)=.NRLIB/code.$(OBJEXT))
@@ -1854,15 +1855,19 @@ $(axiom_build_texdir)/diagrams.tex: $(axiom_src_docdir)/diagrams.tex
<<genericDOCfiles>>
SYNTAX.NRLIB/code.$(FASLEXT): syntax.spad
- @ rm -rf $*.NRLIB
+ @ rm -rf SYNTAX.NRLIB
echo ")co $(srcdir)/syntax.spad" | ${INTERPSYS}
SPADPRSR.NRLIB/code.$(FASLEXT): spad-parser.spad
- @ rm -rf $*.NRLIB
+ @ rm -rf SPADPRSR.NRLIB
echo ")co $(srcdir)/spad-parser.spad" | ${INTERPSYS}
+PARSER.NRLIB/code.$(FASLEXT): script-parser.spad
+ @ rm -rf PARSER.NRLIB
+ echo ")co $(srcdir)/script-parser.spad" | ${INTERPSYS}
+
DOMAIN.NRLIB/code.$(FASLEXT): domain.spad
- @ rm -rf $*.NRLIB
+ @ rm -rf DOMAIN.NRLIB
echo ")co $(srcdir)/domain.spad" | ${INTERPSYS}
@
diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet
index 0439b369..94b05ddb 100644
--- a/src/algebra/exposed.lsp.pamphlet
+++ b/src/algebra/exposed.lsp.pamphlet
@@ -263,6 +263,7 @@
(|ParametricPlaneCurveFunctions2| . PARPC2)
(|ParametricSpaceCurveFunctions2| . PARSC2)
(|ParametricSurfaceFunctions2| . PARSU2)
+ (|Parser| . PARSER)
(|PartitionsAndPermutations| . PARTPERM)
(|PatternMatch| . PATMATCH)
(|PatternMatchAssertions| . PMASS)
diff --git a/src/algebra/script-parser.spad b/src/algebra/script-parser.spad
new file mode 100644
index 00000000..404a7c00
--- /dev/null
+++ b/src/algebra/script-parser.spad
@@ -0,0 +1,50 @@
+--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)