diff options
author | dos-reis <gdr@axiomatics.org> | 2011-02-07 02:43:13 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-02-07 02:43:13 +0000 |
commit | 64800be179812d1ff863cc629bcc6b21a0c7f8ac (patch) | |
tree | 58c035aec699d3a0b633e751835df24510510765 /src/interp | |
parent | 351022a3ec02f6e131d54f3a5bcb27a8dfffbcb0 (diff) | |
download | open-axiom-64800be179812d1ff863cc629bcc6b21a0c7f8ac.tar.gz |
* interp/g-opt.boot (groupVariableDefinitions): Look into clauses
of conditional too.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/g-opt.boot | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot index f29ef062..15bb906d 100644 --- a/src/interp/g-opt.boot +++ b/src/interp/g-opt.boot @@ -95,6 +95,11 @@ singleAssignment? form == ++ a sequence of first-time variable definitions. groupVariableDefinitions form == atomic? form => form + form.op is '%when => + -- FIXME: we should not be generating store-modifying predicates + for clause in form.args while not CONTAINED('%LET, first clause) repeat + second(clause) := groupVariableDefinitions second clause + form form isnt ['SEQ,:stmts,['EXIT,val]] => form defs := nil for x in stmts while singleAssignment? x repeat |