From 9b1dd86f0bcb9aa41ca3fded5e79a7581d127391 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 12 Dec 2010 17:39:52 +0000 Subject: * boot/ast.boot (bfIS1): Tidy. --- src/ChangeLog | 4 ++++ src/boot/ast.boot | 5 +++-- src/boot/strap/ast.clisp | 7 +++++-- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 67c2e3a9..9dba7e32 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2010-12-12 Gabriel Dos Reis + + * boot/ast.boot (bfIS1): Tidy. + 2010-12-11 Gabriel Dos Reis * interp/i-syscmd.boot: Use try-finally expression instead of Lisp diff --git a/src/boot/ast.boot b/src/boot/ast.boot index ed2ff3bc..9e1882dd 100644 --- a/src/boot/ast.boot +++ b/src/boot/ast.boot @@ -640,10 +640,11 @@ bfISReverse(x,a) == bfIS1(lhs,rhs) == rhs = nil => ['NULL,lhs] string? rhs => ['EQ,lhs,['QUOTE,INTERN rhs]] - NUMBERP rhs => ["EQUAL",lhs,rhs] + integer? rhs => ['EQL,lhs,rhs] atom rhs => ['PROGN,bfLetForm(rhs,lhs),'T] rhs is ['QUOTE,a] => - IDENTP a => ['EQ,lhs,rhs] + symbol? a => ['EQ,lhs,rhs] + string? a => bfAND [['STRINGP,lhs],["STRING=",lhs,a]] ["EQUAL",lhs,rhs] rhs is ['L%T,c,d] => l := bfLET(c,lhs) diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp index 8511e03e..023496b2 100644 --- a/src/boot/strap/ast.clisp +++ b/src/boot/strap/ast.clisp @@ -957,7 +957,7 @@ (COND ((NULL |rhs|) (LIST 'NULL |lhs|)) ((STRINGP |rhs|) (LIST 'EQ |lhs| (LIST 'QUOTE (INTERN |rhs|)))) - ((NUMBERP |rhs|) (LIST 'EQUAL |lhs| |rhs|)) + ((INTEGERP |rhs|) (LIST 'EQL |lhs| |rhs|)) ((ATOM |rhs|) (LIST 'PROGN (|bfLetForm| |rhs| |lhs|) 'T)) ((AND (CONSP |rhs|) (EQ (CAR |rhs|) 'QUOTE) (PROGN @@ -965,7 +965,10 @@ (AND (CONSP |ISTMP#1|) (NULL (CDR |ISTMP#1|)) (PROGN (SETQ |a| (CAR |ISTMP#1|)) T)))) (COND - ((IDENTP |a|) (LIST 'EQ |lhs| |rhs|)) + ((SYMBOLP |a|) (LIST 'EQ |lhs| |rhs|)) + ((STRINGP |a|) + (|bfAND| (LIST (LIST 'STRINGP |lhs|) + (LIST 'STRING= |lhs| |a|)))) (T (LIST 'EQUAL |lhs| |rhs|)))) ((AND (CONSP |rhs|) (EQ (CAR |rhs|) 'L%T) (PROGN -- cgit v1.2.3