소스 검색

ForToFrom performs update step after continue.

master
Ian Piumarta 1 년 전
부모
커밋
4d570df59e
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. +3
    -2
      minproto.leg

+ 3
- 2
minproto.leg 파일 보기

@ -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;

불러오는 중...
취소
저장