VALUE — 값 정의

VALUE — 값 정의

VALUE는 실행 시점에 값 x를 스택에 올려놓는 정의 name을 만드는 코어 확장 단어예요.

출처: VALUE — Forth 2012 Standard

본문

스택 효과

( x "<spaces>name" -- )

설명

선행 공백 구분자를 건너뛰고 공백으로 구분된 name을 파싱해요. 아래 정의된 실행 의미를 가진 name의 정의를 만들어요.

name 실행 (name Execution)

( -- x )

x를 스택에 올려놓아요. x의 값은 name이 만들어질 때 주어진 값이며, x TO name 구절이 실행되어 name에 새 값이 할당될 때까지 유지돼요.

TO name 실행 (TO name Run-time)

( x -- )

xname에 할당해요.

참조 (See)

  • 3.4.1 Parsing(파싱)
  • 6.2.2295 TO
  • A.6.2.2405 VALUE

합리성 (Rationale)

전형적인 사용:

0 VALUE data
: EXCHANGE ( n1 -- n2 )
    data TO data  ... ;

EXCHANGEn1data에 남기고 이전 값 n2를 반환해요.

테스트 (Testing)

T{ 111 VALUE v1 ->  }T
T{ v1 -> 111 }T
T{ 222 TO v1 ->  }T
T{ v1 -> 222 }T

더 알아보기 (Learn more)

출처: VALUE — Forth 2012 Standard