aboutsummaryrefslogtreecommitdiff
path: root/src/interp/spad-parser.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-18 01:27:42 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-18 01:27:42 +0000
commit630b6f25ff2900a31326141b67a187a685e7e9b8 (patch)
treef87d21c2387137ff8500e0e0ede9f2dbcabac64a /src/interp/spad-parser.boot
parent16111656afaa94a382d61de6c3ec37a9bdca05ef (diff)
downloadopen-axiom-630b6f25ff2900a31326141b67a187a685e7e9b8.tar.gz
* interp/spad-parser.boot (parseSegmentTail): Tidy.
* interp/postpar.boot (postSEGMENT): Remove. (postTupleCollect): Likewise. (postBootNotEqual): Likewise. * interp/parsing.lisp (CHAR-EQ): Remove. (CHAR-NE): Likewise. (getToken): Likewise. * interp/newaux.lisp: Remove "^=" as legitimate operator. * interp/lexing.boot (geToken): Rename from getSpadToken. * interp/i-intern.boot (mkAtree3): Check for new form of universal segment. * interp/parse.boot (parseSegment): Likewise. * algebra/seg.spad.pamphlet (Segment): Use .. instead of SEGMENT. (SegmentFunctions2): Likewise. (UniversalSegment): Likewise.
Diffstat (limited to 'src/interp/spad-parser.boot')
-rw-r--r--src/interp/spad-parser.boot14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/interp/spad-parser.boot b/src/interp/spad-parser.boot
index 43e04256..894907b2 100644
--- a/src/interp/spad-parser.boot
+++ b/src/interp/spad-parser.boot
@@ -334,11 +334,10 @@ parseExpression() ==
parseSegmentTail() ==
parseGlyph ".." =>
- stackUpdated?($reduceStack) := false
- parseExpression()
- if not stackUpdated? $reduceStack then
- pushReduction('segmentTail,nil)
- pushReduction('parseSegmentTail,["SEGMENT",popStack2(),popStack1()])
+ seg :=
+ parseExpression() => ["SEGMENT",popStack2(),popStack1()]
+ ["SEGMENT",popStack1()]
+ pushReduction('parseSegmentTail,seg)
nil
parseReductionOp() ==
@@ -547,7 +546,7 @@ parseLoop() ==
parseOpenBracket() ==
s := currentSymbol()
- getToken s is "[" =>
+ s is "[" or s is ["elt",.,"["] =>
do
s is ["elt",:.] =>
pushReduction('parseOpenBracket,["elt",second s,"construct"])
@@ -558,7 +557,7 @@ parseOpenBracket() ==
parseOpenBrace() ==
s := currentSymbol()
- getToken s is "{" =>
+ s is "{" or s is ["elt",.,"{"] =>
do
s is ["elt",:.] =>
pushReduction('parseOpenBracket,["elt",second s,"brace"])
@@ -805,7 +804,6 @@ for x in [
[">", ["="], [">"]],_
["=", ["=", [">"]] ,[">"]],_
[".", ["."]],_
- ["^", ["="]],_
["~", ["="]],_
["[", ["|"]],_
[":", ["="], ["-"], [":"]]_