Forth의 DOES>의 비밀 풀기
2025-06-10
이 글은 Forth 프로그래밍 언어에서 `DOES>`라는 단어의 복잡한 구현에 대해 자세히 다룹니다. `DOES>`는 사용자 정의 동작을 실행할 수 있는 '스마트 데이터 구조'를 만드는 것을 가능하게 합니다. 저자는 `DOES>`의 세 가지 시간적 측면, 즉 컴파일 타임, 정의 타임, 런타임을 면밀히 설명합니다. `SHAPE`와 `MAN` 예제를 사용하여 `DOES>`가 새로 생성된 단어의 실행 주소를 어떻게 수정하여 기능을 달성하고, 최종적으로 런타임에 `DOES>` 뒤에 오는 코드를 실행하는지 보여줍니다. `DOES>` 구현의 복잡성과 최신 OS의 메모리 관리와의 잠재적 충돌에 대해서도 논의합니다.
개발