aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-08-02 10:21:14 +0000
committerdos-reis <gdr@axiomatics.org>2008-08-02 10:21:14 +0000
commitc129ad817cd16aef92f5b433a509e15254b9ccd3 (patch)
tree006c41bd43cfeea3a3a85e007f2e2efbb6b9a410 /src/boot/ast.boot
parented7ceb86d0c98c28c2dc545c3fc20594d6c325df (diff)
downloadopen-axiom-c129ad817cd16aef92f5b433a509e15254b9ccd3.tar.gz
* boot/parser.boot (bpTerm): Term forms depend on the kind of
variable. (bpTypeItem): New. (bpTypeItemList): Use it. (bpTypeAliasDefition): Tidy. (bpCaseItem): Accept wildchars in pattern terms. * boot/ast.boot (bfCompDef): Don't name unused pattern variables. (bfSmintable): A character compares EQL. (bfCI): Ignore wildcard pattern variables. * boot/strap: Update cached Lisp translation.
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r--src/boot/ast.boot7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index e42b0a7b..3e026fbf 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -201,7 +201,7 @@ bfMDefinition(bflhsitems, bfrhs,body) ==
bfCompDef: %Thing -> %List
bfCompDef x ==
case x of
- ConstantDefinition(n, e) => x
+ ConstantDefinition(.,.) => x
otherwise =>
x is [def, op, args, body] =>
bfDef(def,op,args,body)
@@ -781,7 +781,7 @@ defQuoteId x== EQCAR(x,"QUOTE") and IDENTP second x
bfSmintable x==
INTEGERP x or CONSP x and
- MEMQ(first x, '(SIZE LENGTH))
+ first x in '(SIZE LENGTH char)
bfQ(l,r)==
if bfSmintable l or bfSmintable r
@@ -1167,7 +1167,8 @@ bfCI(g,x,y)==
if null a
then [first x,y]
else
- b:=[[i,bfCARCDR(j,g)] for i in a for j in 0..]
+ b:=[[i,bfCARCDR(j,g)] for i in a for j in 0.. | i ^= "DOT"]
+ null b => [first x,y]
[first x,["LET",b,y]]
bfCARCDR: (%Short,%Thing) -> %List