CREATE — 정의 생성
CREATE — 정의 생성 (데이터 필드 포함)
CREATE는 공백으로 구분된 name을 파싱해, 아래 정의된 실행 의미를 가진 name의 정의를 만드는 코어 단어예요.
본문
스택 효과
( "<spaces>name" -- )
설명
선행 공백 구분자를 건너뛰고 공백으로 구분된 name을 파싱해요. 아래 정의된 실행 의미를 가진 name의 정의를 만들어요. 데이터 공간 포인터가 정렬되어 있지 않으면, 그것을 정렬하기에 충분한 데이터 공간을 확보해요. 새로운 데이터 공간 포인터가 name의 데이터 필드(data field)를 정의해요. CREATE는 name의 데이터 필드에 데이터 공간을 할당하지 않아요.
name 실행 (name Execution)
( -- a-addr )
a-addr은 name의 데이터 필드의 주소예요. name의 실행 의미는 DOES>를 사용해 확장될 수 있어요.
참조 (See)
- 3.3.3 Data space(데이터 공간)
- 6.1.1250 DOES>
- A.6.1.1000 CREATE
합리성 (Rationale)
CREATE로 정의된 단어의 데이터 필드 주소는 CREATE 실행 직후의 데이터 공간 포인터에 의해 주어져요. 데이터 필드 공간의 예약은 일반적으로 ALLOT로 수행돼요. 전형적인 사용:
... CREATE SOMETHING ...
테스트 (Testing)
F.6.1.0550 >BODY 와 F.6.1.1250 DOES> 를 참조하세요.