WHILE — 루프 조건 검사

WHILE — 루프 조건 검사

WHILEBEGIN...WHILE...REPEAT 구조에서 조건을 검사해, 거짓이면 루프를 빠져나가고 참이면 루프 본문을 실행하게 하는 코어 단어예요.

출처: WHILE — Forth 2012 Standard

본문

컴파일 (Compilation)

( C: dest -- orig dest )

새로운 미해결 순방향 참조 orig의 위치를 기존 dest 아래에 제어 흐름 스택에 놓아요. 아래 주어진 실행 시점 의미를 현재 정의에 추가해요. 그 의미는 orig가 해결될 때까지 불완전해요.

실행 (Run-time)

( x -- )

x의 모든 비트가 0이면 orig의 해결이 지정하는 위치에서 실행을 계속해요. 그렇지 않으면 (참이면) WHILE 뒤에서 실행을 계속해요.

참조 (See)

  • A.6.1.2430 WHILE

합리성 (Rationale)

전형적인 사용:

: X ... BEGIN ... test WHILE ... REPEAT ... ;

테스트 (Testing)

T{ : GI5 BEGIN DUP 2 > WHILE 1- REPEAT ; ->  }T
T{ 3 GI5 -> 2 }T
T{ 2 GI5 -> 2 }T
T{ 1 GI5 -> 1 }T

더 알아보기 (Learn more)

출처: WHILE — Forth 2012 Standard