aboutsummaryrefslogtreecommitdiff
path: root/src/interp/postprop.lisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-09-10 03:30:13 +0000
committerdos-reis <gdr@axiomatics.org>2007-09-10 03:30:13 +0000
commitb8d7cd431a779551cf2c6eac94f6b4463db97273 (patch)
treee52ce35bd564ae64db8623410f6414f0d16f72ea /src/interp/postprop.lisp
parent383b2385eb1f3fb00f5856a2ddf593ec42c03189 (diff)
downloadopen-axiom-b8d7cd431a779551cf2c6eac94f6b4463db97273.tar.gz
* Makefile.pamphlet (DEP): Adjust path to comp.lisp.
(${DEPSYS}): Likewise for def.lisp, bootlex.lisp, postprop.lisp, metalex.lisp. Use |compileLispFile| instead of COMPILE-FILE. * Makefile.in: Regenerate. * union.lisp: New. * union.lisp.pamphlet: Move content to union.lisp. Remove. * obey.lisp: New. * obey.lisp.pamphlet: Move content to obey.lisp. Remove. * nspadaux.lisp: New. * nspadaux.lisp.pamphlet: Move content to nspadaux.lisp. Remove. * fname.lisp: New. * fname.lisp.pamphlet: Move content to fname.lisp. Remove. * def.lisp: New. * def.lisp.pamphlet: Move content to def.lisp. Remove. * comp.lisp: New. * comp.lisp.pamphlet: Move content to comp.lisp. Remove. * bootlex.lisp: New. * bootlex.lisp.pamphlet: Move content to bootlex.lisp. Remove. * postprop.lisp: New. * postprop.lisp.pamphlet: Move content to postprop.lisp. Remove. * metalex.lisp: New. * metalex.lisp.pamphlet: Move content to metalex.lisp. Remove. * parsing.lisp: New. * parsing.lisp.pamphlet: Move content to parsing.lisp. Remove.
Diffstat (limited to 'src/interp/postprop.lisp')
-rw-r--r--src/interp/postprop.lisp130
1 files changed, 130 insertions, 0 deletions
diff --git a/src/interp/postprop.lisp b/src/interp/postprop.lisp
new file mode 100644
index 00000000..921c58c3
--- /dev/null
+++ b/src/interp/postprop.lisp
@@ -0,0 +1,130 @@
+;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+;; 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.
+
+
+(in-package "BOOT")
+
+(mapcar #'(lambda (x) (MAKEPROP (CAR X) '|special| (CADR X)))
+ '((LET |compSetq|) (|Join| |compJoin|)
+ (|Record| |compCat|)
+ (|Union| |compCat|) (\: |compColon|)
+ (\:\: |compCoerce|) (CAPSULE |compCapsule|)
+ (|has| |compHas|) (|is| |compIs|)
+ (|add| |compAdd|) (CONS |compCons|)
+ (IF |compIf|) (|exit| |compExit|)
+ (|return| |compReturn|) (|leave| |compLeave|)
+ (|elt| |compElt|) (DEF |compDefine|)
+ (MDEF |compMacro|) (|SubsetCategory| |compSubsetCategory|)
+ (|SubDomain| |compSubDomain|)
+ (|case| |compCase|) (|String| |compString|)
+ (|RecordCategory| |compConstructorCategory|)
+ (|ListCategory| |compConstructorCategory|)
+ (|VectorCategory| |compConstructorCategory|)
+ (|UnionCategory| |compConstructorCategory|)
+ (CATEGORY |compCategory|)
+ (COLLECT |compRepeatOrCollect|)
+ (COLLECTV |compCollectV|)
+ (REPEAT |compRepeatOrCollect|)
+ (REDUCE |compReduce|) (|where| |compWhere|)
+ (\| |compSuchthat|) (|construct| |compConstruct|)
+ (SEQ |compSeq|) (SETQ |compSetq|)
+ (VECTOR |compVector|)))
+
+(mapcar #'(lambda (x) (MAKEPROP (CAR X) '|postTran| (second X)))
+ '((|with| |postWith|)
+ (|Scripts| |postScripts|)
+ (/ |postSlash|)
+ (|construct| |postConstruct|)
+ (|Block| |postBlock|)
+ (QUOTE |postQUOTE|)
+ (COLLECT |postCollect|)
+ (\:BF\: |postBigFloat|)
+ (|in| |postin|) ; the infix operator version of i
+ (IN |postIn|) ; the iterator form of i
+ (REPEAT |postRepeat|)
+ (|TupleCollect| |postTupleCollect|)
+ (|add| |postAdd|)
+ (|Reduce| |postReduce|)
+ (\, |postComma|)
+ (\; |postSemiColon|)
+ (|where| |postWhere|)
+ (\: |postColon|)
+ (\@ |postAtSign|)
+ (|pretend| |postPretend|)
+ (|if| |postIf|)
+ (|Join| |postJoin|)
+ (|Signature| |postSignature|)
+ (CATEGORY |postCategory|)
+ (== |postDef|)
+ (==> |postMDef|)
+ (-> |postMapping|)
+ (=> |postExit|)
+ (|Tuple| |postTuple|)))
+
+(mapcar #'(lambda (x) (MAKEPROP (CAR X) '|parseTran| (CADR X)))
+ '((\<= |parseLessEqual|)
+ (\> |parseGreaterThan|)
+ (\>= |parseGreaterEqual|)
+ ($\<= |parseDollarLessEqual|)
+ ($\> |parseDollarGreaterThan|)
+ ($\>= |parseDollarGreaterEqual|)
+ ($^= |parseDollarNotEqual|)
+ (^ |parseNot|)
+ (^= |parseNotEqual|)
+ (\: |parseColon|)
+ (\:\: |parseCoerce|)
+ (\@ |parseAtSign|)
+ (|and| |parseAnd|)
+ (CATEGORY |parseCategory|)
+ (|construct| |parseConstruct|)
+ (DEF |parseDEF|)
+ (|eqv| |parseEquivalence|)
+ (|exit| |parseExit|)
+ (|has| |parseHas|)
+ (IF |parseIf|)
+ (|implies| |parseImplies|)
+ (IN |parseIn|)
+ (INBY |parseInBy|)
+ (|is| |parseIs|)
+ (|isnt| |parseIsnt|)
+ (|Join| |parseJoin|)
+ (|leave| |parseLeave|)
+ (LET |parseLET|)
+ (LETD |parseLETD|)
+ (MDEF |parseMDEF|)
+ (|not| |parseNot|)
+ (|or| |parseOr|)
+ (|pretend| |parsePretend|)
+ (|return| |parseReturn|)
+ (SEQ |parseSeq|)
+ (VCONS |parseVCONS|)
+ (|where| |parseWhere|)
+ (|xor| |parseExclusiveOr|)))