SECD 머신
보이기
SECD 머신(SECD machine)은 함수형 프로그래밍 언어 컴파일러의 타겟으로 의도된 매우 영향력 있는 가상 머신이자 추상 기계이다. 문자는 시스템의 내부 레지스터인 Stack, Environment, Control, Dump를 나타낸다. Stack, Control 및 Dump 레지스터는 스택(일부 구현)을 가리키고 Environment는 연관 배열(일부 구현)을 가리킨다.
이 기계는 람다 미적분식을 평가하기 위해 특별히 설계된 최초의 기계였다. 이는 원래 피터 J. 랜딘이 1964년 "The Mechanical Evaluation of Expressions"[1]에서 설명했다. 랜딘이 게시한 설명은 상당히 추상적이었고 (동작적 의미론과 같은) 많은 구현 선택 사항을 열어두었다.
리스프킷 리스프(Lispkit Lisp)는 SECD 시스템[2]을 기반으로 한 영향력 있는 컴파일러였으며 SECD 시스템은 리스프/370[3]과 같은 다른 시스템의 대상으로 사용되었다. 1989년에 캘거리 대학의 연구원들은 기계의 하드웨어 구현에 참여했다.[4]
각주
[편집]- ↑ Landin, P. J. (January 1964). “The Mechanical Evaluation of Expressions”. 《Comput. J.》 6 (4): 308–320. doi:10.1093/comjnl/6.4.308.
- ↑ Henderson, Peter (1980). 《Functional programming: application and implementation》. Englewood Cliffs, N.J.: Prentice-Hall International. ISBN 0-13-331579-7.
- ↑ Padget, Julian. “Three uncommon Lisps”. CiteSeerX 10.1.1.99.1028.
- ↑ A paper on the design, SECD: DESIGN ISSUES is available.