diff options
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/boot/ast.boot | 2 | ||||
-rw-r--r-- | src/boot/strap/ast.clisp | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a6e5f0a6..2cdd0ced 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-08-03 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * boot/ast.boot (bfSTEP): Synthetize artificial variable for + unnamed loop index. + 2011-07-14 Gabriel Dos Reis <gdr@cs.tamu.edu> * boot/ast.boot (bfIS1): Tidy test for cons cells. diff --git a/src/boot/ast.boot b/src/boot/ast.boot index 1af82d64..3cc190ae 100644 --- a/src/boot/ast.boot +++ b/src/boot/ast.boot @@ -267,6 +267,8 @@ bfForTree(OP,lhs,whole)== bfSTEP(id,fst,step,lst)== + if id is "DOT" then + id := bfGenSymbol() initvar := [id] initval := [fst] inc := diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp index 8a8a75d7..10dea59c 100644 --- a/src/boot/strap/ast.clisp +++ b/src/boot/strap/ast.clisp @@ -367,6 +367,7 @@ (PROG (|suc| |ex| |pred| |final| |g2| |inc| |g1| |initval| |initvar|) (RETURN (PROGN + (COND ((EQ |id| 'DOT) (SETQ |id| (|bfGenSymbol|)))) (SETQ |initvar| (LIST |id|)) (SETQ |initval| (LIST |fst|)) (SETQ |inc| |