diff options
author | dos-reis <gdr@axiomatics.org> | 2007-11-15 17:44:22 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-11-15 17:44:22 +0000 |
commit | e2aabd8c9625a3009115624618a290627c2c61fa (patch) | |
tree | fdd935224f471b32a175c4059bfc155f6ddc819b /src/algebra | |
parent | 404b0530acf25537720b73664ec84c331743f9d9 (diff) | |
download | open-axiom-e2aabd8c9625a3009115624618a290627c2c61fa.tar.gz |
add spad parser library
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/ChangeLog | 6 | ||||
-rw-r--r-- | src/algebra/Makefile.in | 6 | ||||
-rw-r--r-- | src/algebra/Makefile.pamphlet | 6 | ||||
-rw-r--r-- | src/algebra/exposed.lsp.pamphlet | 2 | ||||
-rw-r--r-- | src/algebra/spad-parser.spad | 51 |
5 files changed, 69 insertions, 2 deletions
diff --git a/src/algebra/ChangeLog b/src/algebra/ChangeLog index 84881e17..57a741ad 100644 --- a/src/algebra/ChangeLog +++ b/src/algebra/ChangeLog @@ -1,3 +1,9 @@ +2007-11-15 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * Makefile.pamphlet (axiom_algebra_layer_19): Include SPADPRSR.o + (SPADPRSR.NRLIB/code.$(FASLEXT)): New rule. + * spad-parser.spad: New file. + 2007-11-13 Gabriel Dos Reis <gdr@cs.tamu.edu> * Makefile.pamphlet (SYNTAX.NRLIB/code.$(FASLEXT)): New rule. diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 5f81b593..4c82ec6e 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -731,7 +731,7 @@ 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 + UTSCAT-.o VARIABLE.o WFFINTBS.o SPADPRSR.o axiom_algebra_layer_19_nrlibs = \ $(axiom_algebra_layer_19:.$(OBJEXT)=.NRLIB/code.$(OBJEXT)) @@ -904,6 +904,10 @@ SYNTAX.NRLIB/code.$(FASLEXT): syntax.spad @ rm -rf $*.NRLIB echo ")co $(srcdir)/syntax.spad" | ${INTERPSYS} +SPADPRSR.NRLIB/code.$(FASLEXT): spad-parser.spad + @ rm -rf $*.NRLIB + echo ")co $(srcdir)/spad-parser.spad" | ${INTERPSYS} + DOMAIN.NRLIB/code.$(FASLEXT): domain.spad @ rm -rf $*.NRLIB echo ")co $(srcdir)/domain.spad" | ${INTERPSYS} diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 0dfaba40..374c6c37 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -996,7 +996,7 @@ 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 + UTSCAT-.o VARIABLE.o WFFINTBS.o SPADPRSR.o axiom_algebra_layer_19_nrlibs = \ $(axiom_algebra_layer_19:.$(OBJEXT)=.NRLIB/code.$(OBJEXT)) @@ -1857,6 +1857,10 @@ SYNTAX.NRLIB/code.$(FASLEXT): syntax.spad @ rm -rf $*.NRLIB echo ")co $(srcdir)/syntax.spad" | ${INTERPSYS} +SPADPRSR.NRLIB/code.$(FASLEXT): spad-parser.spad + @ rm -rf $*.NRLIB + echo ")co $(srcdir)/spad-parser.spad" | ${INTERPSYS} + DOMAIN.NRLIB/code.$(FASLEXT): domain.spad @ rm -rf $*.NRLIB echo ")co $(srcdir)/domain.spad" | ${INTERPSYS} diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet index 498b79ab..0439b369 100644 --- a/src/algebra/exposed.lsp.pamphlet +++ b/src/algebra/exposed.lsp.pamphlet @@ -335,6 +335,7 @@ (|SimplifyAlgebraicNumberConvertPackage| . SIMPAN) (|SingleInteger| . SINT) (|SmithNormalForm| . SMITH) + (|SpadParser| . SPADPRSR) (|SparseUnivariatePolynomialFunctions2| . SUP2) (|SpecialOutputPackage| . SPECOUT) (|SquareFreeRegularSetDecompositionPackage| . SRDCMPK) @@ -350,6 +351,7 @@ (|SturmHabichtPackage| . SHP) (|Symbol| . SYMBOL) (|SymmetricGroupCombinatoricFunctions| . SGCF) + (|Syntax| . SYNTAX) (|SystemSolvePackage| . SYSSOLP) (|SAERationalFunctionAlgFactor| . SAERFFC) (|Tableau| . TABLEAU) diff --git a/src/algebra/spad-parser.spad b/src/algebra/spad-parser.spad new file mode 100644 index 00000000..4aab0e7a --- /dev/null +++ b/src/algebra/spad-parser.spad @@ -0,0 +1,51 @@ +--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 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) |