Parcourir la source

ForToFrom performs update step after continue.

master
Ian Piumarta il y a 1 an
Parent
révision
4d570df59e
1 fichiers modifiés avec 3 ajouts et 2 suppressions
  1. +3
    -2
      minproto.leg

+ 3
- 2
minproto.leg Voir le fichier

@ -1,6 +1,6 @@
# minproto.leg -- minimal prototype langauge for semantic experiments
#
# last edited: 2024-05-11 20:13:21 by piumarta on zora
# last edited: 2024-05-12 07:57:37 by piumarta on zora
%{
;
@ -1962,12 +1962,13 @@ oop ForFromTo_eval(oop exp, oop env)
long stop = integerValue(last, "for");
long step = start < stop ? 1 : -1;
oop result = nil;
start -= step;
LOOP();
for (;;) {
start += step;
Object_put(env2, identifier, newInteger(start));
result = eval(body, env2);
if (start == stop) break;
start += step;
}
DONE();
return result;

Chargement…
Annuler
Enregistrer