diff options
author | dos-reis <gdr@axiomatics.org> | 2010-05-25 13:48:06 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-05-25 13:48:06 +0000 |
commit | 0e3d2ebd83ca054adef910dfedde962bcc9b7a39 (patch) | |
tree | b8a4714ab2e4b191fbf482ebf66ca8caa6cb510d /src/interp/i-map.boot | |
parent | dd99f144ce50c2c3d2a1e1685a2d74ff533f6535 (diff) | |
download | open-axiom-0e3d2ebd83ca054adef910dfedde962bcc9b7a39.tar.gz |
* interp/i-spec2.boot (evalREPEAT): Generate %repeat forms.
(interpREPEAT): Likewise.
* interp/i-spec1.boot (interpCOLLECT): Generate %collect forms.
* interp/i-map.boot (findLocalVars1): Handle %repeat forms the
same as REPEAT forms.
* interp/g-opt.boot (changeThrowToExit): Don't look into %repeat
forms.
(expandInit): New.
(expandLoop): New. abstract from expandCollect.
(expandCollect): Use it. Rework.
(expandRepeat): New.
Diffstat (limited to 'src/interp/i-map.boot')
-rw-r--r-- | src/interp/i-map.boot | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/interp/i-map.boot b/src/interp/i-map.boot index 9bb6bf4e..bfc99b6d 100644 --- a/src/interp/i-map.boot +++ b/src/interp/i-map.boot @@ -1031,7 +1031,7 @@ findLocalVars1(op,form) == form is ['is,l,pattern] => findLocalVars1(op,l) for var in listOfVariables rest pattern repeat mkLocalVar(op,var) - form is [oper,:itrl,body] and oper in '(REPEAT COLLECT %collect) => + form is [oper,:itrl,body] and oper in '(REPEAT COLLECT %collect %repeat) => findLocalsInLoop(op,itrl,body) form is [y,:argl] => y is "Record" or (y is "Union" and argl is [[":",.,.],:.]) => |